├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc
├── LICENSE
├── README.md
├── apps
└── nextjs
│ ├── README.md
│ ├── eslint.config.mjs
│ ├── next-env.d.ts
│ ├── next.config.ts
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ └── app
│ │ ├── favicon.ico
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ └── page.tsx
│ └── tsconfig.json
├── package.json
├── packages
├── eslint-config
│ ├── README.md
│ ├── base.js
│ ├── next.js
│ ├── package.json
│ └── react-internal.js
├── typescript-config
│ ├── README.md
│ ├── base.json
│ ├── nextjs.json
│ ├── package.json
│ └── react-library.json
└── ui
│ ├── README.md
│ ├── components.json
│ ├── eslint.config.mjs
│ ├── package.json
│ ├── postcss.config.mjs
│ ├── src
│ ├── components
│ │ └── base
│ │ │ └── button.tsx
│ ├── lib
│ │ └── utils.ts
│ └── styles
│ │ └── default.css
│ └── tsconfig.json
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
└── turbo.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # Dependencies
4 | node_modules
5 | .pnp
6 | .pnp.js
7 |
8 | # Local env files
9 | .env
10 | .env.local
11 | .env.development.local
12 | .env.test.local
13 | .env.production.local
14 |
15 | # Testing
16 | coverage
17 |
18 | # Turbo
19 | .turbo
20 |
21 | # Vercel
22 | .vercel
23 |
24 | # Build Outputs
25 | .next/
26 | out/
27 | build
28 | dist
29 |
30 |
31 | # Debug
32 | npm-debug.log*
33 | yarn-debug.log*
34 | yarn-error.log*
35 |
36 | # Misc
37 | .DS_Store
38 | *.pem
39 | .vscode
40 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bytaesu/turborepo-shadcn-tailwind-v4/6c0a28f7ead979e9f7f6cba03aa10e26f7a40d55/.npmrc
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .expo
2 | .next
3 | node_modules
4 | package-lock.json
5 | docker*
6 | apps/**/out
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 100,
3 | "tabWidth": 2,
4 | "useTabs": false,
5 | "semi": true,
6 | "singleQuote": true,
7 | "trailingComma": "es5",
8 | "bracketSpacing": true,
9 | "arrowParens": "always",
10 | "endOfLine": "lf"
11 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 Taesu
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Boilerplate: Turborepo + Shadcn/ui + Tailwind CSS v4 + Next.js
2 |
3 | ## Introduction
4 |
5 | - I created this setup to share after completing the migration process from Tailwind CSS v3 to v4 in a monorepo structure, as I found it difficult to find documentation on this. It offers a ready-to-use configuration with Turborepo, Tailwind CSS v4, Shadcn/ui, and Next.js.
6 |
7 | - Since I can’t always keep this up to date, please adjust versions like `react`, `next` and others as needed.
8 |
9 | - Please use this with a basic understanding of Monorepo concepts using Turborepo.
10 | [-> Turborepo Docs](https://turborepo.com/docs)
11 |
12 | ## Getting Started
13 |
14 | ```bash
15 | # Clone the repository
16 | git clone https://github.com/bytaesu/turborepo-shadcn-tailwind-v4.git
17 |
18 | # Install dependencies
19 | pnpm install
20 |
21 | # Run the development server
22 | turbo dev --filter nextjs
23 |
24 | # Add new shadcn component
25 | cd packages/ui
26 | pnpm dlx shadcn@latest add [component]
27 | ```
28 |
29 | or
30 |
31 | Use this button:
32 |
33 | [
](https://github.com/new?template_name=turborepo-shadcn-tailwind-v4&template_owner=bytaesu)
34 |
35 | ## Structure
36 |
37 | ```
38 | .
39 | ├── apps
40 | │ └── nextjs # Next.js application
41 | │ ├── src
42 | │ │ ├── app
43 | │ │ │ └── globals.css # Critical configuration here
44 | │ │ └── ...
45 | │ └── ...
46 | ├── packages
47 | │ ├── eslint-config # ESLint configuration
48 | │ ├── typescript-config # TypeScript configuration
49 | │ ├── ui # Internal UI package (including shadcn)
50 | │ ├── src
51 | │ │ ├── components
52 | │ │ ├── hooks
53 | │ │ ├── lib
54 | │ │ └── styles
55 | │ │── components.json # Shadcn CLI configuration
56 | │ └── ...
57 | │ └── ...
58 | └── ...
59 | ```
60 |
61 | ## Critical Configuration
62 |
63 | [-> Tailwind CSS Docs](https://tailwindcss.com/docs/detecting-classes-in-source-files)
64 |
65 | The most important part of this setup is the `/src/app/globals.css` file in the Next.js application. Proper configuration of the `@source` directive is essential for the UI package to work correctly:
66 |
67 | ```css
68 | @import 'tailwindcss';
69 | @import '@repo/ui/styles/default.css';
70 |
71 | @source '../../node_modules/@repo/ui';
72 | ```
73 |
74 | ## License
75 |
76 | MIT
77 |
--------------------------------------------------------------------------------
/apps/nextjs/README.md:
--------------------------------------------------------------------------------
1 | `nextjs`
2 |
--------------------------------------------------------------------------------
/apps/nextjs/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import { nextJsConfig } from "@repo/eslint-config/next";
2 |
3 | /** @type {import("eslint").Linter.Config} */
4 | export default nextJsConfig;
5 |
--------------------------------------------------------------------------------
/apps/nextjs/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | // NOTE: This file should not be edited
5 | // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
6 |
--------------------------------------------------------------------------------
/apps/nextjs/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from 'next';
2 |
3 | const nextConfig: NextConfig = {
4 | /* config options here */
5 | };
6 |
7 | export default nextConfig;
8 |
--------------------------------------------------------------------------------
/apps/nextjs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nextjs",
3 | "version": "0.1.0",
4 | "type": "module",
5 | "private": true,
6 | "scripts": {
7 | "dev": "next dev --turbopack",
8 | "build": "next build",
9 | "start": "next start",
10 | "lint": "next lint --max-warnings 0",
11 | "check-types": "tsc --noEmit"
12 | },
13 | "dependencies": {
14 | "@repo/ui": "workspace:*",
15 | "next": "^15.2.4",
16 | "react": "^19.0.0",
17 | "react-dom": "^19.0.0"
18 | },
19 | "devDependencies": {
20 | "@repo/eslint-config": "workspace:*",
21 | "@repo/typescript-config": "workspace:*",
22 | "@tailwindcss/postcss": "^4",
23 | "@types/node": "^22",
24 | "@types/react": "^19",
25 | "@types/react-dom": "19",
26 | "eslint": "^9",
27 | "tailwindcss": "^4",
28 | "typescript": "^5"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/apps/nextjs/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | export { default } from "@repo/ui/postcss.config";
--------------------------------------------------------------------------------
/apps/nextjs/src/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bytaesu/turborepo-shadcn-tailwind-v4/6c0a28f7ead979e9f7f6cba03aa10e26f7a40d55/apps/nextjs/src/app/favicon.ico
--------------------------------------------------------------------------------
/apps/nextjs/src/app/globals.css:
--------------------------------------------------------------------------------
1 | @import 'tailwindcss';
2 | @import '@repo/ui/styles/default.css';
3 |
4 | /**
5 | * Tailwind CSS official document:
6 | * https://tailwindcss.com/docs/detecting-classes-in-source-files
7 | *
8 | * if you ever need to explicitly add a source that's excluded by default,
9 | * you can always add it with the @source directive.
10 | */
11 | @source '../../node_modules/@repo/ui';
12 |
--------------------------------------------------------------------------------
/apps/nextjs/src/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { Metadata } from 'next';
2 | import './globals.css';
3 |
4 | export const metadata: Metadata = {
5 | title: 'turborepo-shadcn-tailwind-v4',
6 | description: 'Turborepo-Shadcn-Tailwind CSS v4 Boilerplate',
7 | };
8 |
9 | export default function RootLayout({
10 | children,
11 | }: Readonly<{
12 | children: React.ReactNode;
13 | }>) {
14 | return (
15 |
16 |
{children}
17 |
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/apps/nextjs/src/app/page.tsx:
--------------------------------------------------------------------------------
1 | 'use client';
2 |
3 | import { useEffect, useRef, useState } from 'react';
4 | import { Button } from '@repo/ui/components/base/button';
5 | import { cn } from '@repo/ui/lib/utils';
6 |
7 | export default function DemoPage() {
8 | return (
9 | <>
10 |
17 |
18 |
19 |
20 |
21 | >
22 | );
23 | }
24 |
25 | /*------------------------------------------
26 | Internal components
27 | ------------------------------------------*/
28 | const DemoCard = () => {
29 | return (
30 |
31 |
32 | Turborepo
33 | Shadcn/ui
34 | Tailwind CSS v4
35 |
36 |
37 |
Here is your shadcn button.
38 |
39 |
40 | );
41 | };
42 |
43 | interface MousePosition {
44 | x: number;
45 | y: number;
46 | }
47 |
48 | function MousePosition(): MousePosition {
49 | const [mousePosition, setMousePosition] = useState({
50 | x: 0,
51 | y: 0,
52 | });
53 |
54 | useEffect(() => {
55 | const handleMouseMove = (event: MouseEvent) => {
56 | setMousePosition({ x: event.clientX, y: event.clientY });
57 | };
58 |
59 | window.addEventListener('mousemove', handleMouseMove);
60 |
61 | return () => {
62 | window.removeEventListener('mousemove', handleMouseMove);
63 | };
64 | }, []);
65 |
66 | return mousePosition;
67 | }
68 |
69 | interface ParticlesProps {
70 | className?: string;
71 | quantity?: number;
72 | staticity?: number;
73 | ease?: number;
74 | size?: number;
75 | refresh?: boolean;
76 | color?: string;
77 | vx?: number;
78 | vy?: number;
79 | }
80 | function hexToRgb(hex: string): number[] {
81 | hex = hex.replace('#', '');
82 |
83 | if (hex.length === 3) {
84 | hex = hex
85 | .split('')
86 | .map((char) => char + char)
87 | .join('');
88 | }
89 |
90 | const hexInt = parseInt(hex, 16);
91 | const red = (hexInt >> 16) & 255;
92 | const green = (hexInt >> 8) & 255;
93 | const blue = hexInt & 255;
94 | return [red, green, blue];
95 | }
96 |
97 | const Particles: React.FC = ({
98 | className = '',
99 | quantity = 100,
100 | staticity = 50,
101 | ease = 50,
102 | size = 0.4,
103 | refresh = false,
104 | color = '#ffffff',
105 | vx = 0,
106 | vy = 0,
107 | }) => {
108 | const canvasRef = useRef(null);
109 | const canvasContainerRef = useRef(null);
110 | const context = useRef(null);
111 | const circles = useRef([]);
112 | const mousePosition = MousePosition();
113 | const mouse = useRef<{ x: number; y: number }>({ x: 0, y: 0 });
114 | const canvasSize = useRef<{ w: number; h: number }>({ w: 0, h: 0 });
115 | const dpr = typeof window !== 'undefined' ? window.devicePixelRatio : 1;
116 |
117 | useEffect(() => {
118 | if (canvasRef.current) {
119 | context.current = canvasRef.current.getContext('2d');
120 | }
121 | initCanvas();
122 | animate();
123 | window.addEventListener('resize', initCanvas);
124 |
125 | return () => {
126 | window.removeEventListener('resize', initCanvas);
127 | };
128 | }, [color]);
129 |
130 | useEffect(() => {
131 | onMouseMove();
132 | }, [mousePosition.x, mousePosition.y]);
133 |
134 | useEffect(() => {
135 | initCanvas();
136 | }, [refresh]);
137 |
138 | const initCanvas = () => {
139 | resizeCanvas();
140 | drawParticles();
141 | };
142 |
143 | const onMouseMove = () => {
144 | if (canvasRef.current) {
145 | const rect = canvasRef.current.getBoundingClientRect();
146 | const { w, h } = canvasSize.current;
147 | const x = mousePosition.x - rect.left - w / 2;
148 | const y = mousePosition.y - rect.top - h / 2;
149 | const inside = x < w / 2 && x > -w / 2 && y < h / 2 && y > -h / 2;
150 | if (inside) {
151 | mouse.current.x = x;
152 | mouse.current.y = y;
153 | }
154 | }
155 | };
156 |
157 | type Circle = {
158 | x: number;
159 | y: number;
160 | translateX: number;
161 | translateY: number;
162 | size: number;
163 | alpha: number;
164 | targetAlpha: number;
165 | dx: number;
166 | dy: number;
167 | magnetism: number;
168 | };
169 |
170 | const resizeCanvas = () => {
171 | if (canvasContainerRef.current && canvasRef.current && context.current) {
172 | circles.current.length = 0;
173 | canvasSize.current.w = canvasContainerRef.current.offsetWidth;
174 | canvasSize.current.h = canvasContainerRef.current.offsetHeight;
175 | canvasRef.current.width = canvasSize.current.w * dpr;
176 | canvasRef.current.height = canvasSize.current.h * dpr;
177 | canvasRef.current.style.width = `${canvasSize.current.w}px`;
178 | canvasRef.current.style.height = `${canvasSize.current.h}px`;
179 | context.current.scale(dpr, dpr);
180 | }
181 | };
182 |
183 | const circleParams = (): Circle => {
184 | const x = Math.floor(Math.random() * canvasSize.current.w);
185 | const y = Math.floor(Math.random() * canvasSize.current.h);
186 | const translateX = 0;
187 | const translateY = 0;
188 | const pSize = Math.floor(Math.random() * 2) + size;
189 | const alpha = 0;
190 | const targetAlpha = parseFloat((Math.random() * 0.6 + 0.1).toFixed(1));
191 | const dx = (Math.random() - 0.5) * 0.1;
192 | const dy = (Math.random() - 0.5) * 0.1;
193 | const magnetism = 0.1 + Math.random() * 4;
194 | return {
195 | x,
196 | y,
197 | translateX,
198 | translateY,
199 | size: pSize,
200 | alpha,
201 | targetAlpha,
202 | dx,
203 | dy,
204 | magnetism,
205 | };
206 | };
207 |
208 | const rgb = hexToRgb(color);
209 |
210 | const drawCircle = (circle: Circle, update = false) => {
211 | if (context.current) {
212 | const { x, y, translateX, translateY, size, alpha } = circle;
213 | context.current.translate(translateX, translateY);
214 | context.current.beginPath();
215 | context.current.arc(x, y, size, 0, 2 * Math.PI);
216 | context.current.fillStyle = `rgba(${rgb.join(', ')}, ${alpha})`;
217 | context.current.fill();
218 | context.current.setTransform(dpr, 0, 0, dpr, 0, 0);
219 |
220 | if (!update) {
221 | circles.current.push(circle);
222 | }
223 | }
224 | };
225 |
226 | const clearContext = () => {
227 | if (context.current) {
228 | context.current.clearRect(0, 0, canvasSize.current.w, canvasSize.current.h);
229 | }
230 | };
231 |
232 | const drawParticles = () => {
233 | clearContext();
234 | const particleCount = quantity;
235 | for (let i = 0; i < particleCount; i++) {
236 | const circle = circleParams();
237 | drawCircle(circle);
238 | }
239 | };
240 |
241 | const remapValue = (
242 | value: number,
243 | start1: number,
244 | end1: number,
245 | start2: number,
246 | end2: number
247 | ): number => {
248 | const remapped = ((value - start1) * (end2 - start2)) / (end1 - start1) + start2;
249 | return remapped > 0 ? remapped : 0;
250 | };
251 |
252 | const animate = () => {
253 | clearContext();
254 | circles.current.forEach((circle: Circle, i: number) => {
255 | // Handle the alpha value
256 | const edge = [
257 | circle.x + circle.translateX - circle.size, // distance from left edge
258 | canvasSize.current.w - circle.x - circle.translateX - circle.size, // distance from right edge
259 | circle.y + circle.translateY - circle.size, // distance from top edge
260 | canvasSize.current.h - circle.y - circle.translateY - circle.size, // distance from bottom edge
261 | ];
262 | const closestEdge = edge.reduce((a, b) => Math.min(a, b));
263 | const remapClosestEdge = parseFloat(remapValue(closestEdge, 0, 20, 0, 1).toFixed(2));
264 | if (remapClosestEdge > 1) {
265 | circle.alpha += 0.02;
266 | if (circle.alpha > circle.targetAlpha) {
267 | circle.alpha = circle.targetAlpha;
268 | }
269 | } else {
270 | circle.alpha = circle.targetAlpha * remapClosestEdge;
271 | }
272 | circle.x += circle.dx + vx;
273 | circle.y += circle.dy + vy;
274 | circle.translateX +=
275 | (mouse.current.x / (staticity / circle.magnetism) - circle.translateX) / ease;
276 | circle.translateY +=
277 | (mouse.current.y / (staticity / circle.magnetism) - circle.translateY) / ease;
278 |
279 | drawCircle(circle, true);
280 |
281 | // circle gets out of the canvas
282 | if (
283 | circle.x < -circle.size ||
284 | circle.x > canvasSize.current.w + circle.size ||
285 | circle.y < -circle.size ||
286 | circle.y > canvasSize.current.h + circle.size
287 | ) {
288 | // remove the circle from the array
289 | circles.current.splice(i, 1);
290 | // create a new circle
291 | const newCircle = circleParams();
292 | drawCircle(newCircle);
293 | // update the circle position
294 | }
295 | });
296 | window.requestAnimationFrame(animate);
297 | };
298 |
299 | return (
300 |
305 |
306 |
307 | );
308 | };
309 |
--------------------------------------------------------------------------------
/apps/nextjs/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@repo/typescript-config/nextjs.json",
3 | "compilerOptions": {
4 | "plugins": [
5 | {
6 | "name": "next"
7 | }
8 | ],
9 | "paths": {
10 | "@/*": ["./src/*"]
11 | }
12 | },
13 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
14 | "exclude": ["node_modules"]
15 | }
16 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "turborepo-shadcn-tailwind-v4",
3 | "private": true,
4 | "scripts": {
5 | "build": "turbo run build",
6 | "dev": "turbo run dev",
7 | "lint": "turbo run lint",
8 | "format": "prettier --write \"**/*.{ts,tsx,md,json}\"",
9 | "check-types": "turbo run check-types"
10 | },
11 | "devDependencies": {
12 | "prettier": "^3.5.0",
13 | "turbo": "^2.4.4",
14 | "typescript": "5.7.3"
15 | },
16 | "packageManager": "pnpm@9.15.5",
17 | "engines": {
18 | "pnpm": ">=9",
19 | "node": ">=22"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/packages/eslint-config/README.md:
--------------------------------------------------------------------------------
1 | # `@repo/eslint-config`
2 |
--------------------------------------------------------------------------------
/packages/eslint-config/base.js:
--------------------------------------------------------------------------------
1 | import js from "@eslint/js";
2 | import eslintConfigPrettier from "eslint-config-prettier";
3 | import turboPlugin from "eslint-plugin-turbo";
4 | import tseslint from "typescript-eslint";
5 | import onlyWarn from "eslint-plugin-only-warn";
6 |
7 | /**
8 | * A shared ESLint configuration for the repository.
9 | *
10 | * @type {import("eslint").Linter.Config}
11 | * */
12 | export const config = [
13 | js.configs.recommended,
14 | eslintConfigPrettier,
15 | ...tseslint.configs.recommended,
16 | {
17 | plugins: {
18 | turbo: turboPlugin,
19 | },
20 | rules: {
21 | "turbo/no-undeclared-env-vars": "warn",
22 | },
23 | },
24 | {
25 | plugins: {
26 | onlyWarn,
27 | },
28 | },
29 | {
30 | ignores: ["dist/**"],
31 | },
32 | ];
33 |
--------------------------------------------------------------------------------
/packages/eslint-config/next.js:
--------------------------------------------------------------------------------
1 | import js from "@eslint/js";
2 | import eslintConfigPrettier from "eslint-config-prettier";
3 | import tseslint from "typescript-eslint";
4 | import pluginReactHooks from "eslint-plugin-react-hooks";
5 | import pluginReact from "eslint-plugin-react";
6 | import globals from "globals";
7 | import pluginNext from "@next/eslint-plugin-next";
8 | import { config as baseConfig } from "./base.js";
9 |
10 | /**
11 | * A custom ESLint configuration for libraries that use Next.js.
12 | *
13 | * @type {import("eslint").Linter.Config}
14 | * */
15 | export const nextJsConfig = [
16 | ...baseConfig,
17 | js.configs.recommended,
18 | eslintConfigPrettier,
19 | ...tseslint.configs.recommended,
20 | {
21 | ...pluginReact.configs.flat.recommended,
22 | languageOptions: {
23 | ...pluginReact.configs.flat.recommended.languageOptions,
24 | globals: {
25 | ...globals.serviceworker,
26 | },
27 | },
28 | },
29 | {
30 | plugins: {
31 | "@next/next": pluginNext,
32 | },
33 | rules: {
34 | ...pluginNext.configs.recommended.rules,
35 | ...pluginNext.configs["core-web-vitals"].rules,
36 | },
37 | },
38 | {
39 | plugins: {
40 | "react-hooks": pluginReactHooks,
41 | },
42 | settings: { react: { version: "detect" } },
43 | rules: {
44 | ...pluginReactHooks.configs.recommended.rules,
45 | // React scope no longer necessary with new JSX transform.
46 | "react/react-in-jsx-scope": "off",
47 | },
48 | },
49 | ];
50 |
--------------------------------------------------------------------------------
/packages/eslint-config/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@repo/eslint-config",
3 | "version": "0.0.0",
4 | "type": "module",
5 | "private": true,
6 | "exports": {
7 | "./base": "./base.js",
8 | "./next": "./next.js",
9 | "./react-internal": "./react-internal.js"
10 | },
11 | "devDependencies": {
12 | "@eslint/js": "^9.21.0",
13 | "@next/eslint-plugin-next": "^15.1.6",
14 | "eslint": "^9.21.0",
15 | "eslint-config-prettier": "^10.0.1",
16 | "eslint-plugin-only-warn": "^1.1.0",
17 | "eslint-plugin-react": "^7.37.4",
18 | "eslint-plugin-react-hooks": "^5.1.0",
19 | "eslint-plugin-turbo": "^2.4.0",
20 | "globals": "^15.15.0",
21 | "typescript": "^5.7.3",
22 | "typescript-eslint": "^8.24.0"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/eslint-config/react-internal.js:
--------------------------------------------------------------------------------
1 | import js from "@eslint/js";
2 | import eslintConfigPrettier from "eslint-config-prettier";
3 | import tseslint from "typescript-eslint";
4 | import pluginReactHooks from "eslint-plugin-react-hooks";
5 | import pluginReact from "eslint-plugin-react";
6 | import globals from "globals";
7 | import { config as baseConfig } from "./base.js";
8 |
9 | /**
10 | * A custom ESLint configuration for libraries that use React.
11 | *
12 | * @type {import("eslint").Linter.Config} */
13 | export const config = [
14 | ...baseConfig,
15 | js.configs.recommended,
16 | eslintConfigPrettier,
17 | ...tseslint.configs.recommended,
18 | pluginReact.configs.flat.recommended,
19 | {
20 | languageOptions: {
21 | ...pluginReact.configs.flat.recommended.languageOptions,
22 | globals: {
23 | ...globals.serviceworker,
24 | ...globals.browser,
25 | },
26 | },
27 | },
28 | {
29 | plugins: {
30 | "react-hooks": pluginReactHooks,
31 | },
32 | settings: { react: { version: "detect" } },
33 | rules: {
34 | ...pluginReactHooks.configs.recommended.rules,
35 | // React scope no longer necessary with new JSX transform.
36 | "react/react-in-jsx-scope": "off",
37 | },
38 | },
39 | ];
40 |
--------------------------------------------------------------------------------
/packages/typescript-config/README.md:
--------------------------------------------------------------------------------
1 | # `@repo/typescript-config`
2 |
--------------------------------------------------------------------------------
/packages/typescript-config/base.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "compilerOptions": {
4 | "declaration": true,
5 | "declarationMap": true,
6 | "esModuleInterop": true,
7 | "incremental": false,
8 | "isolatedModules": true,
9 | "lib": ["es2022", "DOM", "DOM.Iterable"],
10 | "module": "NodeNext",
11 | "moduleDetection": "force",
12 | "moduleResolution": "NodeNext",
13 | "noUncheckedIndexedAccess": true,
14 | "resolveJsonModule": true,
15 | "skipLibCheck": true,
16 | "strict": true,
17 | "target": "ES2022"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/packages/typescript-config/nextjs.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "extends": "./base.json",
4 | "compilerOptions": {
5 | "plugins": [{ "name": "next" }],
6 | "module": "ESNext",
7 | "moduleResolution": "Bundler",
8 | "allowJs": true,
9 | "jsx": "preserve",
10 | "noEmit": true
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/packages/typescript-config/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@repo/typescript-config",
3 | "version": "0.0.0",
4 | "private": true,
5 | "license": "MIT",
6 | "publishConfig": {
7 | "access": "public"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/packages/typescript-config/react-library.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "extends": "./base.json",
4 | "compilerOptions": {
5 | "jsx": "react-jsx"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/packages/ui/README.md:
--------------------------------------------------------------------------------
1 | # `@repo/ui`
2 |
--------------------------------------------------------------------------------
/packages/ui/components.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://ui.shadcn.com/schema.json",
3 | "style": "new-york",
4 | "rsc": true,
5 | "tsx": true,
6 | "tailwind": {
7 | "config": "",
8 | "prefix": "",
9 | "cssVariables": true,
10 | "baseColor": "neutral",
11 | "css": "src/styles/default.css"
12 | },
13 | "aliases": {
14 | "components": "@repo/ui/components",
15 | "ui": "@repo/ui/components/base",
16 | "utils": "@repo/ui/lib/utils",
17 | "hooks": "@repo/ui/hooks",
18 | "lib": "@repo/ui/lib"
19 | },
20 | "iconLibrary": "lucide"
21 | }
22 |
--------------------------------------------------------------------------------
/packages/ui/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import { nextJsConfig } from "@repo/eslint-config/next";
2 |
3 | /** @type {import("eslint").Linter.Config} */
4 | export default nextJsConfig;
5 |
--------------------------------------------------------------------------------
/packages/ui/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@repo/ui",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {},
6 | "peerDependencies": {
7 | "react": "^18 || ^19",
8 | "react-dom": "^18 || ^19"
9 | },
10 | "devDependencies": {
11 | "@repo/eslint-config": "workspace:*",
12 | "@repo/typescript-config": "workspace:*",
13 | "@types/node": "^20",
14 | "@types/react": "^19",
15 | "@types/react-dom": "^19",
16 | "@tailwindcss/postcss": "^4",
17 | "tailwindcss": "^4",
18 | "typescript": "^5"
19 | },
20 | "dependencies": {
21 | "clsx": "^2.1.1",
22 | "react": "^19",
23 | "react-dom": "^19",
24 | "lucide-react": "^0.476.0",
25 | "tailwind-merge": "^3.0.2",
26 | "tw-animate-css": "^1.2.4",
27 | "@radix-ui/react-slot": "^1.1.2",
28 | "class-variance-authority": "^0.7.1"
29 | },
30 | "exports": {
31 | "./postcss.config": "./postcss.config.mjs",
32 | "./components/*": "./src/components/*.tsx",
33 | "./lib/*": "./src/lib/*.ts",
34 | "./styles/*": "./src/styles/*",
35 | "./hooks/*": [
36 | "./src/hooks/*.ts",
37 | "./src/hooks/*.tsx"
38 | ]
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/packages/ui/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | plugins: ["@tailwindcss/postcss"],
3 | };
4 |
5 | export default config;
6 |
--------------------------------------------------------------------------------
/packages/ui/src/components/base/button.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 | import { Slot } from '@radix-ui/react-slot';
3 | import { cva, type VariantProps } from 'class-variance-authority';
4 |
5 | import { cn } from '@repo/ui/lib/utils';
6 |
7 | const buttonVariants = cva(
8 | "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
9 | {
10 | variants: {
11 | variant: {
12 | default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',
13 | destructive:
14 | 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',
15 | outline:
16 | 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',
17 | secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',
18 | ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',
19 | link: 'text-primary underline-offset-4 hover:underline',
20 | },
21 | size: {
22 | default: 'h-9 px-4 py-2 has-[>svg]:px-3',
23 | sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',
24 | lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',
25 | icon: 'size-9',
26 | },
27 | },
28 | defaultVariants: {
29 | variant: 'default',
30 | size: 'default',
31 | },
32 | }
33 | );
34 |
35 | function Button({
36 | className,
37 | variant,
38 | size,
39 | asChild = false,
40 | ...props
41 | }: React.ComponentProps<'button'> &
42 | VariantProps & {
43 | asChild?: boolean;
44 | }) {
45 | const Comp = asChild ? Slot : 'button';
46 |
47 | return (
48 |
53 | );
54 | }
55 |
56 | export { Button, buttonVariants };
57 |
--------------------------------------------------------------------------------
/packages/ui/src/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import { clsx, type ClassValue } from 'clsx';
2 | import { twMerge } from 'tailwind-merge';
3 |
4 | export function cn(...inputs: ClassValue[]) {
5 | return twMerge(clsx(inputs));
6 | }
7 |
--------------------------------------------------------------------------------
/packages/ui/src/styles/default.css:
--------------------------------------------------------------------------------
1 | @import 'tailwindcss';
2 | @import 'tw-animate-css';
3 |
4 | @custom-variant dark (&:is(.dark *));
5 |
6 | @theme inline {
7 | --color-background: var(--background);
8 | --color-foreground: var(--foreground);
9 | --color-sidebar-ring: var(--sidebar-ring);
10 | --color-sidebar-border: var(--sidebar-border);
11 | --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
12 | --color-sidebar-accent: var(--sidebar-accent);
13 | --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
14 | --color-sidebar-primary: var(--sidebar-primary);
15 | --color-sidebar-foreground: var(--sidebar-foreground);
16 | --color-sidebar: var(--sidebar);
17 | --color-chart-5: var(--chart-5);
18 | --color-chart-4: var(--chart-4);
19 | --color-chart-3: var(--chart-3);
20 | --color-chart-2: var(--chart-2);
21 | --color-chart-1: var(--chart-1);
22 | --color-ring: var(--ring);
23 | --color-input: var(--input);
24 | --color-border: var(--border);
25 | --color-destructive: var(--destructive);
26 | --color-accent-foreground: var(--accent-foreground);
27 | --color-accent: var(--accent);
28 | --color-muted-foreground: var(--muted-foreground);
29 | --color-muted: var(--muted);
30 | --color-secondary-foreground: var(--secondary-foreground);
31 | --color-secondary: var(--secondary);
32 | --color-primary-foreground: var(--primary-foreground);
33 | --color-primary: var(--primary);
34 | --color-popover-foreground: var(--popover-foreground);
35 | --color-popover: var(--popover);
36 | --color-card-foreground: var(--card-foreground);
37 | --color-card: var(--card);
38 | --radius-sm: calc(var(--radius) - 4px);
39 | --radius-md: calc(var(--radius) - 2px);
40 | --radius-lg: var(--radius);
41 | --radius-xl: calc(var(--radius) + 4px);
42 | --font-sans: var(--font-geist-sans);
43 | --font-mono: var(--font-geist-mono);
44 | }
45 |
46 | :root {
47 | --radius: 0.625rem;
48 | --background: oklch(1 0 0);
49 | --foreground: oklch(0.145 0 0);
50 | --card: oklch(1 0 0);
51 | --card-foreground: oklch(0.145 0 0);
52 | --popover: oklch(1 0 0);
53 | --popover-foreground: oklch(0.145 0 0);
54 | --primary: oklch(0.205 0 0);
55 | --primary-foreground: oklch(0.985 0 0);
56 | --secondary: oklch(0.97 0 0);
57 | --secondary-foreground: oklch(0.205 0 0);
58 | --muted: oklch(0.97 0 0);
59 | --muted-foreground: oklch(0.556 0 0);
60 | --accent: oklch(0.97 0 0);
61 | --accent-foreground: oklch(0.205 0 0);
62 | --destructive: oklch(0.577 0.245 27.325);
63 | --border: oklch(0.922 0 0);
64 | --input: oklch(0.922 0 0);
65 | --ring: oklch(0.708 0 0);
66 | --chart-1: oklch(0.646 0.222 41.116);
67 | --chart-2: oklch(0.6 0.118 184.704);
68 | --chart-3: oklch(0.398 0.07 227.392);
69 | --chart-4: oklch(0.828 0.189 84.429);
70 | --chart-5: oklch(0.769 0.188 70.08);
71 | --sidebar: oklch(0.985 0 0);
72 | --sidebar-foreground: oklch(0.145 0 0);
73 | --sidebar-primary: oklch(0.205 0 0);
74 | --sidebar-primary-foreground: oklch(0.985 0 0);
75 | --sidebar-accent: oklch(0.97 0 0);
76 | --sidebar-accent-foreground: oklch(0.205 0 0);
77 | --sidebar-border: oklch(0.922 0 0);
78 | --sidebar-ring: oklch(0.708 0 0);
79 | }
80 |
81 | .dark {
82 | --background: oklch(0.145 0 0);
83 | --foreground: oklch(0.985 0 0);
84 | --card: oklch(0.205 0 0);
85 | --card-foreground: oklch(0.985 0 0);
86 | --popover: oklch(0.205 0 0);
87 | --popover-foreground: oklch(0.985 0 0);
88 | --primary: oklch(0.922 0 0);
89 | --primary-foreground: oklch(0.205 0 0);
90 | --secondary: oklch(0.269 0 0);
91 | --secondary-foreground: oklch(0.985 0 0);
92 | --muted: oklch(0.269 0 0);
93 | --muted-foreground: oklch(0.708 0 0);
94 | --accent: oklch(0.269 0 0);
95 | --accent-foreground: oklch(0.985 0 0);
96 | --destructive: oklch(0.704 0.191 22.216);
97 | --border: oklch(1 0 0 / 10%);
98 | --input: oklch(1 0 0 / 15%);
99 | --ring: oklch(0.556 0 0);
100 | --chart-1: oklch(0.488 0.243 264.376);
101 | --chart-2: oklch(0.696 0.17 162.48);
102 | --chart-3: oklch(0.769 0.188 70.08);
103 | --chart-4: oklch(0.627 0.265 303.9);
104 | --chart-5: oklch(0.645 0.246 16.439);
105 | --sidebar: oklch(0.205 0 0);
106 | --sidebar-foreground: oklch(0.985 0 0);
107 | --sidebar-primary: oklch(0.488 0.243 264.376);
108 | --sidebar-primary-foreground: oklch(0.985 0 0);
109 | --sidebar-accent: oklch(0.269 0 0);
110 | --sidebar-accent-foreground: oklch(0.985 0 0);
111 | --sidebar-border: oklch(1 0 0 / 10%);
112 | --sidebar-ring: oklch(0.556 0 0);
113 | }
114 |
115 | @layer base {
116 | * {
117 | @apply border-border outline-ring/50;
118 | }
119 | body {
120 | @apply bg-background text-foreground;
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/packages/ui/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@repo/typescript-config/react-library.json",
3 | "compilerOptions": {
4 | "baseUrl": ".",
5 | "paths": {
6 | "@repo/ui/*": ["./src/*"]
7 | }
8 | },
9 | "include": ["src"],
10 | "exclude": ["node_modules"]
11 | }
12 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | devDependencies:
11 | prettier:
12 | specifier: ^3.5.0
13 | version: 3.5.0
14 | turbo:
15 | specifier: ^2.4.4
16 | version: 2.4.4
17 | typescript:
18 | specifier: 5.7.3
19 | version: 5.7.3
20 |
21 | apps/nextjs:
22 | dependencies:
23 | '@repo/ui':
24 | specifier: workspace:*
25 | version: link:../../packages/ui
26 | next:
27 | specifier: ^15.2.4
28 | version: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
29 | react:
30 | specifier: ^19.0.0
31 | version: 19.0.0
32 | react-dom:
33 | specifier: ^19.0.0
34 | version: 19.0.0(react@19.0.0)
35 | devDependencies:
36 | '@repo/eslint-config':
37 | specifier: workspace:*
38 | version: link:../../packages/eslint-config
39 | '@repo/typescript-config':
40 | specifier: workspace:*
41 | version: link:../../packages/typescript-config
42 | '@tailwindcss/postcss':
43 | specifier: ^4
44 | version: 4.0.9
45 | '@types/node':
46 | specifier: ^22
47 | version: 22.13.0
48 | '@types/react':
49 | specifier: ^19
50 | version: 19.0.8
51 | '@types/react-dom':
52 | specifier: '19'
53 | version: 19.0.3(@types/react@19.0.8)
54 | eslint:
55 | specifier: ^9
56 | version: 9.21.0(jiti@2.4.2)
57 | tailwindcss:
58 | specifier: ^4
59 | version: 4.0.9
60 | typescript:
61 | specifier: ^5
62 | version: 5.7.3
63 |
64 | packages/eslint-config:
65 | devDependencies:
66 | '@eslint/js':
67 | specifier: ^9.21.0
68 | version: 9.21.0
69 | '@next/eslint-plugin-next':
70 | specifier: ^15.1.6
71 | version: 15.1.6
72 | eslint:
73 | specifier: ^9.21.0
74 | version: 9.21.0(jiti@2.4.2)
75 | eslint-config-prettier:
76 | specifier: ^10.0.1
77 | version: 10.0.1(eslint@9.21.0(jiti@2.4.2))
78 | eslint-plugin-only-warn:
79 | specifier: ^1.1.0
80 | version: 1.1.0
81 | eslint-plugin-react:
82 | specifier: ^7.37.4
83 | version: 7.37.4(eslint@9.21.0(jiti@2.4.2))
84 | eslint-plugin-react-hooks:
85 | specifier: ^5.1.0
86 | version: 5.1.0(eslint@9.21.0(jiti@2.4.2))
87 | eslint-plugin-turbo:
88 | specifier: ^2.4.0
89 | version: 2.4.0(eslint@9.21.0(jiti@2.4.2))(turbo@2.4.4)
90 | globals:
91 | specifier: ^15.15.0
92 | version: 15.15.0
93 | typescript:
94 | specifier: ^5.7.3
95 | version: 5.7.3
96 | typescript-eslint:
97 | specifier: ^8.24.0
98 | version: 8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
99 |
100 | packages/typescript-config: {}
101 |
102 | packages/ui:
103 | dependencies:
104 | '@radix-ui/react-slot':
105 | specifier: ^1.1.2
106 | version: 1.1.2(@types/react@19.0.8)(react@19.0.0)
107 | class-variance-authority:
108 | specifier: ^0.7.1
109 | version: 0.7.1
110 | clsx:
111 | specifier: ^2.1.1
112 | version: 2.1.1
113 | lucide-react:
114 | specifier: ^0.476.0
115 | version: 0.476.0(react@19.0.0)
116 | react:
117 | specifier: ^19
118 | version: 19.0.0
119 | react-dom:
120 | specifier: ^19
121 | version: 19.0.0(react@19.0.0)
122 | tailwind-merge:
123 | specifier: ^3.0.2
124 | version: 3.0.2
125 | tw-animate-css:
126 | specifier: ^1.2.4
127 | version: 1.2.4
128 | devDependencies:
129 | '@repo/eslint-config':
130 | specifier: workspace:*
131 | version: link:../eslint-config
132 | '@repo/typescript-config':
133 | specifier: workspace:*
134 | version: link:../typescript-config
135 | '@tailwindcss/postcss':
136 | specifier: ^4
137 | version: 4.0.9
138 | '@types/node':
139 | specifier: ^20
140 | version: 20.17.19
141 | '@types/react':
142 | specifier: ^19
143 | version: 19.0.8
144 | '@types/react-dom':
145 | specifier: ^19
146 | version: 19.0.3(@types/react@19.0.8)
147 | tailwindcss:
148 | specifier: ^4
149 | version: 4.0.9
150 | typescript:
151 | specifier: ^5
152 | version: 5.7.3
153 |
154 | packages:
155 |
156 | '@alloc/quick-lru@5.2.0':
157 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
158 | engines: {node: '>=10'}
159 |
160 | '@emnapi/runtime@1.3.1':
161 | resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
162 |
163 | '@eslint-community/eslint-utils@4.4.1':
164 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
165 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
166 | peerDependencies:
167 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
168 |
169 | '@eslint-community/regexpp@4.12.1':
170 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
171 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
172 |
173 | '@eslint/config-array@0.19.2':
174 | resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
175 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
176 |
177 | '@eslint/core@0.12.0':
178 | resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
179 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
180 |
181 | '@eslint/eslintrc@3.3.0':
182 | resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==}
183 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
184 |
185 | '@eslint/js@9.21.0':
186 | resolution: {integrity: sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==}
187 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
188 |
189 | '@eslint/object-schema@2.1.6':
190 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
191 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
192 |
193 | '@eslint/plugin-kit@0.2.7':
194 | resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==}
195 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
196 |
197 | '@humanfs/core@0.19.1':
198 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
199 | engines: {node: '>=18.18.0'}
200 |
201 | '@humanfs/node@0.16.6':
202 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
203 | engines: {node: '>=18.18.0'}
204 |
205 | '@humanwhocodes/module-importer@1.0.1':
206 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
207 | engines: {node: '>=12.22'}
208 |
209 | '@humanwhocodes/retry@0.3.1':
210 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
211 | engines: {node: '>=18.18'}
212 |
213 | '@humanwhocodes/retry@0.4.2':
214 | resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
215 | engines: {node: '>=18.18'}
216 |
217 | '@img/sharp-darwin-arm64@0.33.5':
218 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
219 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
220 | cpu: [arm64]
221 | os: [darwin]
222 |
223 | '@img/sharp-darwin-x64@0.33.5':
224 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
225 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
226 | cpu: [x64]
227 | os: [darwin]
228 |
229 | '@img/sharp-libvips-darwin-arm64@1.0.4':
230 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
231 | cpu: [arm64]
232 | os: [darwin]
233 |
234 | '@img/sharp-libvips-darwin-x64@1.0.4':
235 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
236 | cpu: [x64]
237 | os: [darwin]
238 |
239 | '@img/sharp-libvips-linux-arm64@1.0.4':
240 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
241 | cpu: [arm64]
242 | os: [linux]
243 |
244 | '@img/sharp-libvips-linux-arm@1.0.5':
245 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
246 | cpu: [arm]
247 | os: [linux]
248 |
249 | '@img/sharp-libvips-linux-s390x@1.0.4':
250 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
251 | cpu: [s390x]
252 | os: [linux]
253 |
254 | '@img/sharp-libvips-linux-x64@1.0.4':
255 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
256 | cpu: [x64]
257 | os: [linux]
258 |
259 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
260 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
261 | cpu: [arm64]
262 | os: [linux]
263 |
264 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
265 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
266 | cpu: [x64]
267 | os: [linux]
268 |
269 | '@img/sharp-linux-arm64@0.33.5':
270 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
271 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
272 | cpu: [arm64]
273 | os: [linux]
274 |
275 | '@img/sharp-linux-arm@0.33.5':
276 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
277 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
278 | cpu: [arm]
279 | os: [linux]
280 |
281 | '@img/sharp-linux-s390x@0.33.5':
282 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
283 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
284 | cpu: [s390x]
285 | os: [linux]
286 |
287 | '@img/sharp-linux-x64@0.33.5':
288 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
289 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
290 | cpu: [x64]
291 | os: [linux]
292 |
293 | '@img/sharp-linuxmusl-arm64@0.33.5':
294 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
295 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
296 | cpu: [arm64]
297 | os: [linux]
298 |
299 | '@img/sharp-linuxmusl-x64@0.33.5':
300 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
301 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
302 | cpu: [x64]
303 | os: [linux]
304 |
305 | '@img/sharp-wasm32@0.33.5':
306 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
307 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
308 | cpu: [wasm32]
309 |
310 | '@img/sharp-win32-ia32@0.33.5':
311 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
312 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
313 | cpu: [ia32]
314 | os: [win32]
315 |
316 | '@img/sharp-win32-x64@0.33.5':
317 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
318 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
319 | cpu: [x64]
320 | os: [win32]
321 |
322 | '@next/env@15.2.4':
323 | resolution: {integrity: sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==}
324 |
325 | '@next/eslint-plugin-next@15.1.6':
326 | resolution: {integrity: sha512-+slMxhTgILUntZDGNgsKEYHUvpn72WP1YTlkmEhS51vnVd7S9jEEy0n9YAMcI21vUG4akTw9voWH02lrClt/yw==}
327 |
328 | '@next/swc-darwin-arm64@15.2.4':
329 | resolution: {integrity: sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==}
330 | engines: {node: '>= 10'}
331 | cpu: [arm64]
332 | os: [darwin]
333 |
334 | '@next/swc-darwin-x64@15.2.4':
335 | resolution: {integrity: sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==}
336 | engines: {node: '>= 10'}
337 | cpu: [x64]
338 | os: [darwin]
339 |
340 | '@next/swc-linux-arm64-gnu@15.2.4':
341 | resolution: {integrity: sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==}
342 | engines: {node: '>= 10'}
343 | cpu: [arm64]
344 | os: [linux]
345 |
346 | '@next/swc-linux-arm64-musl@15.2.4':
347 | resolution: {integrity: sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==}
348 | engines: {node: '>= 10'}
349 | cpu: [arm64]
350 | os: [linux]
351 |
352 | '@next/swc-linux-x64-gnu@15.2.4':
353 | resolution: {integrity: sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==}
354 | engines: {node: '>= 10'}
355 | cpu: [x64]
356 | os: [linux]
357 |
358 | '@next/swc-linux-x64-musl@15.2.4':
359 | resolution: {integrity: sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==}
360 | engines: {node: '>= 10'}
361 | cpu: [x64]
362 | os: [linux]
363 |
364 | '@next/swc-win32-arm64-msvc@15.2.4':
365 | resolution: {integrity: sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==}
366 | engines: {node: '>= 10'}
367 | cpu: [arm64]
368 | os: [win32]
369 |
370 | '@next/swc-win32-x64-msvc@15.2.4':
371 | resolution: {integrity: sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==}
372 | engines: {node: '>= 10'}
373 | cpu: [x64]
374 | os: [win32]
375 |
376 | '@nodelib/fs.scandir@2.1.5':
377 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
378 | engines: {node: '>= 8'}
379 |
380 | '@nodelib/fs.stat@2.0.5':
381 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
382 | engines: {node: '>= 8'}
383 |
384 | '@nodelib/fs.walk@1.2.8':
385 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
386 | engines: {node: '>= 8'}
387 |
388 | '@radix-ui/react-compose-refs@1.1.1':
389 | resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
390 | peerDependencies:
391 | '@types/react': '*'
392 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
393 | peerDependenciesMeta:
394 | '@types/react':
395 | optional: true
396 |
397 | '@radix-ui/react-slot@1.1.2':
398 | resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==}
399 | peerDependencies:
400 | '@types/react': '*'
401 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
402 | peerDependenciesMeta:
403 | '@types/react':
404 | optional: true
405 |
406 | '@swc/counter@0.1.3':
407 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
408 |
409 | '@swc/helpers@0.5.15':
410 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
411 |
412 | '@tailwindcss/node@4.0.9':
413 | resolution: {integrity: sha512-tOJvdI7XfJbARYhxX+0RArAhmuDcczTC46DGCEziqxzzbIaPnfYaIyRT31n4u8lROrsO7Q6u/K9bmQHL2uL1bQ==}
414 |
415 | '@tailwindcss/oxide-android-arm64@4.0.9':
416 | resolution: {integrity: sha512-YBgy6+2flE/8dbtrdotVInhMVIxnHJPbAwa7U1gX4l2ThUIaPUp18LjB9wEH8wAGMBZUb//SzLtdXXNBHPUl6Q==}
417 | engines: {node: '>= 10'}
418 | cpu: [arm64]
419 | os: [android]
420 |
421 | '@tailwindcss/oxide-darwin-arm64@4.0.9':
422 | resolution: {integrity: sha512-pWdl4J2dIHXALgy2jVkwKBmtEb73kqIfMpYmcgESr7oPQ+lbcQ4+tlPeVXaSAmang+vglAfFpXQCOvs/aGSqlw==}
423 | engines: {node: '>= 10'}
424 | cpu: [arm64]
425 | os: [darwin]
426 |
427 | '@tailwindcss/oxide-darwin-x64@4.0.9':
428 | resolution: {integrity: sha512-4Dq3lKp0/C7vrRSkNPtBGVebEyWt9QPPlQctxJ0H3MDyiQYvzVYf8jKow7h5QkWNe8hbatEqljMj/Y0M+ERYJg==}
429 | engines: {node: '>= 10'}
430 | cpu: [x64]
431 | os: [darwin]
432 |
433 | '@tailwindcss/oxide-freebsd-x64@4.0.9':
434 | resolution: {integrity: sha512-k7U1RwRODta8x0uealtVt3RoWAWqA+D5FAOsvVGpYoI6ObgmnzqWW6pnVwz70tL8UZ/QXjeMyiICXyjzB6OGtQ==}
435 | engines: {node: '>= 10'}
436 | cpu: [x64]
437 | os: [freebsd]
438 |
439 | '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9':
440 | resolution: {integrity: sha512-NDDjVweHz2zo4j+oS8y3KwKL5wGCZoXGA9ruJM982uVJLdsF8/1AeKvUwKRlMBpxHt1EdWJSAh8a0Mfhl28GlQ==}
441 | engines: {node: '>= 10'}
442 | cpu: [arm]
443 | os: [linux]
444 |
445 | '@tailwindcss/oxide-linux-arm64-gnu@4.0.9':
446 | resolution: {integrity: sha512-jk90UZ0jzJl3Dy1BhuFfRZ2KP9wVKMXPjmCtY4U6fF2LvrjP5gWFJj5VHzfzHonJexjrGe1lMzgtjriuZkxagg==}
447 | engines: {node: '>= 10'}
448 | cpu: [arm64]
449 | os: [linux]
450 |
451 | '@tailwindcss/oxide-linux-arm64-musl@4.0.9':
452 | resolution: {integrity: sha512-3eMjyTC6HBxh9nRgOHzrc96PYh1/jWOwHZ3Kk0JN0Kl25BJ80Lj9HEvvwVDNTgPg154LdICwuFLuhfgH9DULmg==}
453 | engines: {node: '>= 10'}
454 | cpu: [arm64]
455 | os: [linux]
456 |
457 | '@tailwindcss/oxide-linux-x64-gnu@4.0.9':
458 | resolution: {integrity: sha512-v0D8WqI/c3WpWH1kq/HP0J899ATLdGZmENa2/emmNjubT0sWtEke9W9+wXeEoACuGAhF9i3PO5MeyditpDCiWQ==}
459 | engines: {node: '>= 10'}
460 | cpu: [x64]
461 | os: [linux]
462 |
463 | '@tailwindcss/oxide-linux-x64-musl@4.0.9':
464 | resolution: {integrity: sha512-Kvp0TCkfeXyeehqLJr7otsc4hd/BUPfcIGrQiwsTVCfaMfjQZCG7DjI+9/QqPZha8YapLA9UoIcUILRYO7NE1Q==}
465 | engines: {node: '>= 10'}
466 | cpu: [x64]
467 | os: [linux]
468 |
469 | '@tailwindcss/oxide-win32-arm64-msvc@4.0.9':
470 | resolution: {integrity: sha512-m3+60T/7YvWekajNq/eexjhV8z10rswcz4BC9bioJ7YaN+7K8W2AmLmG0B79H14m6UHE571qB0XsPus4n0QVgQ==}
471 | engines: {node: '>= 10'}
472 | cpu: [arm64]
473 | os: [win32]
474 |
475 | '@tailwindcss/oxide-win32-x64-msvc@4.0.9':
476 | resolution: {integrity: sha512-dpc05mSlqkwVNOUjGu/ZXd5U1XNch1kHFJ4/cHkZFvaW1RzbHmRt24gvM8/HC6IirMxNarzVw4IXVtvrOoZtxA==}
477 | engines: {node: '>= 10'}
478 | cpu: [x64]
479 | os: [win32]
480 |
481 | '@tailwindcss/oxide@4.0.9':
482 | resolution: {integrity: sha512-eLizHmXFqHswJONwfqi/WZjtmWZpIalpvMlNhTM99/bkHtUs6IqgI1XQ0/W5eO2HiRQcIlXUogI2ycvKhVLNcA==}
483 | engines: {node: '>= 10'}
484 |
485 | '@tailwindcss/postcss@4.0.9':
486 | resolution: {integrity: sha512-BT/E+pdMqulavEAVM5NCpxmGEwHiLDPpkmg/c/X25ZBW+izTe+aZ+v1gf/HXTrihRoCxrUp5U4YyHsBTzspQKQ==}
487 |
488 | '@types/estree@1.0.6':
489 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
490 |
491 | '@types/json-schema@7.0.15':
492 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
493 |
494 | '@types/node@20.17.19':
495 | resolution: {integrity: sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==}
496 |
497 | '@types/node@22.13.0':
498 | resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==}
499 |
500 | '@types/react-dom@19.0.3':
501 | resolution: {integrity: sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==}
502 | peerDependencies:
503 | '@types/react': ^19.0.0
504 |
505 | '@types/react@19.0.8':
506 | resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==}
507 |
508 | '@typescript-eslint/eslint-plugin@8.24.0':
509 | resolution: {integrity: sha512-aFcXEJJCI4gUdXgoo/j9udUYIHgF23MFkg09LFz2dzEmU0+1Plk4rQWv/IYKvPHAtlkkGoB3m5e6oUp+JPsNaQ==}
510 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
511 | peerDependencies:
512 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
513 | eslint: ^8.57.0 || ^9.0.0
514 | typescript: '>=4.8.4 <5.8.0'
515 |
516 | '@typescript-eslint/parser@8.24.0':
517 | resolution: {integrity: sha512-MFDaO9CYiard9j9VepMNa9MTcqVvSny2N4hkY6roquzj8pdCBRENhErrteaQuu7Yjn1ppk0v1/ZF9CG3KIlrTA==}
518 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
519 | peerDependencies:
520 | eslint: ^8.57.0 || ^9.0.0
521 | typescript: '>=4.8.4 <5.8.0'
522 |
523 | '@typescript-eslint/scope-manager@8.24.0':
524 | resolution: {integrity: sha512-HZIX0UByphEtdVBKaQBgTDdn9z16l4aTUz8e8zPQnyxwHBtf5vtl1L+OhH+m1FGV9DrRmoDuYKqzVrvWDcDozw==}
525 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
526 |
527 | '@typescript-eslint/type-utils@8.24.0':
528 | resolution: {integrity: sha512-8fitJudrnY8aq0F1wMiPM1UUgiXQRJ5i8tFjq9kGfRajU+dbPyOuHbl0qRopLEidy0MwqgTHDt6CnSeXanNIwA==}
529 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
530 | peerDependencies:
531 | eslint: ^8.57.0 || ^9.0.0
532 | typescript: '>=4.8.4 <5.8.0'
533 |
534 | '@typescript-eslint/types@8.24.0':
535 | resolution: {integrity: sha512-VacJCBTyje7HGAw7xp11q439A+zeGG0p0/p2zsZwpnMzjPB5WteaWqt4g2iysgGFafrqvyLWqq6ZPZAOCoefCw==}
536 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
537 |
538 | '@typescript-eslint/typescript-estree@8.24.0':
539 | resolution: {integrity: sha512-ITjYcP0+8kbsvT9bysygfIfb+hBj6koDsu37JZG7xrCiy3fPJyNmfVtaGsgTUSEuTzcvME5YI5uyL5LD1EV5ZQ==}
540 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
541 | peerDependencies:
542 | typescript: '>=4.8.4 <5.8.0'
543 |
544 | '@typescript-eslint/utils@8.24.0':
545 | resolution: {integrity: sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==}
546 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
547 | peerDependencies:
548 | eslint: ^8.57.0 || ^9.0.0
549 | typescript: '>=4.8.4 <5.8.0'
550 |
551 | '@typescript-eslint/visitor-keys@8.24.0':
552 | resolution: {integrity: sha512-kArLq83QxGLbuHrTMoOEWO+l2MwsNS2TGISEdx8xgqpkbytB07XmlQyQdNDrCc1ecSqx0cnmhGvpX+VBwqqSkg==}
553 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
554 |
555 | acorn-jsx@5.3.2:
556 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
557 | peerDependencies:
558 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
559 |
560 | acorn@8.14.0:
561 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
562 | engines: {node: '>=0.4.0'}
563 | hasBin: true
564 |
565 | ajv@6.12.6:
566 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
567 |
568 | ansi-styles@4.3.0:
569 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
570 | engines: {node: '>=8'}
571 |
572 | argparse@2.0.1:
573 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
574 |
575 | array-buffer-byte-length@1.0.2:
576 | resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
577 | engines: {node: '>= 0.4'}
578 |
579 | array-includes@3.1.8:
580 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
581 | engines: {node: '>= 0.4'}
582 |
583 | array.prototype.findlast@1.2.5:
584 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
585 | engines: {node: '>= 0.4'}
586 |
587 | array.prototype.flat@1.3.3:
588 | resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
589 | engines: {node: '>= 0.4'}
590 |
591 | array.prototype.flatmap@1.3.3:
592 | resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
593 | engines: {node: '>= 0.4'}
594 |
595 | array.prototype.tosorted@1.1.4:
596 | resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
597 | engines: {node: '>= 0.4'}
598 |
599 | arraybuffer.prototype.slice@1.0.4:
600 | resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
601 | engines: {node: '>= 0.4'}
602 |
603 | async-function@1.0.0:
604 | resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
605 | engines: {node: '>= 0.4'}
606 |
607 | available-typed-arrays@1.0.7:
608 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
609 | engines: {node: '>= 0.4'}
610 |
611 | balanced-match@1.0.2:
612 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
613 |
614 | brace-expansion@1.1.11:
615 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
616 |
617 | brace-expansion@2.0.1:
618 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
619 |
620 | braces@3.0.3:
621 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
622 | engines: {node: '>=8'}
623 |
624 | busboy@1.6.0:
625 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
626 | engines: {node: '>=10.16.0'}
627 |
628 | call-bind-apply-helpers@1.0.1:
629 | resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==}
630 | engines: {node: '>= 0.4'}
631 |
632 | call-bind@1.0.8:
633 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
634 | engines: {node: '>= 0.4'}
635 |
636 | call-bound@1.0.3:
637 | resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==}
638 | engines: {node: '>= 0.4'}
639 |
640 | callsites@3.1.0:
641 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
642 | engines: {node: '>=6'}
643 |
644 | caniuse-lite@1.0.30001695:
645 | resolution: {integrity: sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==}
646 |
647 | chalk@4.1.2:
648 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
649 | engines: {node: '>=10'}
650 |
651 | class-variance-authority@0.7.1:
652 | resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
653 |
654 | client-only@0.0.1:
655 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
656 |
657 | clsx@2.1.1:
658 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
659 | engines: {node: '>=6'}
660 |
661 | color-convert@2.0.1:
662 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
663 | engines: {node: '>=7.0.0'}
664 |
665 | color-name@1.1.4:
666 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
667 |
668 | color-string@1.9.1:
669 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
670 |
671 | color@4.2.3:
672 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
673 | engines: {node: '>=12.5.0'}
674 |
675 | concat-map@0.0.1:
676 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
677 |
678 | cross-spawn@7.0.6:
679 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
680 | engines: {node: '>= 8'}
681 |
682 | csstype@3.1.3:
683 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
684 |
685 | data-view-buffer@1.0.2:
686 | resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
687 | engines: {node: '>= 0.4'}
688 |
689 | data-view-byte-length@1.0.2:
690 | resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
691 | engines: {node: '>= 0.4'}
692 |
693 | data-view-byte-offset@1.0.1:
694 | resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
695 | engines: {node: '>= 0.4'}
696 |
697 | debug@4.4.0:
698 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
699 | engines: {node: '>=6.0'}
700 | peerDependencies:
701 | supports-color: '*'
702 | peerDependenciesMeta:
703 | supports-color:
704 | optional: true
705 |
706 | deep-is@0.1.4:
707 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
708 |
709 | define-data-property@1.1.4:
710 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
711 | engines: {node: '>= 0.4'}
712 |
713 | define-properties@1.2.1:
714 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
715 | engines: {node: '>= 0.4'}
716 |
717 | detect-libc@1.0.3:
718 | resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
719 | engines: {node: '>=0.10'}
720 | hasBin: true
721 |
722 | detect-libc@2.0.3:
723 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
724 | engines: {node: '>=8'}
725 |
726 | doctrine@2.1.0:
727 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
728 | engines: {node: '>=0.10.0'}
729 |
730 | dotenv@16.0.3:
731 | resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
732 | engines: {node: '>=12'}
733 |
734 | dunder-proto@1.0.1:
735 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
736 | engines: {node: '>= 0.4'}
737 |
738 | enhanced-resolve@5.18.1:
739 | resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
740 | engines: {node: '>=10.13.0'}
741 |
742 | es-abstract@1.23.9:
743 | resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
744 | engines: {node: '>= 0.4'}
745 |
746 | es-define-property@1.0.1:
747 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
748 | engines: {node: '>= 0.4'}
749 |
750 | es-errors@1.3.0:
751 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
752 | engines: {node: '>= 0.4'}
753 |
754 | es-iterator-helpers@1.2.1:
755 | resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==}
756 | engines: {node: '>= 0.4'}
757 |
758 | es-object-atoms@1.1.1:
759 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
760 | engines: {node: '>= 0.4'}
761 |
762 | es-set-tostringtag@2.1.0:
763 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
764 | engines: {node: '>= 0.4'}
765 |
766 | es-shim-unscopables@1.0.2:
767 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
768 |
769 | es-to-primitive@1.3.0:
770 | resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
771 | engines: {node: '>= 0.4'}
772 |
773 | escape-string-regexp@4.0.0:
774 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
775 | engines: {node: '>=10'}
776 |
777 | eslint-config-prettier@10.0.1:
778 | resolution: {integrity: sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==}
779 | hasBin: true
780 | peerDependencies:
781 | eslint: '>=7.0.0'
782 |
783 | eslint-plugin-only-warn@1.1.0:
784 | resolution: {integrity: sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==}
785 | engines: {node: '>=6'}
786 |
787 | eslint-plugin-react-hooks@5.1.0:
788 | resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==}
789 | engines: {node: '>=10'}
790 | peerDependencies:
791 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
792 |
793 | eslint-plugin-react@7.37.4:
794 | resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==}
795 | engines: {node: '>=4'}
796 | peerDependencies:
797 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
798 |
799 | eslint-plugin-turbo@2.4.0:
800 | resolution: {integrity: sha512-qCgoRi/OTc1VMxab7+sdKiV1xlkY4qjK9sM+kS7+WogrB1DxLguJSQXvk4HA13SD5VmJsq+8FYOw5q4EUk6Ixg==}
801 | peerDependencies:
802 | eslint: '>6.6.0'
803 | turbo: '>2.0.0'
804 |
805 | eslint-scope@8.2.0:
806 | resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
807 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
808 |
809 | eslint-visitor-keys@3.4.3:
810 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
811 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
812 |
813 | eslint-visitor-keys@4.2.0:
814 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
815 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
816 |
817 | eslint@9.21.0:
818 | resolution: {integrity: sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==}
819 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
820 | hasBin: true
821 | peerDependencies:
822 | jiti: '*'
823 | peerDependenciesMeta:
824 | jiti:
825 | optional: true
826 |
827 | espree@10.3.0:
828 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
829 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
830 |
831 | esquery@1.6.0:
832 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
833 | engines: {node: '>=0.10'}
834 |
835 | esrecurse@4.3.0:
836 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
837 | engines: {node: '>=4.0'}
838 |
839 | estraverse@5.3.0:
840 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
841 | engines: {node: '>=4.0'}
842 |
843 | esutils@2.0.3:
844 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
845 | engines: {node: '>=0.10.0'}
846 |
847 | fast-deep-equal@3.1.3:
848 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
849 |
850 | fast-glob@3.3.1:
851 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
852 | engines: {node: '>=8.6.0'}
853 |
854 | fast-glob@3.3.3:
855 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
856 | engines: {node: '>=8.6.0'}
857 |
858 | fast-json-stable-stringify@2.1.0:
859 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
860 |
861 | fast-levenshtein@2.0.6:
862 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
863 |
864 | fastq@1.18.0:
865 | resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
866 |
867 | file-entry-cache@8.0.0:
868 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
869 | engines: {node: '>=16.0.0'}
870 |
871 | fill-range@7.1.1:
872 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
873 | engines: {node: '>=8'}
874 |
875 | find-up@5.0.0:
876 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
877 | engines: {node: '>=10'}
878 |
879 | flat-cache@4.0.1:
880 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
881 | engines: {node: '>=16'}
882 |
883 | flatted@3.3.3:
884 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
885 |
886 | for-each@0.3.3:
887 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
888 |
889 | function-bind@1.1.2:
890 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
891 |
892 | function.prototype.name@1.1.8:
893 | resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
894 | engines: {node: '>= 0.4'}
895 |
896 | functions-have-names@1.2.3:
897 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
898 |
899 | get-intrinsic@1.2.7:
900 | resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==}
901 | engines: {node: '>= 0.4'}
902 |
903 | get-proto@1.0.1:
904 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
905 | engines: {node: '>= 0.4'}
906 |
907 | get-symbol-description@1.1.0:
908 | resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
909 | engines: {node: '>= 0.4'}
910 |
911 | glob-parent@5.1.2:
912 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
913 | engines: {node: '>= 6'}
914 |
915 | glob-parent@6.0.2:
916 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
917 | engines: {node: '>=10.13.0'}
918 |
919 | globals@14.0.0:
920 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
921 | engines: {node: '>=18'}
922 |
923 | globals@15.15.0:
924 | resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
925 | engines: {node: '>=18'}
926 |
927 | globalthis@1.0.4:
928 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
929 | engines: {node: '>= 0.4'}
930 |
931 | gopd@1.2.0:
932 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
933 | engines: {node: '>= 0.4'}
934 |
935 | graceful-fs@4.2.11:
936 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
937 |
938 | graphemer@1.4.0:
939 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
940 |
941 | has-bigints@1.1.0:
942 | resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
943 | engines: {node: '>= 0.4'}
944 |
945 | has-flag@4.0.0:
946 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
947 | engines: {node: '>=8'}
948 |
949 | has-property-descriptors@1.0.2:
950 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
951 |
952 | has-proto@1.2.0:
953 | resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
954 | engines: {node: '>= 0.4'}
955 |
956 | has-symbols@1.1.0:
957 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
958 | engines: {node: '>= 0.4'}
959 |
960 | has-tostringtag@1.0.2:
961 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
962 | engines: {node: '>= 0.4'}
963 |
964 | hasown@2.0.2:
965 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
966 | engines: {node: '>= 0.4'}
967 |
968 | ignore@5.3.2:
969 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
970 | engines: {node: '>= 4'}
971 |
972 | import-fresh@3.3.1:
973 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
974 | engines: {node: '>=6'}
975 |
976 | imurmurhash@0.1.4:
977 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
978 | engines: {node: '>=0.8.19'}
979 |
980 | internal-slot@1.1.0:
981 | resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
982 | engines: {node: '>= 0.4'}
983 |
984 | is-array-buffer@3.0.5:
985 | resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
986 | engines: {node: '>= 0.4'}
987 |
988 | is-arrayish@0.3.2:
989 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
990 |
991 | is-async-function@2.1.1:
992 | resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
993 | engines: {node: '>= 0.4'}
994 |
995 | is-bigint@1.1.0:
996 | resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
997 | engines: {node: '>= 0.4'}
998 |
999 | is-boolean-object@1.2.1:
1000 | resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==}
1001 | engines: {node: '>= 0.4'}
1002 |
1003 | is-callable@1.2.7:
1004 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1005 | engines: {node: '>= 0.4'}
1006 |
1007 | is-core-module@2.16.1:
1008 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
1009 | engines: {node: '>= 0.4'}
1010 |
1011 | is-data-view@1.0.2:
1012 | resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
1013 | engines: {node: '>= 0.4'}
1014 |
1015 | is-date-object@1.1.0:
1016 | resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
1017 | engines: {node: '>= 0.4'}
1018 |
1019 | is-extglob@2.1.1:
1020 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1021 | engines: {node: '>=0.10.0'}
1022 |
1023 | is-finalizationregistry@1.1.1:
1024 | resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
1025 | engines: {node: '>= 0.4'}
1026 |
1027 | is-generator-function@1.1.0:
1028 | resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
1029 | engines: {node: '>= 0.4'}
1030 |
1031 | is-glob@4.0.3:
1032 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1033 | engines: {node: '>=0.10.0'}
1034 |
1035 | is-map@2.0.3:
1036 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
1037 | engines: {node: '>= 0.4'}
1038 |
1039 | is-number-object@1.1.1:
1040 | resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
1041 | engines: {node: '>= 0.4'}
1042 |
1043 | is-number@7.0.0:
1044 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1045 | engines: {node: '>=0.12.0'}
1046 |
1047 | is-regex@1.2.1:
1048 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
1049 | engines: {node: '>= 0.4'}
1050 |
1051 | is-set@2.0.3:
1052 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
1053 | engines: {node: '>= 0.4'}
1054 |
1055 | is-shared-array-buffer@1.0.4:
1056 | resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
1057 | engines: {node: '>= 0.4'}
1058 |
1059 | is-string@1.1.1:
1060 | resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
1061 | engines: {node: '>= 0.4'}
1062 |
1063 | is-symbol@1.1.1:
1064 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
1065 | engines: {node: '>= 0.4'}
1066 |
1067 | is-typed-array@1.1.15:
1068 | resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
1069 | engines: {node: '>= 0.4'}
1070 |
1071 | is-weakmap@2.0.2:
1072 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
1073 | engines: {node: '>= 0.4'}
1074 |
1075 | is-weakref@1.1.0:
1076 | resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==}
1077 | engines: {node: '>= 0.4'}
1078 |
1079 | is-weakset@2.0.4:
1080 | resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
1081 | engines: {node: '>= 0.4'}
1082 |
1083 | isarray@2.0.5:
1084 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1085 |
1086 | isexe@2.0.0:
1087 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1088 |
1089 | iterator.prototype@1.1.5:
1090 | resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
1091 | engines: {node: '>= 0.4'}
1092 |
1093 | jiti@2.4.2:
1094 | resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
1095 | hasBin: true
1096 |
1097 | js-tokens@4.0.0:
1098 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1099 |
1100 | js-yaml@4.1.0:
1101 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1102 | hasBin: true
1103 |
1104 | json-buffer@3.0.1:
1105 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1106 |
1107 | json-schema-traverse@0.4.1:
1108 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1109 |
1110 | json-stable-stringify-without-jsonify@1.0.1:
1111 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1112 |
1113 | jsx-ast-utils@3.3.5:
1114 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
1115 | engines: {node: '>=4.0'}
1116 |
1117 | keyv@4.5.4:
1118 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1119 |
1120 | levn@0.4.1:
1121 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1122 | engines: {node: '>= 0.8.0'}
1123 |
1124 | lightningcss-darwin-arm64@1.29.1:
1125 | resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==}
1126 | engines: {node: '>= 12.0.0'}
1127 | cpu: [arm64]
1128 | os: [darwin]
1129 |
1130 | lightningcss-darwin-x64@1.29.1:
1131 | resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==}
1132 | engines: {node: '>= 12.0.0'}
1133 | cpu: [x64]
1134 | os: [darwin]
1135 |
1136 | lightningcss-freebsd-x64@1.29.1:
1137 | resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==}
1138 | engines: {node: '>= 12.0.0'}
1139 | cpu: [x64]
1140 | os: [freebsd]
1141 |
1142 | lightningcss-linux-arm-gnueabihf@1.29.1:
1143 | resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==}
1144 | engines: {node: '>= 12.0.0'}
1145 | cpu: [arm]
1146 | os: [linux]
1147 |
1148 | lightningcss-linux-arm64-gnu@1.29.1:
1149 | resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==}
1150 | engines: {node: '>= 12.0.0'}
1151 | cpu: [arm64]
1152 | os: [linux]
1153 |
1154 | lightningcss-linux-arm64-musl@1.29.1:
1155 | resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==}
1156 | engines: {node: '>= 12.0.0'}
1157 | cpu: [arm64]
1158 | os: [linux]
1159 |
1160 | lightningcss-linux-x64-gnu@1.29.1:
1161 | resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==}
1162 | engines: {node: '>= 12.0.0'}
1163 | cpu: [x64]
1164 | os: [linux]
1165 |
1166 | lightningcss-linux-x64-musl@1.29.1:
1167 | resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==}
1168 | engines: {node: '>= 12.0.0'}
1169 | cpu: [x64]
1170 | os: [linux]
1171 |
1172 | lightningcss-win32-arm64-msvc@1.29.1:
1173 | resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==}
1174 | engines: {node: '>= 12.0.0'}
1175 | cpu: [arm64]
1176 | os: [win32]
1177 |
1178 | lightningcss-win32-x64-msvc@1.29.1:
1179 | resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==}
1180 | engines: {node: '>= 12.0.0'}
1181 | cpu: [x64]
1182 | os: [win32]
1183 |
1184 | lightningcss@1.29.1:
1185 | resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==}
1186 | engines: {node: '>= 12.0.0'}
1187 |
1188 | locate-path@6.0.0:
1189 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1190 | engines: {node: '>=10'}
1191 |
1192 | lodash.merge@4.6.2:
1193 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1194 |
1195 | loose-envify@1.4.0:
1196 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1197 | hasBin: true
1198 |
1199 | lucide-react@0.476.0:
1200 | resolution: {integrity: sha512-x6cLTk8gahdUPje0hSgLN1/MgiJH+Xl90Xoxy9bkPAsMPOUiyRSKR4JCDPGVCEpyqnZXH3exFWNItcvra9WzUQ==}
1201 | peerDependencies:
1202 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
1203 |
1204 | math-intrinsics@1.1.0:
1205 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
1206 | engines: {node: '>= 0.4'}
1207 |
1208 | merge2@1.4.1:
1209 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1210 | engines: {node: '>= 8'}
1211 |
1212 | micromatch@4.0.8:
1213 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1214 | engines: {node: '>=8.6'}
1215 |
1216 | minimatch@3.1.2:
1217 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1218 |
1219 | minimatch@9.0.5:
1220 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1221 | engines: {node: '>=16 || 14 >=14.17'}
1222 |
1223 | ms@2.1.3:
1224 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1225 |
1226 | nanoid@3.3.8:
1227 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
1228 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1229 | hasBin: true
1230 |
1231 | natural-compare@1.4.0:
1232 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1233 |
1234 | next@15.2.4:
1235 | resolution: {integrity: sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==}
1236 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
1237 | hasBin: true
1238 | peerDependencies:
1239 | '@opentelemetry/api': ^1.1.0
1240 | '@playwright/test': ^1.41.2
1241 | babel-plugin-react-compiler: '*'
1242 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
1243 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
1244 | sass: ^1.3.0
1245 | peerDependenciesMeta:
1246 | '@opentelemetry/api':
1247 | optional: true
1248 | '@playwright/test':
1249 | optional: true
1250 | babel-plugin-react-compiler:
1251 | optional: true
1252 | sass:
1253 | optional: true
1254 |
1255 | object-assign@4.1.1:
1256 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1257 | engines: {node: '>=0.10.0'}
1258 |
1259 | object-inspect@1.13.3:
1260 | resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==}
1261 | engines: {node: '>= 0.4'}
1262 |
1263 | object-keys@1.1.1:
1264 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1265 | engines: {node: '>= 0.4'}
1266 |
1267 | object.assign@4.1.7:
1268 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
1269 | engines: {node: '>= 0.4'}
1270 |
1271 | object.entries@1.1.8:
1272 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
1273 | engines: {node: '>= 0.4'}
1274 |
1275 | object.fromentries@2.0.8:
1276 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
1277 | engines: {node: '>= 0.4'}
1278 |
1279 | object.values@1.2.1:
1280 | resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
1281 | engines: {node: '>= 0.4'}
1282 |
1283 | optionator@0.9.4:
1284 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1285 | engines: {node: '>= 0.8.0'}
1286 |
1287 | own-keys@1.0.1:
1288 | resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
1289 | engines: {node: '>= 0.4'}
1290 |
1291 | p-limit@3.1.0:
1292 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1293 | engines: {node: '>=10'}
1294 |
1295 | p-locate@5.0.0:
1296 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1297 | engines: {node: '>=10'}
1298 |
1299 | parent-module@1.0.1:
1300 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1301 | engines: {node: '>=6'}
1302 |
1303 | path-exists@4.0.0:
1304 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1305 | engines: {node: '>=8'}
1306 |
1307 | path-key@3.1.1:
1308 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1309 | engines: {node: '>=8'}
1310 |
1311 | path-parse@1.0.7:
1312 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1313 |
1314 | picocolors@1.1.1:
1315 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1316 |
1317 | picomatch@2.3.1:
1318 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1319 | engines: {node: '>=8.6'}
1320 |
1321 | possible-typed-array-names@1.0.0:
1322 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
1323 | engines: {node: '>= 0.4'}
1324 |
1325 | postcss@8.4.31:
1326 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1327 | engines: {node: ^10 || ^12 || >=14}
1328 |
1329 | postcss@8.5.3:
1330 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
1331 | engines: {node: ^10 || ^12 || >=14}
1332 |
1333 | prelude-ls@1.2.1:
1334 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1335 | engines: {node: '>= 0.8.0'}
1336 |
1337 | prettier@3.5.0:
1338 | resolution: {integrity: sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==}
1339 | engines: {node: '>=14'}
1340 | hasBin: true
1341 |
1342 | prop-types@15.8.1:
1343 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
1344 |
1345 | punycode@2.3.1:
1346 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1347 | engines: {node: '>=6'}
1348 |
1349 | queue-microtask@1.2.3:
1350 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1351 |
1352 | react-dom@19.0.0:
1353 | resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==}
1354 | peerDependencies:
1355 | react: ^19.0.0
1356 |
1357 | react-is@16.13.1:
1358 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1359 |
1360 | react@19.0.0:
1361 | resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==}
1362 | engines: {node: '>=0.10.0'}
1363 |
1364 | reflect.getprototypeof@1.0.10:
1365 | resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
1366 | engines: {node: '>= 0.4'}
1367 |
1368 | regexp.prototype.flags@1.5.4:
1369 | resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
1370 | engines: {node: '>= 0.4'}
1371 |
1372 | resolve-from@4.0.0:
1373 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1374 | engines: {node: '>=4'}
1375 |
1376 | resolve@2.0.0-next.5:
1377 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
1378 | hasBin: true
1379 |
1380 | reusify@1.0.4:
1381 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1382 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1383 |
1384 | run-parallel@1.2.0:
1385 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1386 |
1387 | safe-array-concat@1.1.3:
1388 | resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
1389 | engines: {node: '>=0.4'}
1390 |
1391 | safe-push-apply@1.0.0:
1392 | resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
1393 | engines: {node: '>= 0.4'}
1394 |
1395 | safe-regex-test@1.1.0:
1396 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
1397 | engines: {node: '>= 0.4'}
1398 |
1399 | scheduler@0.25.0:
1400 | resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==}
1401 |
1402 | semver@6.3.1:
1403 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1404 | hasBin: true
1405 |
1406 | semver@7.7.1:
1407 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
1408 | engines: {node: '>=10'}
1409 | hasBin: true
1410 |
1411 | set-function-length@1.2.2:
1412 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
1413 | engines: {node: '>= 0.4'}
1414 |
1415 | set-function-name@2.0.2:
1416 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
1417 | engines: {node: '>= 0.4'}
1418 |
1419 | set-proto@1.0.0:
1420 | resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
1421 | engines: {node: '>= 0.4'}
1422 |
1423 | sharp@0.33.5:
1424 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
1425 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
1426 |
1427 | shebang-command@2.0.0:
1428 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1429 | engines: {node: '>=8'}
1430 |
1431 | shebang-regex@3.0.0:
1432 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1433 | engines: {node: '>=8'}
1434 |
1435 | side-channel-list@1.0.0:
1436 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
1437 | engines: {node: '>= 0.4'}
1438 |
1439 | side-channel-map@1.0.1:
1440 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
1441 | engines: {node: '>= 0.4'}
1442 |
1443 | side-channel-weakmap@1.0.2:
1444 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
1445 | engines: {node: '>= 0.4'}
1446 |
1447 | side-channel@1.1.0:
1448 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
1449 | engines: {node: '>= 0.4'}
1450 |
1451 | simple-swizzle@0.2.2:
1452 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
1453 |
1454 | source-map-js@1.2.1:
1455 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1456 | engines: {node: '>=0.10.0'}
1457 |
1458 | streamsearch@1.1.0:
1459 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1460 | engines: {node: '>=10.0.0'}
1461 |
1462 | string.prototype.matchall@4.0.12:
1463 | resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
1464 | engines: {node: '>= 0.4'}
1465 |
1466 | string.prototype.repeat@1.0.0:
1467 | resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
1468 |
1469 | string.prototype.trim@1.2.10:
1470 | resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
1471 | engines: {node: '>= 0.4'}
1472 |
1473 | string.prototype.trimend@1.0.9:
1474 | resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
1475 | engines: {node: '>= 0.4'}
1476 |
1477 | string.prototype.trimstart@1.0.8:
1478 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
1479 | engines: {node: '>= 0.4'}
1480 |
1481 | strip-json-comments@3.1.1:
1482 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1483 | engines: {node: '>=8'}
1484 |
1485 | styled-jsx@5.1.6:
1486 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
1487 | engines: {node: '>= 12.0.0'}
1488 | peerDependencies:
1489 | '@babel/core': '*'
1490 | babel-plugin-macros: '*'
1491 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
1492 | peerDependenciesMeta:
1493 | '@babel/core':
1494 | optional: true
1495 | babel-plugin-macros:
1496 | optional: true
1497 |
1498 | supports-color@7.2.0:
1499 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1500 | engines: {node: '>=8'}
1501 |
1502 | supports-preserve-symlinks-flag@1.0.0:
1503 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1504 | engines: {node: '>= 0.4'}
1505 |
1506 | tailwind-merge@3.0.2:
1507 | resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==}
1508 |
1509 | tailwindcss@4.0.9:
1510 | resolution: {integrity: sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==}
1511 |
1512 | tapable@2.2.1:
1513 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
1514 | engines: {node: '>=6'}
1515 |
1516 | to-regex-range@5.0.1:
1517 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1518 | engines: {node: '>=8.0'}
1519 |
1520 | ts-api-utils@2.0.1:
1521 | resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==}
1522 | engines: {node: '>=18.12'}
1523 | peerDependencies:
1524 | typescript: '>=4.8.4'
1525 |
1526 | tslib@2.8.1:
1527 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1528 |
1529 | turbo-darwin-64@2.4.4:
1530 | resolution: {integrity: sha512-5kPvRkLAfmWI0MH96D+/THnDMGXlFNmjeqNRj5grLKiry+M9pKj3pRuScddAXPdlxjO5Ptz06UNaOQrrYGTx1g==}
1531 | cpu: [x64]
1532 | os: [darwin]
1533 |
1534 | turbo-darwin-arm64@2.4.4:
1535 | resolution: {integrity: sha512-/gtHPqbGQXDFhrmy+Q/MFW2HUTUlThJ97WLLSe4bxkDrKHecDYhAjbZ4rN3MM93RV9STQb3Tqy4pZBtsd4DfCw==}
1536 | cpu: [arm64]
1537 | os: [darwin]
1538 |
1539 | turbo-linux-64@2.4.4:
1540 | resolution: {integrity: sha512-SR0gri4k0bda56hw5u9VgDXLKb1Q+jrw4lM7WAhnNdXvVoep4d6LmnzgMHQQR12Wxl3KyWPbkz9d1whL6NTm2Q==}
1541 | cpu: [x64]
1542 | os: [linux]
1543 |
1544 | turbo-linux-arm64@2.4.4:
1545 | resolution: {integrity: sha512-COXXwzRd3vslQIfJhXUklgEqlwq35uFUZ7hnN+AUyXx7hUOLIiD5NblL+ETrHnhY4TzWszrbwUMfe2BYWtaPQg==}
1546 | cpu: [arm64]
1547 | os: [linux]
1548 |
1549 | turbo-windows-64@2.4.4:
1550 | resolution: {integrity: sha512-PV9rYNouGz4Ff3fd6sIfQy5L7HT9a4fcZoEv8PKRavU9O75G7PoDtm8scpHU10QnK0QQNLbE9qNxOAeRvF0fJg==}
1551 | cpu: [x64]
1552 | os: [win32]
1553 |
1554 | turbo-windows-arm64@2.4.4:
1555 | resolution: {integrity: sha512-403sqp9t5sx6YGEC32IfZTVWkRAixOQomGYB8kEc6ZD+//LirSxzeCHCnM8EmSXw7l57U1G+Fb0kxgTcKPU/Lg==}
1556 | cpu: [arm64]
1557 | os: [win32]
1558 |
1559 | turbo@2.4.4:
1560 | resolution: {integrity: sha512-N9FDOVaY3yz0YCOhYIgOGYad7+m2ptvinXygw27WPLQvcZDl3+0Sa77KGVlLSiuPDChOUEnTKE9VJwLSi9BPGQ==}
1561 | hasBin: true
1562 |
1563 | tw-animate-css@1.2.4:
1564 | resolution: {integrity: sha512-yt+HkJB41NAvOffe4NweJU6fLqAlVx/mBX6XmHRp15kq0JxTtOKaIw8pVSWM1Z+n2nXtyi7cW6C9f0WG/F/QAQ==}
1565 |
1566 | type-check@0.4.0:
1567 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1568 | engines: {node: '>= 0.8.0'}
1569 |
1570 | typed-array-buffer@1.0.3:
1571 | resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
1572 | engines: {node: '>= 0.4'}
1573 |
1574 | typed-array-byte-length@1.0.3:
1575 | resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
1576 | engines: {node: '>= 0.4'}
1577 |
1578 | typed-array-byte-offset@1.0.4:
1579 | resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
1580 | engines: {node: '>= 0.4'}
1581 |
1582 | typed-array-length@1.0.7:
1583 | resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
1584 | engines: {node: '>= 0.4'}
1585 |
1586 | typescript-eslint@8.24.0:
1587 | resolution: {integrity: sha512-/lmv4366en/qbB32Vz5+kCNZEMf6xYHwh1z48suBwZvAtnXKbP+YhGe8OLE2BqC67LMqKkCNLtjejdwsdW6uOQ==}
1588 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1589 | peerDependencies:
1590 | eslint: ^8.57.0 || ^9.0.0
1591 | typescript: '>=4.8.4 <5.8.0'
1592 |
1593 | typescript@5.7.3:
1594 | resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
1595 | engines: {node: '>=14.17'}
1596 | hasBin: true
1597 |
1598 | unbox-primitive@1.1.0:
1599 | resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
1600 | engines: {node: '>= 0.4'}
1601 |
1602 | undici-types@6.19.8:
1603 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
1604 |
1605 | undici-types@6.20.0:
1606 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1607 |
1608 | uri-js@4.4.1:
1609 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1610 |
1611 | which-boxed-primitive@1.1.1:
1612 | resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
1613 | engines: {node: '>= 0.4'}
1614 |
1615 | which-builtin-type@1.2.1:
1616 | resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
1617 | engines: {node: '>= 0.4'}
1618 |
1619 | which-collection@1.0.2:
1620 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
1621 | engines: {node: '>= 0.4'}
1622 |
1623 | which-typed-array@1.1.18:
1624 | resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==}
1625 | engines: {node: '>= 0.4'}
1626 |
1627 | which@2.0.2:
1628 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1629 | engines: {node: '>= 8'}
1630 | hasBin: true
1631 |
1632 | word-wrap@1.2.5:
1633 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
1634 | engines: {node: '>=0.10.0'}
1635 |
1636 | yocto-queue@0.1.0:
1637 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1638 | engines: {node: '>=10'}
1639 |
1640 | snapshots:
1641 |
1642 | '@alloc/quick-lru@5.2.0': {}
1643 |
1644 | '@emnapi/runtime@1.3.1':
1645 | dependencies:
1646 | tslib: 2.8.1
1647 | optional: true
1648 |
1649 | '@eslint-community/eslint-utils@4.4.1(eslint@9.21.0(jiti@2.4.2))':
1650 | dependencies:
1651 | eslint: 9.21.0(jiti@2.4.2)
1652 | eslint-visitor-keys: 3.4.3
1653 |
1654 | '@eslint-community/regexpp@4.12.1': {}
1655 |
1656 | '@eslint/config-array@0.19.2':
1657 | dependencies:
1658 | '@eslint/object-schema': 2.1.6
1659 | debug: 4.4.0
1660 | minimatch: 3.1.2
1661 | transitivePeerDependencies:
1662 | - supports-color
1663 |
1664 | '@eslint/core@0.12.0':
1665 | dependencies:
1666 | '@types/json-schema': 7.0.15
1667 |
1668 | '@eslint/eslintrc@3.3.0':
1669 | dependencies:
1670 | ajv: 6.12.6
1671 | debug: 4.4.0
1672 | espree: 10.3.0
1673 | globals: 14.0.0
1674 | ignore: 5.3.2
1675 | import-fresh: 3.3.1
1676 | js-yaml: 4.1.0
1677 | minimatch: 3.1.2
1678 | strip-json-comments: 3.1.1
1679 | transitivePeerDependencies:
1680 | - supports-color
1681 |
1682 | '@eslint/js@9.21.0': {}
1683 |
1684 | '@eslint/object-schema@2.1.6': {}
1685 |
1686 | '@eslint/plugin-kit@0.2.7':
1687 | dependencies:
1688 | '@eslint/core': 0.12.0
1689 | levn: 0.4.1
1690 |
1691 | '@humanfs/core@0.19.1': {}
1692 |
1693 | '@humanfs/node@0.16.6':
1694 | dependencies:
1695 | '@humanfs/core': 0.19.1
1696 | '@humanwhocodes/retry': 0.3.1
1697 |
1698 | '@humanwhocodes/module-importer@1.0.1': {}
1699 |
1700 | '@humanwhocodes/retry@0.3.1': {}
1701 |
1702 | '@humanwhocodes/retry@0.4.2': {}
1703 |
1704 | '@img/sharp-darwin-arm64@0.33.5':
1705 | optionalDependencies:
1706 | '@img/sharp-libvips-darwin-arm64': 1.0.4
1707 | optional: true
1708 |
1709 | '@img/sharp-darwin-x64@0.33.5':
1710 | optionalDependencies:
1711 | '@img/sharp-libvips-darwin-x64': 1.0.4
1712 | optional: true
1713 |
1714 | '@img/sharp-libvips-darwin-arm64@1.0.4':
1715 | optional: true
1716 |
1717 | '@img/sharp-libvips-darwin-x64@1.0.4':
1718 | optional: true
1719 |
1720 | '@img/sharp-libvips-linux-arm64@1.0.4':
1721 | optional: true
1722 |
1723 | '@img/sharp-libvips-linux-arm@1.0.5':
1724 | optional: true
1725 |
1726 | '@img/sharp-libvips-linux-s390x@1.0.4':
1727 | optional: true
1728 |
1729 | '@img/sharp-libvips-linux-x64@1.0.4':
1730 | optional: true
1731 |
1732 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
1733 | optional: true
1734 |
1735 | '@img/sharp-libvips-linuxmusl-x64@1.0.4':
1736 | optional: true
1737 |
1738 | '@img/sharp-linux-arm64@0.33.5':
1739 | optionalDependencies:
1740 | '@img/sharp-libvips-linux-arm64': 1.0.4
1741 | optional: true
1742 |
1743 | '@img/sharp-linux-arm@0.33.5':
1744 | optionalDependencies:
1745 | '@img/sharp-libvips-linux-arm': 1.0.5
1746 | optional: true
1747 |
1748 | '@img/sharp-linux-s390x@0.33.5':
1749 | optionalDependencies:
1750 | '@img/sharp-libvips-linux-s390x': 1.0.4
1751 | optional: true
1752 |
1753 | '@img/sharp-linux-x64@0.33.5':
1754 | optionalDependencies:
1755 | '@img/sharp-libvips-linux-x64': 1.0.4
1756 | optional: true
1757 |
1758 | '@img/sharp-linuxmusl-arm64@0.33.5':
1759 | optionalDependencies:
1760 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
1761 | optional: true
1762 |
1763 | '@img/sharp-linuxmusl-x64@0.33.5':
1764 | optionalDependencies:
1765 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
1766 | optional: true
1767 |
1768 | '@img/sharp-wasm32@0.33.5':
1769 | dependencies:
1770 | '@emnapi/runtime': 1.3.1
1771 | optional: true
1772 |
1773 | '@img/sharp-win32-ia32@0.33.5':
1774 | optional: true
1775 |
1776 | '@img/sharp-win32-x64@0.33.5':
1777 | optional: true
1778 |
1779 | '@next/env@15.2.4': {}
1780 |
1781 | '@next/eslint-plugin-next@15.1.6':
1782 | dependencies:
1783 | fast-glob: 3.3.1
1784 |
1785 | '@next/swc-darwin-arm64@15.2.4':
1786 | optional: true
1787 |
1788 | '@next/swc-darwin-x64@15.2.4':
1789 | optional: true
1790 |
1791 | '@next/swc-linux-arm64-gnu@15.2.4':
1792 | optional: true
1793 |
1794 | '@next/swc-linux-arm64-musl@15.2.4':
1795 | optional: true
1796 |
1797 | '@next/swc-linux-x64-gnu@15.2.4':
1798 | optional: true
1799 |
1800 | '@next/swc-linux-x64-musl@15.2.4':
1801 | optional: true
1802 |
1803 | '@next/swc-win32-arm64-msvc@15.2.4':
1804 | optional: true
1805 |
1806 | '@next/swc-win32-x64-msvc@15.2.4':
1807 | optional: true
1808 |
1809 | '@nodelib/fs.scandir@2.1.5':
1810 | dependencies:
1811 | '@nodelib/fs.stat': 2.0.5
1812 | run-parallel: 1.2.0
1813 |
1814 | '@nodelib/fs.stat@2.0.5': {}
1815 |
1816 | '@nodelib/fs.walk@1.2.8':
1817 | dependencies:
1818 | '@nodelib/fs.scandir': 2.1.5
1819 | fastq: 1.18.0
1820 |
1821 | '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.8)(react@19.0.0)':
1822 | dependencies:
1823 | react: 19.0.0
1824 | optionalDependencies:
1825 | '@types/react': 19.0.8
1826 |
1827 | '@radix-ui/react-slot@1.1.2(@types/react@19.0.8)(react@19.0.0)':
1828 | dependencies:
1829 | '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
1830 | react: 19.0.0
1831 | optionalDependencies:
1832 | '@types/react': 19.0.8
1833 |
1834 | '@swc/counter@0.1.3': {}
1835 |
1836 | '@swc/helpers@0.5.15':
1837 | dependencies:
1838 | tslib: 2.8.1
1839 |
1840 | '@tailwindcss/node@4.0.9':
1841 | dependencies:
1842 | enhanced-resolve: 5.18.1
1843 | jiti: 2.4.2
1844 | tailwindcss: 4.0.9
1845 |
1846 | '@tailwindcss/oxide-android-arm64@4.0.9':
1847 | optional: true
1848 |
1849 | '@tailwindcss/oxide-darwin-arm64@4.0.9':
1850 | optional: true
1851 |
1852 | '@tailwindcss/oxide-darwin-x64@4.0.9':
1853 | optional: true
1854 |
1855 | '@tailwindcss/oxide-freebsd-x64@4.0.9':
1856 | optional: true
1857 |
1858 | '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9':
1859 | optional: true
1860 |
1861 | '@tailwindcss/oxide-linux-arm64-gnu@4.0.9':
1862 | optional: true
1863 |
1864 | '@tailwindcss/oxide-linux-arm64-musl@4.0.9':
1865 | optional: true
1866 |
1867 | '@tailwindcss/oxide-linux-x64-gnu@4.0.9':
1868 | optional: true
1869 |
1870 | '@tailwindcss/oxide-linux-x64-musl@4.0.9':
1871 | optional: true
1872 |
1873 | '@tailwindcss/oxide-win32-arm64-msvc@4.0.9':
1874 | optional: true
1875 |
1876 | '@tailwindcss/oxide-win32-x64-msvc@4.0.9':
1877 | optional: true
1878 |
1879 | '@tailwindcss/oxide@4.0.9':
1880 | optionalDependencies:
1881 | '@tailwindcss/oxide-android-arm64': 4.0.9
1882 | '@tailwindcss/oxide-darwin-arm64': 4.0.9
1883 | '@tailwindcss/oxide-darwin-x64': 4.0.9
1884 | '@tailwindcss/oxide-freebsd-x64': 4.0.9
1885 | '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.9
1886 | '@tailwindcss/oxide-linux-arm64-gnu': 4.0.9
1887 | '@tailwindcss/oxide-linux-arm64-musl': 4.0.9
1888 | '@tailwindcss/oxide-linux-x64-gnu': 4.0.9
1889 | '@tailwindcss/oxide-linux-x64-musl': 4.0.9
1890 | '@tailwindcss/oxide-win32-arm64-msvc': 4.0.9
1891 | '@tailwindcss/oxide-win32-x64-msvc': 4.0.9
1892 |
1893 | '@tailwindcss/postcss@4.0.9':
1894 | dependencies:
1895 | '@alloc/quick-lru': 5.2.0
1896 | '@tailwindcss/node': 4.0.9
1897 | '@tailwindcss/oxide': 4.0.9
1898 | lightningcss: 1.29.1
1899 | postcss: 8.5.3
1900 | tailwindcss: 4.0.9
1901 |
1902 | '@types/estree@1.0.6': {}
1903 |
1904 | '@types/json-schema@7.0.15': {}
1905 |
1906 | '@types/node@20.17.19':
1907 | dependencies:
1908 | undici-types: 6.19.8
1909 |
1910 | '@types/node@22.13.0':
1911 | dependencies:
1912 | undici-types: 6.20.0
1913 |
1914 | '@types/react-dom@19.0.3(@types/react@19.0.8)':
1915 | dependencies:
1916 | '@types/react': 19.0.8
1917 |
1918 | '@types/react@19.0.8':
1919 | dependencies:
1920 | csstype: 3.1.3
1921 |
1922 | '@typescript-eslint/eslint-plugin@8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)':
1923 | dependencies:
1924 | '@eslint-community/regexpp': 4.12.1
1925 | '@typescript-eslint/parser': 8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
1926 | '@typescript-eslint/scope-manager': 8.24.0
1927 | '@typescript-eslint/type-utils': 8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
1928 | '@typescript-eslint/utils': 8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
1929 | '@typescript-eslint/visitor-keys': 8.24.0
1930 | eslint: 9.21.0(jiti@2.4.2)
1931 | graphemer: 1.4.0
1932 | ignore: 5.3.2
1933 | natural-compare: 1.4.0
1934 | ts-api-utils: 2.0.1(typescript@5.7.3)
1935 | typescript: 5.7.3
1936 | transitivePeerDependencies:
1937 | - supports-color
1938 |
1939 | '@typescript-eslint/parser@8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)':
1940 | dependencies:
1941 | '@typescript-eslint/scope-manager': 8.24.0
1942 | '@typescript-eslint/types': 8.24.0
1943 | '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
1944 | '@typescript-eslint/visitor-keys': 8.24.0
1945 | debug: 4.4.0
1946 | eslint: 9.21.0(jiti@2.4.2)
1947 | typescript: 5.7.3
1948 | transitivePeerDependencies:
1949 | - supports-color
1950 |
1951 | '@typescript-eslint/scope-manager@8.24.0':
1952 | dependencies:
1953 | '@typescript-eslint/types': 8.24.0
1954 | '@typescript-eslint/visitor-keys': 8.24.0
1955 |
1956 | '@typescript-eslint/type-utils@8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)':
1957 | dependencies:
1958 | '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
1959 | '@typescript-eslint/utils': 8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
1960 | debug: 4.4.0
1961 | eslint: 9.21.0(jiti@2.4.2)
1962 | ts-api-utils: 2.0.1(typescript@5.7.3)
1963 | typescript: 5.7.3
1964 | transitivePeerDependencies:
1965 | - supports-color
1966 |
1967 | '@typescript-eslint/types@8.24.0': {}
1968 |
1969 | '@typescript-eslint/typescript-estree@8.24.0(typescript@5.7.3)':
1970 | dependencies:
1971 | '@typescript-eslint/types': 8.24.0
1972 | '@typescript-eslint/visitor-keys': 8.24.0
1973 | debug: 4.4.0
1974 | fast-glob: 3.3.3
1975 | is-glob: 4.0.3
1976 | minimatch: 9.0.5
1977 | semver: 7.7.1
1978 | ts-api-utils: 2.0.1(typescript@5.7.3)
1979 | typescript: 5.7.3
1980 | transitivePeerDependencies:
1981 | - supports-color
1982 |
1983 | '@typescript-eslint/utils@8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)':
1984 | dependencies:
1985 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
1986 | '@typescript-eslint/scope-manager': 8.24.0
1987 | '@typescript-eslint/types': 8.24.0
1988 | '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3)
1989 | eslint: 9.21.0(jiti@2.4.2)
1990 | typescript: 5.7.3
1991 | transitivePeerDependencies:
1992 | - supports-color
1993 |
1994 | '@typescript-eslint/visitor-keys@8.24.0':
1995 | dependencies:
1996 | '@typescript-eslint/types': 8.24.0
1997 | eslint-visitor-keys: 4.2.0
1998 |
1999 | acorn-jsx@5.3.2(acorn@8.14.0):
2000 | dependencies:
2001 | acorn: 8.14.0
2002 |
2003 | acorn@8.14.0: {}
2004 |
2005 | ajv@6.12.6:
2006 | dependencies:
2007 | fast-deep-equal: 3.1.3
2008 | fast-json-stable-stringify: 2.1.0
2009 | json-schema-traverse: 0.4.1
2010 | uri-js: 4.4.1
2011 |
2012 | ansi-styles@4.3.0:
2013 | dependencies:
2014 | color-convert: 2.0.1
2015 |
2016 | argparse@2.0.1: {}
2017 |
2018 | array-buffer-byte-length@1.0.2:
2019 | dependencies:
2020 | call-bound: 1.0.3
2021 | is-array-buffer: 3.0.5
2022 |
2023 | array-includes@3.1.8:
2024 | dependencies:
2025 | call-bind: 1.0.8
2026 | define-properties: 1.2.1
2027 | es-abstract: 1.23.9
2028 | es-object-atoms: 1.1.1
2029 | get-intrinsic: 1.2.7
2030 | is-string: 1.1.1
2031 |
2032 | array.prototype.findlast@1.2.5:
2033 | dependencies:
2034 | call-bind: 1.0.8
2035 | define-properties: 1.2.1
2036 | es-abstract: 1.23.9
2037 | es-errors: 1.3.0
2038 | es-object-atoms: 1.1.1
2039 | es-shim-unscopables: 1.0.2
2040 |
2041 | array.prototype.flat@1.3.3:
2042 | dependencies:
2043 | call-bind: 1.0.8
2044 | define-properties: 1.2.1
2045 | es-abstract: 1.23.9
2046 | es-shim-unscopables: 1.0.2
2047 |
2048 | array.prototype.flatmap@1.3.3:
2049 | dependencies:
2050 | call-bind: 1.0.8
2051 | define-properties: 1.2.1
2052 | es-abstract: 1.23.9
2053 | es-shim-unscopables: 1.0.2
2054 |
2055 | array.prototype.tosorted@1.1.4:
2056 | dependencies:
2057 | call-bind: 1.0.8
2058 | define-properties: 1.2.1
2059 | es-abstract: 1.23.9
2060 | es-errors: 1.3.0
2061 | es-shim-unscopables: 1.0.2
2062 |
2063 | arraybuffer.prototype.slice@1.0.4:
2064 | dependencies:
2065 | array-buffer-byte-length: 1.0.2
2066 | call-bind: 1.0.8
2067 | define-properties: 1.2.1
2068 | es-abstract: 1.23.9
2069 | es-errors: 1.3.0
2070 | get-intrinsic: 1.2.7
2071 | is-array-buffer: 3.0.5
2072 |
2073 | async-function@1.0.0: {}
2074 |
2075 | available-typed-arrays@1.0.7:
2076 | dependencies:
2077 | possible-typed-array-names: 1.0.0
2078 |
2079 | balanced-match@1.0.2: {}
2080 |
2081 | brace-expansion@1.1.11:
2082 | dependencies:
2083 | balanced-match: 1.0.2
2084 | concat-map: 0.0.1
2085 |
2086 | brace-expansion@2.0.1:
2087 | dependencies:
2088 | balanced-match: 1.0.2
2089 |
2090 | braces@3.0.3:
2091 | dependencies:
2092 | fill-range: 7.1.1
2093 |
2094 | busboy@1.6.0:
2095 | dependencies:
2096 | streamsearch: 1.1.0
2097 |
2098 | call-bind-apply-helpers@1.0.1:
2099 | dependencies:
2100 | es-errors: 1.3.0
2101 | function-bind: 1.1.2
2102 |
2103 | call-bind@1.0.8:
2104 | dependencies:
2105 | call-bind-apply-helpers: 1.0.1
2106 | es-define-property: 1.0.1
2107 | get-intrinsic: 1.2.7
2108 | set-function-length: 1.2.2
2109 |
2110 | call-bound@1.0.3:
2111 | dependencies:
2112 | call-bind-apply-helpers: 1.0.1
2113 | get-intrinsic: 1.2.7
2114 |
2115 | callsites@3.1.0: {}
2116 |
2117 | caniuse-lite@1.0.30001695: {}
2118 |
2119 | chalk@4.1.2:
2120 | dependencies:
2121 | ansi-styles: 4.3.0
2122 | supports-color: 7.2.0
2123 |
2124 | class-variance-authority@0.7.1:
2125 | dependencies:
2126 | clsx: 2.1.1
2127 |
2128 | client-only@0.0.1: {}
2129 |
2130 | clsx@2.1.1: {}
2131 |
2132 | color-convert@2.0.1:
2133 | dependencies:
2134 | color-name: 1.1.4
2135 |
2136 | color-name@1.1.4: {}
2137 |
2138 | color-string@1.9.1:
2139 | dependencies:
2140 | color-name: 1.1.4
2141 | simple-swizzle: 0.2.2
2142 | optional: true
2143 |
2144 | color@4.2.3:
2145 | dependencies:
2146 | color-convert: 2.0.1
2147 | color-string: 1.9.1
2148 | optional: true
2149 |
2150 | concat-map@0.0.1: {}
2151 |
2152 | cross-spawn@7.0.6:
2153 | dependencies:
2154 | path-key: 3.1.1
2155 | shebang-command: 2.0.0
2156 | which: 2.0.2
2157 |
2158 | csstype@3.1.3: {}
2159 |
2160 | data-view-buffer@1.0.2:
2161 | dependencies:
2162 | call-bound: 1.0.3
2163 | es-errors: 1.3.0
2164 | is-data-view: 1.0.2
2165 |
2166 | data-view-byte-length@1.0.2:
2167 | dependencies:
2168 | call-bound: 1.0.3
2169 | es-errors: 1.3.0
2170 | is-data-view: 1.0.2
2171 |
2172 | data-view-byte-offset@1.0.1:
2173 | dependencies:
2174 | call-bound: 1.0.3
2175 | es-errors: 1.3.0
2176 | is-data-view: 1.0.2
2177 |
2178 | debug@4.4.0:
2179 | dependencies:
2180 | ms: 2.1.3
2181 |
2182 | deep-is@0.1.4: {}
2183 |
2184 | define-data-property@1.1.4:
2185 | dependencies:
2186 | es-define-property: 1.0.1
2187 | es-errors: 1.3.0
2188 | gopd: 1.2.0
2189 |
2190 | define-properties@1.2.1:
2191 | dependencies:
2192 | define-data-property: 1.1.4
2193 | has-property-descriptors: 1.0.2
2194 | object-keys: 1.1.1
2195 |
2196 | detect-libc@1.0.3: {}
2197 |
2198 | detect-libc@2.0.3:
2199 | optional: true
2200 |
2201 | doctrine@2.1.0:
2202 | dependencies:
2203 | esutils: 2.0.3
2204 |
2205 | dotenv@16.0.3: {}
2206 |
2207 | dunder-proto@1.0.1:
2208 | dependencies:
2209 | call-bind-apply-helpers: 1.0.1
2210 | es-errors: 1.3.0
2211 | gopd: 1.2.0
2212 |
2213 | enhanced-resolve@5.18.1:
2214 | dependencies:
2215 | graceful-fs: 4.2.11
2216 | tapable: 2.2.1
2217 |
2218 | es-abstract@1.23.9:
2219 | dependencies:
2220 | array-buffer-byte-length: 1.0.2
2221 | arraybuffer.prototype.slice: 1.0.4
2222 | available-typed-arrays: 1.0.7
2223 | call-bind: 1.0.8
2224 | call-bound: 1.0.3
2225 | data-view-buffer: 1.0.2
2226 | data-view-byte-length: 1.0.2
2227 | data-view-byte-offset: 1.0.1
2228 | es-define-property: 1.0.1
2229 | es-errors: 1.3.0
2230 | es-object-atoms: 1.1.1
2231 | es-set-tostringtag: 2.1.0
2232 | es-to-primitive: 1.3.0
2233 | function.prototype.name: 1.1.8
2234 | get-intrinsic: 1.2.7
2235 | get-proto: 1.0.1
2236 | get-symbol-description: 1.1.0
2237 | globalthis: 1.0.4
2238 | gopd: 1.2.0
2239 | has-property-descriptors: 1.0.2
2240 | has-proto: 1.2.0
2241 | has-symbols: 1.1.0
2242 | hasown: 2.0.2
2243 | internal-slot: 1.1.0
2244 | is-array-buffer: 3.0.5
2245 | is-callable: 1.2.7
2246 | is-data-view: 1.0.2
2247 | is-regex: 1.2.1
2248 | is-shared-array-buffer: 1.0.4
2249 | is-string: 1.1.1
2250 | is-typed-array: 1.1.15
2251 | is-weakref: 1.1.0
2252 | math-intrinsics: 1.1.0
2253 | object-inspect: 1.13.3
2254 | object-keys: 1.1.1
2255 | object.assign: 4.1.7
2256 | own-keys: 1.0.1
2257 | regexp.prototype.flags: 1.5.4
2258 | safe-array-concat: 1.1.3
2259 | safe-push-apply: 1.0.0
2260 | safe-regex-test: 1.1.0
2261 | set-proto: 1.0.0
2262 | string.prototype.trim: 1.2.10
2263 | string.prototype.trimend: 1.0.9
2264 | string.prototype.trimstart: 1.0.8
2265 | typed-array-buffer: 1.0.3
2266 | typed-array-byte-length: 1.0.3
2267 | typed-array-byte-offset: 1.0.4
2268 | typed-array-length: 1.0.7
2269 | unbox-primitive: 1.1.0
2270 | which-typed-array: 1.1.18
2271 |
2272 | es-define-property@1.0.1: {}
2273 |
2274 | es-errors@1.3.0: {}
2275 |
2276 | es-iterator-helpers@1.2.1:
2277 | dependencies:
2278 | call-bind: 1.0.8
2279 | call-bound: 1.0.3
2280 | define-properties: 1.2.1
2281 | es-abstract: 1.23.9
2282 | es-errors: 1.3.0
2283 | es-set-tostringtag: 2.1.0
2284 | function-bind: 1.1.2
2285 | get-intrinsic: 1.2.7
2286 | globalthis: 1.0.4
2287 | gopd: 1.2.0
2288 | has-property-descriptors: 1.0.2
2289 | has-proto: 1.2.0
2290 | has-symbols: 1.1.0
2291 | internal-slot: 1.1.0
2292 | iterator.prototype: 1.1.5
2293 | safe-array-concat: 1.1.3
2294 |
2295 | es-object-atoms@1.1.1:
2296 | dependencies:
2297 | es-errors: 1.3.0
2298 |
2299 | es-set-tostringtag@2.1.0:
2300 | dependencies:
2301 | es-errors: 1.3.0
2302 | get-intrinsic: 1.2.7
2303 | has-tostringtag: 1.0.2
2304 | hasown: 2.0.2
2305 |
2306 | es-shim-unscopables@1.0.2:
2307 | dependencies:
2308 | hasown: 2.0.2
2309 |
2310 | es-to-primitive@1.3.0:
2311 | dependencies:
2312 | is-callable: 1.2.7
2313 | is-date-object: 1.1.0
2314 | is-symbol: 1.1.1
2315 |
2316 | escape-string-regexp@4.0.0: {}
2317 |
2318 | eslint-config-prettier@10.0.1(eslint@9.21.0(jiti@2.4.2)):
2319 | dependencies:
2320 | eslint: 9.21.0(jiti@2.4.2)
2321 |
2322 | eslint-plugin-only-warn@1.1.0: {}
2323 |
2324 | eslint-plugin-react-hooks@5.1.0(eslint@9.21.0(jiti@2.4.2)):
2325 | dependencies:
2326 | eslint: 9.21.0(jiti@2.4.2)
2327 |
2328 | eslint-plugin-react@7.37.4(eslint@9.21.0(jiti@2.4.2)):
2329 | dependencies:
2330 | array-includes: 3.1.8
2331 | array.prototype.findlast: 1.2.5
2332 | array.prototype.flatmap: 1.3.3
2333 | array.prototype.tosorted: 1.1.4
2334 | doctrine: 2.1.0
2335 | es-iterator-helpers: 1.2.1
2336 | eslint: 9.21.0(jiti@2.4.2)
2337 | estraverse: 5.3.0
2338 | hasown: 2.0.2
2339 | jsx-ast-utils: 3.3.5
2340 | minimatch: 3.1.2
2341 | object.entries: 1.1.8
2342 | object.fromentries: 2.0.8
2343 | object.values: 1.2.1
2344 | prop-types: 15.8.1
2345 | resolve: 2.0.0-next.5
2346 | semver: 6.3.1
2347 | string.prototype.matchall: 4.0.12
2348 | string.prototype.repeat: 1.0.0
2349 |
2350 | eslint-plugin-turbo@2.4.0(eslint@9.21.0(jiti@2.4.2))(turbo@2.4.4):
2351 | dependencies:
2352 | dotenv: 16.0.3
2353 | eslint: 9.21.0(jiti@2.4.2)
2354 | turbo: 2.4.4
2355 |
2356 | eslint-scope@8.2.0:
2357 | dependencies:
2358 | esrecurse: 4.3.0
2359 | estraverse: 5.3.0
2360 |
2361 | eslint-visitor-keys@3.4.3: {}
2362 |
2363 | eslint-visitor-keys@4.2.0: {}
2364 |
2365 | eslint@9.21.0(jiti@2.4.2):
2366 | dependencies:
2367 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
2368 | '@eslint-community/regexpp': 4.12.1
2369 | '@eslint/config-array': 0.19.2
2370 | '@eslint/core': 0.12.0
2371 | '@eslint/eslintrc': 3.3.0
2372 | '@eslint/js': 9.21.0
2373 | '@eslint/plugin-kit': 0.2.7
2374 | '@humanfs/node': 0.16.6
2375 | '@humanwhocodes/module-importer': 1.0.1
2376 | '@humanwhocodes/retry': 0.4.2
2377 | '@types/estree': 1.0.6
2378 | '@types/json-schema': 7.0.15
2379 | ajv: 6.12.6
2380 | chalk: 4.1.2
2381 | cross-spawn: 7.0.6
2382 | debug: 4.4.0
2383 | escape-string-regexp: 4.0.0
2384 | eslint-scope: 8.2.0
2385 | eslint-visitor-keys: 4.2.0
2386 | espree: 10.3.0
2387 | esquery: 1.6.0
2388 | esutils: 2.0.3
2389 | fast-deep-equal: 3.1.3
2390 | file-entry-cache: 8.0.0
2391 | find-up: 5.0.0
2392 | glob-parent: 6.0.2
2393 | ignore: 5.3.2
2394 | imurmurhash: 0.1.4
2395 | is-glob: 4.0.3
2396 | json-stable-stringify-without-jsonify: 1.0.1
2397 | lodash.merge: 4.6.2
2398 | minimatch: 3.1.2
2399 | natural-compare: 1.4.0
2400 | optionator: 0.9.4
2401 | optionalDependencies:
2402 | jiti: 2.4.2
2403 | transitivePeerDependencies:
2404 | - supports-color
2405 |
2406 | espree@10.3.0:
2407 | dependencies:
2408 | acorn: 8.14.0
2409 | acorn-jsx: 5.3.2(acorn@8.14.0)
2410 | eslint-visitor-keys: 4.2.0
2411 |
2412 | esquery@1.6.0:
2413 | dependencies:
2414 | estraverse: 5.3.0
2415 |
2416 | esrecurse@4.3.0:
2417 | dependencies:
2418 | estraverse: 5.3.0
2419 |
2420 | estraverse@5.3.0: {}
2421 |
2422 | esutils@2.0.3: {}
2423 |
2424 | fast-deep-equal@3.1.3: {}
2425 |
2426 | fast-glob@3.3.1:
2427 | dependencies:
2428 | '@nodelib/fs.stat': 2.0.5
2429 | '@nodelib/fs.walk': 1.2.8
2430 | glob-parent: 5.1.2
2431 | merge2: 1.4.1
2432 | micromatch: 4.0.8
2433 |
2434 | fast-glob@3.3.3:
2435 | dependencies:
2436 | '@nodelib/fs.stat': 2.0.5
2437 | '@nodelib/fs.walk': 1.2.8
2438 | glob-parent: 5.1.2
2439 | merge2: 1.4.1
2440 | micromatch: 4.0.8
2441 |
2442 | fast-json-stable-stringify@2.1.0: {}
2443 |
2444 | fast-levenshtein@2.0.6: {}
2445 |
2446 | fastq@1.18.0:
2447 | dependencies:
2448 | reusify: 1.0.4
2449 |
2450 | file-entry-cache@8.0.0:
2451 | dependencies:
2452 | flat-cache: 4.0.1
2453 |
2454 | fill-range@7.1.1:
2455 | dependencies:
2456 | to-regex-range: 5.0.1
2457 |
2458 | find-up@5.0.0:
2459 | dependencies:
2460 | locate-path: 6.0.0
2461 | path-exists: 4.0.0
2462 |
2463 | flat-cache@4.0.1:
2464 | dependencies:
2465 | flatted: 3.3.3
2466 | keyv: 4.5.4
2467 |
2468 | flatted@3.3.3: {}
2469 |
2470 | for-each@0.3.3:
2471 | dependencies:
2472 | is-callable: 1.2.7
2473 |
2474 | function-bind@1.1.2: {}
2475 |
2476 | function.prototype.name@1.1.8:
2477 | dependencies:
2478 | call-bind: 1.0.8
2479 | call-bound: 1.0.3
2480 | define-properties: 1.2.1
2481 | functions-have-names: 1.2.3
2482 | hasown: 2.0.2
2483 | is-callable: 1.2.7
2484 |
2485 | functions-have-names@1.2.3: {}
2486 |
2487 | get-intrinsic@1.2.7:
2488 | dependencies:
2489 | call-bind-apply-helpers: 1.0.1
2490 | es-define-property: 1.0.1
2491 | es-errors: 1.3.0
2492 | es-object-atoms: 1.1.1
2493 | function-bind: 1.1.2
2494 | get-proto: 1.0.1
2495 | gopd: 1.2.0
2496 | has-symbols: 1.1.0
2497 | hasown: 2.0.2
2498 | math-intrinsics: 1.1.0
2499 |
2500 | get-proto@1.0.1:
2501 | dependencies:
2502 | dunder-proto: 1.0.1
2503 | es-object-atoms: 1.1.1
2504 |
2505 | get-symbol-description@1.1.0:
2506 | dependencies:
2507 | call-bound: 1.0.3
2508 | es-errors: 1.3.0
2509 | get-intrinsic: 1.2.7
2510 |
2511 | glob-parent@5.1.2:
2512 | dependencies:
2513 | is-glob: 4.0.3
2514 |
2515 | glob-parent@6.0.2:
2516 | dependencies:
2517 | is-glob: 4.0.3
2518 |
2519 | globals@14.0.0: {}
2520 |
2521 | globals@15.15.0: {}
2522 |
2523 | globalthis@1.0.4:
2524 | dependencies:
2525 | define-properties: 1.2.1
2526 | gopd: 1.2.0
2527 |
2528 | gopd@1.2.0: {}
2529 |
2530 | graceful-fs@4.2.11: {}
2531 |
2532 | graphemer@1.4.0: {}
2533 |
2534 | has-bigints@1.1.0: {}
2535 |
2536 | has-flag@4.0.0: {}
2537 |
2538 | has-property-descriptors@1.0.2:
2539 | dependencies:
2540 | es-define-property: 1.0.1
2541 |
2542 | has-proto@1.2.0:
2543 | dependencies:
2544 | dunder-proto: 1.0.1
2545 |
2546 | has-symbols@1.1.0: {}
2547 |
2548 | has-tostringtag@1.0.2:
2549 | dependencies:
2550 | has-symbols: 1.1.0
2551 |
2552 | hasown@2.0.2:
2553 | dependencies:
2554 | function-bind: 1.1.2
2555 |
2556 | ignore@5.3.2: {}
2557 |
2558 | import-fresh@3.3.1:
2559 | dependencies:
2560 | parent-module: 1.0.1
2561 | resolve-from: 4.0.0
2562 |
2563 | imurmurhash@0.1.4: {}
2564 |
2565 | internal-slot@1.1.0:
2566 | dependencies:
2567 | es-errors: 1.3.0
2568 | hasown: 2.0.2
2569 | side-channel: 1.1.0
2570 |
2571 | is-array-buffer@3.0.5:
2572 | dependencies:
2573 | call-bind: 1.0.8
2574 | call-bound: 1.0.3
2575 | get-intrinsic: 1.2.7
2576 |
2577 | is-arrayish@0.3.2:
2578 | optional: true
2579 |
2580 | is-async-function@2.1.1:
2581 | dependencies:
2582 | async-function: 1.0.0
2583 | call-bound: 1.0.3
2584 | get-proto: 1.0.1
2585 | has-tostringtag: 1.0.2
2586 | safe-regex-test: 1.1.0
2587 |
2588 | is-bigint@1.1.0:
2589 | dependencies:
2590 | has-bigints: 1.1.0
2591 |
2592 | is-boolean-object@1.2.1:
2593 | dependencies:
2594 | call-bound: 1.0.3
2595 | has-tostringtag: 1.0.2
2596 |
2597 | is-callable@1.2.7: {}
2598 |
2599 | is-core-module@2.16.1:
2600 | dependencies:
2601 | hasown: 2.0.2
2602 |
2603 | is-data-view@1.0.2:
2604 | dependencies:
2605 | call-bound: 1.0.3
2606 | get-intrinsic: 1.2.7
2607 | is-typed-array: 1.1.15
2608 |
2609 | is-date-object@1.1.0:
2610 | dependencies:
2611 | call-bound: 1.0.3
2612 | has-tostringtag: 1.0.2
2613 |
2614 | is-extglob@2.1.1: {}
2615 |
2616 | is-finalizationregistry@1.1.1:
2617 | dependencies:
2618 | call-bound: 1.0.3
2619 |
2620 | is-generator-function@1.1.0:
2621 | dependencies:
2622 | call-bound: 1.0.3
2623 | get-proto: 1.0.1
2624 | has-tostringtag: 1.0.2
2625 | safe-regex-test: 1.1.0
2626 |
2627 | is-glob@4.0.3:
2628 | dependencies:
2629 | is-extglob: 2.1.1
2630 |
2631 | is-map@2.0.3: {}
2632 |
2633 | is-number-object@1.1.1:
2634 | dependencies:
2635 | call-bound: 1.0.3
2636 | has-tostringtag: 1.0.2
2637 |
2638 | is-number@7.0.0: {}
2639 |
2640 | is-regex@1.2.1:
2641 | dependencies:
2642 | call-bound: 1.0.3
2643 | gopd: 1.2.0
2644 | has-tostringtag: 1.0.2
2645 | hasown: 2.0.2
2646 |
2647 | is-set@2.0.3: {}
2648 |
2649 | is-shared-array-buffer@1.0.4:
2650 | dependencies:
2651 | call-bound: 1.0.3
2652 |
2653 | is-string@1.1.1:
2654 | dependencies:
2655 | call-bound: 1.0.3
2656 | has-tostringtag: 1.0.2
2657 |
2658 | is-symbol@1.1.1:
2659 | dependencies:
2660 | call-bound: 1.0.3
2661 | has-symbols: 1.1.0
2662 | safe-regex-test: 1.1.0
2663 |
2664 | is-typed-array@1.1.15:
2665 | dependencies:
2666 | which-typed-array: 1.1.18
2667 |
2668 | is-weakmap@2.0.2: {}
2669 |
2670 | is-weakref@1.1.0:
2671 | dependencies:
2672 | call-bound: 1.0.3
2673 |
2674 | is-weakset@2.0.4:
2675 | dependencies:
2676 | call-bound: 1.0.3
2677 | get-intrinsic: 1.2.7
2678 |
2679 | isarray@2.0.5: {}
2680 |
2681 | isexe@2.0.0: {}
2682 |
2683 | iterator.prototype@1.1.5:
2684 | dependencies:
2685 | define-data-property: 1.1.4
2686 | es-object-atoms: 1.1.1
2687 | get-intrinsic: 1.2.7
2688 | get-proto: 1.0.1
2689 | has-symbols: 1.1.0
2690 | set-function-name: 2.0.2
2691 |
2692 | jiti@2.4.2: {}
2693 |
2694 | js-tokens@4.0.0: {}
2695 |
2696 | js-yaml@4.1.0:
2697 | dependencies:
2698 | argparse: 2.0.1
2699 |
2700 | json-buffer@3.0.1: {}
2701 |
2702 | json-schema-traverse@0.4.1: {}
2703 |
2704 | json-stable-stringify-without-jsonify@1.0.1: {}
2705 |
2706 | jsx-ast-utils@3.3.5:
2707 | dependencies:
2708 | array-includes: 3.1.8
2709 | array.prototype.flat: 1.3.3
2710 | object.assign: 4.1.7
2711 | object.values: 1.2.1
2712 |
2713 | keyv@4.5.4:
2714 | dependencies:
2715 | json-buffer: 3.0.1
2716 |
2717 | levn@0.4.1:
2718 | dependencies:
2719 | prelude-ls: 1.2.1
2720 | type-check: 0.4.0
2721 |
2722 | lightningcss-darwin-arm64@1.29.1:
2723 | optional: true
2724 |
2725 | lightningcss-darwin-x64@1.29.1:
2726 | optional: true
2727 |
2728 | lightningcss-freebsd-x64@1.29.1:
2729 | optional: true
2730 |
2731 | lightningcss-linux-arm-gnueabihf@1.29.1:
2732 | optional: true
2733 |
2734 | lightningcss-linux-arm64-gnu@1.29.1:
2735 | optional: true
2736 |
2737 | lightningcss-linux-arm64-musl@1.29.1:
2738 | optional: true
2739 |
2740 | lightningcss-linux-x64-gnu@1.29.1:
2741 | optional: true
2742 |
2743 | lightningcss-linux-x64-musl@1.29.1:
2744 | optional: true
2745 |
2746 | lightningcss-win32-arm64-msvc@1.29.1:
2747 | optional: true
2748 |
2749 | lightningcss-win32-x64-msvc@1.29.1:
2750 | optional: true
2751 |
2752 | lightningcss@1.29.1:
2753 | dependencies:
2754 | detect-libc: 1.0.3
2755 | optionalDependencies:
2756 | lightningcss-darwin-arm64: 1.29.1
2757 | lightningcss-darwin-x64: 1.29.1
2758 | lightningcss-freebsd-x64: 1.29.1
2759 | lightningcss-linux-arm-gnueabihf: 1.29.1
2760 | lightningcss-linux-arm64-gnu: 1.29.1
2761 | lightningcss-linux-arm64-musl: 1.29.1
2762 | lightningcss-linux-x64-gnu: 1.29.1
2763 | lightningcss-linux-x64-musl: 1.29.1
2764 | lightningcss-win32-arm64-msvc: 1.29.1
2765 | lightningcss-win32-x64-msvc: 1.29.1
2766 |
2767 | locate-path@6.0.0:
2768 | dependencies:
2769 | p-locate: 5.0.0
2770 |
2771 | lodash.merge@4.6.2: {}
2772 |
2773 | loose-envify@1.4.0:
2774 | dependencies:
2775 | js-tokens: 4.0.0
2776 |
2777 | lucide-react@0.476.0(react@19.0.0):
2778 | dependencies:
2779 | react: 19.0.0
2780 |
2781 | math-intrinsics@1.1.0: {}
2782 |
2783 | merge2@1.4.1: {}
2784 |
2785 | micromatch@4.0.8:
2786 | dependencies:
2787 | braces: 3.0.3
2788 | picomatch: 2.3.1
2789 |
2790 | minimatch@3.1.2:
2791 | dependencies:
2792 | brace-expansion: 1.1.11
2793 |
2794 | minimatch@9.0.5:
2795 | dependencies:
2796 | brace-expansion: 2.0.1
2797 |
2798 | ms@2.1.3: {}
2799 |
2800 | nanoid@3.3.8: {}
2801 |
2802 | natural-compare@1.4.0: {}
2803 |
2804 | next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
2805 | dependencies:
2806 | '@next/env': 15.2.4
2807 | '@swc/counter': 0.1.3
2808 | '@swc/helpers': 0.5.15
2809 | busboy: 1.6.0
2810 | caniuse-lite: 1.0.30001695
2811 | postcss: 8.4.31
2812 | react: 19.0.0
2813 | react-dom: 19.0.0(react@19.0.0)
2814 | styled-jsx: 5.1.6(react@19.0.0)
2815 | optionalDependencies:
2816 | '@next/swc-darwin-arm64': 15.2.4
2817 | '@next/swc-darwin-x64': 15.2.4
2818 | '@next/swc-linux-arm64-gnu': 15.2.4
2819 | '@next/swc-linux-arm64-musl': 15.2.4
2820 | '@next/swc-linux-x64-gnu': 15.2.4
2821 | '@next/swc-linux-x64-musl': 15.2.4
2822 | '@next/swc-win32-arm64-msvc': 15.2.4
2823 | '@next/swc-win32-x64-msvc': 15.2.4
2824 | sharp: 0.33.5
2825 | transitivePeerDependencies:
2826 | - '@babel/core'
2827 | - babel-plugin-macros
2828 |
2829 | object-assign@4.1.1: {}
2830 |
2831 | object-inspect@1.13.3: {}
2832 |
2833 | object-keys@1.1.1: {}
2834 |
2835 | object.assign@4.1.7:
2836 | dependencies:
2837 | call-bind: 1.0.8
2838 | call-bound: 1.0.3
2839 | define-properties: 1.2.1
2840 | es-object-atoms: 1.1.1
2841 | has-symbols: 1.1.0
2842 | object-keys: 1.1.1
2843 |
2844 | object.entries@1.1.8:
2845 | dependencies:
2846 | call-bind: 1.0.8
2847 | define-properties: 1.2.1
2848 | es-object-atoms: 1.1.1
2849 |
2850 | object.fromentries@2.0.8:
2851 | dependencies:
2852 | call-bind: 1.0.8
2853 | define-properties: 1.2.1
2854 | es-abstract: 1.23.9
2855 | es-object-atoms: 1.1.1
2856 |
2857 | object.values@1.2.1:
2858 | dependencies:
2859 | call-bind: 1.0.8
2860 | call-bound: 1.0.3
2861 | define-properties: 1.2.1
2862 | es-object-atoms: 1.1.1
2863 |
2864 | optionator@0.9.4:
2865 | dependencies:
2866 | deep-is: 0.1.4
2867 | fast-levenshtein: 2.0.6
2868 | levn: 0.4.1
2869 | prelude-ls: 1.2.1
2870 | type-check: 0.4.0
2871 | word-wrap: 1.2.5
2872 |
2873 | own-keys@1.0.1:
2874 | dependencies:
2875 | get-intrinsic: 1.2.7
2876 | object-keys: 1.1.1
2877 | safe-push-apply: 1.0.0
2878 |
2879 | p-limit@3.1.0:
2880 | dependencies:
2881 | yocto-queue: 0.1.0
2882 |
2883 | p-locate@5.0.0:
2884 | dependencies:
2885 | p-limit: 3.1.0
2886 |
2887 | parent-module@1.0.1:
2888 | dependencies:
2889 | callsites: 3.1.0
2890 |
2891 | path-exists@4.0.0: {}
2892 |
2893 | path-key@3.1.1: {}
2894 |
2895 | path-parse@1.0.7: {}
2896 |
2897 | picocolors@1.1.1: {}
2898 |
2899 | picomatch@2.3.1: {}
2900 |
2901 | possible-typed-array-names@1.0.0: {}
2902 |
2903 | postcss@8.4.31:
2904 | dependencies:
2905 | nanoid: 3.3.8
2906 | picocolors: 1.1.1
2907 | source-map-js: 1.2.1
2908 |
2909 | postcss@8.5.3:
2910 | dependencies:
2911 | nanoid: 3.3.8
2912 | picocolors: 1.1.1
2913 | source-map-js: 1.2.1
2914 |
2915 | prelude-ls@1.2.1: {}
2916 |
2917 | prettier@3.5.0: {}
2918 |
2919 | prop-types@15.8.1:
2920 | dependencies:
2921 | loose-envify: 1.4.0
2922 | object-assign: 4.1.1
2923 | react-is: 16.13.1
2924 |
2925 | punycode@2.3.1: {}
2926 |
2927 | queue-microtask@1.2.3: {}
2928 |
2929 | react-dom@19.0.0(react@19.0.0):
2930 | dependencies:
2931 | react: 19.0.0
2932 | scheduler: 0.25.0
2933 |
2934 | react-is@16.13.1: {}
2935 |
2936 | react@19.0.0: {}
2937 |
2938 | reflect.getprototypeof@1.0.10:
2939 | dependencies:
2940 | call-bind: 1.0.8
2941 | define-properties: 1.2.1
2942 | es-abstract: 1.23.9
2943 | es-errors: 1.3.0
2944 | es-object-atoms: 1.1.1
2945 | get-intrinsic: 1.2.7
2946 | get-proto: 1.0.1
2947 | which-builtin-type: 1.2.1
2948 |
2949 | regexp.prototype.flags@1.5.4:
2950 | dependencies:
2951 | call-bind: 1.0.8
2952 | define-properties: 1.2.1
2953 | es-errors: 1.3.0
2954 | get-proto: 1.0.1
2955 | gopd: 1.2.0
2956 | set-function-name: 2.0.2
2957 |
2958 | resolve-from@4.0.0: {}
2959 |
2960 | resolve@2.0.0-next.5:
2961 | dependencies:
2962 | is-core-module: 2.16.1
2963 | path-parse: 1.0.7
2964 | supports-preserve-symlinks-flag: 1.0.0
2965 |
2966 | reusify@1.0.4: {}
2967 |
2968 | run-parallel@1.2.0:
2969 | dependencies:
2970 | queue-microtask: 1.2.3
2971 |
2972 | safe-array-concat@1.1.3:
2973 | dependencies:
2974 | call-bind: 1.0.8
2975 | call-bound: 1.0.3
2976 | get-intrinsic: 1.2.7
2977 | has-symbols: 1.1.0
2978 | isarray: 2.0.5
2979 |
2980 | safe-push-apply@1.0.0:
2981 | dependencies:
2982 | es-errors: 1.3.0
2983 | isarray: 2.0.5
2984 |
2985 | safe-regex-test@1.1.0:
2986 | dependencies:
2987 | call-bound: 1.0.3
2988 | es-errors: 1.3.0
2989 | is-regex: 1.2.1
2990 |
2991 | scheduler@0.25.0: {}
2992 |
2993 | semver@6.3.1: {}
2994 |
2995 | semver@7.7.1: {}
2996 |
2997 | set-function-length@1.2.2:
2998 | dependencies:
2999 | define-data-property: 1.1.4
3000 | es-errors: 1.3.0
3001 | function-bind: 1.1.2
3002 | get-intrinsic: 1.2.7
3003 | gopd: 1.2.0
3004 | has-property-descriptors: 1.0.2
3005 |
3006 | set-function-name@2.0.2:
3007 | dependencies:
3008 | define-data-property: 1.1.4
3009 | es-errors: 1.3.0
3010 | functions-have-names: 1.2.3
3011 | has-property-descriptors: 1.0.2
3012 |
3013 | set-proto@1.0.0:
3014 | dependencies:
3015 | dunder-proto: 1.0.1
3016 | es-errors: 1.3.0
3017 | es-object-atoms: 1.1.1
3018 |
3019 | sharp@0.33.5:
3020 | dependencies:
3021 | color: 4.2.3
3022 | detect-libc: 2.0.3
3023 | semver: 7.7.1
3024 | optionalDependencies:
3025 | '@img/sharp-darwin-arm64': 0.33.5
3026 | '@img/sharp-darwin-x64': 0.33.5
3027 | '@img/sharp-libvips-darwin-arm64': 1.0.4
3028 | '@img/sharp-libvips-darwin-x64': 1.0.4
3029 | '@img/sharp-libvips-linux-arm': 1.0.5
3030 | '@img/sharp-libvips-linux-arm64': 1.0.4
3031 | '@img/sharp-libvips-linux-s390x': 1.0.4
3032 | '@img/sharp-libvips-linux-x64': 1.0.4
3033 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
3034 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4
3035 | '@img/sharp-linux-arm': 0.33.5
3036 | '@img/sharp-linux-arm64': 0.33.5
3037 | '@img/sharp-linux-s390x': 0.33.5
3038 | '@img/sharp-linux-x64': 0.33.5
3039 | '@img/sharp-linuxmusl-arm64': 0.33.5
3040 | '@img/sharp-linuxmusl-x64': 0.33.5
3041 | '@img/sharp-wasm32': 0.33.5
3042 | '@img/sharp-win32-ia32': 0.33.5
3043 | '@img/sharp-win32-x64': 0.33.5
3044 | optional: true
3045 |
3046 | shebang-command@2.0.0:
3047 | dependencies:
3048 | shebang-regex: 3.0.0
3049 |
3050 | shebang-regex@3.0.0: {}
3051 |
3052 | side-channel-list@1.0.0:
3053 | dependencies:
3054 | es-errors: 1.3.0
3055 | object-inspect: 1.13.3
3056 |
3057 | side-channel-map@1.0.1:
3058 | dependencies:
3059 | call-bound: 1.0.3
3060 | es-errors: 1.3.0
3061 | get-intrinsic: 1.2.7
3062 | object-inspect: 1.13.3
3063 |
3064 | side-channel-weakmap@1.0.2:
3065 | dependencies:
3066 | call-bound: 1.0.3
3067 | es-errors: 1.3.0
3068 | get-intrinsic: 1.2.7
3069 | object-inspect: 1.13.3
3070 | side-channel-map: 1.0.1
3071 |
3072 | side-channel@1.1.0:
3073 | dependencies:
3074 | es-errors: 1.3.0
3075 | object-inspect: 1.13.3
3076 | side-channel-list: 1.0.0
3077 | side-channel-map: 1.0.1
3078 | side-channel-weakmap: 1.0.2
3079 |
3080 | simple-swizzle@0.2.2:
3081 | dependencies:
3082 | is-arrayish: 0.3.2
3083 | optional: true
3084 |
3085 | source-map-js@1.2.1: {}
3086 |
3087 | streamsearch@1.1.0: {}
3088 |
3089 | string.prototype.matchall@4.0.12:
3090 | dependencies:
3091 | call-bind: 1.0.8
3092 | call-bound: 1.0.3
3093 | define-properties: 1.2.1
3094 | es-abstract: 1.23.9
3095 | es-errors: 1.3.0
3096 | es-object-atoms: 1.1.1
3097 | get-intrinsic: 1.2.7
3098 | gopd: 1.2.0
3099 | has-symbols: 1.1.0
3100 | internal-slot: 1.1.0
3101 | regexp.prototype.flags: 1.5.4
3102 | set-function-name: 2.0.2
3103 | side-channel: 1.1.0
3104 |
3105 | string.prototype.repeat@1.0.0:
3106 | dependencies:
3107 | define-properties: 1.2.1
3108 | es-abstract: 1.23.9
3109 |
3110 | string.prototype.trim@1.2.10:
3111 | dependencies:
3112 | call-bind: 1.0.8
3113 | call-bound: 1.0.3
3114 | define-data-property: 1.1.4
3115 | define-properties: 1.2.1
3116 | es-abstract: 1.23.9
3117 | es-object-atoms: 1.1.1
3118 | has-property-descriptors: 1.0.2
3119 |
3120 | string.prototype.trimend@1.0.9:
3121 | dependencies:
3122 | call-bind: 1.0.8
3123 | call-bound: 1.0.3
3124 | define-properties: 1.2.1
3125 | es-object-atoms: 1.1.1
3126 |
3127 | string.prototype.trimstart@1.0.8:
3128 | dependencies:
3129 | call-bind: 1.0.8
3130 | define-properties: 1.2.1
3131 | es-object-atoms: 1.1.1
3132 |
3133 | strip-json-comments@3.1.1: {}
3134 |
3135 | styled-jsx@5.1.6(react@19.0.0):
3136 | dependencies:
3137 | client-only: 0.0.1
3138 | react: 19.0.0
3139 |
3140 | supports-color@7.2.0:
3141 | dependencies:
3142 | has-flag: 4.0.0
3143 |
3144 | supports-preserve-symlinks-flag@1.0.0: {}
3145 |
3146 | tailwind-merge@3.0.2: {}
3147 |
3148 | tailwindcss@4.0.9: {}
3149 |
3150 | tapable@2.2.1: {}
3151 |
3152 | to-regex-range@5.0.1:
3153 | dependencies:
3154 | is-number: 7.0.0
3155 |
3156 | ts-api-utils@2.0.1(typescript@5.7.3):
3157 | dependencies:
3158 | typescript: 5.7.3
3159 |
3160 | tslib@2.8.1: {}
3161 |
3162 | turbo-darwin-64@2.4.4:
3163 | optional: true
3164 |
3165 | turbo-darwin-arm64@2.4.4:
3166 | optional: true
3167 |
3168 | turbo-linux-64@2.4.4:
3169 | optional: true
3170 |
3171 | turbo-linux-arm64@2.4.4:
3172 | optional: true
3173 |
3174 | turbo-windows-64@2.4.4:
3175 | optional: true
3176 |
3177 | turbo-windows-arm64@2.4.4:
3178 | optional: true
3179 |
3180 | turbo@2.4.4:
3181 | optionalDependencies:
3182 | turbo-darwin-64: 2.4.4
3183 | turbo-darwin-arm64: 2.4.4
3184 | turbo-linux-64: 2.4.4
3185 | turbo-linux-arm64: 2.4.4
3186 | turbo-windows-64: 2.4.4
3187 | turbo-windows-arm64: 2.4.4
3188 |
3189 | tw-animate-css@1.2.4: {}
3190 |
3191 | type-check@0.4.0:
3192 | dependencies:
3193 | prelude-ls: 1.2.1
3194 |
3195 | typed-array-buffer@1.0.3:
3196 | dependencies:
3197 | call-bound: 1.0.3
3198 | es-errors: 1.3.0
3199 | is-typed-array: 1.1.15
3200 |
3201 | typed-array-byte-length@1.0.3:
3202 | dependencies:
3203 | call-bind: 1.0.8
3204 | for-each: 0.3.3
3205 | gopd: 1.2.0
3206 | has-proto: 1.2.0
3207 | is-typed-array: 1.1.15
3208 |
3209 | typed-array-byte-offset@1.0.4:
3210 | dependencies:
3211 | available-typed-arrays: 1.0.7
3212 | call-bind: 1.0.8
3213 | for-each: 0.3.3
3214 | gopd: 1.2.0
3215 | has-proto: 1.2.0
3216 | is-typed-array: 1.1.15
3217 | reflect.getprototypeof: 1.0.10
3218 |
3219 | typed-array-length@1.0.7:
3220 | dependencies:
3221 | call-bind: 1.0.8
3222 | for-each: 0.3.3
3223 | gopd: 1.2.0
3224 | is-typed-array: 1.1.15
3225 | possible-typed-array-names: 1.0.0
3226 | reflect.getprototypeof: 1.0.10
3227 |
3228 | typescript-eslint@8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3):
3229 | dependencies:
3230 | '@typescript-eslint/eslint-plugin': 8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
3231 | '@typescript-eslint/parser': 8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
3232 | '@typescript-eslint/utils': 8.24.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
3233 | eslint: 9.21.0(jiti@2.4.2)
3234 | typescript: 5.7.3
3235 | transitivePeerDependencies:
3236 | - supports-color
3237 |
3238 | typescript@5.7.3: {}
3239 |
3240 | unbox-primitive@1.1.0:
3241 | dependencies:
3242 | call-bound: 1.0.3
3243 | has-bigints: 1.1.0
3244 | has-symbols: 1.1.0
3245 | which-boxed-primitive: 1.1.1
3246 |
3247 | undici-types@6.19.8: {}
3248 |
3249 | undici-types@6.20.0: {}
3250 |
3251 | uri-js@4.4.1:
3252 | dependencies:
3253 | punycode: 2.3.1
3254 |
3255 | which-boxed-primitive@1.1.1:
3256 | dependencies:
3257 | is-bigint: 1.1.0
3258 | is-boolean-object: 1.2.1
3259 | is-number-object: 1.1.1
3260 | is-string: 1.1.1
3261 | is-symbol: 1.1.1
3262 |
3263 | which-builtin-type@1.2.1:
3264 | dependencies:
3265 | call-bound: 1.0.3
3266 | function.prototype.name: 1.1.8
3267 | has-tostringtag: 1.0.2
3268 | is-async-function: 2.1.1
3269 | is-date-object: 1.1.0
3270 | is-finalizationregistry: 1.1.1
3271 | is-generator-function: 1.1.0
3272 | is-regex: 1.2.1
3273 | is-weakref: 1.1.0
3274 | isarray: 2.0.5
3275 | which-boxed-primitive: 1.1.1
3276 | which-collection: 1.0.2
3277 | which-typed-array: 1.1.18
3278 |
3279 | which-collection@1.0.2:
3280 | dependencies:
3281 | is-map: 2.0.3
3282 | is-set: 2.0.3
3283 | is-weakmap: 2.0.2
3284 | is-weakset: 2.0.4
3285 |
3286 | which-typed-array@1.1.18:
3287 | dependencies:
3288 | available-typed-arrays: 1.0.7
3289 | call-bind: 1.0.8
3290 | call-bound: 1.0.3
3291 | for-each: 0.3.3
3292 | gopd: 1.2.0
3293 | has-tostringtag: 1.0.2
3294 |
3295 | which@2.0.2:
3296 | dependencies:
3297 | isexe: 2.0.0
3298 |
3299 | word-wrap@1.2.5: {}
3300 |
3301 | yocto-queue@0.1.0: {}
3302 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - "apps/*"
3 | - "packages/*"
4 |
--------------------------------------------------------------------------------
/turbo.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://turbo.build/schema.json",
3 | "ui": "tui",
4 | "tasks": {
5 | "build": {
6 | "dependsOn": ["^build"],
7 | "inputs": ["$TURBO_DEFAULT$", ".env*"],
8 | "outputs": [".next/**", "!.next/cache/**"]
9 | },
10 | "lint": {
11 | "dependsOn": ["^lint"]
12 | },
13 | "check-types": {
14 | "dependsOn": ["^check-types"]
15 | },
16 | "dev": {
17 | "cache": false,
18 | "persistent": true
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------