├── .eslintrc.json ├── .gitignore ├── README.md ├── components.json ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── src ├── app │ ├── _fonts │ │ ├── TestSöhne-Buch.otf │ │ ├── TestSöhne-Dreiviertelfett.otf │ │ ├── TestSöhne-Fett.otf │ │ ├── TestSöhne-Halbfett.otf │ │ ├── TestSöhne-Kräftig.otf │ │ └── TestSöhne-Leicht.otf │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ └── page.tsx ├── components │ ├── DynanmicIsland │ │ ├── CallIcon.tsx │ │ ├── CallInfoWrapper.tsx │ │ ├── DynamicCall.tsx │ │ ├── DynamicEvent.tsx │ │ ├── DynamicIsland.tsx │ │ ├── DynamicIslandWrapper.tsx │ │ ├── Idle.tsx │ │ ├── KontaktImage.tsx │ │ ├── KontaktInfo.tsx │ │ ├── RejectCall.tsx │ │ └── SuccessCall.tsx │ ├── Socials.tsx │ ├── theme-provider.tsx │ └── ui │ │ ├── avatar.tsx │ │ ├── badge.tsx │ │ └── button.tsx ├── lib │ └── utils.ts └── opengraph-image.png ├── tailwind.config.ts └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.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 | 38 | 39 | #fonts 40 | /src/app/_fonts -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | preview-image 2 | 3 |
4 |

Feel free to contact me via:

5 |
6 | 𝚡 X 7 | - 8 | 📑 Read.cv 9 | - 10 | 📧 E-Mail 11 |
12 |
13 | 14 | ## Dynamic Island Webclone 15 | 16 | I constantly work on enhancing my web animation skills. I practiced Framer Motion by recreating the Dynamic Island on the web with Next.js, Framer Motion, and Tailwind CSS. Explore the component and learn more about it on my [personal site](https://amelieschlueter.com/interactions/dynamic-island). 17 | 18 | ### How to use 19 | 20 | --- 21 | 22 | 1. Clone the Repo 23 | 2. Install the dependecies. 24 | 25 | ``` 26 | pnpm install 27 | ``` 28 | 29 | 3. Run the Dev Server 30 | 31 | ``` 32 | pnpm run dev 33 | ``` 34 | 35 | ### Reach out 📢 36 | 37 | If you have any questions feel free to reach out to me on [X](https://twitter.com/amelieschltr), [Read.cv](https://read.cv/amelieschltr) or via [E-Mail](mailto:as@amelieschlueter.com). I'am always open to connect to new people or just have a chat. 38 | -------------------------------------------------------------------------------- /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": "tailwind.config.ts", 8 | "css": "src/app/globals.css", 9 | "baseColor": "zinc", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "aliases": { 14 | "components": "@/components", 15 | "utils": "@/lib/utils" 16 | } 17 | } -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {}; 3 | 4 | export default nextConfig; 5 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "animations", 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 | "@radix-ui/react-avatar": "^1.0.4", 13 | "@radix-ui/react-icons": "^1.3.0", 14 | "@radix-ui/react-slot": "^1.0.2", 15 | "class-variance-authority": "^0.7.0", 16 | "clsx": "^2.1.0", 17 | "framer-motion": "^11.1.5", 18 | "lucide-react": "^0.371.0", 19 | "next": "14.2.2", 20 | "next-themes": "^0.3.0", 21 | "react": "^18", 22 | "react-dom": "^18", 23 | "tailwind-merge": "^2.2.2", 24 | "tailwindcss-animate": "^1.0.7" 25 | }, 26 | "devDependencies": { 27 | "@types/node": "^20", 28 | "@types/react": "^18", 29 | "@types/react-dom": "^18", 30 | "eslint": "^8", 31 | "eslint-config-next": "14.2.2", 32 | "postcss": "^8", 33 | "tailwindcss": "^3.4.1", 34 | "typescript": "^5" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | '@radix-ui/react-avatar': 9 | specifier: ^1.0.4 10 | version: 1.0.4(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0) 11 | '@radix-ui/react-icons': 12 | specifier: ^1.3.0 13 | version: 1.3.0(react@18.2.0) 14 | '@radix-ui/react-slot': 15 | specifier: ^1.0.2 16 | version: 1.0.2(@types/react@18.2.79)(react@18.2.0) 17 | class-variance-authority: 18 | specifier: ^0.7.0 19 | version: 0.7.0 20 | clsx: 21 | specifier: ^2.1.0 22 | version: 2.1.0 23 | framer-motion: 24 | specifier: ^11.1.5 25 | version: 11.1.5(react-dom@18.2.0)(react@18.2.0) 26 | lucide-react: 27 | specifier: ^0.371.0 28 | version: 0.371.0(react@18.2.0) 29 | next: 30 | specifier: 14.2.2 31 | version: 14.2.2(react-dom@18.2.0)(react@18.2.0) 32 | next-themes: 33 | specifier: ^0.3.0 34 | version: 0.3.0(react-dom@18.2.0)(react@18.2.0) 35 | react: 36 | specifier: ^18 37 | version: 18.2.0 38 | react-dom: 39 | specifier: ^18 40 | version: 18.2.0(react@18.2.0) 41 | tailwind-merge: 42 | specifier: ^2.2.2 43 | version: 2.2.2 44 | tailwindcss-animate: 45 | specifier: ^1.0.7 46 | version: 1.0.7(tailwindcss@3.4.3) 47 | 48 | devDependencies: 49 | '@types/node': 50 | specifier: ^20 51 | version: 20.12.7 52 | '@types/react': 53 | specifier: ^18 54 | version: 18.2.79 55 | '@types/react-dom': 56 | specifier: ^18 57 | version: 18.2.25 58 | eslint: 59 | specifier: ^8 60 | version: 8.57.0 61 | eslint-config-next: 62 | specifier: 14.2.2 63 | version: 14.2.2(eslint@8.57.0)(typescript@5.4.5) 64 | postcss: 65 | specifier: ^8 66 | version: 8.4.38 67 | tailwindcss: 68 | specifier: ^3.4.1 69 | version: 3.4.3 70 | typescript: 71 | specifier: ^5 72 | version: 5.4.5 73 | 74 | packages: 75 | 76 | /@aashutoshrathi/word-wrap@1.2.6: 77 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 78 | engines: {node: '>=0.10.0'} 79 | dev: true 80 | 81 | /@alloc/quick-lru@5.2.0: 82 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 83 | engines: {node: '>=10'} 84 | 85 | /@babel/runtime@7.24.4: 86 | resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} 87 | engines: {node: '>=6.9.0'} 88 | dependencies: 89 | regenerator-runtime: 0.14.1 90 | 91 | /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): 92 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 93 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 94 | peerDependencies: 95 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 96 | dependencies: 97 | eslint: 8.57.0 98 | eslint-visitor-keys: 3.4.3 99 | dev: true 100 | 101 | /@eslint-community/regexpp@4.10.0: 102 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 103 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 104 | dev: true 105 | 106 | /@eslint/eslintrc@2.1.4: 107 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 108 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 109 | dependencies: 110 | ajv: 6.12.6 111 | debug: 4.3.4 112 | espree: 9.6.1 113 | globals: 13.24.0 114 | ignore: 5.3.1 115 | import-fresh: 3.3.0 116 | js-yaml: 4.1.0 117 | minimatch: 3.1.2 118 | strip-json-comments: 3.1.1 119 | transitivePeerDependencies: 120 | - supports-color 121 | dev: true 122 | 123 | /@eslint/js@8.57.0: 124 | resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} 125 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 126 | dev: true 127 | 128 | /@humanwhocodes/config-array@0.11.14: 129 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} 130 | engines: {node: '>=10.10.0'} 131 | dependencies: 132 | '@humanwhocodes/object-schema': 2.0.3 133 | debug: 4.3.4 134 | minimatch: 3.1.2 135 | transitivePeerDependencies: 136 | - supports-color 137 | dev: true 138 | 139 | /@humanwhocodes/module-importer@1.0.1: 140 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 141 | engines: {node: '>=12.22'} 142 | dev: true 143 | 144 | /@humanwhocodes/object-schema@2.0.3: 145 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 146 | dev: true 147 | 148 | /@isaacs/cliui@8.0.2: 149 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 150 | engines: {node: '>=12'} 151 | dependencies: 152 | string-width: 5.1.2 153 | string-width-cjs: /string-width@4.2.3 154 | strip-ansi: 7.1.0 155 | strip-ansi-cjs: /strip-ansi@6.0.1 156 | wrap-ansi: 8.1.0 157 | wrap-ansi-cjs: /wrap-ansi@7.0.0 158 | 159 | /@jridgewell/gen-mapping@0.3.5: 160 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 161 | engines: {node: '>=6.0.0'} 162 | dependencies: 163 | '@jridgewell/set-array': 1.2.1 164 | '@jridgewell/sourcemap-codec': 1.4.15 165 | '@jridgewell/trace-mapping': 0.3.25 166 | 167 | /@jridgewell/resolve-uri@3.1.2: 168 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 169 | engines: {node: '>=6.0.0'} 170 | 171 | /@jridgewell/set-array@1.2.1: 172 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 173 | engines: {node: '>=6.0.0'} 174 | 175 | /@jridgewell/sourcemap-codec@1.4.15: 176 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 177 | 178 | /@jridgewell/trace-mapping@0.3.25: 179 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 180 | dependencies: 181 | '@jridgewell/resolve-uri': 3.1.2 182 | '@jridgewell/sourcemap-codec': 1.4.15 183 | 184 | /@next/env@14.2.2: 185 | resolution: {integrity: sha512-sk72qRfM1Q90XZWYRoJKu/UWlTgihrASiYw/scb15u+tyzcze3bOuJ/UV6TBOQEeUaxOkRqGeuGUdiiuxc5oqw==} 186 | dev: false 187 | 188 | /@next/eslint-plugin-next@14.2.2: 189 | resolution: {integrity: sha512-q+Ec2648JtBpKiu/FSJm8HAsFXlNvioHeBCbTP12T1SGcHYwhqHULSfQgFkPgHDu3kzNp2Kem4J54bK4rPQ5SQ==} 190 | dependencies: 191 | glob: 10.3.10 192 | dev: true 193 | 194 | /@next/swc-darwin-arm64@14.2.2: 195 | resolution: {integrity: sha512-3iPgMhzbalizGwHNFUcGnDhFPSgVBHQ8aqSTAMxB5BvJG0oYrDf1WOJZlbXBgunOEj/8KMVbejEur/FpvFsgFQ==} 196 | engines: {node: '>= 10'} 197 | cpu: [arm64] 198 | os: [darwin] 199 | requiresBuild: true 200 | dev: false 201 | optional: true 202 | 203 | /@next/swc-darwin-x64@14.2.2: 204 | resolution: {integrity: sha512-x7Afi/jt0ZBRUZHTi49yyej4o8znfIMHO4RvThuoc0P+uli8Jd99y5GKjxoYunPKsXL09xBXEM1+OQy2xEL0Ag==} 205 | engines: {node: '>= 10'} 206 | cpu: [x64] 207 | os: [darwin] 208 | requiresBuild: true 209 | dev: false 210 | optional: true 211 | 212 | /@next/swc-linux-arm64-gnu@14.2.2: 213 | resolution: {integrity: sha512-zbfPtkk7L41ODMJwSp5VbmPozPmMMQrzAc0HAUomVeVIIwlDGs/UCqLJvLNDt4jpWgc21SjjyIn762lNGrMaUA==} 214 | engines: {node: '>= 10'} 215 | cpu: [arm64] 216 | os: [linux] 217 | requiresBuild: true 218 | dev: false 219 | optional: true 220 | 221 | /@next/swc-linux-arm64-musl@14.2.2: 222 | resolution: {integrity: sha512-wPbS3pI/JU16rm3XdLvvTmlsmm1nd+sBa2ohXgBZcShX4TgOjD4R+RqHKlI1cjo/jDZKXt6OxmcU0Iys0OC/yg==} 223 | engines: {node: '>= 10'} 224 | cpu: [arm64] 225 | os: [linux] 226 | requiresBuild: true 227 | dev: false 228 | optional: true 229 | 230 | /@next/swc-linux-x64-gnu@14.2.2: 231 | resolution: {integrity: sha512-NqWOHqqq8iC9tuHvZxjQ2tX+jWy2X9y8NX2mcB4sj2bIccuCxbIZrU/ThFPZZPauygajZuVQ6zediejQHwZHwQ==} 232 | engines: {node: '>= 10'} 233 | cpu: [x64] 234 | os: [linux] 235 | requiresBuild: true 236 | dev: false 237 | optional: true 238 | 239 | /@next/swc-linux-x64-musl@14.2.2: 240 | resolution: {integrity: sha512-lGepHhwb9sGhCcU7999+iK1ZZT+6rrIoVg40MP7DZski9GIZP80wORSbt5kJzh9v2x2ev2lxC6VgwMQT0PcgTA==} 241 | engines: {node: '>= 10'} 242 | cpu: [x64] 243 | os: [linux] 244 | requiresBuild: true 245 | dev: false 246 | optional: true 247 | 248 | /@next/swc-win32-arm64-msvc@14.2.2: 249 | resolution: {integrity: sha512-TZSh/48SfcLEQ4rD25VVn2kdIgUWmMflRX3OiyPwGNXn3NiyPqhqei/BaqCYXViIQ+6QsG9R0C8LftMqy8JPMA==} 250 | engines: {node: '>= 10'} 251 | cpu: [arm64] 252 | os: [win32] 253 | requiresBuild: true 254 | dev: false 255 | optional: true 256 | 257 | /@next/swc-win32-ia32-msvc@14.2.2: 258 | resolution: {integrity: sha512-M0tBVNMEBJN2ZNQWlcekMn6pvLria7Sa2Fai5znm7CCJz4pP3lrvlSxhKdkCerk0D9E0bqx5yAo3o2Q7RrD4gA==} 259 | engines: {node: '>= 10'} 260 | cpu: [ia32] 261 | os: [win32] 262 | requiresBuild: true 263 | dev: false 264 | optional: true 265 | 266 | /@next/swc-win32-x64-msvc@14.2.2: 267 | resolution: {integrity: sha512-a/20E/wtTJZ3Ykv3f/8F0l7TtgQa2LWHU2oNB9bsu0VjqGuGGHmm/q6waoUNQYTVPYrrlxxaHjJcDV6aiSTt/w==} 268 | engines: {node: '>= 10'} 269 | cpu: [x64] 270 | os: [win32] 271 | requiresBuild: true 272 | dev: false 273 | optional: true 274 | 275 | /@nodelib/fs.scandir@2.1.5: 276 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 277 | engines: {node: '>= 8'} 278 | dependencies: 279 | '@nodelib/fs.stat': 2.0.5 280 | run-parallel: 1.2.0 281 | 282 | /@nodelib/fs.stat@2.0.5: 283 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 284 | engines: {node: '>= 8'} 285 | 286 | /@nodelib/fs.walk@1.2.8: 287 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 288 | engines: {node: '>= 8'} 289 | dependencies: 290 | '@nodelib/fs.scandir': 2.1.5 291 | fastq: 1.17.1 292 | 293 | /@pkgjs/parseargs@0.11.0: 294 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 295 | engines: {node: '>=14'} 296 | requiresBuild: true 297 | optional: true 298 | 299 | /@radix-ui/react-avatar@1.0.4(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0): 300 | resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==} 301 | peerDependencies: 302 | '@types/react': '*' 303 | '@types/react-dom': '*' 304 | react: ^16.8 || ^17.0 || ^18.0 305 | react-dom: ^16.8 || ^17.0 || ^18.0 306 | peerDependenciesMeta: 307 | '@types/react': 308 | optional: true 309 | '@types/react-dom': 310 | optional: true 311 | dependencies: 312 | '@babel/runtime': 7.24.4 313 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.79)(react@18.2.0) 314 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0) 315 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.79)(react@18.2.0) 316 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.79)(react@18.2.0) 317 | '@types/react': 18.2.79 318 | '@types/react-dom': 18.2.25 319 | react: 18.2.0 320 | react-dom: 18.2.0(react@18.2.0) 321 | dev: false 322 | 323 | /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.79)(react@18.2.0): 324 | resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} 325 | peerDependencies: 326 | '@types/react': '*' 327 | react: ^16.8 || ^17.0 || ^18.0 328 | peerDependenciesMeta: 329 | '@types/react': 330 | optional: true 331 | dependencies: 332 | '@babel/runtime': 7.24.4 333 | '@types/react': 18.2.79 334 | react: 18.2.0 335 | dev: false 336 | 337 | /@radix-ui/react-context@1.0.1(@types/react@18.2.79)(react@18.2.0): 338 | resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} 339 | peerDependencies: 340 | '@types/react': '*' 341 | react: ^16.8 || ^17.0 || ^18.0 342 | peerDependenciesMeta: 343 | '@types/react': 344 | optional: true 345 | dependencies: 346 | '@babel/runtime': 7.24.4 347 | '@types/react': 18.2.79 348 | react: 18.2.0 349 | dev: false 350 | 351 | /@radix-ui/react-icons@1.3.0(react@18.2.0): 352 | resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==} 353 | peerDependencies: 354 | react: ^16.x || ^17.x || ^18.x 355 | dependencies: 356 | react: 18.2.0 357 | dev: false 358 | 359 | /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.25)(@types/react@18.2.79)(react-dom@18.2.0)(react@18.2.0): 360 | resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} 361 | peerDependencies: 362 | '@types/react': '*' 363 | '@types/react-dom': '*' 364 | react: ^16.8 || ^17.0 || ^18.0 365 | react-dom: ^16.8 || ^17.0 || ^18.0 366 | peerDependenciesMeta: 367 | '@types/react': 368 | optional: true 369 | '@types/react-dom': 370 | optional: true 371 | dependencies: 372 | '@babel/runtime': 7.24.4 373 | '@radix-ui/react-slot': 1.0.2(@types/react@18.2.79)(react@18.2.0) 374 | '@types/react': 18.2.79 375 | '@types/react-dom': 18.2.25 376 | react: 18.2.0 377 | react-dom: 18.2.0(react@18.2.0) 378 | dev: false 379 | 380 | /@radix-ui/react-slot@1.0.2(@types/react@18.2.79)(react@18.2.0): 381 | resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} 382 | peerDependencies: 383 | '@types/react': '*' 384 | react: ^16.8 || ^17.0 || ^18.0 385 | peerDependenciesMeta: 386 | '@types/react': 387 | optional: true 388 | dependencies: 389 | '@babel/runtime': 7.24.4 390 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.79)(react@18.2.0) 391 | '@types/react': 18.2.79 392 | react: 18.2.0 393 | dev: false 394 | 395 | /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.79)(react@18.2.0): 396 | resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} 397 | peerDependencies: 398 | '@types/react': '*' 399 | react: ^16.8 || ^17.0 || ^18.0 400 | peerDependenciesMeta: 401 | '@types/react': 402 | optional: true 403 | dependencies: 404 | '@babel/runtime': 7.24.4 405 | '@types/react': 18.2.79 406 | react: 18.2.0 407 | dev: false 408 | 409 | /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.79)(react@18.2.0): 410 | resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} 411 | peerDependencies: 412 | '@types/react': '*' 413 | react: ^16.8 || ^17.0 || ^18.0 414 | peerDependenciesMeta: 415 | '@types/react': 416 | optional: true 417 | dependencies: 418 | '@babel/runtime': 7.24.4 419 | '@types/react': 18.2.79 420 | react: 18.2.0 421 | dev: false 422 | 423 | /@rushstack/eslint-patch@1.10.2: 424 | resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} 425 | dev: true 426 | 427 | /@swc/counter@0.1.3: 428 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 429 | dev: false 430 | 431 | /@swc/helpers@0.5.5: 432 | resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} 433 | dependencies: 434 | '@swc/counter': 0.1.3 435 | tslib: 2.6.2 436 | dev: false 437 | 438 | /@types/json5@0.0.29: 439 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 440 | dev: true 441 | 442 | /@types/node@20.12.7: 443 | resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} 444 | dependencies: 445 | undici-types: 5.26.5 446 | dev: true 447 | 448 | /@types/prop-types@15.7.12: 449 | resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} 450 | 451 | /@types/react-dom@18.2.25: 452 | resolution: {integrity: sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==} 453 | dependencies: 454 | '@types/react': 18.2.79 455 | 456 | /@types/react@18.2.79: 457 | resolution: {integrity: sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==} 458 | dependencies: 459 | '@types/prop-types': 15.7.12 460 | csstype: 3.1.3 461 | 462 | /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5): 463 | resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} 464 | engines: {node: ^16.0.0 || >=18.0.0} 465 | peerDependencies: 466 | eslint: ^8.56.0 467 | typescript: '*' 468 | peerDependenciesMeta: 469 | typescript: 470 | optional: true 471 | dependencies: 472 | '@typescript-eslint/scope-manager': 7.2.0 473 | '@typescript-eslint/types': 7.2.0 474 | '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.5) 475 | '@typescript-eslint/visitor-keys': 7.2.0 476 | debug: 4.3.4 477 | eslint: 8.57.0 478 | typescript: 5.4.5 479 | transitivePeerDependencies: 480 | - supports-color 481 | dev: true 482 | 483 | /@typescript-eslint/scope-manager@7.2.0: 484 | resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} 485 | engines: {node: ^16.0.0 || >=18.0.0} 486 | dependencies: 487 | '@typescript-eslint/types': 7.2.0 488 | '@typescript-eslint/visitor-keys': 7.2.0 489 | dev: true 490 | 491 | /@typescript-eslint/types@7.2.0: 492 | resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} 493 | engines: {node: ^16.0.0 || >=18.0.0} 494 | dev: true 495 | 496 | /@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5): 497 | resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} 498 | engines: {node: ^16.0.0 || >=18.0.0} 499 | peerDependencies: 500 | typescript: '*' 501 | peerDependenciesMeta: 502 | typescript: 503 | optional: true 504 | dependencies: 505 | '@typescript-eslint/types': 7.2.0 506 | '@typescript-eslint/visitor-keys': 7.2.0 507 | debug: 4.3.4 508 | globby: 11.1.0 509 | is-glob: 4.0.3 510 | minimatch: 9.0.3 511 | semver: 7.6.0 512 | ts-api-utils: 1.3.0(typescript@5.4.5) 513 | typescript: 5.4.5 514 | transitivePeerDependencies: 515 | - supports-color 516 | dev: true 517 | 518 | /@typescript-eslint/visitor-keys@7.2.0: 519 | resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} 520 | engines: {node: ^16.0.0 || >=18.0.0} 521 | dependencies: 522 | '@typescript-eslint/types': 7.2.0 523 | eslint-visitor-keys: 3.4.3 524 | dev: true 525 | 526 | /@ungap/structured-clone@1.2.0: 527 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 528 | dev: true 529 | 530 | /acorn-jsx@5.3.2(acorn@8.11.3): 531 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 532 | peerDependencies: 533 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 534 | dependencies: 535 | acorn: 8.11.3 536 | dev: true 537 | 538 | /acorn@8.11.3: 539 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 540 | engines: {node: '>=0.4.0'} 541 | hasBin: true 542 | dev: true 543 | 544 | /ajv@6.12.6: 545 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 546 | dependencies: 547 | fast-deep-equal: 3.1.3 548 | fast-json-stable-stringify: 2.1.0 549 | json-schema-traverse: 0.4.1 550 | uri-js: 4.4.1 551 | dev: true 552 | 553 | /ansi-regex@5.0.1: 554 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 555 | engines: {node: '>=8'} 556 | 557 | /ansi-regex@6.0.1: 558 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 559 | engines: {node: '>=12'} 560 | 561 | /ansi-styles@4.3.0: 562 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 563 | engines: {node: '>=8'} 564 | dependencies: 565 | color-convert: 2.0.1 566 | 567 | /ansi-styles@6.2.1: 568 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 569 | engines: {node: '>=12'} 570 | 571 | /any-promise@1.3.0: 572 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 573 | 574 | /anymatch@3.1.3: 575 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 576 | engines: {node: '>= 8'} 577 | dependencies: 578 | normalize-path: 3.0.0 579 | picomatch: 2.3.1 580 | 581 | /arg@5.0.2: 582 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 583 | 584 | /argparse@2.0.1: 585 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 586 | dev: true 587 | 588 | /aria-query@5.3.0: 589 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 590 | dependencies: 591 | dequal: 2.0.3 592 | dev: true 593 | 594 | /array-buffer-byte-length@1.0.1: 595 | resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} 596 | engines: {node: '>= 0.4'} 597 | dependencies: 598 | call-bind: 1.0.7 599 | is-array-buffer: 3.0.4 600 | dev: true 601 | 602 | /array-includes@3.1.8: 603 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 604 | engines: {node: '>= 0.4'} 605 | dependencies: 606 | call-bind: 1.0.7 607 | define-properties: 1.2.1 608 | es-abstract: 1.23.3 609 | es-object-atoms: 1.0.0 610 | get-intrinsic: 1.2.4 611 | is-string: 1.0.7 612 | dev: true 613 | 614 | /array-union@2.1.0: 615 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 616 | engines: {node: '>=8'} 617 | dev: true 618 | 619 | /array.prototype.findlast@1.2.5: 620 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 621 | engines: {node: '>= 0.4'} 622 | dependencies: 623 | call-bind: 1.0.7 624 | define-properties: 1.2.1 625 | es-abstract: 1.23.3 626 | es-errors: 1.3.0 627 | es-object-atoms: 1.0.0 628 | es-shim-unscopables: 1.0.2 629 | dev: true 630 | 631 | /array.prototype.findlastindex@1.2.5: 632 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} 633 | engines: {node: '>= 0.4'} 634 | dependencies: 635 | call-bind: 1.0.7 636 | define-properties: 1.2.1 637 | es-abstract: 1.23.3 638 | es-errors: 1.3.0 639 | es-object-atoms: 1.0.0 640 | es-shim-unscopables: 1.0.2 641 | dev: true 642 | 643 | /array.prototype.flat@1.3.2: 644 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 645 | engines: {node: '>= 0.4'} 646 | dependencies: 647 | call-bind: 1.0.7 648 | define-properties: 1.2.1 649 | es-abstract: 1.23.3 650 | es-shim-unscopables: 1.0.2 651 | dev: true 652 | 653 | /array.prototype.flatmap@1.3.2: 654 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 655 | engines: {node: '>= 0.4'} 656 | dependencies: 657 | call-bind: 1.0.7 658 | define-properties: 1.2.1 659 | es-abstract: 1.23.3 660 | es-shim-unscopables: 1.0.2 661 | dev: true 662 | 663 | /array.prototype.toreversed@1.1.2: 664 | resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} 665 | dependencies: 666 | call-bind: 1.0.7 667 | define-properties: 1.2.1 668 | es-abstract: 1.23.3 669 | es-shim-unscopables: 1.0.2 670 | dev: true 671 | 672 | /array.prototype.tosorted@1.1.3: 673 | resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} 674 | dependencies: 675 | call-bind: 1.0.7 676 | define-properties: 1.2.1 677 | es-abstract: 1.23.3 678 | es-errors: 1.3.0 679 | es-shim-unscopables: 1.0.2 680 | dev: true 681 | 682 | /arraybuffer.prototype.slice@1.0.3: 683 | resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} 684 | engines: {node: '>= 0.4'} 685 | dependencies: 686 | array-buffer-byte-length: 1.0.1 687 | call-bind: 1.0.7 688 | define-properties: 1.2.1 689 | es-abstract: 1.23.3 690 | es-errors: 1.3.0 691 | get-intrinsic: 1.2.4 692 | is-array-buffer: 3.0.4 693 | is-shared-array-buffer: 1.0.3 694 | dev: true 695 | 696 | /ast-types-flow@0.0.8: 697 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 698 | dev: true 699 | 700 | /available-typed-arrays@1.0.7: 701 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 702 | engines: {node: '>= 0.4'} 703 | dependencies: 704 | possible-typed-array-names: 1.0.0 705 | dev: true 706 | 707 | /axe-core@4.7.0: 708 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} 709 | engines: {node: '>=4'} 710 | dev: true 711 | 712 | /axobject-query@3.2.1: 713 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} 714 | dependencies: 715 | dequal: 2.0.3 716 | dev: true 717 | 718 | /balanced-match@1.0.2: 719 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 720 | 721 | /binary-extensions@2.3.0: 722 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 723 | engines: {node: '>=8'} 724 | 725 | /brace-expansion@1.1.11: 726 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 727 | dependencies: 728 | balanced-match: 1.0.2 729 | concat-map: 0.0.1 730 | dev: true 731 | 732 | /brace-expansion@2.0.1: 733 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 734 | dependencies: 735 | balanced-match: 1.0.2 736 | 737 | /braces@3.0.2: 738 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 739 | engines: {node: '>=8'} 740 | dependencies: 741 | fill-range: 7.0.1 742 | 743 | /busboy@1.6.0: 744 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 745 | engines: {node: '>=10.16.0'} 746 | dependencies: 747 | streamsearch: 1.1.0 748 | dev: false 749 | 750 | /call-bind@1.0.7: 751 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 752 | engines: {node: '>= 0.4'} 753 | dependencies: 754 | es-define-property: 1.0.0 755 | es-errors: 1.3.0 756 | function-bind: 1.1.2 757 | get-intrinsic: 1.2.4 758 | set-function-length: 1.2.2 759 | dev: true 760 | 761 | /callsites@3.1.0: 762 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 763 | engines: {node: '>=6'} 764 | dev: true 765 | 766 | /camelcase-css@2.0.1: 767 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 768 | engines: {node: '>= 6'} 769 | 770 | /caniuse-lite@1.0.30001611: 771 | resolution: {integrity: sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==} 772 | dev: false 773 | 774 | /chalk@4.1.2: 775 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 776 | engines: {node: '>=10'} 777 | dependencies: 778 | ansi-styles: 4.3.0 779 | supports-color: 7.2.0 780 | dev: true 781 | 782 | /chokidar@3.6.0: 783 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 784 | engines: {node: '>= 8.10.0'} 785 | dependencies: 786 | anymatch: 3.1.3 787 | braces: 3.0.2 788 | glob-parent: 5.1.2 789 | is-binary-path: 2.1.0 790 | is-glob: 4.0.3 791 | normalize-path: 3.0.0 792 | readdirp: 3.6.0 793 | optionalDependencies: 794 | fsevents: 2.3.3 795 | 796 | /class-variance-authority@0.7.0: 797 | resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} 798 | dependencies: 799 | clsx: 2.0.0 800 | dev: false 801 | 802 | /client-only@0.0.1: 803 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 804 | dev: false 805 | 806 | /clsx@2.0.0: 807 | resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} 808 | engines: {node: '>=6'} 809 | dev: false 810 | 811 | /clsx@2.1.0: 812 | resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} 813 | engines: {node: '>=6'} 814 | dev: false 815 | 816 | /color-convert@2.0.1: 817 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 818 | engines: {node: '>=7.0.0'} 819 | dependencies: 820 | color-name: 1.1.4 821 | 822 | /color-name@1.1.4: 823 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 824 | 825 | /commander@4.1.1: 826 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 827 | engines: {node: '>= 6'} 828 | 829 | /concat-map@0.0.1: 830 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 831 | dev: true 832 | 833 | /cross-spawn@7.0.3: 834 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 835 | engines: {node: '>= 8'} 836 | dependencies: 837 | path-key: 3.1.1 838 | shebang-command: 2.0.0 839 | which: 2.0.2 840 | 841 | /cssesc@3.0.0: 842 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 843 | engines: {node: '>=4'} 844 | hasBin: true 845 | 846 | /csstype@3.1.3: 847 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 848 | 849 | /damerau-levenshtein@1.0.8: 850 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 851 | dev: true 852 | 853 | /data-view-buffer@1.0.1: 854 | resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} 855 | engines: {node: '>= 0.4'} 856 | dependencies: 857 | call-bind: 1.0.7 858 | es-errors: 1.3.0 859 | is-data-view: 1.0.1 860 | dev: true 861 | 862 | /data-view-byte-length@1.0.1: 863 | resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} 864 | engines: {node: '>= 0.4'} 865 | dependencies: 866 | call-bind: 1.0.7 867 | es-errors: 1.3.0 868 | is-data-view: 1.0.1 869 | dev: true 870 | 871 | /data-view-byte-offset@1.0.0: 872 | resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} 873 | engines: {node: '>= 0.4'} 874 | dependencies: 875 | call-bind: 1.0.7 876 | es-errors: 1.3.0 877 | is-data-view: 1.0.1 878 | dev: true 879 | 880 | /debug@3.2.7: 881 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 882 | peerDependencies: 883 | supports-color: '*' 884 | peerDependenciesMeta: 885 | supports-color: 886 | optional: true 887 | dependencies: 888 | ms: 2.1.3 889 | dev: true 890 | 891 | /debug@4.3.4: 892 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 893 | engines: {node: '>=6.0'} 894 | peerDependencies: 895 | supports-color: '*' 896 | peerDependenciesMeta: 897 | supports-color: 898 | optional: true 899 | dependencies: 900 | ms: 2.1.2 901 | dev: true 902 | 903 | /deep-is@0.1.4: 904 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 905 | dev: true 906 | 907 | /define-data-property@1.1.4: 908 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 909 | engines: {node: '>= 0.4'} 910 | dependencies: 911 | es-define-property: 1.0.0 912 | es-errors: 1.3.0 913 | gopd: 1.0.1 914 | dev: true 915 | 916 | /define-properties@1.2.1: 917 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 918 | engines: {node: '>= 0.4'} 919 | dependencies: 920 | define-data-property: 1.1.4 921 | has-property-descriptors: 1.0.2 922 | object-keys: 1.1.1 923 | dev: true 924 | 925 | /dequal@2.0.3: 926 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 927 | engines: {node: '>=6'} 928 | dev: true 929 | 930 | /didyoumean@1.2.2: 931 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 932 | 933 | /dir-glob@3.0.1: 934 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 935 | engines: {node: '>=8'} 936 | dependencies: 937 | path-type: 4.0.0 938 | dev: true 939 | 940 | /dlv@1.1.3: 941 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 942 | 943 | /doctrine@2.1.0: 944 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 945 | engines: {node: '>=0.10.0'} 946 | dependencies: 947 | esutils: 2.0.3 948 | dev: true 949 | 950 | /doctrine@3.0.0: 951 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 952 | engines: {node: '>=6.0.0'} 953 | dependencies: 954 | esutils: 2.0.3 955 | dev: true 956 | 957 | /eastasianwidth@0.2.0: 958 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 959 | 960 | /emoji-regex@8.0.0: 961 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 962 | 963 | /emoji-regex@9.2.2: 964 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 965 | 966 | /enhanced-resolve@5.16.0: 967 | resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} 968 | engines: {node: '>=10.13.0'} 969 | dependencies: 970 | graceful-fs: 4.2.11 971 | tapable: 2.2.1 972 | dev: true 973 | 974 | /es-abstract@1.23.3: 975 | resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} 976 | engines: {node: '>= 0.4'} 977 | dependencies: 978 | array-buffer-byte-length: 1.0.1 979 | arraybuffer.prototype.slice: 1.0.3 980 | available-typed-arrays: 1.0.7 981 | call-bind: 1.0.7 982 | data-view-buffer: 1.0.1 983 | data-view-byte-length: 1.0.1 984 | data-view-byte-offset: 1.0.0 985 | es-define-property: 1.0.0 986 | es-errors: 1.3.0 987 | es-object-atoms: 1.0.0 988 | es-set-tostringtag: 2.0.3 989 | es-to-primitive: 1.2.1 990 | function.prototype.name: 1.1.6 991 | get-intrinsic: 1.2.4 992 | get-symbol-description: 1.0.2 993 | globalthis: 1.0.3 994 | gopd: 1.0.1 995 | has-property-descriptors: 1.0.2 996 | has-proto: 1.0.3 997 | has-symbols: 1.0.3 998 | hasown: 2.0.2 999 | internal-slot: 1.0.7 1000 | is-array-buffer: 3.0.4 1001 | is-callable: 1.2.7 1002 | is-data-view: 1.0.1 1003 | is-negative-zero: 2.0.3 1004 | is-regex: 1.1.4 1005 | is-shared-array-buffer: 1.0.3 1006 | is-string: 1.0.7 1007 | is-typed-array: 1.1.13 1008 | is-weakref: 1.0.2 1009 | object-inspect: 1.13.1 1010 | object-keys: 1.1.1 1011 | object.assign: 4.1.5 1012 | regexp.prototype.flags: 1.5.2 1013 | safe-array-concat: 1.1.2 1014 | safe-regex-test: 1.0.3 1015 | string.prototype.trim: 1.2.9 1016 | string.prototype.trimend: 1.0.8 1017 | string.prototype.trimstart: 1.0.8 1018 | typed-array-buffer: 1.0.2 1019 | typed-array-byte-length: 1.0.1 1020 | typed-array-byte-offset: 1.0.2 1021 | typed-array-length: 1.0.6 1022 | unbox-primitive: 1.0.2 1023 | which-typed-array: 1.1.15 1024 | dev: true 1025 | 1026 | /es-define-property@1.0.0: 1027 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 1028 | engines: {node: '>= 0.4'} 1029 | dependencies: 1030 | get-intrinsic: 1.2.4 1031 | dev: true 1032 | 1033 | /es-errors@1.3.0: 1034 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 1035 | engines: {node: '>= 0.4'} 1036 | dev: true 1037 | 1038 | /es-iterator-helpers@1.0.18: 1039 | resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} 1040 | engines: {node: '>= 0.4'} 1041 | dependencies: 1042 | call-bind: 1.0.7 1043 | define-properties: 1.2.1 1044 | es-abstract: 1.23.3 1045 | es-errors: 1.3.0 1046 | es-set-tostringtag: 2.0.3 1047 | function-bind: 1.1.2 1048 | get-intrinsic: 1.2.4 1049 | globalthis: 1.0.3 1050 | has-property-descriptors: 1.0.2 1051 | has-proto: 1.0.3 1052 | has-symbols: 1.0.3 1053 | internal-slot: 1.0.7 1054 | iterator.prototype: 1.1.2 1055 | safe-array-concat: 1.1.2 1056 | dev: true 1057 | 1058 | /es-object-atoms@1.0.0: 1059 | resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} 1060 | engines: {node: '>= 0.4'} 1061 | dependencies: 1062 | es-errors: 1.3.0 1063 | dev: true 1064 | 1065 | /es-set-tostringtag@2.0.3: 1066 | resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} 1067 | engines: {node: '>= 0.4'} 1068 | dependencies: 1069 | get-intrinsic: 1.2.4 1070 | has-tostringtag: 1.0.2 1071 | hasown: 2.0.2 1072 | dev: true 1073 | 1074 | /es-shim-unscopables@1.0.2: 1075 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 1076 | dependencies: 1077 | hasown: 2.0.2 1078 | dev: true 1079 | 1080 | /es-to-primitive@1.2.1: 1081 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1082 | engines: {node: '>= 0.4'} 1083 | dependencies: 1084 | is-callable: 1.2.7 1085 | is-date-object: 1.0.5 1086 | is-symbol: 1.0.4 1087 | dev: true 1088 | 1089 | /escape-string-regexp@4.0.0: 1090 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1091 | engines: {node: '>=10'} 1092 | dev: true 1093 | 1094 | /eslint-config-next@14.2.2(eslint@8.57.0)(typescript@5.4.5): 1095 | resolution: {integrity: sha512-12/uFc0KX+wUs7EDpOUGKMXBXZJiBVGdK5/m/QgXOCg2mQ0bQWoKSWNrCeOg7Vum6Kw1d1TW453W6xh+GbHquw==} 1096 | peerDependencies: 1097 | eslint: ^7.23.0 || ^8.0.0 1098 | typescript: '>=3.3.1' 1099 | peerDependenciesMeta: 1100 | typescript: 1101 | optional: true 1102 | dependencies: 1103 | '@next/eslint-plugin-next': 14.2.2 1104 | '@rushstack/eslint-patch': 1.10.2 1105 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 1106 | eslint: 8.57.0 1107 | eslint-import-resolver-node: 0.3.9 1108 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) 1109 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 1110 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) 1111 | eslint-plugin-react: 7.34.1(eslint@8.57.0) 1112 | eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) 1113 | typescript: 5.4.5 1114 | transitivePeerDependencies: 1115 | - eslint-import-resolver-webpack 1116 | - supports-color 1117 | dev: true 1118 | 1119 | /eslint-import-resolver-node@0.3.9: 1120 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 1121 | dependencies: 1122 | debug: 3.2.7 1123 | is-core-module: 2.13.1 1124 | resolve: 1.22.8 1125 | transitivePeerDependencies: 1126 | - supports-color 1127 | dev: true 1128 | 1129 | /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): 1130 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} 1131 | engines: {node: ^14.18.0 || >=16.0.0} 1132 | peerDependencies: 1133 | eslint: '*' 1134 | eslint-plugin-import: '*' 1135 | dependencies: 1136 | debug: 4.3.4 1137 | enhanced-resolve: 5.16.0 1138 | eslint: 8.57.0 1139 | eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 1140 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 1141 | fast-glob: 3.3.2 1142 | get-tsconfig: 4.7.3 1143 | is-core-module: 2.13.1 1144 | is-glob: 4.0.3 1145 | transitivePeerDependencies: 1146 | - '@typescript-eslint/parser' 1147 | - eslint-import-resolver-node 1148 | - eslint-import-resolver-webpack 1149 | - supports-color 1150 | dev: true 1151 | 1152 | /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): 1153 | resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} 1154 | engines: {node: '>=4'} 1155 | peerDependencies: 1156 | '@typescript-eslint/parser': '*' 1157 | eslint: '*' 1158 | eslint-import-resolver-node: '*' 1159 | eslint-import-resolver-typescript: '*' 1160 | eslint-import-resolver-webpack: '*' 1161 | peerDependenciesMeta: 1162 | '@typescript-eslint/parser': 1163 | optional: true 1164 | eslint: 1165 | optional: true 1166 | eslint-import-resolver-node: 1167 | optional: true 1168 | eslint-import-resolver-typescript: 1169 | optional: true 1170 | eslint-import-resolver-webpack: 1171 | optional: true 1172 | dependencies: 1173 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 1174 | debug: 3.2.7 1175 | eslint: 8.57.0 1176 | eslint-import-resolver-node: 0.3.9 1177 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) 1178 | transitivePeerDependencies: 1179 | - supports-color 1180 | dev: true 1181 | 1182 | /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): 1183 | resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} 1184 | engines: {node: '>=4'} 1185 | peerDependencies: 1186 | '@typescript-eslint/parser': '*' 1187 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1188 | peerDependenciesMeta: 1189 | '@typescript-eslint/parser': 1190 | optional: true 1191 | dependencies: 1192 | '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) 1193 | array-includes: 3.1.8 1194 | array.prototype.findlastindex: 1.2.5 1195 | array.prototype.flat: 1.3.2 1196 | array.prototype.flatmap: 1.3.2 1197 | debug: 3.2.7 1198 | doctrine: 2.1.0 1199 | eslint: 8.57.0 1200 | eslint-import-resolver-node: 0.3.9 1201 | eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) 1202 | hasown: 2.0.2 1203 | is-core-module: 2.13.1 1204 | is-glob: 4.0.3 1205 | minimatch: 3.1.2 1206 | object.fromentries: 2.0.8 1207 | object.groupby: 1.0.3 1208 | object.values: 1.2.0 1209 | semver: 6.3.1 1210 | tsconfig-paths: 3.15.0 1211 | transitivePeerDependencies: 1212 | - eslint-import-resolver-typescript 1213 | - eslint-import-resolver-webpack 1214 | - supports-color 1215 | dev: true 1216 | 1217 | /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): 1218 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} 1219 | engines: {node: '>=4.0'} 1220 | peerDependencies: 1221 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1222 | dependencies: 1223 | '@babel/runtime': 7.24.4 1224 | aria-query: 5.3.0 1225 | array-includes: 3.1.8 1226 | array.prototype.flatmap: 1.3.2 1227 | ast-types-flow: 0.0.8 1228 | axe-core: 4.7.0 1229 | axobject-query: 3.2.1 1230 | damerau-levenshtein: 1.0.8 1231 | emoji-regex: 9.2.2 1232 | es-iterator-helpers: 1.0.18 1233 | eslint: 8.57.0 1234 | hasown: 2.0.2 1235 | jsx-ast-utils: 3.3.5 1236 | language-tags: 1.0.9 1237 | minimatch: 3.1.2 1238 | object.entries: 1.1.8 1239 | object.fromentries: 2.0.8 1240 | dev: true 1241 | 1242 | /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): 1243 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} 1244 | engines: {node: '>=10'} 1245 | peerDependencies: 1246 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1247 | dependencies: 1248 | eslint: 8.57.0 1249 | dev: true 1250 | 1251 | /eslint-plugin-react@7.34.1(eslint@8.57.0): 1252 | resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} 1253 | engines: {node: '>=4'} 1254 | peerDependencies: 1255 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1256 | dependencies: 1257 | array-includes: 3.1.8 1258 | array.prototype.findlast: 1.2.5 1259 | array.prototype.flatmap: 1.3.2 1260 | array.prototype.toreversed: 1.1.2 1261 | array.prototype.tosorted: 1.1.3 1262 | doctrine: 2.1.0 1263 | es-iterator-helpers: 1.0.18 1264 | eslint: 8.57.0 1265 | estraverse: 5.3.0 1266 | jsx-ast-utils: 3.3.5 1267 | minimatch: 3.1.2 1268 | object.entries: 1.1.8 1269 | object.fromentries: 2.0.8 1270 | object.hasown: 1.1.4 1271 | object.values: 1.2.0 1272 | prop-types: 15.8.1 1273 | resolve: 2.0.0-next.5 1274 | semver: 6.3.1 1275 | string.prototype.matchall: 4.0.11 1276 | dev: true 1277 | 1278 | /eslint-scope@7.2.2: 1279 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1280 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1281 | dependencies: 1282 | esrecurse: 4.3.0 1283 | estraverse: 5.3.0 1284 | dev: true 1285 | 1286 | /eslint-visitor-keys@3.4.3: 1287 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1288 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1289 | dev: true 1290 | 1291 | /eslint@8.57.0: 1292 | resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} 1293 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1294 | hasBin: true 1295 | dependencies: 1296 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) 1297 | '@eslint-community/regexpp': 4.10.0 1298 | '@eslint/eslintrc': 2.1.4 1299 | '@eslint/js': 8.57.0 1300 | '@humanwhocodes/config-array': 0.11.14 1301 | '@humanwhocodes/module-importer': 1.0.1 1302 | '@nodelib/fs.walk': 1.2.8 1303 | '@ungap/structured-clone': 1.2.0 1304 | ajv: 6.12.6 1305 | chalk: 4.1.2 1306 | cross-spawn: 7.0.3 1307 | debug: 4.3.4 1308 | doctrine: 3.0.0 1309 | escape-string-regexp: 4.0.0 1310 | eslint-scope: 7.2.2 1311 | eslint-visitor-keys: 3.4.3 1312 | espree: 9.6.1 1313 | esquery: 1.5.0 1314 | esutils: 2.0.3 1315 | fast-deep-equal: 3.1.3 1316 | file-entry-cache: 6.0.1 1317 | find-up: 5.0.0 1318 | glob-parent: 6.0.2 1319 | globals: 13.24.0 1320 | graphemer: 1.4.0 1321 | ignore: 5.3.1 1322 | imurmurhash: 0.1.4 1323 | is-glob: 4.0.3 1324 | is-path-inside: 3.0.3 1325 | js-yaml: 4.1.0 1326 | json-stable-stringify-without-jsonify: 1.0.1 1327 | levn: 0.4.1 1328 | lodash.merge: 4.6.2 1329 | minimatch: 3.1.2 1330 | natural-compare: 1.4.0 1331 | optionator: 0.9.3 1332 | strip-ansi: 6.0.1 1333 | text-table: 0.2.0 1334 | transitivePeerDependencies: 1335 | - supports-color 1336 | dev: true 1337 | 1338 | /espree@9.6.1: 1339 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1340 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1341 | dependencies: 1342 | acorn: 8.11.3 1343 | acorn-jsx: 5.3.2(acorn@8.11.3) 1344 | eslint-visitor-keys: 3.4.3 1345 | dev: true 1346 | 1347 | /esquery@1.5.0: 1348 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1349 | engines: {node: '>=0.10'} 1350 | dependencies: 1351 | estraverse: 5.3.0 1352 | dev: true 1353 | 1354 | /esrecurse@4.3.0: 1355 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1356 | engines: {node: '>=4.0'} 1357 | dependencies: 1358 | estraverse: 5.3.0 1359 | dev: true 1360 | 1361 | /estraverse@5.3.0: 1362 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1363 | engines: {node: '>=4.0'} 1364 | dev: true 1365 | 1366 | /esutils@2.0.3: 1367 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1368 | engines: {node: '>=0.10.0'} 1369 | dev: true 1370 | 1371 | /fast-deep-equal@3.1.3: 1372 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1373 | dev: true 1374 | 1375 | /fast-glob@3.3.2: 1376 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1377 | engines: {node: '>=8.6.0'} 1378 | dependencies: 1379 | '@nodelib/fs.stat': 2.0.5 1380 | '@nodelib/fs.walk': 1.2.8 1381 | glob-parent: 5.1.2 1382 | merge2: 1.4.1 1383 | micromatch: 4.0.5 1384 | 1385 | /fast-json-stable-stringify@2.1.0: 1386 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1387 | dev: true 1388 | 1389 | /fast-levenshtein@2.0.6: 1390 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1391 | dev: true 1392 | 1393 | /fastq@1.17.1: 1394 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1395 | dependencies: 1396 | reusify: 1.0.4 1397 | 1398 | /file-entry-cache@6.0.1: 1399 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1400 | engines: {node: ^10.12.0 || >=12.0.0} 1401 | dependencies: 1402 | flat-cache: 3.2.0 1403 | dev: true 1404 | 1405 | /fill-range@7.0.1: 1406 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1407 | engines: {node: '>=8'} 1408 | dependencies: 1409 | to-regex-range: 5.0.1 1410 | 1411 | /find-up@5.0.0: 1412 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1413 | engines: {node: '>=10'} 1414 | dependencies: 1415 | locate-path: 6.0.0 1416 | path-exists: 4.0.0 1417 | dev: true 1418 | 1419 | /flat-cache@3.2.0: 1420 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1421 | engines: {node: ^10.12.0 || >=12.0.0} 1422 | dependencies: 1423 | flatted: 3.3.1 1424 | keyv: 4.5.4 1425 | rimraf: 3.0.2 1426 | dev: true 1427 | 1428 | /flatted@3.3.1: 1429 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 1430 | dev: true 1431 | 1432 | /for-each@0.3.3: 1433 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1434 | dependencies: 1435 | is-callable: 1.2.7 1436 | dev: true 1437 | 1438 | /foreground-child@3.1.1: 1439 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} 1440 | engines: {node: '>=14'} 1441 | dependencies: 1442 | cross-spawn: 7.0.3 1443 | signal-exit: 4.1.0 1444 | 1445 | /framer-motion@11.1.5(react-dom@18.2.0)(react@18.2.0): 1446 | resolution: {integrity: sha512-ogK5fc0GBUT3AjzMXPx7f74m5V1ByRqkKQARBVHpdkYTNDxb/WriANYD+5JBo1wklQQJ1HayDZtmofQLqZFcbw==} 1447 | peerDependencies: 1448 | '@emotion/is-prop-valid': '*' 1449 | react: ^18.0.0 1450 | react-dom: ^18.0.0 1451 | peerDependenciesMeta: 1452 | '@emotion/is-prop-valid': 1453 | optional: true 1454 | react: 1455 | optional: true 1456 | react-dom: 1457 | optional: true 1458 | dependencies: 1459 | react: 18.2.0 1460 | react-dom: 18.2.0(react@18.2.0) 1461 | tslib: 2.6.2 1462 | dev: false 1463 | 1464 | /fs.realpath@1.0.0: 1465 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1466 | dev: true 1467 | 1468 | /fsevents@2.3.3: 1469 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1470 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1471 | os: [darwin] 1472 | requiresBuild: true 1473 | optional: true 1474 | 1475 | /function-bind@1.1.2: 1476 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1477 | 1478 | /function.prototype.name@1.1.6: 1479 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 1480 | engines: {node: '>= 0.4'} 1481 | dependencies: 1482 | call-bind: 1.0.7 1483 | define-properties: 1.2.1 1484 | es-abstract: 1.23.3 1485 | functions-have-names: 1.2.3 1486 | dev: true 1487 | 1488 | /functions-have-names@1.2.3: 1489 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1490 | dev: true 1491 | 1492 | /get-intrinsic@1.2.4: 1493 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 1494 | engines: {node: '>= 0.4'} 1495 | dependencies: 1496 | es-errors: 1.3.0 1497 | function-bind: 1.1.2 1498 | has-proto: 1.0.3 1499 | has-symbols: 1.0.3 1500 | hasown: 2.0.2 1501 | dev: true 1502 | 1503 | /get-symbol-description@1.0.2: 1504 | resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 1505 | engines: {node: '>= 0.4'} 1506 | dependencies: 1507 | call-bind: 1.0.7 1508 | es-errors: 1.3.0 1509 | get-intrinsic: 1.2.4 1510 | dev: true 1511 | 1512 | /get-tsconfig@4.7.3: 1513 | resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} 1514 | dependencies: 1515 | resolve-pkg-maps: 1.0.0 1516 | dev: true 1517 | 1518 | /glob-parent@5.1.2: 1519 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1520 | engines: {node: '>= 6'} 1521 | dependencies: 1522 | is-glob: 4.0.3 1523 | 1524 | /glob-parent@6.0.2: 1525 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1526 | engines: {node: '>=10.13.0'} 1527 | dependencies: 1528 | is-glob: 4.0.3 1529 | 1530 | /glob@10.3.10: 1531 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} 1532 | engines: {node: '>=16 || 14 >=14.17'} 1533 | hasBin: true 1534 | dependencies: 1535 | foreground-child: 3.1.1 1536 | jackspeak: 2.3.6 1537 | minimatch: 9.0.4 1538 | minipass: 7.0.4 1539 | path-scurry: 1.10.2 1540 | dev: true 1541 | 1542 | /glob@10.3.12: 1543 | resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} 1544 | engines: {node: '>=16 || 14 >=14.17'} 1545 | hasBin: true 1546 | dependencies: 1547 | foreground-child: 3.1.1 1548 | jackspeak: 2.3.6 1549 | minimatch: 9.0.4 1550 | minipass: 7.0.4 1551 | path-scurry: 1.10.2 1552 | 1553 | /glob@7.2.3: 1554 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1555 | dependencies: 1556 | fs.realpath: 1.0.0 1557 | inflight: 1.0.6 1558 | inherits: 2.0.4 1559 | minimatch: 3.1.2 1560 | once: 1.4.0 1561 | path-is-absolute: 1.0.1 1562 | dev: true 1563 | 1564 | /globals@13.24.0: 1565 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1566 | engines: {node: '>=8'} 1567 | dependencies: 1568 | type-fest: 0.20.2 1569 | dev: true 1570 | 1571 | /globalthis@1.0.3: 1572 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 1573 | engines: {node: '>= 0.4'} 1574 | dependencies: 1575 | define-properties: 1.2.1 1576 | dev: true 1577 | 1578 | /globby@11.1.0: 1579 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1580 | engines: {node: '>=10'} 1581 | dependencies: 1582 | array-union: 2.1.0 1583 | dir-glob: 3.0.1 1584 | fast-glob: 3.3.2 1585 | ignore: 5.3.1 1586 | merge2: 1.4.1 1587 | slash: 3.0.0 1588 | dev: true 1589 | 1590 | /gopd@1.0.1: 1591 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1592 | dependencies: 1593 | get-intrinsic: 1.2.4 1594 | dev: true 1595 | 1596 | /graceful-fs@4.2.11: 1597 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1598 | 1599 | /graphemer@1.4.0: 1600 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1601 | dev: true 1602 | 1603 | /has-bigints@1.0.2: 1604 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1605 | dev: true 1606 | 1607 | /has-flag@4.0.0: 1608 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1609 | engines: {node: '>=8'} 1610 | dev: true 1611 | 1612 | /has-property-descriptors@1.0.2: 1613 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1614 | dependencies: 1615 | es-define-property: 1.0.0 1616 | dev: true 1617 | 1618 | /has-proto@1.0.3: 1619 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 1620 | engines: {node: '>= 0.4'} 1621 | dev: true 1622 | 1623 | /has-symbols@1.0.3: 1624 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1625 | engines: {node: '>= 0.4'} 1626 | dev: true 1627 | 1628 | /has-tostringtag@1.0.2: 1629 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1630 | engines: {node: '>= 0.4'} 1631 | dependencies: 1632 | has-symbols: 1.0.3 1633 | dev: true 1634 | 1635 | /hasown@2.0.2: 1636 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1637 | engines: {node: '>= 0.4'} 1638 | dependencies: 1639 | function-bind: 1.1.2 1640 | 1641 | /ignore@5.3.1: 1642 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 1643 | engines: {node: '>= 4'} 1644 | dev: true 1645 | 1646 | /import-fresh@3.3.0: 1647 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1648 | engines: {node: '>=6'} 1649 | dependencies: 1650 | parent-module: 1.0.1 1651 | resolve-from: 4.0.0 1652 | dev: true 1653 | 1654 | /imurmurhash@0.1.4: 1655 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1656 | engines: {node: '>=0.8.19'} 1657 | dev: true 1658 | 1659 | /inflight@1.0.6: 1660 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1661 | dependencies: 1662 | once: 1.4.0 1663 | wrappy: 1.0.2 1664 | dev: true 1665 | 1666 | /inherits@2.0.4: 1667 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1668 | dev: true 1669 | 1670 | /internal-slot@1.0.7: 1671 | resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} 1672 | engines: {node: '>= 0.4'} 1673 | dependencies: 1674 | es-errors: 1.3.0 1675 | hasown: 2.0.2 1676 | side-channel: 1.0.6 1677 | dev: true 1678 | 1679 | /is-array-buffer@3.0.4: 1680 | resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} 1681 | engines: {node: '>= 0.4'} 1682 | dependencies: 1683 | call-bind: 1.0.7 1684 | get-intrinsic: 1.2.4 1685 | dev: true 1686 | 1687 | /is-async-function@2.0.0: 1688 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} 1689 | engines: {node: '>= 0.4'} 1690 | dependencies: 1691 | has-tostringtag: 1.0.2 1692 | dev: true 1693 | 1694 | /is-bigint@1.0.4: 1695 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1696 | dependencies: 1697 | has-bigints: 1.0.2 1698 | dev: true 1699 | 1700 | /is-binary-path@2.1.0: 1701 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1702 | engines: {node: '>=8'} 1703 | dependencies: 1704 | binary-extensions: 2.3.0 1705 | 1706 | /is-boolean-object@1.1.2: 1707 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1708 | engines: {node: '>= 0.4'} 1709 | dependencies: 1710 | call-bind: 1.0.7 1711 | has-tostringtag: 1.0.2 1712 | dev: true 1713 | 1714 | /is-callable@1.2.7: 1715 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1716 | engines: {node: '>= 0.4'} 1717 | dev: true 1718 | 1719 | /is-core-module@2.13.1: 1720 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 1721 | dependencies: 1722 | hasown: 2.0.2 1723 | 1724 | /is-data-view@1.0.1: 1725 | resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} 1726 | engines: {node: '>= 0.4'} 1727 | dependencies: 1728 | is-typed-array: 1.1.13 1729 | dev: true 1730 | 1731 | /is-date-object@1.0.5: 1732 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1733 | engines: {node: '>= 0.4'} 1734 | dependencies: 1735 | has-tostringtag: 1.0.2 1736 | dev: true 1737 | 1738 | /is-extglob@2.1.1: 1739 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1740 | engines: {node: '>=0.10.0'} 1741 | 1742 | /is-finalizationregistry@1.0.2: 1743 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} 1744 | dependencies: 1745 | call-bind: 1.0.7 1746 | dev: true 1747 | 1748 | /is-fullwidth-code-point@3.0.0: 1749 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1750 | engines: {node: '>=8'} 1751 | 1752 | /is-generator-function@1.0.10: 1753 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} 1754 | engines: {node: '>= 0.4'} 1755 | dependencies: 1756 | has-tostringtag: 1.0.2 1757 | dev: true 1758 | 1759 | /is-glob@4.0.3: 1760 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1761 | engines: {node: '>=0.10.0'} 1762 | dependencies: 1763 | is-extglob: 2.1.1 1764 | 1765 | /is-map@2.0.3: 1766 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1767 | engines: {node: '>= 0.4'} 1768 | dev: true 1769 | 1770 | /is-negative-zero@2.0.3: 1771 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 1772 | engines: {node: '>= 0.4'} 1773 | dev: true 1774 | 1775 | /is-number-object@1.0.7: 1776 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1777 | engines: {node: '>= 0.4'} 1778 | dependencies: 1779 | has-tostringtag: 1.0.2 1780 | dev: true 1781 | 1782 | /is-number@7.0.0: 1783 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1784 | engines: {node: '>=0.12.0'} 1785 | 1786 | /is-path-inside@3.0.3: 1787 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1788 | engines: {node: '>=8'} 1789 | dev: true 1790 | 1791 | /is-regex@1.1.4: 1792 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1793 | engines: {node: '>= 0.4'} 1794 | dependencies: 1795 | call-bind: 1.0.7 1796 | has-tostringtag: 1.0.2 1797 | dev: true 1798 | 1799 | /is-set@2.0.3: 1800 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1801 | engines: {node: '>= 0.4'} 1802 | dev: true 1803 | 1804 | /is-shared-array-buffer@1.0.3: 1805 | resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} 1806 | engines: {node: '>= 0.4'} 1807 | dependencies: 1808 | call-bind: 1.0.7 1809 | dev: true 1810 | 1811 | /is-string@1.0.7: 1812 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1813 | engines: {node: '>= 0.4'} 1814 | dependencies: 1815 | has-tostringtag: 1.0.2 1816 | dev: true 1817 | 1818 | /is-symbol@1.0.4: 1819 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1820 | engines: {node: '>= 0.4'} 1821 | dependencies: 1822 | has-symbols: 1.0.3 1823 | dev: true 1824 | 1825 | /is-typed-array@1.1.13: 1826 | resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} 1827 | engines: {node: '>= 0.4'} 1828 | dependencies: 1829 | which-typed-array: 1.1.15 1830 | dev: true 1831 | 1832 | /is-weakmap@2.0.2: 1833 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1834 | engines: {node: '>= 0.4'} 1835 | dev: true 1836 | 1837 | /is-weakref@1.0.2: 1838 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1839 | dependencies: 1840 | call-bind: 1.0.7 1841 | dev: true 1842 | 1843 | /is-weakset@2.0.3: 1844 | resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} 1845 | engines: {node: '>= 0.4'} 1846 | dependencies: 1847 | call-bind: 1.0.7 1848 | get-intrinsic: 1.2.4 1849 | dev: true 1850 | 1851 | /isarray@2.0.5: 1852 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1853 | dev: true 1854 | 1855 | /isexe@2.0.0: 1856 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1857 | 1858 | /iterator.prototype@1.1.2: 1859 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} 1860 | dependencies: 1861 | define-properties: 1.2.1 1862 | get-intrinsic: 1.2.4 1863 | has-symbols: 1.0.3 1864 | reflect.getprototypeof: 1.0.6 1865 | set-function-name: 2.0.2 1866 | dev: true 1867 | 1868 | /jackspeak@2.3.6: 1869 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} 1870 | engines: {node: '>=14'} 1871 | dependencies: 1872 | '@isaacs/cliui': 8.0.2 1873 | optionalDependencies: 1874 | '@pkgjs/parseargs': 0.11.0 1875 | 1876 | /jiti@1.21.0: 1877 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 1878 | hasBin: true 1879 | 1880 | /js-tokens@4.0.0: 1881 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1882 | 1883 | /js-yaml@4.1.0: 1884 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1885 | hasBin: true 1886 | dependencies: 1887 | argparse: 2.0.1 1888 | dev: true 1889 | 1890 | /json-buffer@3.0.1: 1891 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1892 | dev: true 1893 | 1894 | /json-schema-traverse@0.4.1: 1895 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1896 | dev: true 1897 | 1898 | /json-stable-stringify-without-jsonify@1.0.1: 1899 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1900 | dev: true 1901 | 1902 | /json5@1.0.2: 1903 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1904 | hasBin: true 1905 | dependencies: 1906 | minimist: 1.2.8 1907 | dev: true 1908 | 1909 | /jsx-ast-utils@3.3.5: 1910 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 1911 | engines: {node: '>=4.0'} 1912 | dependencies: 1913 | array-includes: 3.1.8 1914 | array.prototype.flat: 1.3.2 1915 | object.assign: 4.1.5 1916 | object.values: 1.2.0 1917 | dev: true 1918 | 1919 | /keyv@4.5.4: 1920 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1921 | dependencies: 1922 | json-buffer: 3.0.1 1923 | dev: true 1924 | 1925 | /language-subtag-registry@0.3.22: 1926 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} 1927 | dev: true 1928 | 1929 | /language-tags@1.0.9: 1930 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 1931 | engines: {node: '>=0.10'} 1932 | dependencies: 1933 | language-subtag-registry: 0.3.22 1934 | dev: true 1935 | 1936 | /levn@0.4.1: 1937 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1938 | engines: {node: '>= 0.8.0'} 1939 | dependencies: 1940 | prelude-ls: 1.2.1 1941 | type-check: 0.4.0 1942 | dev: true 1943 | 1944 | /lilconfig@2.1.0: 1945 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1946 | engines: {node: '>=10'} 1947 | 1948 | /lilconfig@3.1.1: 1949 | resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} 1950 | engines: {node: '>=14'} 1951 | 1952 | /lines-and-columns@1.2.4: 1953 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1954 | 1955 | /locate-path@6.0.0: 1956 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1957 | engines: {node: '>=10'} 1958 | dependencies: 1959 | p-locate: 5.0.0 1960 | dev: true 1961 | 1962 | /lodash.merge@4.6.2: 1963 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1964 | dev: true 1965 | 1966 | /loose-envify@1.4.0: 1967 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1968 | hasBin: true 1969 | dependencies: 1970 | js-tokens: 4.0.0 1971 | 1972 | /lru-cache@10.2.0: 1973 | resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} 1974 | engines: {node: 14 || >=16.14} 1975 | 1976 | /lru-cache@6.0.0: 1977 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1978 | engines: {node: '>=10'} 1979 | dependencies: 1980 | yallist: 4.0.0 1981 | dev: true 1982 | 1983 | /lucide-react@0.371.0(react@18.2.0): 1984 | resolution: {integrity: sha512-FpUup3kaya7JpGHaoNYn1o0Z8IFvR9w4LeXr2ad20DTr3RFLBXD69bVXagV/I8yWyCJu3it1d1B3bNSa5ui4AA==} 1985 | peerDependencies: 1986 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 1987 | dependencies: 1988 | react: 18.2.0 1989 | dev: false 1990 | 1991 | /merge2@1.4.1: 1992 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1993 | engines: {node: '>= 8'} 1994 | 1995 | /micromatch@4.0.5: 1996 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1997 | engines: {node: '>=8.6'} 1998 | dependencies: 1999 | braces: 3.0.2 2000 | picomatch: 2.3.1 2001 | 2002 | /minimatch@3.1.2: 2003 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2004 | dependencies: 2005 | brace-expansion: 1.1.11 2006 | dev: true 2007 | 2008 | /minimatch@9.0.3: 2009 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 2010 | engines: {node: '>=16 || 14 >=14.17'} 2011 | dependencies: 2012 | brace-expansion: 2.0.1 2013 | dev: true 2014 | 2015 | /minimatch@9.0.4: 2016 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} 2017 | engines: {node: '>=16 || 14 >=14.17'} 2018 | dependencies: 2019 | brace-expansion: 2.0.1 2020 | 2021 | /minimist@1.2.8: 2022 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 2023 | dev: true 2024 | 2025 | /minipass@7.0.4: 2026 | resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} 2027 | engines: {node: '>=16 || 14 >=14.17'} 2028 | 2029 | /ms@2.1.2: 2030 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2031 | dev: true 2032 | 2033 | /ms@2.1.3: 2034 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2035 | dev: true 2036 | 2037 | /mz@2.7.0: 2038 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 2039 | dependencies: 2040 | any-promise: 1.3.0 2041 | object-assign: 4.1.1 2042 | thenify-all: 1.6.0 2043 | 2044 | /nanoid@3.3.7: 2045 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 2046 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2047 | hasBin: true 2048 | 2049 | /natural-compare@1.4.0: 2050 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2051 | dev: true 2052 | 2053 | /next-themes@0.3.0(react-dom@18.2.0)(react@18.2.0): 2054 | resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} 2055 | peerDependencies: 2056 | react: ^16.8 || ^17 || ^18 2057 | react-dom: ^16.8 || ^17 || ^18 2058 | dependencies: 2059 | react: 18.2.0 2060 | react-dom: 18.2.0(react@18.2.0) 2061 | dev: false 2062 | 2063 | /next@14.2.2(react-dom@18.2.0)(react@18.2.0): 2064 | resolution: {integrity: sha512-oGwUaa2bCs47FbuxWMpOoXtBMPYpvTPgdZr3UAo+pu7Ns00z9otmYpoeV1HEiYL06AlRQQIA/ypK526KjJfaxg==} 2065 | engines: {node: '>=18.17.0'} 2066 | hasBin: true 2067 | peerDependencies: 2068 | '@opentelemetry/api': ^1.1.0 2069 | '@playwright/test': ^1.41.2 2070 | react: ^18.2.0 2071 | react-dom: ^18.2.0 2072 | sass: ^1.3.0 2073 | peerDependenciesMeta: 2074 | '@opentelemetry/api': 2075 | optional: true 2076 | '@playwright/test': 2077 | optional: true 2078 | sass: 2079 | optional: true 2080 | dependencies: 2081 | '@next/env': 14.2.2 2082 | '@swc/helpers': 0.5.5 2083 | busboy: 1.6.0 2084 | caniuse-lite: 1.0.30001611 2085 | graceful-fs: 4.2.11 2086 | postcss: 8.4.31 2087 | react: 18.2.0 2088 | react-dom: 18.2.0(react@18.2.0) 2089 | styled-jsx: 5.1.1(react@18.2.0) 2090 | optionalDependencies: 2091 | '@next/swc-darwin-arm64': 14.2.2 2092 | '@next/swc-darwin-x64': 14.2.2 2093 | '@next/swc-linux-arm64-gnu': 14.2.2 2094 | '@next/swc-linux-arm64-musl': 14.2.2 2095 | '@next/swc-linux-x64-gnu': 14.2.2 2096 | '@next/swc-linux-x64-musl': 14.2.2 2097 | '@next/swc-win32-arm64-msvc': 14.2.2 2098 | '@next/swc-win32-ia32-msvc': 14.2.2 2099 | '@next/swc-win32-x64-msvc': 14.2.2 2100 | transitivePeerDependencies: 2101 | - '@babel/core' 2102 | - babel-plugin-macros 2103 | dev: false 2104 | 2105 | /normalize-path@3.0.0: 2106 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2107 | engines: {node: '>=0.10.0'} 2108 | 2109 | /object-assign@4.1.1: 2110 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2111 | engines: {node: '>=0.10.0'} 2112 | 2113 | /object-hash@3.0.0: 2114 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 2115 | engines: {node: '>= 6'} 2116 | 2117 | /object-inspect@1.13.1: 2118 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} 2119 | dev: true 2120 | 2121 | /object-keys@1.1.1: 2122 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2123 | engines: {node: '>= 0.4'} 2124 | dev: true 2125 | 2126 | /object.assign@4.1.5: 2127 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 2128 | engines: {node: '>= 0.4'} 2129 | dependencies: 2130 | call-bind: 1.0.7 2131 | define-properties: 1.2.1 2132 | has-symbols: 1.0.3 2133 | object-keys: 1.1.1 2134 | dev: true 2135 | 2136 | /object.entries@1.1.8: 2137 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} 2138 | engines: {node: '>= 0.4'} 2139 | dependencies: 2140 | call-bind: 1.0.7 2141 | define-properties: 1.2.1 2142 | es-object-atoms: 1.0.0 2143 | dev: true 2144 | 2145 | /object.fromentries@2.0.8: 2146 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 2147 | engines: {node: '>= 0.4'} 2148 | dependencies: 2149 | call-bind: 1.0.7 2150 | define-properties: 1.2.1 2151 | es-abstract: 1.23.3 2152 | es-object-atoms: 1.0.0 2153 | dev: true 2154 | 2155 | /object.groupby@1.0.3: 2156 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 2157 | engines: {node: '>= 0.4'} 2158 | dependencies: 2159 | call-bind: 1.0.7 2160 | define-properties: 1.2.1 2161 | es-abstract: 1.23.3 2162 | dev: true 2163 | 2164 | /object.hasown@1.1.4: 2165 | resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} 2166 | engines: {node: '>= 0.4'} 2167 | dependencies: 2168 | define-properties: 1.2.1 2169 | es-abstract: 1.23.3 2170 | es-object-atoms: 1.0.0 2171 | dev: true 2172 | 2173 | /object.values@1.2.0: 2174 | resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} 2175 | engines: {node: '>= 0.4'} 2176 | dependencies: 2177 | call-bind: 1.0.7 2178 | define-properties: 1.2.1 2179 | es-object-atoms: 1.0.0 2180 | dev: true 2181 | 2182 | /once@1.4.0: 2183 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2184 | dependencies: 2185 | wrappy: 1.0.2 2186 | dev: true 2187 | 2188 | /optionator@0.9.3: 2189 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 2190 | engines: {node: '>= 0.8.0'} 2191 | dependencies: 2192 | '@aashutoshrathi/word-wrap': 1.2.6 2193 | deep-is: 0.1.4 2194 | fast-levenshtein: 2.0.6 2195 | levn: 0.4.1 2196 | prelude-ls: 1.2.1 2197 | type-check: 0.4.0 2198 | dev: true 2199 | 2200 | /p-limit@3.1.0: 2201 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2202 | engines: {node: '>=10'} 2203 | dependencies: 2204 | yocto-queue: 0.1.0 2205 | dev: true 2206 | 2207 | /p-locate@5.0.0: 2208 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2209 | engines: {node: '>=10'} 2210 | dependencies: 2211 | p-limit: 3.1.0 2212 | dev: true 2213 | 2214 | /parent-module@1.0.1: 2215 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2216 | engines: {node: '>=6'} 2217 | dependencies: 2218 | callsites: 3.1.0 2219 | dev: true 2220 | 2221 | /path-exists@4.0.0: 2222 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2223 | engines: {node: '>=8'} 2224 | dev: true 2225 | 2226 | /path-is-absolute@1.0.1: 2227 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2228 | engines: {node: '>=0.10.0'} 2229 | dev: true 2230 | 2231 | /path-key@3.1.1: 2232 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2233 | engines: {node: '>=8'} 2234 | 2235 | /path-parse@1.0.7: 2236 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2237 | 2238 | /path-scurry@1.10.2: 2239 | resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} 2240 | engines: {node: '>=16 || 14 >=14.17'} 2241 | dependencies: 2242 | lru-cache: 10.2.0 2243 | minipass: 7.0.4 2244 | 2245 | /path-type@4.0.0: 2246 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2247 | engines: {node: '>=8'} 2248 | dev: true 2249 | 2250 | /picocolors@1.0.0: 2251 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2252 | 2253 | /picomatch@2.3.1: 2254 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2255 | engines: {node: '>=8.6'} 2256 | 2257 | /pify@2.3.0: 2258 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 2259 | engines: {node: '>=0.10.0'} 2260 | 2261 | /pirates@4.0.6: 2262 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 2263 | engines: {node: '>= 6'} 2264 | 2265 | /possible-typed-array-names@1.0.0: 2266 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} 2267 | engines: {node: '>= 0.4'} 2268 | dev: true 2269 | 2270 | /postcss-import@15.1.0(postcss@8.4.38): 2271 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 2272 | engines: {node: '>=14.0.0'} 2273 | peerDependencies: 2274 | postcss: ^8.0.0 2275 | dependencies: 2276 | postcss: 8.4.38 2277 | postcss-value-parser: 4.2.0 2278 | read-cache: 1.0.0 2279 | resolve: 1.22.8 2280 | 2281 | /postcss-js@4.0.1(postcss@8.4.38): 2282 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 2283 | engines: {node: ^12 || ^14 || >= 16} 2284 | peerDependencies: 2285 | postcss: ^8.4.21 2286 | dependencies: 2287 | camelcase-css: 2.0.1 2288 | postcss: 8.4.38 2289 | 2290 | /postcss-load-config@4.0.2(postcss@8.4.38): 2291 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 2292 | engines: {node: '>= 14'} 2293 | peerDependencies: 2294 | postcss: '>=8.0.9' 2295 | ts-node: '>=9.0.0' 2296 | peerDependenciesMeta: 2297 | postcss: 2298 | optional: true 2299 | ts-node: 2300 | optional: true 2301 | dependencies: 2302 | lilconfig: 3.1.1 2303 | postcss: 8.4.38 2304 | yaml: 2.4.1 2305 | 2306 | /postcss-nested@6.0.1(postcss@8.4.38): 2307 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} 2308 | engines: {node: '>=12.0'} 2309 | peerDependencies: 2310 | postcss: ^8.2.14 2311 | dependencies: 2312 | postcss: 8.4.38 2313 | postcss-selector-parser: 6.0.16 2314 | 2315 | /postcss-selector-parser@6.0.16: 2316 | resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} 2317 | engines: {node: '>=4'} 2318 | dependencies: 2319 | cssesc: 3.0.0 2320 | util-deprecate: 1.0.2 2321 | 2322 | /postcss-value-parser@4.2.0: 2323 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2324 | 2325 | /postcss@8.4.31: 2326 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 2327 | engines: {node: ^10 || ^12 || >=14} 2328 | dependencies: 2329 | nanoid: 3.3.7 2330 | picocolors: 1.0.0 2331 | source-map-js: 1.2.0 2332 | dev: false 2333 | 2334 | /postcss@8.4.38: 2335 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 2336 | engines: {node: ^10 || ^12 || >=14} 2337 | dependencies: 2338 | nanoid: 3.3.7 2339 | picocolors: 1.0.0 2340 | source-map-js: 1.2.0 2341 | 2342 | /prelude-ls@1.2.1: 2343 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2344 | engines: {node: '>= 0.8.0'} 2345 | dev: true 2346 | 2347 | /prop-types@15.8.1: 2348 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2349 | dependencies: 2350 | loose-envify: 1.4.0 2351 | object-assign: 4.1.1 2352 | react-is: 16.13.1 2353 | dev: true 2354 | 2355 | /punycode@2.3.1: 2356 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 2357 | engines: {node: '>=6'} 2358 | dev: true 2359 | 2360 | /queue-microtask@1.2.3: 2361 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2362 | 2363 | /react-dom@18.2.0(react@18.2.0): 2364 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 2365 | peerDependencies: 2366 | react: ^18.2.0 2367 | dependencies: 2368 | loose-envify: 1.4.0 2369 | react: 18.2.0 2370 | scheduler: 0.23.0 2371 | dev: false 2372 | 2373 | /react-is@16.13.1: 2374 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2375 | dev: true 2376 | 2377 | /react@18.2.0: 2378 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 2379 | engines: {node: '>=0.10.0'} 2380 | dependencies: 2381 | loose-envify: 1.4.0 2382 | dev: false 2383 | 2384 | /read-cache@1.0.0: 2385 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 2386 | dependencies: 2387 | pify: 2.3.0 2388 | 2389 | /readdirp@3.6.0: 2390 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2391 | engines: {node: '>=8.10.0'} 2392 | dependencies: 2393 | picomatch: 2.3.1 2394 | 2395 | /reflect.getprototypeof@1.0.6: 2396 | resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} 2397 | engines: {node: '>= 0.4'} 2398 | dependencies: 2399 | call-bind: 1.0.7 2400 | define-properties: 1.2.1 2401 | es-abstract: 1.23.3 2402 | es-errors: 1.3.0 2403 | get-intrinsic: 1.2.4 2404 | globalthis: 1.0.3 2405 | which-builtin-type: 1.1.3 2406 | dev: true 2407 | 2408 | /regenerator-runtime@0.14.1: 2409 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 2410 | 2411 | /regexp.prototype.flags@1.5.2: 2412 | resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} 2413 | engines: {node: '>= 0.4'} 2414 | dependencies: 2415 | call-bind: 1.0.7 2416 | define-properties: 1.2.1 2417 | es-errors: 1.3.0 2418 | set-function-name: 2.0.2 2419 | dev: true 2420 | 2421 | /resolve-from@4.0.0: 2422 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2423 | engines: {node: '>=4'} 2424 | dev: true 2425 | 2426 | /resolve-pkg-maps@1.0.0: 2427 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2428 | dev: true 2429 | 2430 | /resolve@1.22.8: 2431 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 2432 | hasBin: true 2433 | dependencies: 2434 | is-core-module: 2.13.1 2435 | path-parse: 1.0.7 2436 | supports-preserve-symlinks-flag: 1.0.0 2437 | 2438 | /resolve@2.0.0-next.5: 2439 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 2440 | hasBin: true 2441 | dependencies: 2442 | is-core-module: 2.13.1 2443 | path-parse: 1.0.7 2444 | supports-preserve-symlinks-flag: 1.0.0 2445 | dev: true 2446 | 2447 | /reusify@1.0.4: 2448 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2449 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2450 | 2451 | /rimraf@3.0.2: 2452 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2453 | hasBin: true 2454 | dependencies: 2455 | glob: 7.2.3 2456 | dev: true 2457 | 2458 | /run-parallel@1.2.0: 2459 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2460 | dependencies: 2461 | queue-microtask: 1.2.3 2462 | 2463 | /safe-array-concat@1.1.2: 2464 | resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} 2465 | engines: {node: '>=0.4'} 2466 | dependencies: 2467 | call-bind: 1.0.7 2468 | get-intrinsic: 1.2.4 2469 | has-symbols: 1.0.3 2470 | isarray: 2.0.5 2471 | dev: true 2472 | 2473 | /safe-regex-test@1.0.3: 2474 | resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} 2475 | engines: {node: '>= 0.4'} 2476 | dependencies: 2477 | call-bind: 1.0.7 2478 | es-errors: 1.3.0 2479 | is-regex: 1.1.4 2480 | dev: true 2481 | 2482 | /scheduler@0.23.0: 2483 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 2484 | dependencies: 2485 | loose-envify: 1.4.0 2486 | dev: false 2487 | 2488 | /semver@6.3.1: 2489 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 2490 | hasBin: true 2491 | dev: true 2492 | 2493 | /semver@7.6.0: 2494 | resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} 2495 | engines: {node: '>=10'} 2496 | hasBin: true 2497 | dependencies: 2498 | lru-cache: 6.0.0 2499 | dev: true 2500 | 2501 | /set-function-length@1.2.2: 2502 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 2503 | engines: {node: '>= 0.4'} 2504 | dependencies: 2505 | define-data-property: 1.1.4 2506 | es-errors: 1.3.0 2507 | function-bind: 1.1.2 2508 | get-intrinsic: 1.2.4 2509 | gopd: 1.0.1 2510 | has-property-descriptors: 1.0.2 2511 | dev: true 2512 | 2513 | /set-function-name@2.0.2: 2514 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 2515 | engines: {node: '>= 0.4'} 2516 | dependencies: 2517 | define-data-property: 1.1.4 2518 | es-errors: 1.3.0 2519 | functions-have-names: 1.2.3 2520 | has-property-descriptors: 1.0.2 2521 | dev: true 2522 | 2523 | /shebang-command@2.0.0: 2524 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2525 | engines: {node: '>=8'} 2526 | dependencies: 2527 | shebang-regex: 3.0.0 2528 | 2529 | /shebang-regex@3.0.0: 2530 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2531 | engines: {node: '>=8'} 2532 | 2533 | /side-channel@1.0.6: 2534 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 2535 | engines: {node: '>= 0.4'} 2536 | dependencies: 2537 | call-bind: 1.0.7 2538 | es-errors: 1.3.0 2539 | get-intrinsic: 1.2.4 2540 | object-inspect: 1.13.1 2541 | dev: true 2542 | 2543 | /signal-exit@4.1.0: 2544 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 2545 | engines: {node: '>=14'} 2546 | 2547 | /slash@3.0.0: 2548 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2549 | engines: {node: '>=8'} 2550 | dev: true 2551 | 2552 | /source-map-js@1.2.0: 2553 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 2554 | engines: {node: '>=0.10.0'} 2555 | 2556 | /streamsearch@1.1.0: 2557 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 2558 | engines: {node: '>=10.0.0'} 2559 | dev: false 2560 | 2561 | /string-width@4.2.3: 2562 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2563 | engines: {node: '>=8'} 2564 | dependencies: 2565 | emoji-regex: 8.0.0 2566 | is-fullwidth-code-point: 3.0.0 2567 | strip-ansi: 6.0.1 2568 | 2569 | /string-width@5.1.2: 2570 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2571 | engines: {node: '>=12'} 2572 | dependencies: 2573 | eastasianwidth: 0.2.0 2574 | emoji-regex: 9.2.2 2575 | strip-ansi: 7.1.0 2576 | 2577 | /string.prototype.matchall@4.0.11: 2578 | resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} 2579 | engines: {node: '>= 0.4'} 2580 | dependencies: 2581 | call-bind: 1.0.7 2582 | define-properties: 1.2.1 2583 | es-abstract: 1.23.3 2584 | es-errors: 1.3.0 2585 | es-object-atoms: 1.0.0 2586 | get-intrinsic: 1.2.4 2587 | gopd: 1.0.1 2588 | has-symbols: 1.0.3 2589 | internal-slot: 1.0.7 2590 | regexp.prototype.flags: 1.5.2 2591 | set-function-name: 2.0.2 2592 | side-channel: 1.0.6 2593 | dev: true 2594 | 2595 | /string.prototype.trim@1.2.9: 2596 | resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} 2597 | engines: {node: '>= 0.4'} 2598 | dependencies: 2599 | call-bind: 1.0.7 2600 | define-properties: 1.2.1 2601 | es-abstract: 1.23.3 2602 | es-object-atoms: 1.0.0 2603 | dev: true 2604 | 2605 | /string.prototype.trimend@1.0.8: 2606 | resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} 2607 | dependencies: 2608 | call-bind: 1.0.7 2609 | define-properties: 1.2.1 2610 | es-object-atoms: 1.0.0 2611 | dev: true 2612 | 2613 | /string.prototype.trimstart@1.0.8: 2614 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 2615 | engines: {node: '>= 0.4'} 2616 | dependencies: 2617 | call-bind: 1.0.7 2618 | define-properties: 1.2.1 2619 | es-object-atoms: 1.0.0 2620 | dev: true 2621 | 2622 | /strip-ansi@6.0.1: 2623 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2624 | engines: {node: '>=8'} 2625 | dependencies: 2626 | ansi-regex: 5.0.1 2627 | 2628 | /strip-ansi@7.1.0: 2629 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 2630 | engines: {node: '>=12'} 2631 | dependencies: 2632 | ansi-regex: 6.0.1 2633 | 2634 | /strip-bom@3.0.0: 2635 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2636 | engines: {node: '>=4'} 2637 | dev: true 2638 | 2639 | /strip-json-comments@3.1.1: 2640 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2641 | engines: {node: '>=8'} 2642 | dev: true 2643 | 2644 | /styled-jsx@5.1.1(react@18.2.0): 2645 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} 2646 | engines: {node: '>= 12.0.0'} 2647 | peerDependencies: 2648 | '@babel/core': '*' 2649 | babel-plugin-macros: '*' 2650 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 2651 | peerDependenciesMeta: 2652 | '@babel/core': 2653 | optional: true 2654 | babel-plugin-macros: 2655 | optional: true 2656 | dependencies: 2657 | client-only: 0.0.1 2658 | react: 18.2.0 2659 | dev: false 2660 | 2661 | /sucrase@3.35.0: 2662 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 2663 | engines: {node: '>=16 || 14 >=14.17'} 2664 | hasBin: true 2665 | dependencies: 2666 | '@jridgewell/gen-mapping': 0.3.5 2667 | commander: 4.1.1 2668 | glob: 10.3.12 2669 | lines-and-columns: 1.2.4 2670 | mz: 2.7.0 2671 | pirates: 4.0.6 2672 | ts-interface-checker: 0.1.13 2673 | 2674 | /supports-color@7.2.0: 2675 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2676 | engines: {node: '>=8'} 2677 | dependencies: 2678 | has-flag: 4.0.0 2679 | dev: true 2680 | 2681 | /supports-preserve-symlinks-flag@1.0.0: 2682 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2683 | engines: {node: '>= 0.4'} 2684 | 2685 | /tailwind-merge@2.2.2: 2686 | resolution: {integrity: sha512-tWANXsnmJzgw6mQ07nE3aCDkCK4QdT3ThPMCzawoYA2Pws7vSTCvz3Vrjg61jVUGfFZPJzxEP+NimbcW+EdaDw==} 2687 | dependencies: 2688 | '@babel/runtime': 7.24.4 2689 | dev: false 2690 | 2691 | /tailwindcss-animate@1.0.7(tailwindcss@3.4.3): 2692 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} 2693 | peerDependencies: 2694 | tailwindcss: '>=3.0.0 || insiders' 2695 | dependencies: 2696 | tailwindcss: 3.4.3 2697 | dev: false 2698 | 2699 | /tailwindcss@3.4.3: 2700 | resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} 2701 | engines: {node: '>=14.0.0'} 2702 | hasBin: true 2703 | dependencies: 2704 | '@alloc/quick-lru': 5.2.0 2705 | arg: 5.0.2 2706 | chokidar: 3.6.0 2707 | didyoumean: 1.2.2 2708 | dlv: 1.1.3 2709 | fast-glob: 3.3.2 2710 | glob-parent: 6.0.2 2711 | is-glob: 4.0.3 2712 | jiti: 1.21.0 2713 | lilconfig: 2.1.0 2714 | micromatch: 4.0.5 2715 | normalize-path: 3.0.0 2716 | object-hash: 3.0.0 2717 | picocolors: 1.0.0 2718 | postcss: 8.4.38 2719 | postcss-import: 15.1.0(postcss@8.4.38) 2720 | postcss-js: 4.0.1(postcss@8.4.38) 2721 | postcss-load-config: 4.0.2(postcss@8.4.38) 2722 | postcss-nested: 6.0.1(postcss@8.4.38) 2723 | postcss-selector-parser: 6.0.16 2724 | resolve: 1.22.8 2725 | sucrase: 3.35.0 2726 | transitivePeerDependencies: 2727 | - ts-node 2728 | 2729 | /tapable@2.2.1: 2730 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2731 | engines: {node: '>=6'} 2732 | dev: true 2733 | 2734 | /text-table@0.2.0: 2735 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2736 | dev: true 2737 | 2738 | /thenify-all@1.6.0: 2739 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2740 | engines: {node: '>=0.8'} 2741 | dependencies: 2742 | thenify: 3.3.1 2743 | 2744 | /thenify@3.3.1: 2745 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2746 | dependencies: 2747 | any-promise: 1.3.0 2748 | 2749 | /to-regex-range@5.0.1: 2750 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2751 | engines: {node: '>=8.0'} 2752 | dependencies: 2753 | is-number: 7.0.0 2754 | 2755 | /ts-api-utils@1.3.0(typescript@5.4.5): 2756 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 2757 | engines: {node: '>=16'} 2758 | peerDependencies: 2759 | typescript: '>=4.2.0' 2760 | dependencies: 2761 | typescript: 5.4.5 2762 | dev: true 2763 | 2764 | /ts-interface-checker@0.1.13: 2765 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2766 | 2767 | /tsconfig-paths@3.15.0: 2768 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 2769 | dependencies: 2770 | '@types/json5': 0.0.29 2771 | json5: 1.0.2 2772 | minimist: 1.2.8 2773 | strip-bom: 3.0.0 2774 | dev: true 2775 | 2776 | /tslib@2.6.2: 2777 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 2778 | dev: false 2779 | 2780 | /type-check@0.4.0: 2781 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2782 | engines: {node: '>= 0.8.0'} 2783 | dependencies: 2784 | prelude-ls: 1.2.1 2785 | dev: true 2786 | 2787 | /type-fest@0.20.2: 2788 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2789 | engines: {node: '>=10'} 2790 | dev: true 2791 | 2792 | /typed-array-buffer@1.0.2: 2793 | resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} 2794 | engines: {node: '>= 0.4'} 2795 | dependencies: 2796 | call-bind: 1.0.7 2797 | es-errors: 1.3.0 2798 | is-typed-array: 1.1.13 2799 | dev: true 2800 | 2801 | /typed-array-byte-length@1.0.1: 2802 | resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} 2803 | engines: {node: '>= 0.4'} 2804 | dependencies: 2805 | call-bind: 1.0.7 2806 | for-each: 0.3.3 2807 | gopd: 1.0.1 2808 | has-proto: 1.0.3 2809 | is-typed-array: 1.1.13 2810 | dev: true 2811 | 2812 | /typed-array-byte-offset@1.0.2: 2813 | resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} 2814 | engines: {node: '>= 0.4'} 2815 | dependencies: 2816 | available-typed-arrays: 1.0.7 2817 | call-bind: 1.0.7 2818 | for-each: 0.3.3 2819 | gopd: 1.0.1 2820 | has-proto: 1.0.3 2821 | is-typed-array: 1.1.13 2822 | dev: true 2823 | 2824 | /typed-array-length@1.0.6: 2825 | resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} 2826 | engines: {node: '>= 0.4'} 2827 | dependencies: 2828 | call-bind: 1.0.7 2829 | for-each: 0.3.3 2830 | gopd: 1.0.1 2831 | has-proto: 1.0.3 2832 | is-typed-array: 1.1.13 2833 | possible-typed-array-names: 1.0.0 2834 | dev: true 2835 | 2836 | /typescript@5.4.5: 2837 | resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} 2838 | engines: {node: '>=14.17'} 2839 | hasBin: true 2840 | dev: true 2841 | 2842 | /unbox-primitive@1.0.2: 2843 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2844 | dependencies: 2845 | call-bind: 1.0.7 2846 | has-bigints: 1.0.2 2847 | has-symbols: 1.0.3 2848 | which-boxed-primitive: 1.0.2 2849 | dev: true 2850 | 2851 | /undici-types@5.26.5: 2852 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 2853 | dev: true 2854 | 2855 | /uri-js@4.4.1: 2856 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2857 | dependencies: 2858 | punycode: 2.3.1 2859 | dev: true 2860 | 2861 | /util-deprecate@1.0.2: 2862 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2863 | 2864 | /which-boxed-primitive@1.0.2: 2865 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2866 | dependencies: 2867 | is-bigint: 1.0.4 2868 | is-boolean-object: 1.1.2 2869 | is-number-object: 1.0.7 2870 | is-string: 1.0.7 2871 | is-symbol: 1.0.4 2872 | dev: true 2873 | 2874 | /which-builtin-type@1.1.3: 2875 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} 2876 | engines: {node: '>= 0.4'} 2877 | dependencies: 2878 | function.prototype.name: 1.1.6 2879 | has-tostringtag: 1.0.2 2880 | is-async-function: 2.0.0 2881 | is-date-object: 1.0.5 2882 | is-finalizationregistry: 1.0.2 2883 | is-generator-function: 1.0.10 2884 | is-regex: 1.1.4 2885 | is-weakref: 1.0.2 2886 | isarray: 2.0.5 2887 | which-boxed-primitive: 1.0.2 2888 | which-collection: 1.0.2 2889 | which-typed-array: 1.1.15 2890 | dev: true 2891 | 2892 | /which-collection@1.0.2: 2893 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 2894 | engines: {node: '>= 0.4'} 2895 | dependencies: 2896 | is-map: 2.0.3 2897 | is-set: 2.0.3 2898 | is-weakmap: 2.0.2 2899 | is-weakset: 2.0.3 2900 | dev: true 2901 | 2902 | /which-typed-array@1.1.15: 2903 | resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} 2904 | engines: {node: '>= 0.4'} 2905 | dependencies: 2906 | available-typed-arrays: 1.0.7 2907 | call-bind: 1.0.7 2908 | for-each: 0.3.3 2909 | gopd: 1.0.1 2910 | has-tostringtag: 1.0.2 2911 | dev: true 2912 | 2913 | /which@2.0.2: 2914 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2915 | engines: {node: '>= 8'} 2916 | hasBin: true 2917 | dependencies: 2918 | isexe: 2.0.0 2919 | 2920 | /wrap-ansi@7.0.0: 2921 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2922 | engines: {node: '>=10'} 2923 | dependencies: 2924 | ansi-styles: 4.3.0 2925 | string-width: 4.2.3 2926 | strip-ansi: 6.0.1 2927 | 2928 | /wrap-ansi@8.1.0: 2929 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2930 | engines: {node: '>=12'} 2931 | dependencies: 2932 | ansi-styles: 6.2.1 2933 | string-width: 5.1.2 2934 | strip-ansi: 7.1.0 2935 | 2936 | /wrappy@1.0.2: 2937 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2938 | dev: true 2939 | 2940 | /yallist@4.0.0: 2941 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2942 | dev: true 2943 | 2944 | /yaml@2.4.1: 2945 | resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} 2946 | engines: {node: '>= 14'} 2947 | hasBin: true 2948 | 2949 | /yocto-queue@0.1.0: 2950 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2951 | engines: {node: '>=10'} 2952 | dev: true 2953 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/app/_fonts/TestSöhne-Buch.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amelie-schlueter/dynamic-island-web/d71aaaaac35f2b76d9e5d6f1e315eca5e8466be3/src/app/_fonts/TestSöhne-Buch.otf -------------------------------------------------------------------------------- /src/app/_fonts/TestSöhne-Dreiviertelfett.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amelie-schlueter/dynamic-island-web/d71aaaaac35f2b76d9e5d6f1e315eca5e8466be3/src/app/_fonts/TestSöhne-Dreiviertelfett.otf -------------------------------------------------------------------------------- /src/app/_fonts/TestSöhne-Fett.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amelie-schlueter/dynamic-island-web/d71aaaaac35f2b76d9e5d6f1e315eca5e8466be3/src/app/_fonts/TestSöhne-Fett.otf -------------------------------------------------------------------------------- /src/app/_fonts/TestSöhne-Halbfett.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amelie-schlueter/dynamic-island-web/d71aaaaac35f2b76d9e5d6f1e315eca5e8466be3/src/app/_fonts/TestSöhne-Halbfett.otf -------------------------------------------------------------------------------- /src/app/_fonts/TestSöhne-Kräftig.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amelie-schlueter/dynamic-island-web/d71aaaaac35f2b76d9e5d6f1e315eca5e8466be3/src/app/_fonts/TestSöhne-Kräftig.otf -------------------------------------------------------------------------------- /src/app/_fonts/TestSöhne-Leicht.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amelie-schlueter/dynamic-island-web/d71aaaaac35f2b76d9e5d6f1e315eca5e8466be3/src/app/_fonts/TestSöhne-Leicht.otf -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amelie-schlueter/dynamic-island-web/d71aaaaac35f2b76d9e5d6f1e315eca5e8466be3/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer base { 6 | :root { 7 | --background: 0 0% 100%; 8 | --foreground: 240 10% 3.9%; 9 | 10 | --card: 0 0% 100%; 11 | --card-foreground: 240 10% 3.9%; 12 | 13 | --popover: 0 0% 100%; 14 | --popover-foreground: 240 10% 3.9%; 15 | 16 | --primary: 240 5.9% 10%; 17 | --primary-foreground: 0 0% 98%; 18 | 19 | --secondary: 240 4.8% 95.9%; 20 | --secondary-foreground: 240 5.9% 10%; 21 | 22 | --muted: 240 4.8% 95.9%; 23 | --muted-foreground: 240 3.8% 46.1%; 24 | 25 | --accent: 240 4.8% 95.9%; 26 | --accent-foreground: 240 5.9% 10%; 27 | 28 | --destructive: 0 84.2% 60.2%; 29 | --destructive-foreground: 0 0% 98%; 30 | 31 | --border: 240 5.9% 90%; 32 | --input: 240 5.9% 90%; 33 | --ring: 240 10% 3.9%; 34 | 35 | --radius: 0.5rem; 36 | } 37 | 38 | .dark { 39 | --background: 240 10% 3.9%; 40 | --foreground: 0 0% 98%; 41 | 42 | --card: 240 10% 3.9%; 43 | --card-foreground: 0 0% 98%; 44 | 45 | --popover: 240 10% 3.9%; 46 | --popover-foreground: 0 0% 98%; 47 | 48 | --primary: 0 0% 98%; 49 | --primary-foreground: 240 5.9% 10%; 50 | 51 | --secondary: 240 3.7% 15.9%; 52 | --secondary-foreground: 0 0% 98%; 53 | 54 | --muted: 240 3.7% 15.9%; 55 | --muted-foreground: 240 5% 64.9%; 56 | 57 | --accent: 240 3.7% 15.9%; 58 | --accent-foreground: 0 0% 98%; 59 | 60 | --destructive: 0 62.8% 30.6%; 61 | --destructive-foreground: 0 0% 98%; 62 | 63 | --border: 240 3.7% 15.9%; 64 | --input: 240 3.7% 15.9%; 65 | --ring: 240 4.9% 83.9%; 66 | } 67 | } 68 | 69 | @layer base { 70 | * { 71 | @apply border-border text-base; 72 | } 73 | 74 | body { 75 | @apply bg-background text-foreground; 76 | } 77 | } 78 | 79 | .content::-webkit-scrollbar { 80 | display: hidden; 81 | } 82 | 83 | .custom-scrollbar { 84 | position: fixed; 85 | right: 0; 86 | 87 | cursor: pointer; 88 | } 89 | 90 | #content::-webkit-scrollbar { 91 | display: none; /* for Chrome, Safari */ 92 | } 93 | body::-webkit-scrollbar { 94 | display: none; /* for Chrome, Safari */ 95 | } 96 | -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import { Inter } from "next/font/google"; 3 | import "./globals.css"; 4 | import localFont from "next/font/local"; 5 | import { ThemeProvider } from "@/components/theme-provider"; 6 | 7 | const soehne = localFont({ 8 | src: [ 9 | { 10 | path: "_fonts/TestSöhne-Leicht.otf", 11 | weight: "400", 12 | }, 13 | { 14 | path: "_fonts/TestSöhne-Buch.otf", 15 | weight: "500", 16 | }, 17 | { 18 | path: "_fonts/TestSöhne-Kräftig.otf", 19 | weight: "600", 20 | }, 21 | { 22 | path: "_fonts/TestSöhne-Halbfett.otf", 23 | weight: "700", 24 | }, 25 | ], 26 | variable: "--font-soehne", 27 | }); 28 | 29 | export const metadata: Metadata = { 30 | title: "Dynamic Island Clone", 31 | description: 32 | "A Dynamic Island Clone for the web using Next, Framer Motiona and TailwindCSS. ", 33 | }; 34 | 35 | export default function RootLayout({ 36 | children, 37 | }: Readonly<{ 38 | children: React.ReactNode; 39 | }>) { 40 | return ( 41 | 42 | 43 | 49 | {children} 50 | 51 | 52 | 53 | ); 54 | } 55 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import DynamicIslandWrapper from "@/components/DynanmicIsland/DynamicIslandWrapper"; 2 | import Socials from "@/components/Socials"; 3 | import Link from "next/link"; 4 | 5 | export default function Home() { 6 | return ( 7 |
8 |
9 |
10 |

Dynamic Island

11 |

12 | This is a web clone of the famous Dynamic Island. This component is 13 | crafted using{" "} 14 | 15 | Framer Motion 16 | {" "} 17 | and was built by{" "} 18 | 19 | Amelie 20 | 21 | . You can read more about the code{" "} 22 | 23 | 26 | Dynamic Island Clone for Web. 27 | 28 | 29 |

30 |
31 |
32 | 33 |
34 |
35 | 36 |
37 | ); 38 | } 39 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/CallIcon.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils"; 2 | import React from "react"; 3 | 4 | const CallIcon = ({ className }: { className?: string }) => { 5 | return ( 6 | 18 | 19 | 20 | 21 | 22 | ); 23 | }; 24 | 25 | export default CallIcon; 26 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/CallInfoWrapper.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import RejectCall from "./RejectCall"; 3 | import SuccessCall from "./SuccessCall"; 4 | 5 | const CallInfoWrapper = () => { 6 | return ( 7 |
8 | 9 | 10 |
11 | ); 12 | }; 13 | 14 | export default CallInfoWrapper; 15 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/DynamicCall.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { motion } from "framer-motion"; 3 | import React from "react"; 4 | import KontaktImage from "./KontaktImage"; 5 | import KontaktInfo from "./KontaktInfo"; 6 | import CallInfoWrapper from "./CallInfoWrapper"; 7 | import { cn } from "@/lib/utils"; 8 | import { DynamicIslandTypes } from "./DynamicIsland"; 9 | 10 | interface DynamicCallProps { 11 | active?: DynamicIslandTypes; 12 | } 13 | 14 | const DynamicCall = ({ active }: DynamicCallProps) => { 15 | return ( 16 | 23 |
24 | 25 | 26 |
27 | 28 |
29 | ); 30 | }; 31 | 32 | export default DynamicCall; 33 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/DynamicEvent.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { motion } from "framer-motion"; 3 | import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 4 | import { Badge } from "@/components/ui/badge"; 5 | import { Video } from "lucide-react"; 6 | import React from "react"; 7 | 8 | const DynamicEvent = () => { 9 | return ( 10 | 15 |
16 | In 5 min 17 | 18 | 20 |
21 |
22 |
23 |

Daily Coffee ☕

24 |

10:00 → 11:00

25 |
26 |
27 | {Array.from({ length: 3 }).map((_, i) => ( 28 | 29 | AS 30 | 31 | 32 | ))} 33 |
34 |
35 |
36 | ); 37 | }; 38 | 39 | export default DynamicEvent; 40 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/DynamicIsland.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import React from "react"; 3 | import { motion } from "framer-motion"; 4 | import { cn } from "@/lib/utils"; 5 | 6 | export type DynamicIslandTypes = "event" | "call" | "default"; 7 | 8 | interface DynamicIslandProps { 9 | children?: React.ReactNode; 10 | className?: string; 11 | active: DynamicIslandTypes; 12 | } 13 | 14 | const DynamicIsland = ({ 15 | children, 16 | active, 17 | className = "min-w-[125px] min-h-10", 18 | }: DynamicIslandProps) => { 19 | return ( 20 | 38 | {children} 39 | 40 | ); 41 | }; 42 | 43 | export default DynamicIsland; 44 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/DynamicIslandWrapper.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { Button } from "@/components/ui/button"; 3 | import React, { useState } from "react"; 4 | import DynamicCall from "./DynamicCall"; 5 | import DynamicIsland, { DynamicIslandTypes } from "./DynamicIsland"; 6 | import DynamicEvent from "./DynamicEvent"; 7 | 8 | const DynamicIslandWrapper = () => { 9 | const [active, setActive] = useState("default"); 10 | return ( 11 |
12 | 13 | {active === "call" && } 14 | {active === "event" && } 15 | 16 |
17 | 25 | 28 | 31 |
32 |
33 | ); 34 | }; 35 | 36 | export default DynamicIslandWrapper; 37 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/Idle.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import KontaktImage from "./KontaktImage"; 3 | import KontaktInfo from "./KontaktInfo"; 4 | import CallInfoWrapper from "./CallInfoWrapper"; 5 | 6 | const Idle = () => { 7 | return
; 8 | }; 9 | 10 | export default Idle; 11 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/KontaktImage.tsx: -------------------------------------------------------------------------------- 1 | import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 2 | import { cn } from "@/lib/utils"; 3 | import React from "react"; 4 | 5 | const KontaktImage = ({ className }: { className?: string }) => { 6 | return ( 7 | 8 | 9 | CN 10 | 11 | ); 12 | }; 13 | 14 | export default KontaktImage; 15 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/KontaktInfo.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const KontaktInfo = () => { 4 | return ( 5 |
6 |

mobile

7 |

Amelie

8 |
9 | ); 10 | }; 11 | 12 | export default KontaktInfo; 13 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/RejectCall.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import CallIcon from "./CallIcon"; 3 | 4 | const RejectCall = () => { 5 | return ( 6 |
7 | {" "} 8 |
9 | ); 10 | }; 11 | 12 | export default RejectCall; 13 | -------------------------------------------------------------------------------- /src/components/DynanmicIsland/SuccessCall.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import CallIcon from "./CallIcon"; 3 | 4 | const SuccessCall = () => { 5 | return ( 6 |
7 | {" "} 8 |
9 | ); 10 | }; 11 | 12 | export default SuccessCall; 13 | -------------------------------------------------------------------------------- /src/components/Socials.tsx: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | import React from "react"; 3 | 4 | const Socials = () => { 5 | return ( 6 |
7 | 12 | Github 13 | 14 | 19 | X 20 | 21 | 26 | Email 27 | 28 |
29 | ); 30 | }; 31 | 32 | export default Socials; 33 | -------------------------------------------------------------------------------- /src/components/theme-provider.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import * as React from "react"; 4 | import { ThemeProvider as NextThemesProvider } from "next-themes"; 5 | import { type ThemeProviderProps } from "next-themes/dist/types"; 6 | 7 | export function ThemeProvider({ children, ...props }: ThemeProviderProps) { 8 | return {children}; 9 | } 10 | -------------------------------------------------------------------------------- /src/components/ui/avatar.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import * as AvatarPrimitive from "@radix-ui/react-avatar" 5 | 6 | import { cn } from "@/lib/utils" 7 | 8 | const Avatar = React.forwardRef< 9 | React.ElementRef, 10 | React.ComponentPropsWithoutRef 11 | >(({ className, ...props }, ref) => ( 12 | 20 | )) 21 | Avatar.displayName = AvatarPrimitive.Root.displayName 22 | 23 | const AvatarImage = React.forwardRef< 24 | React.ElementRef, 25 | React.ComponentPropsWithoutRef 26 | >(({ className, ...props }, ref) => ( 27 | 32 | )) 33 | AvatarImage.displayName = AvatarPrimitive.Image.displayName 34 | 35 | const AvatarFallback = React.forwardRef< 36 | React.ElementRef, 37 | React.ComponentPropsWithoutRef 38 | >(({ className, ...props }, ref) => ( 39 | 47 | )) 48 | AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName 49 | 50 | export { Avatar, AvatarImage, AvatarFallback } 51 | -------------------------------------------------------------------------------- /src/components/ui/badge.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { cva, type VariantProps } from "class-variance-authority"; 3 | 4 | import { cn } from "@/lib/utils"; 5 | 6 | const badgeVariants = cva( 7 | "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", 8 | { 9 | variants: { 10 | variant: { 11 | default: 12 | "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80", 13 | secondary: 14 | "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", 15 | destructive: 16 | "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80", 17 | outline: "text-foreground", 18 | tertiary: 19 | "border-transparent bg-black-foreground/60 no-underline text-white hover:bg-primary/80", 20 | green: "border-transparent no-underline bg-green-500/30 text-green-400", 21 | blue: "border-transparent no-underline bg-blue-500/40 text-blue-500", 22 | }, 23 | }, 24 | defaultVariants: { 25 | variant: "default", 26 | }, 27 | } 28 | ); 29 | 30 | export interface BadgeProps 31 | extends React.HTMLAttributes, 32 | VariantProps {} 33 | 34 | function Badge({ className, variant, ...props }: BadgeProps) { 35 | return ( 36 |
37 | ); 38 | } 39 | 40 | export { Badge, badgeVariants }; 41 | -------------------------------------------------------------------------------- /src/components/ui/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 "@/lib/utils" 6 | 7 | const buttonVariants = cva( 8 | "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", 9 | { 10 | variants: { 11 | variant: { 12 | default: 13 | "bg-primary text-primary-foreground shadow hover:bg-primary/90", 14 | destructive: 15 | "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", 16 | outline: 17 | "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", 18 | secondary: 19 | "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", 20 | ghost: "hover:bg-accent hover:text-accent-foreground", 21 | link: "text-primary underline-offset-4 hover:underline", 22 | }, 23 | size: { 24 | default: "h-9 px-4 py-2", 25 | sm: "h-8 rounded-md px-3 text-xs", 26 | lg: "h-10 rounded-md px-8", 27 | icon: "h-9 w-9", 28 | }, 29 | }, 30 | defaultVariants: { 31 | variant: "default", 32 | size: "default", 33 | }, 34 | } 35 | ) 36 | 37 | export interface ButtonProps 38 | extends React.ButtonHTMLAttributes, 39 | VariantProps { 40 | asChild?: boolean 41 | } 42 | 43 | const Button = React.forwardRef( 44 | ({ className, variant, size, asChild = false, ...props }, ref) => { 45 | const Comp = asChild ? Slot : "button" 46 | return ( 47 | 52 | ) 53 | } 54 | ) 55 | Button.displayName = "Button" 56 | 57 | export { Button, buttonVariants } 58 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /src/opengraph-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amelie-schlueter/dynamic-island-web/d71aaaaac35f2b76d9e5d6f1e315eca5e8466be3/src/opengraph-image.png -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss"; 2 | 3 | const config = { 4 | darkMode: ["class"], 5 | content: [ 6 | "./pages/**/*.{ts,tsx}", 7 | "./components/**/*.{ts,tsx}", 8 | "./app/**/*.{ts,tsx}", 9 | "./src/**/*.{ts,tsx}", 10 | ], 11 | prefix: "", 12 | theme: { 13 | container: { 14 | center: true, 15 | padding: ".5rem", 16 | screens: { 17 | "2xl": "800px", 18 | xl: "800px", 19 | lg: "800px", 20 | }, 21 | }, 22 | extend: { 23 | colors: { 24 | border: "hsl(var(--border))", 25 | input: "hsl(var(--input))", 26 | ring: "hsl(var(--ring))", 27 | background: "hsl(var(--background))", 28 | foreground: "hsl(var(--foreground))", 29 | primary: { 30 | DEFAULT: "hsl(var(--primary))", 31 | foreground: "hsl(var(--primary-foreground))", 32 | }, 33 | secondary: { 34 | DEFAULT: "hsl(var(--secondary))", 35 | foreground: "hsl(var(--secondary-foreground))", 36 | }, 37 | destructive: { 38 | DEFAULT: "hsl(var(--destructive))", 39 | foreground: "hsl(var(--destructive-foreground))", 40 | }, 41 | muted: { 42 | DEFAULT: "hsl(var(--muted))", 43 | foreground: "hsl(var(--muted-foreground))", 44 | }, 45 | accent: { 46 | DEFAULT: "hsl(var(--accent))", 47 | foreground: "hsl(var(--accent-foreground))", 48 | }, 49 | popover: { 50 | DEFAULT: "hsl(var(--popover))", 51 | foreground: "hsl(var(--popover-foreground))", 52 | }, 53 | card: { 54 | DEFAULT: "hsl(var(--card))", 55 | foreground: "hsl(var(--card-foreground))", 56 | }, 57 | }, 58 | fontFamily: { 59 | sans: ["var(--font-soehne)"], 60 | }, 61 | fontSize: { 62 | base: "1rem", // Setting the default font size to 16px 63 | sm: "0.875rem", // Example for small text 64 | md: "1.05rem", // Example for regular text 65 | lg: "1.125rem", // Example for large text 66 | xl: "1.25rem", // Example for extra-large text 67 | }, 68 | 69 | borderRadius: { 70 | lg: "var(--radius)", 71 | md: "calc(var(--radius) - 2px)", 72 | sm: "calc(var(--radius) - 4px)", 73 | }, 74 | keyframes: { 75 | "accordion-down": { 76 | from: { height: "0" }, 77 | to: { height: "var(--radix-accordion-content-height)" }, 78 | }, 79 | "accordion-up": { 80 | from: { height: "var(--radix-accordion-content-height)" }, 81 | to: { height: "0" }, 82 | }, 83 | }, 84 | animation: { 85 | "accordion-down": "accordion-down 0.2s ease-out", 86 | "accordion-up": "accordion-up 0.2s ease-out", 87 | }, 88 | }, 89 | }, 90 | plugins: [require("tailwindcss-animate")], 91 | } satisfies Config; 92 | 93 | export default config; 94 | -------------------------------------------------------------------------------- /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 | "@/*": ["./src/*"] 22 | } 23 | }, 24 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 25 | "exclude": ["node_modules"] 26 | } 27 | --------------------------------------------------------------------------------