this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: navigation menu

+549 -265
+8 -7
package.json
··· 10 10 "format": "biome format --write" 11 11 }, 12 12 "dependencies": { 13 - "@base-ui/react": "^1.3.0", 13 + "@base-ui/react": "^1.4.0", 14 14 "class-variance-authority": "^0.7.1", 15 15 "clsx": "^2.1.1", 16 - "lucide-react": "^1.7.0", 17 - "next": "16.2.1", 18 - "react": "19.2.4", 19 - "react-dom": "19.2.4", 20 - "shadcn": "^4.1.1", 16 + "lucide-react": "^1.8.0", 17 + "next": "16.2.3", 18 + "next-themes": "^0.4.6", 19 + "react": "19.2.5", 20 + "react-dom": "19.2.5", 21 + "shadcn": "^4.2.0", 21 22 "tailwind-merge": "^3.5.0", 22 23 "tw-animate-css": "^1.4.0" 23 24 }, 24 25 "devDependencies": { 25 - "@biomejs/biome": "2.4.9", 26 + "@biomejs/biome": "2.4.12", 26 27 "@tailwindcss/postcss": "^4", 27 28 "@types/node": "^25", 28 29 "@types/react": "^19",
+264 -233
pnpm-lock.yaml
··· 9 9 .: 10 10 dependencies: 11 11 '@base-ui/react': 12 - specifier: ^1.3.0 13 - version: 1.3.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) 12 + specifier: ^1.4.0 13 + version: 1.4.0(@date-fns/tz@1.4.1)(@types/react@19.2.14)(date-fns@4.1.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) 14 14 class-variance-authority: 15 15 specifier: ^0.7.1 16 16 version: 0.7.1 ··· 18 18 specifier: ^2.1.1 19 19 version: 2.1.1 20 20 lucide-react: 21 - specifier: ^1.7.0 22 - version: 1.7.0(react@19.2.4) 21 + specifier: ^1.8.0 22 + version: 1.8.0(react@19.2.5) 23 23 next: 24 - specifier: 16.2.1 25 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) 24 + specifier: 16.2.3 25 + version: 16.2.3(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) 26 + next-themes: 27 + specifier: ^0.4.6 28 + version: 0.4.6(react-dom@19.2.5(react@19.2.5))(react@19.2.5) 26 29 react: 27 - specifier: 19.2.4 28 - version: 19.2.4 30 + specifier: 19.2.5 31 + version: 19.2.5 29 32 react-dom: 30 - specifier: 19.2.4 31 - version: 19.2.4(react@19.2.4) 33 + specifier: 19.2.5 34 + version: 19.2.5(react@19.2.5) 32 35 shadcn: 33 - specifier: ^4.1.1 34 - version: 4.1.1(@types/node@25.5.0)(typescript@6.0.2) 36 + specifier: ^4.2.0 37 + version: 4.2.0(@types/node@25.6.0)(typescript@6.0.2) 35 38 tailwind-merge: 36 39 specifier: ^3.5.0 37 40 version: 3.5.0 ··· 40 43 version: 1.4.0 41 44 devDependencies: 42 45 '@biomejs/biome': 43 - specifier: 2.4.9 44 - version: 2.4.9 46 + specifier: 2.4.12 47 + version: 2.4.12 45 48 '@tailwindcss/postcss': 46 49 specifier: ^4 47 50 version: 4.2.2 48 51 '@types/node': 49 52 specifier: ^25 50 - version: 25.5.0 53 + version: 25.6.0 51 54 '@types/react': 52 55 specifier: ^19 53 56 version: 19.2.14 ··· 203 206 resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} 204 207 engines: {node: '>=6.9.0'} 205 208 206 - '@base-ui/react@1.3.0': 207 - resolution: {integrity: sha512-FwpKqZbPz14AITp1CVgf4AjhKPe1OeeVKSBMdgD10zbFlj3QSWelmtCMLi2+/PFZZcIm3l87G7rwtCZJwHyXWA==} 209 + '@base-ui/react@1.4.0': 210 + resolution: {integrity: sha512-QcqdVbr/+ba2/RAKJIV1PV6S02Q5+r6a4Eym8ndBw+ZbBILkkmQAyRxXCg/pArrHnkrGeU8goe26aw0h6eE8pg==} 208 211 engines: {node: '>=14.0.0'} 209 212 peerDependencies: 213 + '@date-fns/tz': ^1.2.0 210 214 '@types/react': ^17 || ^18 || ^19 215 + date-fns: ^4.0.0 211 216 react: ^17 || ^18 || ^19 212 217 react-dom: ^17 || ^18 || ^19 213 218 peerDependenciesMeta: 214 219 '@types/react': 215 220 optional: true 216 221 217 - '@base-ui/utils@0.2.6': 218 - resolution: {integrity: sha512-yQ+qeuqohwhsNpoYDqqXaLllYAkPCP4vYdDrVo8FQXaAPfHWm1pG/Vm+jmGTA5JFS0BAIjookyapuJFY8F9PIw==} 222 + '@base-ui/utils@0.2.7': 223 + resolution: {integrity: sha512-nXYKhiL/0JafyJE8PfcflipGftOftlIwKd72rU15iZ1M5yqgg5J9P8NHU71GReDuXco5MJA/eVQqUT5WRqX9sA==} 219 224 peerDependencies: 220 225 '@types/react': ^17 || ^18 || ^19 221 226 react: ^17 || ^18 || ^19 ··· 224 229 '@types/react': 225 230 optional: true 226 231 227 - '@biomejs/biome@2.4.9': 228 - resolution: {integrity: sha512-wvZW92FrwitTcacvCBT8xdAbfbxWfDLwjYMmU3djjqQTh7Ni4ZdiWIT/x5VcZ+RQuxiKzIOzi5D+dcyJDFZMsA==} 232 + '@biomejs/biome@2.4.12': 233 + resolution: {integrity: sha512-Rro7adQl3NLq/zJCIL98eElXKI8eEiBtoeu5TbXF/U3qbjuSc7Jb5rjUbeHHcquDWeSf3HnGP7XI5qGrlRk/pA==} 229 234 engines: {node: '>=14.21.3'} 230 235 hasBin: true 231 236 232 - '@biomejs/cli-darwin-arm64@2.4.9': 233 - resolution: {integrity: sha512-d5G8Gf2RpH5pYwiHLPA+UpG3G9TLQu4WM+VK6sfL7K68AmhcEQ9r+nkj/DvR/GYhYox6twsHUtmWWWIKfcfQQA==} 237 + '@biomejs/cli-darwin-arm64@2.4.12': 238 + resolution: {integrity: sha512-BnMU4Pc3ciEVteVpZ0BK33MLr7X57F5w1dwDLDn+/iy/yTrA4Q/N2yftidFtsA4vrDh0FMXDpacNV/Tl3fbmng==} 234 239 engines: {node: '>=14.21.3'} 235 240 cpu: [arm64] 236 241 os: [darwin] 237 242 238 - '@biomejs/cli-darwin-x64@2.4.9': 239 - resolution: {integrity: sha512-LNCLNgqDMG7BLdc3a8aY/dwKPK7+R8/JXJoXjCvZh2gx8KseqBdFDKbhrr7HCWF8SzNhbTaALhTBoh/I6rf9lA==} 243 + '@biomejs/cli-darwin-x64@2.4.12': 244 + resolution: {integrity: sha512-x9uJ0bI1rJsWICp3VH8w/5PnAVD3A7SqzDpbrfoUQX1QyWrK5jSU4fRLo/wSgGeplCivbxBRKmt5Xq4/nWvq8A==} 240 245 engines: {node: '>=14.21.3'} 241 246 cpu: [x64] 242 247 os: [darwin] 243 248 244 - '@biomejs/cli-linux-arm64-musl@2.4.9': 245 - resolution: {integrity: sha512-8RCww5xnPn2wpK4L/QDGDOW0dq80uVWfppPxHIUg6mOs9B6gRmqPp32h1Ls3T8GnW8Wo5A8u7vpTwz4fExN+sw==} 249 + '@biomejs/cli-linux-arm64-musl@2.4.12': 250 + resolution: {integrity: sha512-FhfpkAAlKL6kwvcVap0Hgp4AhZmtd3YImg0kK1jd7C/aSoh4SfsB2f++yG1rU0lr8Y5MCFJrcSkmssiL9Xnnig==} 246 251 engines: {node: '>=14.21.3'} 247 252 cpu: [arm64] 248 253 os: [linux] 249 254 libc: [musl] 250 255 251 - '@biomejs/cli-linux-arm64@2.4.9': 252 - resolution: {integrity: sha512-4adnkAUi6K4C/emPRgYznMOcLlUqZdXWM6aIui4VP4LraE764g6Q4YguygnAUoxKjKIXIWPteKMgRbN0wsgwcg==} 256 + '@biomejs/cli-linux-arm64@2.4.12': 257 + resolution: {integrity: sha512-tOwuCuZZtKi1jVzbk/5nXmIsziOB6yqN8c9r9QM0EJYPU6DpQWf11uBOSCfFKKM4H3d9ZoarvlgMfbcuD051Pw==} 253 258 engines: {node: '>=14.21.3'} 254 259 cpu: [arm64] 255 260 os: [linux] 256 261 libc: [glibc] 257 262 258 - '@biomejs/cli-linux-x64-musl@2.4.9': 259 - resolution: {integrity: sha512-5TD+WS9v5vzXKzjetF0hgoaNFHMcpQeBUwKKVi3JbG1e9UCrFuUK3Gt185fyTzvRdwYkJJEMqglRPjmesmVv4A==} 263 + '@biomejs/cli-linux-x64-musl@2.4.12': 264 + resolution: {integrity: sha512-dwTIgZrGutzhkQCuvHynCkyW6hJxUuyZqKKO0YNfaS2GUoRO+tOvxXZqZB6SkWAOdfZTzwaw8IEdUnIkHKHoew==} 260 265 engines: {node: '>=14.21.3'} 261 266 cpu: [x64] 262 267 os: [linux] 263 268 libc: [musl] 264 269 265 - '@biomejs/cli-linux-x64@2.4.9': 266 - resolution: {integrity: sha512-L10na7POF0Ks/cgLFNF1ZvIe+X4onLkTi5oP9hY+Rh60Q+7fWzKDDCeGyiHUFf1nGIa9dQOOUPGe2MyYg8nMSQ==} 270 + '@biomejs/cli-linux-x64@2.4.12': 271 + resolution: {integrity: sha512-8pFeAnLU9QdW9jCIslB/v82bI0lhBmz2ZAKc8pVMFPO0t0wAHsoEkrUQUbMkIorTRIjbqyNZHA3lEXavsPWYSw==} 267 272 engines: {node: '>=14.21.3'} 268 273 cpu: [x64] 269 274 os: [linux] 270 275 libc: [glibc] 271 276 272 - '@biomejs/cli-win32-arm64@2.4.9': 273 - resolution: {integrity: sha512-aDZr0RBC3sMGJOU10BvG7eZIlWLK/i51HRIfScE2lVhfts2dQTreowLiJJd+UYg/tHKxS470IbzpuKmd0MiD6g==} 277 + '@biomejs/cli-win32-arm64@2.4.12': 278 + resolution: {integrity: sha512-B0DLnx0vA9ya/3v7XyCaP+/lCpnbWbMOfUFFve+xb5OxyYvdHaS55YsSddr228Y+JAFk58agCuZTsqNiw2a6ig==} 274 279 engines: {node: '>=14.21.3'} 275 280 cpu: [arm64] 276 281 os: [win32] 277 282 278 - '@biomejs/cli-win32-x64@2.4.9': 279 - resolution: {integrity: sha512-NS4g/2G9SoQ4ktKtz31pvyc/rmgzlcIDCGU/zWbmHJAqx6gcRj2gj5Q/guXhoWTzCUaQZDIqiCQXHS7BcGYc0w==} 283 + '@biomejs/cli-win32-x64@2.4.12': 284 + resolution: {integrity: sha512-yMckRzTyZ83hkk8iDFWswqSdU8tvZxspJKnYNh7JZr/zhZNOlzH13k4ecboU6MurKExCe2HUkH75pGI/O2JwGA==} 280 285 engines: {node: '>=14.21.3'} 281 286 cpu: [x64] 282 287 os: [win32] 283 288 284 - '@dotenvx/dotenvx@1.59.1': 285 - resolution: {integrity: sha512-Qg+meC+XFxliuVSDlEPkKnaUjdaJKK6FNx/Wwl2UxhQR8pyPIuLhMavsF7ePdB9qFZUWV1jEK3ckbJir/WmF4w==} 289 + '@date-fns/tz@1.4.1': 290 + resolution: {integrity: sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==} 291 + 292 + '@dotenvx/dotenvx@1.61.0': 293 + resolution: {integrity: sha512-utL3cpZoFzflyqUkjYbxYujI6STBTmO5LFn4bbin/NZnRWN6wQ7eErhr3/Vpa5h/jicPFC6kTa42r940mQftJQ==} 286 294 hasBin: true 287 295 288 - '@ecies/ciphers@0.2.5': 289 - resolution: {integrity: sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==} 290 - engines: {bun: '>=1', deno: '>=2', node: '>=16'} 296 + '@ecies/ciphers@0.2.6': 297 + resolution: {integrity: sha512-patgsRPKGkhhoBjETV4XxD0En4ui5fbX0hzayqI3M8tvNMGUoUvmyYAIWwlxBc1KX5cturfqByYdj5bYGRpN9g==} 298 + engines: {bun: '>=1', deno: '>=2.7.10', node: '>=16'} 291 299 peerDependencies: 292 300 '@noble/ciphers': ^1.0.0 293 301 294 - '@emnapi/runtime@1.9.1': 295 - resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} 302 + '@emnapi/runtime@1.9.2': 303 + resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} 296 304 297 305 '@floating-ui/core@1.7.5': 298 306 resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} ··· 309 317 '@floating-ui/utils@0.2.11': 310 318 resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} 311 319 312 - '@hono/node-server@1.19.12': 313 - resolution: {integrity: sha512-txsUW4SQ1iilgE0l9/e9VQWmELXifEFvmdA1j6WFh/aFPj99hIntrSsq/if0UWyGVkmrRPKA1wCeP+UCr1B9Uw==} 320 + '@hono/node-server@1.19.14': 321 + resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} 314 322 engines: {node: '>=18.14.1'} 315 323 peerDependencies: 316 324 hono: ^4 ··· 533 541 resolution: {integrity: sha512-cXu86tF4VQVfwz8W1SPbhoRyHJkti6mjH/XJIxp40jhO4j2k1m4KYrEykxqWPkFF3vrK4rgQppBh//AwyGSXPA==} 534 542 engines: {node: '>=18'} 535 543 536 - '@next/env@16.2.1': 537 - resolution: {integrity: sha512-n8P/HCkIWW+gVal2Z8XqXJ6aB3J0tuM29OcHpCsobWlChH/SITBs1DFBk/HajgrwDkqqBXPbuUuzgDvUekREPg==} 544 + '@next/env@16.2.3': 545 + resolution: {integrity: sha512-ZWXyj4uNu4GCWQw9cjRxWlbD+33mcDszIo9iQxFnBX3Wmgq9ulaSJcl6VhuWx5pCWqqD+9W6Wfz7N0lM5lYPMA==} 538 546 539 - '@next/swc-darwin-arm64@16.2.1': 540 - resolution: {integrity: sha512-BwZ8w8YTaSEr2HIuXLMLxIdElNMPvY9fLqb20LX9A9OMGtJilhHLbCL3ggyd0TwjmMcTxi0XXt+ur1vWUoxj2Q==} 547 + '@next/swc-darwin-arm64@16.2.3': 548 + resolution: {integrity: sha512-u37KDKTKQ+OQLvY+z7SNXixwo4Q2/IAJFDzU1fYe66IbCE51aDSAzkNDkWmLN0yjTUh4BKBd+hb69jYn6qqqSg==} 541 549 engines: {node: '>= 10'} 542 550 cpu: [arm64] 543 551 os: [darwin] 544 552 545 - '@next/swc-darwin-x64@16.2.1': 546 - resolution: {integrity: sha512-/vrcE6iQSJq3uL3VGVHiXeaKbn8Es10DGTGRJnRZlkNQQk3kaNtAJg8Y6xuAlrx/6INKVjkfi5rY0iEXorZ6uA==} 553 + '@next/swc-darwin-x64@16.2.3': 554 + resolution: {integrity: sha512-gHjL/qy6Q6CG3176FWbAKyKh9IfntKZTB3RY/YOJdDFpHGsUDXVH38U4mMNpHVGXmeYW4wj22dMp1lTfmu/bTQ==} 547 555 engines: {node: '>= 10'} 548 556 cpu: [x64] 549 557 os: [darwin] 550 558 551 - '@next/swc-linux-arm64-gnu@16.2.1': 552 - resolution: {integrity: sha512-uLn+0BK+C31LTVbQ/QU+UaVrV0rRSJQ8RfniQAHPghDdgE+SlroYqcmFnO5iNjNfVWCyKZHYrs3Nl0mUzWxbBw==} 559 + '@next/swc-linux-arm64-gnu@16.2.3': 560 + resolution: {integrity: sha512-U6vtblPtU/P14Y/b/n9ZY0GOxbbIhTFuaFR7F4/uMBidCi2nSdaOFhA0Go81L61Zd6527+yvuX44T4ksnf8T+Q==} 553 561 engines: {node: '>= 10'} 554 562 cpu: [arm64] 555 563 os: [linux] 556 564 libc: [glibc] 557 565 558 - '@next/swc-linux-arm64-musl@16.2.1': 559 - resolution: {integrity: sha512-ssKq6iMRnHdnycGp9hCuGnXJZ0YPr4/wNwrfE5DbmvEcgl9+yv97/Kq3TPVDfYome1SW5geciLB9aiEqKXQjlQ==} 566 + '@next/swc-linux-arm64-musl@16.2.3': 567 + resolution: {integrity: sha512-/YV0LgjHUmfhQpn9bVoGc4x4nan64pkhWR5wyEV8yCOfwwrH630KpvRg86olQHTwHIn1z59uh6JwKvHq1h4QEw==} 560 568 engines: {node: '>= 10'} 561 569 cpu: [arm64] 562 570 os: [linux] 563 571 libc: [musl] 564 572 565 - '@next/swc-linux-x64-gnu@16.2.1': 566 - resolution: {integrity: sha512-HQm7SrHRELJ30T1TSmT706IWovFFSRGxfgUkyWJZF/RKBMdbdRWJuFrcpDdE5vy9UXjFOx6L3mRdqH04Mmx0hg==} 573 + '@next/swc-linux-x64-gnu@16.2.3': 574 + resolution: {integrity: sha512-/HiWEcp+WMZ7VajuiMEFGZ6cg0+aYZPqCJD3YJEfpVWQsKYSjXQG06vJP6F1rdA03COD9Fef4aODs3YxKx+RDQ==} 567 575 engines: {node: '>= 10'} 568 576 cpu: [x64] 569 577 os: [linux] 570 578 libc: [glibc] 571 579 572 - '@next/swc-linux-x64-musl@16.2.1': 573 - resolution: {integrity: sha512-aV2iUaC/5HGEpbBkE+4B8aHIudoOy5DYekAKOMSHoIYQ66y/wIVeaRx8MS2ZMdxe/HIXlMho4ubdZs/J8441Tg==} 580 + '@next/swc-linux-x64-musl@16.2.3': 581 + resolution: {integrity: sha512-Kt44hGJfZSefebhk/7nIdivoDr3Ugp5+oNz9VvF3GUtfxutucUIHfIO0ZYO8QlOPDQloUVQn4NVC/9JvHRk9hw==} 574 582 engines: {node: '>= 10'} 575 583 cpu: [x64] 576 584 os: [linux] 577 585 libc: [musl] 578 586 579 - '@next/swc-win32-arm64-msvc@16.2.1': 580 - resolution: {integrity: sha512-IXdNgiDHaSk0ZUJ+xp0OQTdTgnpx1RCfRTalhn3cjOP+IddTMINwA7DXZrwTmGDO8SUr5q2hdP/du4DcrB1GxA==} 587 + '@next/swc-win32-arm64-msvc@16.2.3': 588 + resolution: {integrity: sha512-O2NZ9ie3Tq6xj5Z5CSwBT3+aWAMW2PIZ4egUi9MaWLkwaehgtB7YZjPm+UpcNpKOme0IQuqDcor7BsW6QBiQBw==} 581 589 engines: {node: '>= 10'} 582 590 cpu: [arm64] 583 591 os: [win32] 584 592 585 - '@next/swc-win32-x64-msvc@16.2.1': 586 - resolution: {integrity: sha512-qvU+3a39Hay+ieIztkGSbF7+mccbbg1Tk25hc4JDylf8IHjYmY/Zm64Qq1602yPyQqvie+vf5T/uPwNxDNIoeg==} 593 + '@next/swc-win32-x64-msvc@16.2.3': 594 + resolution: {integrity: sha512-Ibm29/GgB/ab5n7XKqlStkm54qqZE8v2FnijUPBgrd67FWrac45o/RsNlaOWjme/B5UqeWt/8KM4aWBwA1D2Kw==} 587 595 engines: {node: '>= 10'} 588 596 cpu: [x64] 589 597 os: [win32] ··· 726 734 '@ts-morph/common@0.27.0': 727 735 resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} 728 736 729 - '@types/node@25.5.0': 730 - resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} 737 + '@types/node@25.6.0': 738 + resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} 731 739 732 740 '@types/react-dom@19.2.3': 733 741 resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} ··· 788 796 resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} 789 797 engines: {node: 18 || 20 || >=22} 790 798 791 - baseline-browser-mapping@2.10.13: 792 - resolution: {integrity: sha512-BL2sTuHOdy0YT1lYieUxTw/QMtPBC3pmlJC6xk8BBYVv6vcw3SGdKemQ+Xsx9ik2F/lYDO9tqsFQH1r9PFuHKw==} 799 + baseline-browser-mapping@2.10.19: 800 + resolution: {integrity: sha512-qCkNLi2sfBOn8XhZQ0FXsT1Ki/Yo5P90hrkRamVFRS7/KV9hpfA4HkoWNU152+8w0zPjnxo5psx5NL3PSGgv5g==} 793 801 engines: {node: '>=6.0.0'} 794 802 hasBin: true 795 803 ··· 830 838 resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 831 839 engines: {node: '>=6'} 832 840 833 - caniuse-lite@1.0.30001782: 834 - resolution: {integrity: sha512-dZcaJLJeDMh4rELYFw1tvSn1bhZWYFOt468FcbHHxx/Z/dFidd1I6ciyFdi3iwfQCyOjqo9upF6lGQYtMiJWxw==} 841 + caniuse-lite@1.0.30001788: 842 + resolution: {integrity: sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==} 835 843 836 844 chalk@5.6.2: 837 845 resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} ··· 881 889 resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} 882 890 engines: {node: '>=20'} 883 891 884 - content-disposition@1.0.1: 885 - resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} 892 + content-disposition@1.1.0: 893 + resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} 886 894 engines: {node: '>=18'} 887 895 888 896 content-type@1.0.5: ··· 933 941 resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 934 942 engines: {node: '>= 12'} 935 943 944 + date-fns@4.1.0: 945 + resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} 946 + 936 947 debug@4.4.3: 937 948 resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 938 949 engines: {node: '>=6.0'} ··· 978 989 resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} 979 990 engines: {node: '>=0.3.1'} 980 991 981 - dotenv@17.3.1: 982 - resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} 992 + dotenv@17.4.2: 993 + resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} 983 994 engines: {node: '>=12'} 984 995 985 996 dunder-proto@1.0.1: ··· 993 1004 ee-first@1.1.1: 994 1005 resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 995 1006 996 - electron-to-chromium@1.5.329: 997 - resolution: {integrity: sha512-/4t+AS1l4S3ZC0Ja7PHFIWeBIxGA3QGqV8/yKsP36v7NcyUCl+bIcmw6s5zVuMIECWwBrAK/6QLzTmbJChBboQ==} 1007 + electron-to-chromium@1.5.336: 1008 + resolution: {integrity: sha512-AbH9q9J455r/nLmdNZes0G0ZKcRX73FicwowalLs6ijwOmCJSRRrLX63lcAlzy9ux3dWK1w1+1nsBJEWN11hcQ==} 998 1009 999 1010 emoji-regex@10.6.0: 1000 1011 resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} ··· 1189 1200 headers-polyfill@4.0.3: 1190 1201 resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} 1191 1202 1192 - hono@4.12.9: 1193 - resolution: {integrity: sha512-wy3T8Zm2bsEvxKZM5w21VdHDDcwVS1yUFFY6i8UobSsKfFceT7TOwhbhfKsDyx7tYQlmRM5FLpIuYvNFyjctiA==} 1203 + hono@4.12.12: 1204 + resolution: {integrity: sha512-p1JfQMKaceuCbpJKAPKVqyqviZdS0eUxH9v82oWo1kb9xjQ5wA6iP3FNVAPDFlz5/p7d45lO+BpSk1tuSZMF4Q==} 1194 1205 engines: {node: '>=16.9.0'} 1195 1206 1196 1207 http-errors@2.0.1: ··· 1442 1453 lru-cache@5.1.1: 1443 1454 resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1444 1455 1445 - lucide-react@1.7.0: 1446 - resolution: {integrity: sha512-yI7BeItCLZJTXikmK4KNUGCKoGzSvbKlfCvw44bU4fXAL6v3gYS4uHD1jzsLkfwODYwI6Drw5Tu9Z5ulDe0TSg==} 1456 + lucide-react@1.8.0: 1457 + resolution: {integrity: sha512-WuvlsjngSk7TnTBJ1hsCy3ql9V9VOdcPkd3PKcSmM34vJD8KG6molxz7m7zbYFgICwsanQWmJ13JlYs4Zp7Arw==} 1447 1458 peerDependencies: 1448 1459 react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 1449 1460 ··· 1499 1510 ms@2.1.3: 1500 1511 resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1501 1512 1502 - msw@2.12.14: 1503 - resolution: {integrity: sha512-4KXa4nVBIBjbDbd7vfQNuQ25eFxug0aropCQFoI0JdOBuJWamkT1yLVIWReFI8SiTRc+H1hKzaNk+cLk2N9rtQ==} 1513 + msw@2.13.3: 1514 + resolution: {integrity: sha512-/F49bxavkNGfreMlrKmTxZs6YorjfMbbDLd89Q3pWi+cXGtQQNXXaHt4MkXN7li91xnQJ24HWXqW9QDm5id33w==} 1504 1515 engines: {node: '>=18'} 1505 1516 hasBin: true 1506 1517 peerDependencies: ··· 1522 1533 resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} 1523 1534 engines: {node: '>= 0.6'} 1524 1535 1525 - next@16.2.1: 1526 - resolution: {integrity: sha512-VaChzNL7o9rbfdt60HUj8tev4m6d7iC1igAy157526+cJlXOQu5LzsBXNT+xaJnTP/k+utSX5vMv7m0G+zKH+Q==} 1536 + next-themes@0.4.6: 1537 + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} 1538 + peerDependencies: 1539 + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc 1540 + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc 1541 + 1542 + next@16.2.3: 1543 + resolution: {integrity: sha512-9V3zV4oZFza3PVev5/poB9g0dEafVcgNyQ8eTRop8GvxZjV2G15FC5ARuG1eFD42QgeYkzJBJzHghNP8Ad9xtA==} 1527 1544 engines: {node: '>=20.9.0'} 1528 1545 hasBin: true 1529 1546 peerDependencies: ··· 1552 1569 resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} 1553 1570 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1554 1571 1555 - node-releases@2.0.36: 1556 - resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} 1572 + node-releases@2.0.37: 1573 + resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==} 1557 1574 1558 1575 npm-run-path@4.0.1: 1559 1576 resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} ··· 1631 1648 path-to-regexp@6.3.0: 1632 1649 resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} 1633 1650 1634 - path-to-regexp@8.4.1: 1635 - resolution: {integrity: sha512-fvU78fIjZ+SBM9YwCknCvKOUKkLVqtWDVctl0s7xIqfmfb38t2TT4ZU2gHm+Z8xGwgW+QWEU3oQSAzIbo89Ggw==} 1651 + path-to-regexp@8.4.2: 1652 + resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} 1636 1653 1637 1654 picocolors@1.1.1: 1638 1655 resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} ··· 1657 1674 resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 1658 1675 engines: {node: ^10 || ^12 || >=14} 1659 1676 1660 - postcss@8.5.8: 1661 - resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} 1677 + postcss@8.5.9: 1678 + resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==} 1662 1679 engines: {node: ^10 || ^12 || >=14} 1663 1680 1664 1681 powershell-utils@0.1.0: ··· 1677 1694 resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1678 1695 engines: {node: '>= 0.10'} 1679 1696 1680 - qs@6.15.0: 1681 - resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} 1697 + qs@6.15.1: 1698 + resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} 1682 1699 engines: {node: '>=0.6'} 1683 1700 1684 1701 queue-microtask@1.2.3: ··· 1692 1709 resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} 1693 1710 engines: {node: '>= 0.10'} 1694 1711 1695 - react-dom@19.2.4: 1696 - resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} 1712 + react-dom@19.2.5: 1713 + resolution: {integrity: sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==} 1697 1714 peerDependencies: 1698 - react: ^19.2.4 1715 + react: ^19.2.5 1699 1716 1700 - react@19.2.4: 1701 - resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} 1717 + react@19.2.5: 1718 + resolution: {integrity: sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==} 1702 1719 engines: {node: '>=0.10.0'} 1703 1720 1704 1721 recast@0.23.11: ··· 1724 1741 resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} 1725 1742 engines: {node: '>=18'} 1726 1743 1727 - rettime@0.10.1: 1728 - resolution: {integrity: sha512-uyDrIlUEH37cinabq0AX4QbgV4HbFZ/gqoiunWQ1UqBtRvTTytwhNYjE++pO/MjPTZL5KQCf2bEoJ/BJNVQ5Kw==} 1744 + rettime@0.11.7: 1745 + resolution: {integrity: sha512-DoAm1WjR1eH7z8sHPtvvUMIZh4/CSKkGCz6CxPqOrEAnOGtOuHSnSE9OC+razqxKuf4ub7pAYyl/vZV0vGs5tg==} 1729 1746 1730 1747 reusify@1.1.0: 1731 1748 resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} ··· 1768 1785 setprototypeof@1.2.0: 1769 1786 resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 1770 1787 1771 - shadcn@4.1.1: 1772 - resolution: {integrity: sha512-nBj+7LYC9kzV9v9QmRPpoOhfW4KctJVQejywdAt/K+K+z4RYlJOcO2a4AaF7elrRWkfCbgXeGK02liV0KB9HvQ==} 1788 + shadcn@4.2.0: 1789 + resolution: {integrity: sha512-ZDuV340itidaUd4Gi1BxQX+Y7Ush6BHp6URZBM2RyxUUBZ6yFtOWIr4nVY+Ro+YRSpo82v7JrsmtcU5xoBCMJQ==} 1773 1790 hasBin: true 1774 1791 1775 1792 sharp@0.34.5: ··· 1784 1801 resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1785 1802 engines: {node: '>=8'} 1786 1803 1787 - side-channel-list@1.0.0: 1788 - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1804 + side-channel-list@1.0.1: 1805 + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} 1789 1806 engines: {node: '>= 0.4'} 1790 1807 1791 1808 side-channel-map@1.0.1: ··· 1874 1891 babel-plugin-macros: 1875 1892 optional: true 1876 1893 1877 - tabbable@6.4.0: 1878 - resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} 1879 - 1880 1894 tagged-tag@1.0.0: 1881 1895 resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} 1882 1896 engines: {node: '>=20'} ··· 1894 1908 tiny-invariant@1.3.3: 1895 1909 resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} 1896 1910 1897 - tldts-core@7.0.27: 1898 - resolution: {integrity: sha512-YQ7uPjgWUibIK6DW5lrKujGwUKhLevU4hcGbP5O6TcIUb+oTjJYJVWPS4nZsIHrEEEG6myk/oqAJUEQmpZrHsg==} 1911 + tldts-core@7.0.28: 1912 + resolution: {integrity: sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==} 1899 1913 1900 - tldts@7.0.27: 1901 - resolution: {integrity: sha512-I4FZcVFcqCRuT0ph6dCDpPuO4Xgzvh+spkcTr1gK7peIvxWauoloVO0vuy1FQnijT63ss6AsHB6+OIM4aXHbPg==} 1914 + tldts@7.0.28: 1915 + resolution: {integrity: sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==} 1902 1916 hasBin: true 1903 1917 1904 1918 to-regex-range@5.0.1: ··· 1939 1953 engines: {node: '>=14.17'} 1940 1954 hasBin: true 1941 1955 1942 - undici-types@7.18.2: 1943 - resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} 1956 + undici-types@7.19.2: 1957 + resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} 1944 1958 1945 1959 unicorn-magic@0.3.0: 1946 1960 resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} ··· 2022 2036 yargs@17.7.2: 2023 2037 resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2024 2038 engines: {node: '>=12'} 2039 + 2040 + yocto-spinner@1.1.0: 2041 + resolution: {integrity: sha512-/BY0AUXnS7IKO354uLLA2eRcWiqDifEbd6unXCsOxkFDAkhgUL3PH9X2bFoaU0YchnDXsF+iKleeTLJGckbXfA==} 2042 + engines: {node: '>=18.19'} 2025 2043 2026 2044 yoctocolors-cjs@2.1.3: 2027 2045 resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} ··· 2231 2249 '@babel/helper-string-parser': 7.27.1 2232 2250 '@babel/helper-validator-identifier': 7.28.5 2233 2251 2234 - '@base-ui/react@1.3.0(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': 2252 + '@base-ui/react@1.4.0(@date-fns/tz@1.4.1)(@types/react@19.2.14)(date-fns@4.1.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': 2235 2253 dependencies: 2236 2254 '@babel/runtime': 7.29.2 2237 - '@base-ui/utils': 0.2.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) 2238 - '@floating-ui/react-dom': 2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) 2255 + '@base-ui/utils': 0.2.7(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) 2256 + '@date-fns/tz': 1.4.1 2257 + '@floating-ui/react-dom': 2.1.8(react-dom@19.2.5(react@19.2.5))(react@19.2.5) 2239 2258 '@floating-ui/utils': 0.2.11 2240 - react: 19.2.4 2241 - react-dom: 19.2.4(react@19.2.4) 2242 - tabbable: 6.4.0 2243 - use-sync-external-store: 1.6.0(react@19.2.4) 2259 + date-fns: 4.1.0 2260 + react: 19.2.5 2261 + react-dom: 19.2.5(react@19.2.5) 2262 + use-sync-external-store: 1.6.0(react@19.2.5) 2244 2263 optionalDependencies: 2245 2264 '@types/react': 19.2.14 2246 2265 2247 - '@base-ui/utils@0.2.6(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': 2266 + '@base-ui/utils@0.2.7(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': 2248 2267 dependencies: 2249 2268 '@babel/runtime': 7.29.2 2250 2269 '@floating-ui/utils': 0.2.11 2251 - react: 19.2.4 2252 - react-dom: 19.2.4(react@19.2.4) 2270 + react: 19.2.5 2271 + react-dom: 19.2.5(react@19.2.5) 2253 2272 reselect: 5.1.1 2254 - use-sync-external-store: 1.6.0(react@19.2.4) 2273 + use-sync-external-store: 1.6.0(react@19.2.5) 2255 2274 optionalDependencies: 2256 2275 '@types/react': 19.2.14 2257 2276 2258 - '@biomejs/biome@2.4.9': 2277 + '@biomejs/biome@2.4.12': 2259 2278 optionalDependencies: 2260 - '@biomejs/cli-darwin-arm64': 2.4.9 2261 - '@biomejs/cli-darwin-x64': 2.4.9 2262 - '@biomejs/cli-linux-arm64': 2.4.9 2263 - '@biomejs/cli-linux-arm64-musl': 2.4.9 2264 - '@biomejs/cli-linux-x64': 2.4.9 2265 - '@biomejs/cli-linux-x64-musl': 2.4.9 2266 - '@biomejs/cli-win32-arm64': 2.4.9 2267 - '@biomejs/cli-win32-x64': 2.4.9 2279 + '@biomejs/cli-darwin-arm64': 2.4.12 2280 + '@biomejs/cli-darwin-x64': 2.4.12 2281 + '@biomejs/cli-linux-arm64': 2.4.12 2282 + '@biomejs/cli-linux-arm64-musl': 2.4.12 2283 + '@biomejs/cli-linux-x64': 2.4.12 2284 + '@biomejs/cli-linux-x64-musl': 2.4.12 2285 + '@biomejs/cli-win32-arm64': 2.4.12 2286 + '@biomejs/cli-win32-x64': 2.4.12 2268 2287 2269 - '@biomejs/cli-darwin-arm64@2.4.9': 2288 + '@biomejs/cli-darwin-arm64@2.4.12': 2270 2289 optional: true 2271 2290 2272 - '@biomejs/cli-darwin-x64@2.4.9': 2291 + '@biomejs/cli-darwin-x64@2.4.12': 2273 2292 optional: true 2274 2293 2275 - '@biomejs/cli-linux-arm64-musl@2.4.9': 2294 + '@biomejs/cli-linux-arm64-musl@2.4.12': 2276 2295 optional: true 2277 2296 2278 - '@biomejs/cli-linux-arm64@2.4.9': 2297 + '@biomejs/cli-linux-arm64@2.4.12': 2279 2298 optional: true 2280 2299 2281 - '@biomejs/cli-linux-x64-musl@2.4.9': 2300 + '@biomejs/cli-linux-x64-musl@2.4.12': 2282 2301 optional: true 2283 2302 2284 - '@biomejs/cli-linux-x64@2.4.9': 2303 + '@biomejs/cli-linux-x64@2.4.12': 2285 2304 optional: true 2286 2305 2287 - '@biomejs/cli-win32-arm64@2.4.9': 2306 + '@biomejs/cli-win32-arm64@2.4.12': 2288 2307 optional: true 2289 2308 2290 - '@biomejs/cli-win32-x64@2.4.9': 2309 + '@biomejs/cli-win32-x64@2.4.12': 2291 2310 optional: true 2292 2311 2293 - '@dotenvx/dotenvx@1.59.1': 2312 + '@date-fns/tz@1.4.1': {} 2313 + 2314 + '@dotenvx/dotenvx@1.61.0': 2294 2315 dependencies: 2295 2316 commander: 11.1.0 2296 - dotenv: 17.3.1 2317 + dotenv: 17.4.2 2297 2318 eciesjs: 0.4.18 2298 2319 execa: 5.1.1 2299 2320 fdir: 6.5.0(picomatch@4.0.4) ··· 2301 2322 object-treeify: 1.1.33 2302 2323 picomatch: 4.0.4 2303 2324 which: 4.0.0 2325 + yocto-spinner: 1.1.0 2304 2326 2305 - '@ecies/ciphers@0.2.5(@noble/ciphers@1.3.0)': 2327 + '@ecies/ciphers@0.2.6(@noble/ciphers@1.3.0)': 2306 2328 dependencies: 2307 2329 '@noble/ciphers': 1.3.0 2308 2330 2309 - '@emnapi/runtime@1.9.1': 2331 + '@emnapi/runtime@1.9.2': 2310 2332 dependencies: 2311 2333 tslib: 2.8.1 2312 2334 optional: true ··· 2320 2342 '@floating-ui/core': 1.7.5 2321 2343 '@floating-ui/utils': 0.2.11 2322 2344 2323 - '@floating-ui/react-dom@2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': 2345 + '@floating-ui/react-dom@2.1.8(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': 2324 2346 dependencies: 2325 2347 '@floating-ui/dom': 1.7.6 2326 - react: 19.2.4 2327 - react-dom: 19.2.4(react@19.2.4) 2348 + react: 19.2.5 2349 + react-dom: 19.2.5(react@19.2.5) 2328 2350 2329 2351 '@floating-ui/utils@0.2.11': {} 2330 2352 2331 - '@hono/node-server@1.19.12(hono@4.12.9)': 2353 + '@hono/node-server@1.19.14(hono@4.12.12)': 2332 2354 dependencies: 2333 - hono: 4.12.9 2355 + hono: 4.12.12 2334 2356 2335 2357 '@img/colour@1.1.0': 2336 2358 optional: true ··· 2417 2439 2418 2440 '@img/sharp-wasm32@0.34.5': 2419 2441 dependencies: 2420 - '@emnapi/runtime': 1.9.1 2442 + '@emnapi/runtime': 1.9.2 2421 2443 optional: true 2422 2444 2423 2445 '@img/sharp-win32-arm64@0.34.5': ··· 2431 2453 2432 2454 '@inquirer/ansi@1.0.2': {} 2433 2455 2434 - '@inquirer/confirm@5.1.21(@types/node@25.5.0)': 2456 + '@inquirer/confirm@5.1.21(@types/node@25.6.0)': 2435 2457 dependencies: 2436 - '@inquirer/core': 10.3.2(@types/node@25.5.0) 2437 - '@inquirer/type': 3.0.10(@types/node@25.5.0) 2458 + '@inquirer/core': 10.3.2(@types/node@25.6.0) 2459 + '@inquirer/type': 3.0.10(@types/node@25.6.0) 2438 2460 optionalDependencies: 2439 - '@types/node': 25.5.0 2461 + '@types/node': 25.6.0 2440 2462 2441 - '@inquirer/core@10.3.2(@types/node@25.5.0)': 2463 + '@inquirer/core@10.3.2(@types/node@25.6.0)': 2442 2464 dependencies: 2443 2465 '@inquirer/ansi': 1.0.2 2444 2466 '@inquirer/figures': 1.0.15 2445 - '@inquirer/type': 3.0.10(@types/node@25.5.0) 2467 + '@inquirer/type': 3.0.10(@types/node@25.6.0) 2446 2468 cli-width: 4.1.0 2447 2469 mute-stream: 2.0.0 2448 2470 signal-exit: 4.1.0 2449 2471 wrap-ansi: 6.2.0 2450 2472 yoctocolors-cjs: 2.1.3 2451 2473 optionalDependencies: 2452 - '@types/node': 25.5.0 2474 + '@types/node': 25.6.0 2453 2475 2454 2476 '@inquirer/figures@1.0.15': {} 2455 2477 2456 - '@inquirer/type@3.0.10(@types/node@25.5.0)': 2478 + '@inquirer/type@3.0.10(@types/node@25.6.0)': 2457 2479 optionalDependencies: 2458 - '@types/node': 25.5.0 2480 + '@types/node': 25.6.0 2459 2481 2460 2482 '@jridgewell/gen-mapping@0.3.13': 2461 2483 dependencies: ··· 2478 2500 2479 2501 '@modelcontextprotocol/sdk@1.29.0(zod@3.25.76)': 2480 2502 dependencies: 2481 - '@hono/node-server': 1.19.12(hono@4.12.9) 2503 + '@hono/node-server': 1.19.14(hono@4.12.12) 2482 2504 ajv: 8.18.0 2483 2505 ajv-formats: 3.0.1(ajv@8.18.0) 2484 2506 content-type: 1.0.5 ··· 2488 2510 eventsource-parser: 3.0.6 2489 2511 express: 5.2.1 2490 2512 express-rate-limit: 8.3.2(express@5.2.1) 2491 - hono: 4.12.9 2513 + hono: 4.12.12 2492 2514 jose: 6.2.2 2493 2515 json-schema-typed: 8.0.2 2494 2516 pkce-challenge: 5.0.1 ··· 2507 2529 outvariant: 1.4.3 2508 2530 strict-event-emitter: 0.5.1 2509 2531 2510 - '@next/env@16.2.1': {} 2532 + '@next/env@16.2.3': {} 2511 2533 2512 - '@next/swc-darwin-arm64@16.2.1': 2534 + '@next/swc-darwin-arm64@16.2.3': 2513 2535 optional: true 2514 2536 2515 - '@next/swc-darwin-x64@16.2.1': 2537 + '@next/swc-darwin-x64@16.2.3': 2516 2538 optional: true 2517 2539 2518 - '@next/swc-linux-arm64-gnu@16.2.1': 2540 + '@next/swc-linux-arm64-gnu@16.2.3': 2519 2541 optional: true 2520 2542 2521 - '@next/swc-linux-arm64-musl@16.2.1': 2543 + '@next/swc-linux-arm64-musl@16.2.3': 2522 2544 optional: true 2523 2545 2524 - '@next/swc-linux-x64-gnu@16.2.1': 2546 + '@next/swc-linux-x64-gnu@16.2.3': 2525 2547 optional: true 2526 2548 2527 - '@next/swc-linux-x64-musl@16.2.1': 2549 + '@next/swc-linux-x64-musl@16.2.3': 2528 2550 optional: true 2529 2551 2530 - '@next/swc-win32-arm64-msvc@16.2.1': 2552 + '@next/swc-win32-arm64-msvc@16.2.3': 2531 2553 optional: true 2532 2554 2533 - '@next/swc-win32-x64-msvc@16.2.1': 2555 + '@next/swc-win32-x64-msvc@16.2.3': 2534 2556 optional: true 2535 2557 2536 2558 '@noble/ciphers@1.3.0': {} ··· 2636 2658 '@alloc/quick-lru': 5.2.0 2637 2659 '@tailwindcss/node': 4.2.2 2638 2660 '@tailwindcss/oxide': 4.2.2 2639 - postcss: 8.5.8 2661 + postcss: 8.5.9 2640 2662 tailwindcss: 4.2.2 2641 2663 2642 2664 '@ts-morph/common@0.27.0': ··· 2645 2667 minimatch: 10.2.5 2646 2668 path-browserify: 1.0.1 2647 2669 2648 - '@types/node@25.5.0': 2670 + '@types/node@25.6.0': 2649 2671 dependencies: 2650 - undici-types: 7.18.2 2672 + undici-types: 7.19.2 2651 2673 2652 2674 '@types/react-dom@19.2.3(@types/react@19.2.14)': 2653 2675 dependencies: ··· 2699 2721 2700 2722 balanced-match@4.0.4: {} 2701 2723 2702 - baseline-browser-mapping@2.10.13: {} 2724 + baseline-browser-mapping@2.10.19: {} 2703 2725 2704 2726 body-parser@2.2.2: 2705 2727 dependencies: ··· 2709 2731 http-errors: 2.0.1 2710 2732 iconv-lite: 0.7.2 2711 2733 on-finished: 2.4.1 2712 - qs: 6.15.0 2734 + qs: 6.15.1 2713 2735 raw-body: 3.0.2 2714 2736 type-is: 2.0.1 2715 2737 transitivePeerDependencies: ··· 2725 2747 2726 2748 browserslist@4.28.2: 2727 2749 dependencies: 2728 - baseline-browser-mapping: 2.10.13 2729 - caniuse-lite: 1.0.30001782 2730 - electron-to-chromium: 1.5.329 2731 - node-releases: 2.0.36 2750 + baseline-browser-mapping: 2.10.19 2751 + caniuse-lite: 1.0.30001788 2752 + electron-to-chromium: 1.5.336 2753 + node-releases: 2.0.37 2732 2754 update-browserslist-db: 1.2.3(browserslist@4.28.2) 2733 2755 2734 2756 bundle-name@4.1.0: ··· 2749 2771 2750 2772 callsites@3.1.0: {} 2751 2773 2752 - caniuse-lite@1.0.30001782: {} 2774 + caniuse-lite@1.0.30001788: {} 2753 2775 2754 2776 chalk@5.6.2: {} 2755 2777 ··· 2787 2809 2788 2810 commander@14.0.3: {} 2789 2811 2790 - content-disposition@1.0.1: {} 2812 + content-disposition@1.1.0: {} 2791 2813 2792 2814 content-type@1.0.5: {} 2793 2815 ··· 2825 2847 2826 2848 data-uri-to-buffer@4.0.1: {} 2827 2849 2850 + date-fns@4.1.0: {} 2851 + 2828 2852 debug@4.4.3: 2829 2853 dependencies: 2830 2854 ms: 2.1.3 ··· 2848 2872 2849 2873 diff@8.0.4: {} 2850 2874 2851 - dotenv@17.3.1: {} 2875 + dotenv@17.4.2: {} 2852 2876 2853 2877 dunder-proto@1.0.1: 2854 2878 dependencies: ··· 2858 2882 2859 2883 eciesjs@0.4.18: 2860 2884 dependencies: 2861 - '@ecies/ciphers': 0.2.5(@noble/ciphers@1.3.0) 2885 + '@ecies/ciphers': 0.2.6(@noble/ciphers@1.3.0) 2862 2886 '@noble/ciphers': 1.3.0 2863 2887 '@noble/curves': 1.9.7 2864 2888 '@noble/hashes': 1.8.0 2865 2889 2866 2890 ee-first@1.1.1: {} 2867 2891 2868 - electron-to-chromium@1.5.329: {} 2892 + electron-to-chromium@1.5.336: {} 2869 2893 2870 2894 emoji-regex@10.6.0: {} 2871 2895 ··· 2942 2966 dependencies: 2943 2967 accepts: 2.0.0 2944 2968 body-parser: 2.2.2 2945 - content-disposition: 1.0.1 2969 + content-disposition: 1.1.0 2946 2970 content-type: 1.0.5 2947 2971 cookie: 0.7.2 2948 2972 cookie-signature: 1.2.2 ··· 2960 2984 once: 1.4.0 2961 2985 parseurl: 1.3.3 2962 2986 proxy-addr: 2.0.7 2963 - qs: 6.15.0 2987 + qs: 6.15.1 2964 2988 range-parser: 1.2.1 2965 2989 router: 2.2.0 2966 2990 send: 1.2.1 ··· 3084 3108 3085 3109 headers-polyfill@4.0.3: {} 3086 3110 3087 - hono@4.12.9: {} 3111 + hono@4.12.12: {} 3088 3112 3089 3113 http-errors@2.0.1: 3090 3114 dependencies: ··· 3260 3284 dependencies: 3261 3285 yallist: 3.1.1 3262 3286 3263 - lucide-react@1.7.0(react@19.2.4): 3287 + lucide-react@1.8.0(react@19.2.5): 3264 3288 dependencies: 3265 - react: 19.2.4 3289 + react: 19.2.5 3266 3290 3267 3291 magic-string@0.30.21: 3268 3292 dependencies: ··· 3301 3325 3302 3326 ms@2.1.3: {} 3303 3327 3304 - msw@2.12.14(@types/node@25.5.0)(typescript@6.0.2): 3328 + msw@2.13.3(@types/node@25.6.0)(typescript@6.0.2): 3305 3329 dependencies: 3306 - '@inquirer/confirm': 5.1.21(@types/node@25.5.0) 3330 + '@inquirer/confirm': 5.1.21(@types/node@25.6.0) 3307 3331 '@mswjs/interceptors': 0.41.3 3308 3332 '@open-draft/deferred-promise': 2.2.0 3309 3333 '@types/statuses': 2.0.6 ··· 3314 3338 outvariant: 1.4.3 3315 3339 path-to-regexp: 6.3.0 3316 3340 picocolors: 1.1.1 3317 - rettime: 0.10.1 3341 + rettime: 0.11.7 3318 3342 statuses: 2.0.2 3319 3343 strict-event-emitter: 0.5.1 3320 3344 tough-cookie: 6.0.1 ··· 3332 3356 3333 3357 negotiator@1.0.0: {} 3334 3358 3335 - next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): 3359 + next-themes@0.4.6(react-dom@19.2.5(react@19.2.5))(react@19.2.5): 3336 3360 dependencies: 3337 - '@next/env': 16.2.1 3361 + react: 19.2.5 3362 + react-dom: 19.2.5(react@19.2.5) 3363 + 3364 + next@16.2.3(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): 3365 + dependencies: 3366 + '@next/env': 16.2.3 3338 3367 '@swc/helpers': 0.5.15 3339 - baseline-browser-mapping: 2.10.13 3340 - caniuse-lite: 1.0.30001782 3368 + baseline-browser-mapping: 2.10.19 3369 + caniuse-lite: 1.0.30001788 3341 3370 postcss: 8.4.31 3342 - react: 19.2.4 3343 - react-dom: 19.2.4(react@19.2.4) 3344 - styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.4) 3371 + react: 19.2.5 3372 + react-dom: 19.2.5(react@19.2.5) 3373 + styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.5) 3345 3374 optionalDependencies: 3346 - '@next/swc-darwin-arm64': 16.2.1 3347 - '@next/swc-darwin-x64': 16.2.1 3348 - '@next/swc-linux-arm64-gnu': 16.2.1 3349 - '@next/swc-linux-arm64-musl': 16.2.1 3350 - '@next/swc-linux-x64-gnu': 16.2.1 3351 - '@next/swc-linux-x64-musl': 16.2.1 3352 - '@next/swc-win32-arm64-msvc': 16.2.1 3353 - '@next/swc-win32-x64-msvc': 16.2.1 3375 + '@next/swc-darwin-arm64': 16.2.3 3376 + '@next/swc-darwin-x64': 16.2.3 3377 + '@next/swc-linux-arm64-gnu': 16.2.3 3378 + '@next/swc-linux-arm64-musl': 16.2.3 3379 + '@next/swc-linux-x64-gnu': 16.2.3 3380 + '@next/swc-linux-x64-musl': 16.2.3 3381 + '@next/swc-win32-arm64-msvc': 16.2.3 3382 + '@next/swc-win32-x64-msvc': 16.2.3 3354 3383 babel-plugin-react-compiler: 1.0.0 3355 3384 sharp: 0.34.5 3356 3385 transitivePeerDependencies: ··· 3365 3394 fetch-blob: 3.2.0 3366 3395 formdata-polyfill: 4.0.10 3367 3396 3368 - node-releases@2.0.36: {} 3397 + node-releases@2.0.37: {} 3369 3398 3370 3399 npm-run-path@4.0.1: 3371 3400 dependencies: ··· 3444 3473 3445 3474 path-to-regexp@6.3.0: {} 3446 3475 3447 - path-to-regexp@8.4.1: {} 3476 + path-to-regexp@8.4.2: {} 3448 3477 3449 3478 picocolors@1.1.1: {} 3450 3479 ··· 3465 3494 picocolors: 1.1.1 3466 3495 source-map-js: 1.2.1 3467 3496 3468 - postcss@8.5.8: 3497 + postcss@8.5.9: 3469 3498 dependencies: 3470 3499 nanoid: 3.3.11 3471 3500 picocolors: 1.1.1 ··· 3487 3516 forwarded: 0.2.0 3488 3517 ipaddr.js: 1.9.1 3489 3518 3490 - qs@6.15.0: 3519 + qs@6.15.1: 3491 3520 dependencies: 3492 3521 side-channel: 1.1.0 3493 3522 ··· 3502 3531 iconv-lite: 0.7.2 3503 3532 unpipe: 1.0.0 3504 3533 3505 - react-dom@19.2.4(react@19.2.4): 3534 + react-dom@19.2.5(react@19.2.5): 3506 3535 dependencies: 3507 - react: 19.2.4 3536 + react: 19.2.5 3508 3537 scheduler: 0.27.0 3509 3538 3510 - react@19.2.4: {} 3539 + react@19.2.5: {} 3511 3540 3512 3541 recast@0.23.11: 3513 3542 dependencies: ··· 3530 3559 onetime: 7.0.0 3531 3560 signal-exit: 4.1.0 3532 3561 3533 - rettime@0.10.1: {} 3562 + rettime@0.11.7: {} 3534 3563 3535 3564 reusify@1.1.0: {} 3536 3565 ··· 3540 3569 depd: 2.0.0 3541 3570 is-promise: 4.0.0 3542 3571 parseurl: 1.3.3 3543 - path-to-regexp: 8.4.1 3572 + path-to-regexp: 8.4.2 3544 3573 transitivePeerDependencies: 3545 3574 - supports-color 3546 3575 ··· 3586 3615 3587 3616 setprototypeof@1.2.0: {} 3588 3617 3589 - shadcn@4.1.1(@types/node@25.5.0)(typescript@6.0.2): 3618 + shadcn@4.2.0(@types/node@25.6.0)(typescript@6.0.2): 3590 3619 dependencies: 3591 3620 '@babel/core': 7.29.0 3592 3621 '@babel/parser': 7.29.2 3593 3622 '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) 3594 3623 '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) 3595 - '@dotenvx/dotenvx': 1.59.1 3624 + '@dotenvx/dotenvx': 1.61.0 3596 3625 '@modelcontextprotocol/sdk': 1.29.0(zod@3.25.76) 3597 3626 '@types/validate-npm-package-name': 4.0.2 3598 3627 browserslist: 4.28.2 ··· 3607 3636 fuzzysort: 3.1.0 3608 3637 https-proxy-agent: 7.0.6 3609 3638 kleur: 4.1.5 3610 - msw: 2.12.14(@types/node@25.5.0)(typescript@6.0.2) 3639 + msw: 2.13.3(@types/node@25.6.0)(typescript@6.0.2) 3611 3640 node-fetch: 3.3.2 3612 3641 open: 11.0.0 3613 3642 ora: 8.2.0 3614 - postcss: 8.5.8 3643 + postcss: 8.5.9 3615 3644 postcss-selector-parser: 7.1.1 3616 3645 prompts: 2.4.2 3617 3646 recast: 0.23.11 ··· 3667 3696 3668 3697 shebang-regex@3.0.0: {} 3669 3698 3670 - side-channel-list@1.0.0: 3699 + side-channel-list@1.0.1: 3671 3700 dependencies: 3672 3701 es-errors: 1.3.0 3673 3702 object-inspect: 1.13.4 ··· 3691 3720 dependencies: 3692 3721 es-errors: 1.3.0 3693 3722 object-inspect: 1.13.4 3694 - side-channel-list: 1.0.0 3723 + side-channel-list: 1.0.1 3695 3724 side-channel-map: 1.0.1 3696 3725 side-channel-weakmap: 1.0.2 3697 3726 ··· 3743 3772 3744 3773 strip-final-newline@4.0.0: {} 3745 3774 3746 - styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.4): 3775 + styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.5): 3747 3776 dependencies: 3748 3777 client-only: 0.0.1 3749 - react: 19.2.4 3778 + react: 19.2.5 3750 3779 optionalDependencies: 3751 3780 '@babel/core': 7.29.0 3752 - 3753 - tabbable@6.4.0: {} 3754 3781 3755 3782 tagged-tag@1.0.0: {} 3756 3783 ··· 3762 3789 3763 3790 tiny-invariant@1.3.3: {} 3764 3791 3765 - tldts-core@7.0.27: {} 3792 + tldts-core@7.0.28: {} 3766 3793 3767 - tldts@7.0.27: 3794 + tldts@7.0.28: 3768 3795 dependencies: 3769 - tldts-core: 7.0.27 3796 + tldts-core: 7.0.28 3770 3797 3771 3798 to-regex-range@5.0.1: 3772 3799 dependencies: ··· 3776 3803 3777 3804 tough-cookie@6.0.1: 3778 3805 dependencies: 3779 - tldts: 7.0.27 3806 + tldts: 7.0.28 3780 3807 3781 3808 ts-morph@26.0.0: 3782 3809 dependencies: ··· 3805 3832 3806 3833 typescript@6.0.2: {} 3807 3834 3808 - undici-types@7.18.2: {} 3835 + undici-types@7.19.2: {} 3809 3836 3810 3837 unicorn-magic@0.3.0: {} 3811 3838 ··· 3821 3848 escalade: 3.2.0 3822 3849 picocolors: 1.1.1 3823 3850 3824 - use-sync-external-store@1.6.0(react@19.2.4): 3851 + use-sync-external-store@1.6.0(react@19.2.5): 3825 3852 dependencies: 3826 - react: 19.2.4 3853 + react: 19.2.5 3827 3854 3828 3855 util-deprecate@1.0.2: {} 3829 3856 ··· 3875 3902 string-width: 4.2.3 3876 3903 y18n: 5.0.8 3877 3904 yargs-parser: 21.1.1 3905 + 3906 + yocto-spinner@1.1.0: 3907 + dependencies: 3908 + yoctocolors: 2.1.2 3878 3909 3879 3910 yoctocolors-cjs@2.1.3: {} 3880 3911
+9
src/app/clock/page.tsx
··· 1 + import ClockView from "@/components/clock-view"; 2 + 3 + export default function ClockPage() { 4 + return ( 5 + <main className="flex flex-1 items-center justify-center"> 6 + <ClockView /> 7 + </main> 8 + ); 9 + }
+20 -2
src/app/layout.tsx
··· 1 1 import type { Metadata } from "next"; 2 2 import "./globals.css"; 3 3 import { Inter } from "next/font/google"; 4 + import { MainNav } from "@/components/main-nav"; 5 + import { ThemeProvider } from "@/components/theme-provider"; 4 6 import { cn } from "@/lib/utils"; 5 7 6 8 const inter = Inter({ subsets: ["latin"], variable: "--font-sans" }); ··· 16 18 children: React.ReactNode; 17 19 }>) { 18 20 return ( 19 - <html lang="en" className={cn("font-sans", inter.variable)}> 20 - <body className="min-h-full flex flex-col">{children}</body> 21 + <html 22 + lang="en" 23 + className={cn("font-sans", inter.variable)} 24 + suppressHydrationWarning 25 + > 26 + <body className="min-h-screen flex flex-col"> 27 + <ThemeProvider 28 + attribute="class" 29 + defaultTheme="system" 30 + enableSystem 31 + disableTransitionOnChange 32 + > 33 + <header className="p-4 flex justify-center"> 34 + <MainNav /> 35 + </header> 36 + {children} 37 + </ThemeProvider> 38 + </body> 21 39 </html> 22 40 ); 23 41 }
+13 -23
src/app/page.tsx
··· 1 - "use client"; 2 - 3 - import { useEffect, useState } from "react"; 4 - 5 - export default function Clock() { 6 - const [time, setTime] = useState(""); 7 - 8 - useEffect(() => { 9 - setTime(new Date().toLocaleTimeString("en-US")); 10 - const id = setInterval( 11 - () => setTime(new Date().toLocaleTimeString("en-US")), 12 - 1000, 13 - ); 14 - return () => clearInterval(id); 15 - }, []); 16 - 17 - if (!time) return null; 18 - 1 + export default function Home() { 19 2 return ( 20 - <div className="flex h-screen items-center justify-center bg-background"> 21 - <h1 className="text-7xl font-black tracking-tighter text-primary"> 22 - {time} 23 - </h1> 24 - </div> 3 + <main className="flex flex-1 flex-col items-center justify-center p-24"> 4 + <div className="text-center"> 5 + <h1 className="text-6xl font-extrabold tracking-tighter"> 6 + <span className="bg-gradient-to-r from-blue-500 to-teal-400 bg-clip-text text-transparent"> 7 + Very Good Tools 8 + </span> 9 + </h1> 10 + <p className="mt-4 text-lg text-muted-foreground"> 11 + A collection of simple, yet powerful tools. 12 + </p> 13 + </div> 14 + </main> 25 15 ); 26 16 }
+26
src/components/clock-view.tsx
··· 1 + "use client"; 2 + 3 + import { useEffect, useState } from "react"; 4 + 5 + export default function ClockView() { 6 + const [time, setTime] = useState(""); 7 + 8 + useEffect(() => { 9 + setTime(new Date().toLocaleTimeString("en-US")); 10 + const id = setInterval( 11 + () => setTime(new Date().toLocaleTimeString("en-US")), 12 + 1000, 13 + ); 14 + return () => clearInterval(id); 15 + }, []); 16 + 17 + if (!time) return null; 18 + 19 + return ( 20 + <div className="flex h-full items-center justify-center"> 21 + <h1 className="text-7xl font-black tracking-tighter text-primary"> 22 + {time} 23 + </h1> 24 + </div> 25 + ); 26 + }
+28
src/components/main-nav.tsx
··· 1 + "use client"; 2 + 3 + import Link from "next/link"; 4 + import { 5 + NavigationMenu, 6 + NavigationMenuItem, 7 + NavigationMenuLink, 8 + NavigationMenuList, 9 + } from "@/components/ui/navigation-menu"; 10 + 11 + export function MainNav() { 12 + return ( 13 + <NavigationMenu> 14 + <NavigationMenuList> 15 + <NavigationMenuItem> 16 + <Link href="/" legacyBehavior passHref> 17 + <NavigationMenuLink>Home</NavigationMenuLink> 18 + </Link> 19 + </NavigationMenuItem> 20 + <NavigationMenuItem> 21 + <Link href="/clock" legacyBehavior passHref> 22 + <NavigationMenuLink>Clock</NavigationMenuLink> 23 + </Link> 24 + </NavigationMenuItem> 25 + </NavigationMenuList> 26 + </NavigationMenu> 27 + ); 28 + }
+11
src/components/theme-provider.tsx
··· 1 + "use client"; 2 + 3 + import { ThemeProvider as NextThemesProvider } from "next-themes"; 4 + import type * as React from "react"; 5 + 6 + export function ThemeProvider({ 7 + children, 8 + ...props 9 + }: React.ComponentProps<typeof NextThemesProvider>) { 10 + return <NextThemesProvider {...props}>{children}</NextThemesProvider>; 11 + }
+170
src/components/ui/navigation-menu.tsx
··· 1 + import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu"; 2 + import { cva } from "class-variance-authority"; 3 + import { ChevronDownIcon } from "lucide-react"; 4 + import { cn } from "@/lib/utils"; 5 + 6 + function NavigationMenu({ 7 + align = "start", 8 + className, 9 + children, 10 + ...props 11 + }: NavigationMenuPrimitive.Root.Props & 12 + Pick<NavigationMenuPrimitive.Positioner.Props, "align">) { 13 + return ( 14 + <NavigationMenuPrimitive.Root 15 + data-slot="navigation-menu" 16 + className={cn( 17 + "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", 18 + className, 19 + )} 20 + {...props} 21 + > 22 + {children} 23 + <NavigationMenuPositioner align={align} /> 24 + </NavigationMenuPrimitive.Root> 25 + ); 26 + } 27 + 28 + function NavigationMenuList({ 29 + className, 30 + ...props 31 + }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.List>) { 32 + return ( 33 + <NavigationMenuPrimitive.List 34 + data-slot="navigation-menu-list" 35 + className={cn( 36 + "group flex flex-1 list-none items-center justify-center gap-0", 37 + className, 38 + )} 39 + {...props} 40 + /> 41 + ); 42 + } 43 + 44 + function NavigationMenuItem({ 45 + className, 46 + ...props 47 + }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.Item>) { 48 + return ( 49 + <NavigationMenuPrimitive.Item 50 + data-slot="navigation-menu-item" 51 + className={cn("relative", className)} 52 + {...props} 53 + /> 54 + ); 55 + } 56 + 57 + const navigationMenuTriggerStyle = cva( 58 + "group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted", 59 + ); 60 + 61 + function NavigationMenuTrigger({ 62 + className, 63 + children, 64 + ...props 65 + }: NavigationMenuPrimitive.Trigger.Props) { 66 + return ( 67 + <NavigationMenuPrimitive.Trigger 68 + data-slot="navigation-menu-trigger" 69 + className={cn(navigationMenuTriggerStyle(), "group", className)} 70 + {...props} 71 + > 72 + {children}{" "} 73 + <ChevronDownIcon 74 + className="relative top-px ml-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180" 75 + aria-hidden="true" 76 + /> 77 + </NavigationMenuPrimitive.Trigger> 78 + ); 79 + } 80 + 81 + function NavigationMenuContent({ 82 + className, 83 + ...props 84 + }: NavigationMenuPrimitive.Content.Props) { 85 + return ( 86 + <NavigationMenuPrimitive.Content 87 + data-slot="navigation-menu-content" 88 + className={cn( 89 + "data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300 data-ending-style:opacity-0 data-starting-style:opacity-0 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95", 90 + className, 91 + )} 92 + {...props} 93 + /> 94 + ); 95 + } 96 + 97 + function NavigationMenuPositioner({ 98 + className, 99 + side = "bottom", 100 + sideOffset = 8, 101 + align = "start", 102 + alignOffset = 0, 103 + ...props 104 + }: NavigationMenuPrimitive.Positioner.Props) { 105 + return ( 106 + <NavigationMenuPrimitive.Portal> 107 + <NavigationMenuPrimitive.Positioner 108 + side={side} 109 + sideOffset={sideOffset} 110 + align={align} 111 + alignOffset={alignOffset} 112 + className={cn( 113 + "isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", 114 + className, 115 + )} 116 + {...props} 117 + > 118 + <NavigationMenuPrimitive.Popup className="data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-lg bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0"> 119 + <NavigationMenuPrimitive.Viewport className="relative size-full overflow-hidden" /> 120 + </NavigationMenuPrimitive.Popup> 121 + </NavigationMenuPrimitive.Positioner> 122 + </NavigationMenuPrimitive.Portal> 123 + ); 124 + } 125 + 126 + function NavigationMenuLink({ 127 + className, 128 + ...props 129 + }: NavigationMenuPrimitive.Link.Props) { 130 + return ( 131 + <NavigationMenuPrimitive.Link 132 + data-slot="navigation-menu-link" 133 + className={cn( 134 + "flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4", 135 + className, 136 + )} 137 + {...props} 138 + /> 139 + ); 140 + } 141 + 142 + function NavigationMenuIndicator({ 143 + className, 144 + ...props 145 + }: React.ComponentPropsWithRef<typeof NavigationMenuPrimitive.Icon>) { 146 + return ( 147 + <NavigationMenuPrimitive.Icon 148 + data-slot="navigation-menu-indicator" 149 + className={cn( 150 + "top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in", 151 + className, 152 + )} 153 + {...props} 154 + > 155 + <div className="relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" /> 156 + </NavigationMenuPrimitive.Icon> 157 + ); 158 + } 159 + 160 + export { 161 + NavigationMenu, 162 + NavigationMenuContent, 163 + NavigationMenuIndicator, 164 + NavigationMenuItem, 165 + NavigationMenuLink, 166 + NavigationMenuList, 167 + NavigationMenuPositioner, 168 + NavigationMenuTrigger, 169 + navigationMenuTriggerStyle, 170 + };