├── app
├── favicon.ico
├── fonts
│ ├── GeistVF.woff
│ └── GeistMonoVF.woff
├── globals.css
├── layout.tsx
└── page.tsx
├── postcss.config.mjs
├── next.config.mjs
├── utils
└── utils.ts
├── tailwind.config.ts
├── .gitignore
├── package.json
├── tsconfig.json
├── components
├── keypad.tsx
└── key-button.tsx
├── README.md
└── pnpm-lock.yaml
/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzzshawn/Buttons/HEAD/app/favicon.ico
--------------------------------------------------------------------------------
/app/fonts/GeistVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzzshawn/Buttons/HEAD/app/fonts/GeistVF.woff
--------------------------------------------------------------------------------
/app/fonts/GeistMonoVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zzzzshawn/Buttons/HEAD/app/fonts/GeistMonoVF.woff
--------------------------------------------------------------------------------
/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('postcss-load-config').Config} */
2 | const config = {
3 | plugins: {
4 | tailwindcss: {},
5 | },
6 | };
7 |
8 | export default config;
9 |
--------------------------------------------------------------------------------
/next.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | images: {
4 | domains: ['assets.codepen.io'],
5 | },
6 | };
7 |
8 | export default nextConfig;
9 |
--------------------------------------------------------------------------------
/utils/utils.ts:
--------------------------------------------------------------------------------
1 | import { ClassValue, clsx } from "clsx";
2 | import { twMerge } from "tailwind-merge";
3 |
4 | export function cn(...inputs: ClassValue[]) {
5 | return twMerge(clsx(inputs));
6 | }
--------------------------------------------------------------------------------
/tailwind.config.ts:
--------------------------------------------------------------------------------
1 | import type { Config } from "tailwindcss";
2 |
3 | const config: Config = {
4 | content: [
5 | "./pages/**/*.{js,ts,jsx,tsx,mdx}",
6 | "./components/**/*.{js,ts,jsx,tsx,mdx}",
7 | "./app/**/*.{js,ts,jsx,tsx,mdx}",
8 | ],
9 | theme: {
10 | extend: {
11 | colors: {
12 | background: "var(--background)",
13 | foreground: "var(--foreground)",
14 | },
15 | },
16 | },
17 | plugins: [],
18 | };
19 | export default config;
20 |
--------------------------------------------------------------------------------
/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | :root {
6 | --background: #ffffff;
7 | --foreground: #171717;
8 | }
9 |
10 | @media (prefers-color-scheme: dark) {
11 | :root {
12 | --background: #0a0a0a;
13 | --foreground: #ededed;
14 | }
15 | }
16 |
17 | body {
18 | color: var(--foreground);
19 | background: var(--background);
20 | font-family: Arial, Helvetica, sans-serif;
21 | }
22 |
23 | @layer utilities {
24 | .text-balance {
25 | text-wrap: balance;
26 | }
27 | }
--------------------------------------------------------------------------------
/.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 | .yarn/install-state.gz
8 |
9 | # testing
10 | /coverage
11 |
12 | # next.js
13 | /.next/
14 | /out/
15 |
16 | # production
17 | /build
18 |
19 | # misc
20 | .DS_Store
21 | *.pem
22 |
23 | # debug
24 | npm-debug.log*
25 | yarn-debug.log*
26 | yarn-error.log*
27 |
28 | # local env files
29 | .env*.local
30 |
31 | # vercel
32 | .vercel
33 |
34 | # typescript
35 | *.tsbuildinfo
36 | next-env.d.ts
37 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "archives",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "clsx": "^2.1.1",
13 | "next": "14.2.30",
14 | "react": "^18",
15 | "react-dom": "^18",
16 | "tailwind-merge": "^3.3.1"
17 | },
18 | "devDependencies": {
19 | "@types/node": "^20",
20 | "@types/react": "^18",
21 | "@types/react-dom": "^18",
22 | "postcss": "^8",
23 | "tailwindcss": "^3.4.1",
24 | "typescript": "^5"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "lib": ["dom", "dom.iterable", "esnext"],
4 | "allowJs": true,
5 | "skipLibCheck": true,
6 | "strict": true,
7 | "noEmit": true,
8 | "esModuleInterop": true,
9 | "module": "esnext",
10 | "moduleResolution": "bundler",
11 | "resolveJsonModule": true,
12 | "isolatedModules": true,
13 | "jsx": "preserve",
14 | "incremental": true,
15 | "plugins": [
16 | {
17 | "name": "next"
18 | }
19 | ],
20 | "paths": {
21 | "@/*": ["./*"]
22 | }
23 | },
24 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
25 | "exclude": ["node_modules"]
26 | }
27 |
--------------------------------------------------------------------------------
/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { Metadata } from "next";
2 | import localFont from "next/font/local";
3 | import "./globals.css";
4 |
5 | const geistSans = localFont({
6 | src: "./fonts/GeistVF.woff",
7 | variable: "--font-geist-sans",
8 | weight: "100 900",
9 | });
10 | const geistMono = localFont({
11 | src: "./fonts/GeistMonoVF.woff",
12 | variable: "--font-geist-mono",
13 | weight: "100 900",
14 | });
15 |
16 | export const metadata: Metadata = {
17 | title: "Buttons",
18 | description: "Generated by create next app",
19 | };
20 |
21 | export default function RootLayout({
22 | children,
23 | }: Readonly<{
24 | children: React.ReactNode;
25 | }>) {
26 | return (
27 |
28 |
31 | {children}
32 |
33 |
34 | );
35 | }
36 |
--------------------------------------------------------------------------------
/components/keypad.tsx:
--------------------------------------------------------------------------------
1 | import Image from 'next/image';
2 | import React from 'react'
3 | import KeyButton from './key-button';
4 |
5 | const Keypad = ({
6 | keys,
7 | pressedKeys,
8 | onKeyPress
9 | }: {
10 | keys: any;
11 | pressedKeys: Set;
12 | onKeyPress: (id: string) => void;
13 | }) => {
14 | return (
15 |
17 |
18 |
19 |
20 |
21 | {Object.entries(keys).map(([keyId, keyConfig]: [string, any]) => (
22 |
28 | ))}
29 |
30 |
31 |
32 | )
33 | }
34 |
35 | export default Keypad
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
2 |
3 | ## Getting Started
4 |
5 | First, run the development server:
6 |
7 | ```bash
8 | npm run dev
9 | # or
10 | yarn dev
11 | # or
12 | pnpm dev
13 | # or
14 | bun dev
15 | ```
16 |
17 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
18 |
19 | You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
20 |
21 | This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
22 |
23 | ## Learn More
24 |
25 | To learn more about Next.js, take a look at the following resources:
26 |
27 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
28 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
29 |
30 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
31 |
32 | ## Deploy on Vercel
33 |
34 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
35 |
36 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
37 |
--------------------------------------------------------------------------------
/app/page.tsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 | import Keypad from "@/components/keypad";
3 | import Image from "next/image";
4 | import { useEffect, useRef, useState } from "react";
5 |
6 | export default function Home() {
7 | const [keys] = useState({
8 | one: {
9 | key: "Meta",
10 | label: "⌘"
11 | },
12 | two: {
13 | key: "c",
14 | label: "C"
15 | },
16 | three: {
17 | key: "v",
18 | label: "V"
19 | },
20 | four: {
21 | key: "Shift",
22 | label: "⇧"
23 | },
24 | five: {
25 | key: "Escape",
26 | label: "🗿"
27 | },
28 | });
29 |
30 | const [pressedKeys, setPressedKeys] = useState>(new Set());
31 | const audioRef = useRef(null);
32 |
33 | useEffect(() => {
34 | audioRef.current = new Audio("https://cdn.freesound.org/previews/378/378085_6260145-lq.mp3");
35 | }, [])
36 |
37 | useEffect(() => {
38 | const handleKeyDown = (event: KeyboardEvent) => {
39 | const keyConfig = Object.entries(keys).find(([_, keyData]) => keyData.key === event.key)
40 |
41 | if (keyConfig) {
42 | setPressedKeys((prev) => new Set(prev).add(keyConfig[0]))
43 | playClickSound()
44 | }
45 | }
46 |
47 | const handleKeyUp = (event: KeyboardEvent) => {
48 | const keyConfig = Object.entries(keys).find(
49 | ([_, keyData]) => keyData.key === event.key || event.key === "Meta",
50 | )
51 |
52 | if (keyConfig) {
53 | setPressedKeys((prev) => {
54 | const newSet = new Set(prev)
55 | newSet.delete(keyConfig[0])
56 | return newSet
57 | })
58 | }
59 | }
60 |
61 | window.addEventListener("keydown", handleKeyDown)
62 | window.addEventListener("keyup", handleKeyUp)
63 |
64 | return () => {
65 | window.removeEventListener("keydown", handleKeyDown)
66 | window.removeEventListener("keyup", handleKeyUp)
67 | }
68 | }, [keys])
69 |
70 | const playClickSound = () => {
71 | if (!audioRef.current) return;
72 | audioRef.current.volume = 0.4;
73 | audioRef.current.currentTime = 0;
74 | audioRef.current.play();
75 | }
76 |
77 | const handleKeyPress = (id: string) => {
78 | setPressedKeys(p => new Set(p).add(id));
79 | playClickSound();
80 |
81 | setTimeout(() => {
82 | setPressedKeys((prev) => {
83 | const newSet = new Set(prev)
84 | newSet.delete(id)
85 | return newSet
86 | })
87 | }, 10)
88 | }
89 |
90 | return (
91 |
92 |
93 |
94 | );
95 | }
96 |
--------------------------------------------------------------------------------
/components/key-button.tsx:
--------------------------------------------------------------------------------
1 | import { cn } from '@/utils/utils';
2 | import path from 'path';
3 | import React from 'react'
4 |
5 | const KeyButton = ({ id, keys, isPressed, onPress }: {
6 | id: string;
7 | keys: any;
8 | isPressed: boolean;
9 | onPress: (id: string) => void;
10 | }) => {
11 |
12 | const getPositionClasses = () => {
13 | switch (id) {
14 | case "one":
15 | return "left-[13.7%] bottom-[56.4%]"
16 | case "two":
17 | return "left-[25.8%] bottom-[47.4%]"
18 | case "three":
19 | return "left-[38%] bottom-[38.3%]"
20 | case "four":
21 | return "left-[50.4%] bottom-[29.1%]"
22 | case "five":
23 | return "left-[62.7%] bottom-[19.9%]"
24 | default:
25 | return ""
26 | }
27 | }
28 |
29 | return (
30 |
58 | )
59 | }
60 |
61 | export default KeyButton
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | clsx:
12 | specifier: ^2.1.1
13 | version: 2.1.1
14 | next:
15 | specifier: 14.2.30
16 | version: 14.2.30(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
17 | react:
18 | specifier: ^18
19 | version: 18.3.1
20 | react-dom:
21 | specifier: ^18
22 | version: 18.3.1(react@18.3.1)
23 | tailwind-merge:
24 | specifier: ^3.3.1
25 | version: 3.3.1
26 | devDependencies:
27 | '@types/node':
28 | specifier: ^20
29 | version: 20.19.9
30 | '@types/react':
31 | specifier: ^18
32 | version: 18.3.23
33 | '@types/react-dom':
34 | specifier: ^18
35 | version: 18.3.7(@types/react@18.3.23)
36 | postcss:
37 | specifier: ^8
38 | version: 8.5.6
39 | tailwindcss:
40 | specifier: ^3.4.1
41 | version: 3.4.17
42 | typescript:
43 | specifier: ^5
44 | version: 5.8.3
45 |
46 | packages:
47 |
48 | '@alloc/quick-lru@5.2.0':
49 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
50 | engines: {node: '>=10'}
51 |
52 | '@isaacs/cliui@8.0.2':
53 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
54 | engines: {node: '>=12'}
55 |
56 | '@jridgewell/gen-mapping@0.3.12':
57 | resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==}
58 |
59 | '@jridgewell/resolve-uri@3.1.2':
60 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
61 | engines: {node: '>=6.0.0'}
62 |
63 | '@jridgewell/sourcemap-codec@1.5.4':
64 | resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
65 |
66 | '@jridgewell/trace-mapping@0.3.29':
67 | resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==}
68 |
69 | '@next/env@14.2.30':
70 | resolution: {integrity: sha512-KBiBKrDY6kxTQWGzKjQB7QirL3PiiOkV7KW98leHFjtVRKtft76Ra5qSA/SL75xT44dp6hOcqiiJ6iievLOYug==}
71 |
72 | '@next/swc-darwin-arm64@14.2.30':
73 | resolution: {integrity: sha512-EAqfOTb3bTGh9+ewpO/jC59uACadRHM6TSA9DdxJB/6gxOpyV+zrbqeXiFTDy9uV6bmipFDkfpAskeaDcO+7/g==}
74 | engines: {node: '>= 10'}
75 | cpu: [arm64]
76 | os: [darwin]
77 |
78 | '@next/swc-darwin-x64@14.2.30':
79 | resolution: {integrity: sha512-TyO7Wz1IKE2kGv8dwQ0bmPL3s44EKVencOqwIY69myoS3rdpO1NPg5xPM5ymKu7nfX4oYJrpMxv8G9iqLsnL4A==}
80 | engines: {node: '>= 10'}
81 | cpu: [x64]
82 | os: [darwin]
83 |
84 | '@next/swc-linux-arm64-gnu@14.2.30':
85 | resolution: {integrity: sha512-I5lg1fgPJ7I5dk6mr3qCH1hJYKJu1FsfKSiTKoYwcuUf53HWTrEkwmMI0t5ojFKeA6Vu+SfT2zVy5NS0QLXV4Q==}
86 | engines: {node: '>= 10'}
87 | cpu: [arm64]
88 | os: [linux]
89 |
90 | '@next/swc-linux-arm64-musl@14.2.30':
91 | resolution: {integrity: sha512-8GkNA+sLclQyxgzCDs2/2GSwBc92QLMrmYAmoP2xehe5MUKBLB2cgo34Yu242L1siSkwQkiV4YLdCnjwc/Micw==}
92 | engines: {node: '>= 10'}
93 | cpu: [arm64]
94 | os: [linux]
95 |
96 | '@next/swc-linux-x64-gnu@14.2.30':
97 | resolution: {integrity: sha512-8Ly7okjssLuBoe8qaRCcjGtcMsv79hwzn/63wNeIkzJVFVX06h5S737XNr7DZwlsbTBDOyI6qbL2BJB5n6TV/w==}
98 | engines: {node: '>= 10'}
99 | cpu: [x64]
100 | os: [linux]
101 |
102 | '@next/swc-linux-x64-musl@14.2.30':
103 | resolution: {integrity: sha512-dBmV1lLNeX4mR7uI7KNVHsGQU+OgTG5RGFPi3tBJpsKPvOPtg9poyav/BYWrB3GPQL4dW5YGGgalwZ79WukbKQ==}
104 | engines: {node: '>= 10'}
105 | cpu: [x64]
106 | os: [linux]
107 |
108 | '@next/swc-win32-arm64-msvc@14.2.30':
109 | resolution: {integrity: sha512-6MMHi2Qc1Gkq+4YLXAgbYslE1f9zMGBikKMdmQRHXjkGPot1JY3n5/Qrbg40Uvbi8//wYnydPnyvNhI1DMUW1g==}
110 | engines: {node: '>= 10'}
111 | cpu: [arm64]
112 | os: [win32]
113 |
114 | '@next/swc-win32-ia32-msvc@14.2.30':
115 | resolution: {integrity: sha512-pVZMnFok5qEX4RT59mK2hEVtJX+XFfak+/rjHpyFh7juiT52r177bfFKhnlafm0UOSldhXjj32b+LZIOdswGTg==}
116 | engines: {node: '>= 10'}
117 | cpu: [ia32]
118 | os: [win32]
119 |
120 | '@next/swc-win32-x64-msvc@14.2.30':
121 | resolution: {integrity: sha512-4KCo8hMZXMjpTzs3HOqOGYYwAXymXIy7PEPAXNEcEOyKqkjiDlECumrWziy+JEF0Oi4ILHGxzgQ3YiMGG2t/Lg==}
122 | engines: {node: '>= 10'}
123 | cpu: [x64]
124 | os: [win32]
125 |
126 | '@nodelib/fs.scandir@2.1.5':
127 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
128 | engines: {node: '>= 8'}
129 |
130 | '@nodelib/fs.stat@2.0.5':
131 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
132 | engines: {node: '>= 8'}
133 |
134 | '@nodelib/fs.walk@1.2.8':
135 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
136 | engines: {node: '>= 8'}
137 |
138 | '@pkgjs/parseargs@0.11.0':
139 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
140 | engines: {node: '>=14'}
141 |
142 | '@swc/counter@0.1.3':
143 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
144 |
145 | '@swc/helpers@0.5.5':
146 | resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
147 |
148 | '@types/node@20.19.9':
149 | resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==}
150 |
151 | '@types/prop-types@15.7.15':
152 | resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
153 |
154 | '@types/react-dom@18.3.7':
155 | resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
156 | peerDependencies:
157 | '@types/react': ^18.0.0
158 |
159 | '@types/react@18.3.23':
160 | resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
161 |
162 | ansi-regex@5.0.1:
163 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
164 | engines: {node: '>=8'}
165 |
166 | ansi-regex@6.1.0:
167 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
168 | engines: {node: '>=12'}
169 |
170 | ansi-styles@4.3.0:
171 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
172 | engines: {node: '>=8'}
173 |
174 | ansi-styles@6.2.1:
175 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
176 | engines: {node: '>=12'}
177 |
178 | any-promise@1.3.0:
179 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
180 |
181 | anymatch@3.1.3:
182 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
183 | engines: {node: '>= 8'}
184 |
185 | arg@5.0.2:
186 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
187 |
188 | balanced-match@1.0.2:
189 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
190 |
191 | binary-extensions@2.3.0:
192 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
193 | engines: {node: '>=8'}
194 |
195 | brace-expansion@2.0.2:
196 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
197 |
198 | braces@3.0.3:
199 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
200 | engines: {node: '>=8'}
201 |
202 | busboy@1.6.0:
203 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
204 | engines: {node: '>=10.16.0'}
205 |
206 | camelcase-css@2.0.1:
207 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
208 | engines: {node: '>= 6'}
209 |
210 | caniuse-lite@1.0.30001727:
211 | resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==}
212 |
213 | chokidar@3.6.0:
214 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
215 | engines: {node: '>= 8.10.0'}
216 |
217 | client-only@0.0.1:
218 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
219 |
220 | clsx@2.1.1:
221 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
222 | engines: {node: '>=6'}
223 |
224 | color-convert@2.0.1:
225 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
226 | engines: {node: '>=7.0.0'}
227 |
228 | color-name@1.1.4:
229 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
230 |
231 | commander@4.1.1:
232 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
233 | engines: {node: '>= 6'}
234 |
235 | cross-spawn@7.0.6:
236 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
237 | engines: {node: '>= 8'}
238 |
239 | cssesc@3.0.0:
240 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
241 | engines: {node: '>=4'}
242 | hasBin: true
243 |
244 | csstype@3.1.3:
245 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
246 |
247 | didyoumean@1.2.2:
248 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
249 |
250 | dlv@1.1.3:
251 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
252 |
253 | eastasianwidth@0.2.0:
254 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
255 |
256 | emoji-regex@8.0.0:
257 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
258 |
259 | emoji-regex@9.2.2:
260 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
261 |
262 | fast-glob@3.3.3:
263 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
264 | engines: {node: '>=8.6.0'}
265 |
266 | fastq@1.19.1:
267 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
268 |
269 | fill-range@7.1.1:
270 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
271 | engines: {node: '>=8'}
272 |
273 | foreground-child@3.3.1:
274 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
275 | engines: {node: '>=14'}
276 |
277 | fsevents@2.3.3:
278 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
279 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
280 | os: [darwin]
281 |
282 | function-bind@1.1.2:
283 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
284 |
285 | glob-parent@5.1.2:
286 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
287 | engines: {node: '>= 6'}
288 |
289 | glob-parent@6.0.2:
290 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
291 | engines: {node: '>=10.13.0'}
292 |
293 | glob@10.4.5:
294 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
295 | hasBin: true
296 |
297 | graceful-fs@4.2.11:
298 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
299 |
300 | hasown@2.0.2:
301 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
302 | engines: {node: '>= 0.4'}
303 |
304 | is-binary-path@2.1.0:
305 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
306 | engines: {node: '>=8'}
307 |
308 | is-core-module@2.16.1:
309 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
310 | engines: {node: '>= 0.4'}
311 |
312 | is-extglob@2.1.1:
313 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
314 | engines: {node: '>=0.10.0'}
315 |
316 | is-fullwidth-code-point@3.0.0:
317 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
318 | engines: {node: '>=8'}
319 |
320 | is-glob@4.0.3:
321 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
322 | engines: {node: '>=0.10.0'}
323 |
324 | is-number@7.0.0:
325 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
326 | engines: {node: '>=0.12.0'}
327 |
328 | isexe@2.0.0:
329 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
330 |
331 | jackspeak@3.4.3:
332 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
333 |
334 | jiti@1.21.7:
335 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
336 | hasBin: true
337 |
338 | js-tokens@4.0.0:
339 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
340 |
341 | lilconfig@3.1.3:
342 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
343 | engines: {node: '>=14'}
344 |
345 | lines-and-columns@1.2.4:
346 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
347 |
348 | loose-envify@1.4.0:
349 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
350 | hasBin: true
351 |
352 | lru-cache@10.4.3:
353 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
354 |
355 | merge2@1.4.1:
356 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
357 | engines: {node: '>= 8'}
358 |
359 | micromatch@4.0.8:
360 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
361 | engines: {node: '>=8.6'}
362 |
363 | minimatch@9.0.5:
364 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
365 | engines: {node: '>=16 || 14 >=14.17'}
366 |
367 | minipass@7.1.2:
368 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
369 | engines: {node: '>=16 || 14 >=14.17'}
370 |
371 | mz@2.7.0:
372 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
373 |
374 | nanoid@3.3.11:
375 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
376 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
377 | hasBin: true
378 |
379 | next@14.2.30:
380 | resolution: {integrity: sha512-+COdu6HQrHHFQ1S/8BBsCag61jZacmvbuL2avHvQFbWa2Ox7bE+d8FyNgxRLjXQ5wtPyQwEmk85js/AuaG2Sbg==}
381 | engines: {node: '>=18.17.0'}
382 | hasBin: true
383 | peerDependencies:
384 | '@opentelemetry/api': ^1.1.0
385 | '@playwright/test': ^1.41.2
386 | react: ^18.2.0
387 | react-dom: ^18.2.0
388 | sass: ^1.3.0
389 | peerDependenciesMeta:
390 | '@opentelemetry/api':
391 | optional: true
392 | '@playwright/test':
393 | optional: true
394 | sass:
395 | optional: true
396 |
397 | normalize-path@3.0.0:
398 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
399 | engines: {node: '>=0.10.0'}
400 |
401 | object-assign@4.1.1:
402 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
403 | engines: {node: '>=0.10.0'}
404 |
405 | object-hash@3.0.0:
406 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
407 | engines: {node: '>= 6'}
408 |
409 | package-json-from-dist@1.0.1:
410 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
411 |
412 | path-key@3.1.1:
413 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
414 | engines: {node: '>=8'}
415 |
416 | path-parse@1.0.7:
417 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
418 |
419 | path-scurry@1.11.1:
420 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
421 | engines: {node: '>=16 || 14 >=14.18'}
422 |
423 | picocolors@1.1.1:
424 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
425 |
426 | picomatch@2.3.1:
427 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
428 | engines: {node: '>=8.6'}
429 |
430 | pify@2.3.0:
431 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
432 | engines: {node: '>=0.10.0'}
433 |
434 | pirates@4.0.7:
435 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
436 | engines: {node: '>= 6'}
437 |
438 | postcss-import@15.1.0:
439 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
440 | engines: {node: '>=14.0.0'}
441 | peerDependencies:
442 | postcss: ^8.0.0
443 |
444 | postcss-js@4.0.1:
445 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
446 | engines: {node: ^12 || ^14 || >= 16}
447 | peerDependencies:
448 | postcss: ^8.4.21
449 |
450 | postcss-load-config@4.0.2:
451 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
452 | engines: {node: '>= 14'}
453 | peerDependencies:
454 | postcss: '>=8.0.9'
455 | ts-node: '>=9.0.0'
456 | peerDependenciesMeta:
457 | postcss:
458 | optional: true
459 | ts-node:
460 | optional: true
461 |
462 | postcss-nested@6.2.0:
463 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
464 | engines: {node: '>=12.0'}
465 | peerDependencies:
466 | postcss: ^8.2.14
467 |
468 | postcss-selector-parser@6.1.2:
469 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
470 | engines: {node: '>=4'}
471 |
472 | postcss-value-parser@4.2.0:
473 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
474 |
475 | postcss@8.4.31:
476 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
477 | engines: {node: ^10 || ^12 || >=14}
478 |
479 | postcss@8.5.6:
480 | resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
481 | engines: {node: ^10 || ^12 || >=14}
482 |
483 | queue-microtask@1.2.3:
484 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
485 |
486 | react-dom@18.3.1:
487 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
488 | peerDependencies:
489 | react: ^18.3.1
490 |
491 | react@18.3.1:
492 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
493 | engines: {node: '>=0.10.0'}
494 |
495 | read-cache@1.0.0:
496 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
497 |
498 | readdirp@3.6.0:
499 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
500 | engines: {node: '>=8.10.0'}
501 |
502 | resolve@1.22.10:
503 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
504 | engines: {node: '>= 0.4'}
505 | hasBin: true
506 |
507 | reusify@1.1.0:
508 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
509 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
510 |
511 | run-parallel@1.2.0:
512 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
513 |
514 | scheduler@0.23.2:
515 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
516 |
517 | shebang-command@2.0.0:
518 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
519 | engines: {node: '>=8'}
520 |
521 | shebang-regex@3.0.0:
522 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
523 | engines: {node: '>=8'}
524 |
525 | signal-exit@4.1.0:
526 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
527 | engines: {node: '>=14'}
528 |
529 | source-map-js@1.2.1:
530 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
531 | engines: {node: '>=0.10.0'}
532 |
533 | streamsearch@1.1.0:
534 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
535 | engines: {node: '>=10.0.0'}
536 |
537 | string-width@4.2.3:
538 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
539 | engines: {node: '>=8'}
540 |
541 | string-width@5.1.2:
542 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
543 | engines: {node: '>=12'}
544 |
545 | strip-ansi@6.0.1:
546 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
547 | engines: {node: '>=8'}
548 |
549 | strip-ansi@7.1.0:
550 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
551 | engines: {node: '>=12'}
552 |
553 | styled-jsx@5.1.1:
554 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
555 | engines: {node: '>= 12.0.0'}
556 | peerDependencies:
557 | '@babel/core': '*'
558 | babel-plugin-macros: '*'
559 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
560 | peerDependenciesMeta:
561 | '@babel/core':
562 | optional: true
563 | babel-plugin-macros:
564 | optional: true
565 |
566 | sucrase@3.35.0:
567 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
568 | engines: {node: '>=16 || 14 >=14.17'}
569 | hasBin: true
570 |
571 | supports-preserve-symlinks-flag@1.0.0:
572 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
573 | engines: {node: '>= 0.4'}
574 |
575 | tailwind-merge@3.3.1:
576 | resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==}
577 |
578 | tailwindcss@3.4.17:
579 | resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
580 | engines: {node: '>=14.0.0'}
581 | hasBin: true
582 |
583 | thenify-all@1.6.0:
584 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
585 | engines: {node: '>=0.8'}
586 |
587 | thenify@3.3.1:
588 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
589 |
590 | to-regex-range@5.0.1:
591 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
592 | engines: {node: '>=8.0'}
593 |
594 | ts-interface-checker@0.1.13:
595 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
596 |
597 | tslib@2.8.1:
598 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
599 |
600 | typescript@5.8.3:
601 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
602 | engines: {node: '>=14.17'}
603 | hasBin: true
604 |
605 | undici-types@6.21.0:
606 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
607 |
608 | util-deprecate@1.0.2:
609 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
610 |
611 | which@2.0.2:
612 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
613 | engines: {node: '>= 8'}
614 | hasBin: true
615 |
616 | wrap-ansi@7.0.0:
617 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
618 | engines: {node: '>=10'}
619 |
620 | wrap-ansi@8.1.0:
621 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
622 | engines: {node: '>=12'}
623 |
624 | yaml@2.8.0:
625 | resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==}
626 | engines: {node: '>= 14.6'}
627 | hasBin: true
628 |
629 | snapshots:
630 |
631 | '@alloc/quick-lru@5.2.0': {}
632 |
633 | '@isaacs/cliui@8.0.2':
634 | dependencies:
635 | string-width: 5.1.2
636 | string-width-cjs: string-width@4.2.3
637 | strip-ansi: 7.1.0
638 | strip-ansi-cjs: strip-ansi@6.0.1
639 | wrap-ansi: 8.1.0
640 | wrap-ansi-cjs: wrap-ansi@7.0.0
641 |
642 | '@jridgewell/gen-mapping@0.3.12':
643 | dependencies:
644 | '@jridgewell/sourcemap-codec': 1.5.4
645 | '@jridgewell/trace-mapping': 0.3.29
646 |
647 | '@jridgewell/resolve-uri@3.1.2': {}
648 |
649 | '@jridgewell/sourcemap-codec@1.5.4': {}
650 |
651 | '@jridgewell/trace-mapping@0.3.29':
652 | dependencies:
653 | '@jridgewell/resolve-uri': 3.1.2
654 | '@jridgewell/sourcemap-codec': 1.5.4
655 |
656 | '@next/env@14.2.30': {}
657 |
658 | '@next/swc-darwin-arm64@14.2.30':
659 | optional: true
660 |
661 | '@next/swc-darwin-x64@14.2.30':
662 | optional: true
663 |
664 | '@next/swc-linux-arm64-gnu@14.2.30':
665 | optional: true
666 |
667 | '@next/swc-linux-arm64-musl@14.2.30':
668 | optional: true
669 |
670 | '@next/swc-linux-x64-gnu@14.2.30':
671 | optional: true
672 |
673 | '@next/swc-linux-x64-musl@14.2.30':
674 | optional: true
675 |
676 | '@next/swc-win32-arm64-msvc@14.2.30':
677 | optional: true
678 |
679 | '@next/swc-win32-ia32-msvc@14.2.30':
680 | optional: true
681 |
682 | '@next/swc-win32-x64-msvc@14.2.30':
683 | optional: true
684 |
685 | '@nodelib/fs.scandir@2.1.5':
686 | dependencies:
687 | '@nodelib/fs.stat': 2.0.5
688 | run-parallel: 1.2.0
689 |
690 | '@nodelib/fs.stat@2.0.5': {}
691 |
692 | '@nodelib/fs.walk@1.2.8':
693 | dependencies:
694 | '@nodelib/fs.scandir': 2.1.5
695 | fastq: 1.19.1
696 |
697 | '@pkgjs/parseargs@0.11.0':
698 | optional: true
699 |
700 | '@swc/counter@0.1.3': {}
701 |
702 | '@swc/helpers@0.5.5':
703 | dependencies:
704 | '@swc/counter': 0.1.3
705 | tslib: 2.8.1
706 |
707 | '@types/node@20.19.9':
708 | dependencies:
709 | undici-types: 6.21.0
710 |
711 | '@types/prop-types@15.7.15': {}
712 |
713 | '@types/react-dom@18.3.7(@types/react@18.3.23)':
714 | dependencies:
715 | '@types/react': 18.3.23
716 |
717 | '@types/react@18.3.23':
718 | dependencies:
719 | '@types/prop-types': 15.7.15
720 | csstype: 3.1.3
721 |
722 | ansi-regex@5.0.1: {}
723 |
724 | ansi-regex@6.1.0: {}
725 |
726 | ansi-styles@4.3.0:
727 | dependencies:
728 | color-convert: 2.0.1
729 |
730 | ansi-styles@6.2.1: {}
731 |
732 | any-promise@1.3.0: {}
733 |
734 | anymatch@3.1.3:
735 | dependencies:
736 | normalize-path: 3.0.0
737 | picomatch: 2.3.1
738 |
739 | arg@5.0.2: {}
740 |
741 | balanced-match@1.0.2: {}
742 |
743 | binary-extensions@2.3.0: {}
744 |
745 | brace-expansion@2.0.2:
746 | dependencies:
747 | balanced-match: 1.0.2
748 |
749 | braces@3.0.3:
750 | dependencies:
751 | fill-range: 7.1.1
752 |
753 | busboy@1.6.0:
754 | dependencies:
755 | streamsearch: 1.1.0
756 |
757 | camelcase-css@2.0.1: {}
758 |
759 | caniuse-lite@1.0.30001727: {}
760 |
761 | chokidar@3.6.0:
762 | dependencies:
763 | anymatch: 3.1.3
764 | braces: 3.0.3
765 | glob-parent: 5.1.2
766 | is-binary-path: 2.1.0
767 | is-glob: 4.0.3
768 | normalize-path: 3.0.0
769 | readdirp: 3.6.0
770 | optionalDependencies:
771 | fsevents: 2.3.3
772 |
773 | client-only@0.0.1: {}
774 |
775 | clsx@2.1.1: {}
776 |
777 | color-convert@2.0.1:
778 | dependencies:
779 | color-name: 1.1.4
780 |
781 | color-name@1.1.4: {}
782 |
783 | commander@4.1.1: {}
784 |
785 | cross-spawn@7.0.6:
786 | dependencies:
787 | path-key: 3.1.1
788 | shebang-command: 2.0.0
789 | which: 2.0.2
790 |
791 | cssesc@3.0.0: {}
792 |
793 | csstype@3.1.3: {}
794 |
795 | didyoumean@1.2.2: {}
796 |
797 | dlv@1.1.3: {}
798 |
799 | eastasianwidth@0.2.0: {}
800 |
801 | emoji-regex@8.0.0: {}
802 |
803 | emoji-regex@9.2.2: {}
804 |
805 | fast-glob@3.3.3:
806 | dependencies:
807 | '@nodelib/fs.stat': 2.0.5
808 | '@nodelib/fs.walk': 1.2.8
809 | glob-parent: 5.1.2
810 | merge2: 1.4.1
811 | micromatch: 4.0.8
812 |
813 | fastq@1.19.1:
814 | dependencies:
815 | reusify: 1.1.0
816 |
817 | fill-range@7.1.1:
818 | dependencies:
819 | to-regex-range: 5.0.1
820 |
821 | foreground-child@3.3.1:
822 | dependencies:
823 | cross-spawn: 7.0.6
824 | signal-exit: 4.1.0
825 |
826 | fsevents@2.3.3:
827 | optional: true
828 |
829 | function-bind@1.1.2: {}
830 |
831 | glob-parent@5.1.2:
832 | dependencies:
833 | is-glob: 4.0.3
834 |
835 | glob-parent@6.0.2:
836 | dependencies:
837 | is-glob: 4.0.3
838 |
839 | glob@10.4.5:
840 | dependencies:
841 | foreground-child: 3.3.1
842 | jackspeak: 3.4.3
843 | minimatch: 9.0.5
844 | minipass: 7.1.2
845 | package-json-from-dist: 1.0.1
846 | path-scurry: 1.11.1
847 |
848 | graceful-fs@4.2.11: {}
849 |
850 | hasown@2.0.2:
851 | dependencies:
852 | function-bind: 1.1.2
853 |
854 | is-binary-path@2.1.0:
855 | dependencies:
856 | binary-extensions: 2.3.0
857 |
858 | is-core-module@2.16.1:
859 | dependencies:
860 | hasown: 2.0.2
861 |
862 | is-extglob@2.1.1: {}
863 |
864 | is-fullwidth-code-point@3.0.0: {}
865 |
866 | is-glob@4.0.3:
867 | dependencies:
868 | is-extglob: 2.1.1
869 |
870 | is-number@7.0.0: {}
871 |
872 | isexe@2.0.0: {}
873 |
874 | jackspeak@3.4.3:
875 | dependencies:
876 | '@isaacs/cliui': 8.0.2
877 | optionalDependencies:
878 | '@pkgjs/parseargs': 0.11.0
879 |
880 | jiti@1.21.7: {}
881 |
882 | js-tokens@4.0.0: {}
883 |
884 | lilconfig@3.1.3: {}
885 |
886 | lines-and-columns@1.2.4: {}
887 |
888 | loose-envify@1.4.0:
889 | dependencies:
890 | js-tokens: 4.0.0
891 |
892 | lru-cache@10.4.3: {}
893 |
894 | merge2@1.4.1: {}
895 |
896 | micromatch@4.0.8:
897 | dependencies:
898 | braces: 3.0.3
899 | picomatch: 2.3.1
900 |
901 | minimatch@9.0.5:
902 | dependencies:
903 | brace-expansion: 2.0.2
904 |
905 | minipass@7.1.2: {}
906 |
907 | mz@2.7.0:
908 | dependencies:
909 | any-promise: 1.3.0
910 | object-assign: 4.1.1
911 | thenify-all: 1.6.0
912 |
913 | nanoid@3.3.11: {}
914 |
915 | next@14.2.30(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
916 | dependencies:
917 | '@next/env': 14.2.30
918 | '@swc/helpers': 0.5.5
919 | busboy: 1.6.0
920 | caniuse-lite: 1.0.30001727
921 | graceful-fs: 4.2.11
922 | postcss: 8.4.31
923 | react: 18.3.1
924 | react-dom: 18.3.1(react@18.3.1)
925 | styled-jsx: 5.1.1(react@18.3.1)
926 | optionalDependencies:
927 | '@next/swc-darwin-arm64': 14.2.30
928 | '@next/swc-darwin-x64': 14.2.30
929 | '@next/swc-linux-arm64-gnu': 14.2.30
930 | '@next/swc-linux-arm64-musl': 14.2.30
931 | '@next/swc-linux-x64-gnu': 14.2.30
932 | '@next/swc-linux-x64-musl': 14.2.30
933 | '@next/swc-win32-arm64-msvc': 14.2.30
934 | '@next/swc-win32-ia32-msvc': 14.2.30
935 | '@next/swc-win32-x64-msvc': 14.2.30
936 | transitivePeerDependencies:
937 | - '@babel/core'
938 | - babel-plugin-macros
939 |
940 | normalize-path@3.0.0: {}
941 |
942 | object-assign@4.1.1: {}
943 |
944 | object-hash@3.0.0: {}
945 |
946 | package-json-from-dist@1.0.1: {}
947 |
948 | path-key@3.1.1: {}
949 |
950 | path-parse@1.0.7: {}
951 |
952 | path-scurry@1.11.1:
953 | dependencies:
954 | lru-cache: 10.4.3
955 | minipass: 7.1.2
956 |
957 | picocolors@1.1.1: {}
958 |
959 | picomatch@2.3.1: {}
960 |
961 | pify@2.3.0: {}
962 |
963 | pirates@4.0.7: {}
964 |
965 | postcss-import@15.1.0(postcss@8.5.6):
966 | dependencies:
967 | postcss: 8.5.6
968 | postcss-value-parser: 4.2.0
969 | read-cache: 1.0.0
970 | resolve: 1.22.10
971 |
972 | postcss-js@4.0.1(postcss@8.5.6):
973 | dependencies:
974 | camelcase-css: 2.0.1
975 | postcss: 8.5.6
976 |
977 | postcss-load-config@4.0.2(postcss@8.5.6):
978 | dependencies:
979 | lilconfig: 3.1.3
980 | yaml: 2.8.0
981 | optionalDependencies:
982 | postcss: 8.5.6
983 |
984 | postcss-nested@6.2.0(postcss@8.5.6):
985 | dependencies:
986 | postcss: 8.5.6
987 | postcss-selector-parser: 6.1.2
988 |
989 | postcss-selector-parser@6.1.2:
990 | dependencies:
991 | cssesc: 3.0.0
992 | util-deprecate: 1.0.2
993 |
994 | postcss-value-parser@4.2.0: {}
995 |
996 | postcss@8.4.31:
997 | dependencies:
998 | nanoid: 3.3.11
999 | picocolors: 1.1.1
1000 | source-map-js: 1.2.1
1001 |
1002 | postcss@8.5.6:
1003 | dependencies:
1004 | nanoid: 3.3.11
1005 | picocolors: 1.1.1
1006 | source-map-js: 1.2.1
1007 |
1008 | queue-microtask@1.2.3: {}
1009 |
1010 | react-dom@18.3.1(react@18.3.1):
1011 | dependencies:
1012 | loose-envify: 1.4.0
1013 | react: 18.3.1
1014 | scheduler: 0.23.2
1015 |
1016 | react@18.3.1:
1017 | dependencies:
1018 | loose-envify: 1.4.0
1019 |
1020 | read-cache@1.0.0:
1021 | dependencies:
1022 | pify: 2.3.0
1023 |
1024 | readdirp@3.6.0:
1025 | dependencies:
1026 | picomatch: 2.3.1
1027 |
1028 | resolve@1.22.10:
1029 | dependencies:
1030 | is-core-module: 2.16.1
1031 | path-parse: 1.0.7
1032 | supports-preserve-symlinks-flag: 1.0.0
1033 |
1034 | reusify@1.1.0: {}
1035 |
1036 | run-parallel@1.2.0:
1037 | dependencies:
1038 | queue-microtask: 1.2.3
1039 |
1040 | scheduler@0.23.2:
1041 | dependencies:
1042 | loose-envify: 1.4.0
1043 |
1044 | shebang-command@2.0.0:
1045 | dependencies:
1046 | shebang-regex: 3.0.0
1047 |
1048 | shebang-regex@3.0.0: {}
1049 |
1050 | signal-exit@4.1.0: {}
1051 |
1052 | source-map-js@1.2.1: {}
1053 |
1054 | streamsearch@1.1.0: {}
1055 |
1056 | string-width@4.2.3:
1057 | dependencies:
1058 | emoji-regex: 8.0.0
1059 | is-fullwidth-code-point: 3.0.0
1060 | strip-ansi: 6.0.1
1061 |
1062 | string-width@5.1.2:
1063 | dependencies:
1064 | eastasianwidth: 0.2.0
1065 | emoji-regex: 9.2.2
1066 | strip-ansi: 7.1.0
1067 |
1068 | strip-ansi@6.0.1:
1069 | dependencies:
1070 | ansi-regex: 5.0.1
1071 |
1072 | strip-ansi@7.1.0:
1073 | dependencies:
1074 | ansi-regex: 6.1.0
1075 |
1076 | styled-jsx@5.1.1(react@18.3.1):
1077 | dependencies:
1078 | client-only: 0.0.1
1079 | react: 18.3.1
1080 |
1081 | sucrase@3.35.0:
1082 | dependencies:
1083 | '@jridgewell/gen-mapping': 0.3.12
1084 | commander: 4.1.1
1085 | glob: 10.4.5
1086 | lines-and-columns: 1.2.4
1087 | mz: 2.7.0
1088 | pirates: 4.0.7
1089 | ts-interface-checker: 0.1.13
1090 |
1091 | supports-preserve-symlinks-flag@1.0.0: {}
1092 |
1093 | tailwind-merge@3.3.1: {}
1094 |
1095 | tailwindcss@3.4.17:
1096 | dependencies:
1097 | '@alloc/quick-lru': 5.2.0
1098 | arg: 5.0.2
1099 | chokidar: 3.6.0
1100 | didyoumean: 1.2.2
1101 | dlv: 1.1.3
1102 | fast-glob: 3.3.3
1103 | glob-parent: 6.0.2
1104 | is-glob: 4.0.3
1105 | jiti: 1.21.7
1106 | lilconfig: 3.1.3
1107 | micromatch: 4.0.8
1108 | normalize-path: 3.0.0
1109 | object-hash: 3.0.0
1110 | picocolors: 1.1.1
1111 | postcss: 8.5.6
1112 | postcss-import: 15.1.0(postcss@8.5.6)
1113 | postcss-js: 4.0.1(postcss@8.5.6)
1114 | postcss-load-config: 4.0.2(postcss@8.5.6)
1115 | postcss-nested: 6.2.0(postcss@8.5.6)
1116 | postcss-selector-parser: 6.1.2
1117 | resolve: 1.22.10
1118 | sucrase: 3.35.0
1119 | transitivePeerDependencies:
1120 | - ts-node
1121 |
1122 | thenify-all@1.6.0:
1123 | dependencies:
1124 | thenify: 3.3.1
1125 |
1126 | thenify@3.3.1:
1127 | dependencies:
1128 | any-promise: 1.3.0
1129 |
1130 | to-regex-range@5.0.1:
1131 | dependencies:
1132 | is-number: 7.0.0
1133 |
1134 | ts-interface-checker@0.1.13: {}
1135 |
1136 | tslib@2.8.1: {}
1137 |
1138 | typescript@5.8.3: {}
1139 |
1140 | undici-types@6.21.0: {}
1141 |
1142 | util-deprecate@1.0.2: {}
1143 |
1144 | which@2.0.2:
1145 | dependencies:
1146 | isexe: 2.0.0
1147 |
1148 | wrap-ansi@7.0.0:
1149 | dependencies:
1150 | ansi-styles: 4.3.0
1151 | string-width: 4.2.3
1152 | strip-ansi: 6.0.1
1153 |
1154 | wrap-ansi@8.1.0:
1155 | dependencies:
1156 | ansi-styles: 6.2.1
1157 | string-width: 5.1.2
1158 | strip-ansi: 7.1.0
1159 |
1160 | yaml@2.8.0: {}
1161 |
--------------------------------------------------------------------------------