From 023faaf7b036c84bd009ac45f46cc86561e109d9 Mon Sep 17 00:00:00 2001 From: Diivvuu Date: Thu, 26 Sep 2024 11:40:52 +0530 Subject: [PATCH] added workspace page, redirect to workspace, create workspace hooks and component --- bun.lockb | Bin 253144 -> 257093 bytes convex/workspaces.ts | 26 +- package-lock.json | 7083 +++++++++++++++++ package.json | 9 +- src/app/layout.tsx | 8 +- src/app/page.tsx | 21 +- src/app/workspace/[workspaceId]/page.tsx | 10 + src/components/modals.tsx | 16 + src/components/ui/sonner.tsx | 31 + src/features/auth/components/user-button.tsx | 9 +- .../workspaces/api/use-create-workspaces.ts | 69 + .../components/create-workspace-modal.tsx | 65 + .../store/use-create-workspace-modal.ts | 7 + 13 files changed, 7346 insertions(+), 8 deletions(-) create mode 100644 package-lock.json create mode 100644 src/app/workspace/[workspaceId]/page.tsx create mode 100644 src/components/modals.tsx create mode 100644 src/components/ui/sonner.tsx create mode 100644 src/features/workspaces/api/use-create-workspaces.ts create mode 100644 src/features/workspaces/components/create-workspace-modal.tsx create mode 100644 src/features/workspaces/store/use-create-workspace-modal.ts diff --git a/bun.lockb b/bun.lockb index 0ba18ee213b123bc2035e5856ba4a49450b3077a..73d63f4f53e4a540d0ff33499fcaeacf9dcfd579 100644 GIT binary patch delta 50625 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 Sa+vDgn?1a;*G(0NF8L4h5PGu! delta 47794 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 VN0NV$-i?kW>pe@|GxZTm{|5ugIEw%P diff --git a/convex/workspaces.ts b/convex/workspaces.ts index dc7c8c0..90f4c6f 100644 --- a/convex/workspaces.ts +++ b/convex/workspaces.ts @@ -1,4 +1,28 @@ -import { query } from "./_generated/server"; +import { v } from "convex/values"; +import { mutation, query } from "./_generated/server"; +import { auth } from "./auth"; + +export const create = mutation({ + args: { + name: v.string(), + }, + handler: async (ctx, args) => { + const userId = await auth.getUserId(ctx); + + if (!userId) { + throw new Error("Unoauthorized"); + } + // TODO : create proper method + const joinCode = "123456"; + + const workspaceId = await ctx.db.insert("workspaces", { + name: args.name, + userId, + joinCode, + }); + return workspaceId; + }, +}); export const get = query({ args: {}, diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..5d65c80 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7083 @@ +{ + "name": "slack-clone", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "slack-clone", + "version": "0.1.0", + "dependencies": { + "@auth/core": "^0.34.2", + "@convex-dev/auth": "^0.0.66", + "@radix-ui/react-accordion": "^1.2.0", + "@radix-ui/react-avatar": "^1.1.0", + "@radix-ui/react-dialog": "^1.1.1", + "@radix-ui/react-dropdown-menu": "^2.1.1", + "@radix-ui/react-separator": "^1.1.0", + "@radix-ui/react-slot": "^1.1.0", + "card": "^2.5.4", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.1", + "convex": "^1.16.0", + "jotai": "^2.10.0", + "lucide-react": "^0.438.0", + "next": "14.2.7", + "react": "^18", + "react-dom": "^18", + "react-icons": "^5.3.0", + "shadcn-ui": "^0.9.0", + "tailwind-merge": "^2.5.2", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "14.2.7", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/ni": { + "version": "0.21.12", + "license": "MIT", + "bin": { + "na": "bin/na.mjs", + "nci": "bin/nci.mjs", + "ni": "bin/ni.mjs", + "nlx": "bin/nlx.mjs", + "nr": "bin/nr.mjs", + "nu": "bin/nu.mjs", + "nun": "bin/nun.mjs" + } + }, + "node_modules/@auth/core": { + "version": "0.34.2", + "license": "ISC", + "dependencies": { + "@panva/hkdf": "^1.1.1", + "@types/cookie": "0.6.0", + "cookie": "0.6.0", + "jose": "^5.1.3", + "oauth4webapi": "^2.10.4", + "preact": "10.11.3", + "preact-render-to-string": "5.2.3" + }, + "peerDependencies": { + "@simplewebauthn/browser": "^9.0.1", + "@simplewebauthn/server": "^9.0.2", + "nodemailer": "^6.8.0" + }, + "peerDependenciesMeta": { + "@simplewebauthn/browser": { + "optional": true + }, + "@simplewebauthn/server": { + "optional": true + }, + "nodemailer": { + "optional": true + } + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.6", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk/node_modules/supports-color/node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.2", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@convex-dev/auth": { + "version": "0.0.66", + "license": "Apache-2.0", + "dependencies": { + "@auth/core": "^0.31.0", + "arctic": "^1.2.0", + "jose": "^5.2.2", + "jwt-decode": "^4.0.0", + "lucia": "^3.2.0", + "oslo": "^1.1.2", + "path-to-regexp": "^7.1.0", + "server-only": "^0.0.1" + }, + "bin": { + "auth": "dist/bin.cjs" + }, + "peerDependencies": { + "convex": "^1.14.4", + "react": "^18.2.0" + }, + "peerDependenciesMeta": { + "next": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/@convex-dev/auth/node_modules/@auth/core": { + "version": "0.31.0", + "license": "ISC", + "dependencies": { + "@panva/hkdf": "^1.1.1", + "@types/cookie": "0.6.0", + "cookie": "0.6.0", + "jose": "^5.1.3", + "oauth4webapi": "^2.4.0", + "preact": "10.11.3", + "preact-render-to-string": "5.2.3" + }, + "peerDependencies": { + "@simplewebauthn/browser": "^9.0.1", + "@simplewebauthn/server": "^9.0.2", + "nodemailer": "^6.8.0" + }, + "peerDependenciesMeta": { + "@simplewebauthn/browser": { + "optional": true + }, + "@simplewebauthn/server": { + "optional": true + }, + "nodemailer": { + "optional": true + } + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.23.0", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.8", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.11", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.2", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.8", + "license": "MIT" + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@next/env": { + "version": "14.2.7", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.7", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2": { + "version": "1.7.0", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@node-rs/argon2-android-arm-eabi": "1.7.0", + "@node-rs/argon2-android-arm64": "1.7.0", + "@node-rs/argon2-darwin-arm64": "1.7.0", + "@node-rs/argon2-darwin-x64": "1.7.0", + "@node-rs/argon2-freebsd-x64": "1.7.0", + "@node-rs/argon2-linux-arm-gnueabihf": "1.7.0", + "@node-rs/argon2-linux-arm64-gnu": "1.7.0", + "@node-rs/argon2-linux-arm64-musl": "1.7.0", + "@node-rs/argon2-linux-x64-gnu": "1.7.0", + "@node-rs/argon2-linux-x64-musl": "1.7.0", + "@node-rs/argon2-wasm32-wasi": "1.7.0", + "@node-rs/argon2-win32-arm64-msvc": "1.7.0", + "@node-rs/argon2-win32-ia32-msvc": "1.7.0", + "@node-rs/argon2-win32-x64-msvc": "1.7.0" + } + }, + "node_modules/@node-rs/argon2-win32-x64-msvc": { + "version": "1.7.0", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt": { + "version": "1.9.0", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@node-rs/bcrypt-android-arm-eabi": "1.9.0", + "@node-rs/bcrypt-android-arm64": "1.9.0", + "@node-rs/bcrypt-darwin-arm64": "1.9.0", + "@node-rs/bcrypt-darwin-x64": "1.9.0", + "@node-rs/bcrypt-freebsd-x64": "1.9.0", + "@node-rs/bcrypt-linux-arm-gnueabihf": "1.9.0", + "@node-rs/bcrypt-linux-arm64-gnu": "1.9.0", + "@node-rs/bcrypt-linux-arm64-musl": "1.9.0", + "@node-rs/bcrypt-linux-x64-gnu": "1.9.0", + "@node-rs/bcrypt-linux-x64-musl": "1.9.0", + "@node-rs/bcrypt-wasm32-wasi": "1.9.0", + "@node-rs/bcrypt-win32-arm64-msvc": "1.9.0", + "@node-rs/bcrypt-win32-ia32-msvc": "1.9.0", + "@node-rs/bcrypt-win32-x64-msvc": "1.9.0" + } + }, + "node_modules/@node-rs/bcrypt-win32-x64-msvc": { + "version": "1.9.0", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@panva/hkdf": { + "version": "1.2.1", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-collapsible": "1.1.0", + "@radix-ui/react-collection": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-presence": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-slot": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.0", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.0", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.0", + "@radix-ui/react-focus-guards": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-portal": "1.1.1", + "@radix-ui/react-presence": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.7" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.0", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-menu": "2.1.1", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.0", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-collection": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.0", + "@radix-ui/react-focus-guards": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.0", + "@radix-ui/react-portal": "1.1.1", + "@radix-ui/react-presence": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-roving-focus": "1.1.0", + "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.7" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-rect": "1.1.0", + "@radix-ui/react-use-size": "1.1.0", + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-collection": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.0", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.0", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@ts-morph/common": { + "version": "0.19.0", + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.12", + "minimatch": "^7.4.3", + "mkdirp": "^2.1.6", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "7.4.6", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.16.4", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.5", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.2.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.2.0", + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.2.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/visitor-keys": "7.2.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.2.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.12.1", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arctic": { + "version": "1.9.2", + "license": "MIT", + "dependencies": { + "oslo": "1.2.0" + } + }, + "node_modules/arctic/node_modules/oslo": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "@node-rs/argon2": "1.7.0", + "@node-rs/bcrypt": "1.9.0" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.1.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types": { + "version": "0.16.1", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.0", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.1.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001655", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/card": { + "version": "2.5.4", + "dependencies": { + "node.extend": "~2.0.2", + "payment": "^2.4.6", + "qj": "^2.0.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.0", + "license": "Apache-2.0", + "dependencies": { + "clsx": "2.0.0" + }, + "funding": { + "url": "https://joebell.co.uk" + } + }, + "node_modules/class-variance-authority/node_modules/clsx": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/clone": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/code-block-writer": { + "version": "12.0.0", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/commander": { + "version": "10.0.1", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/convex": { + "version": "1.16.0", + "license": "Apache-2.0", + "dependencies": { + "esbuild": "0.23.0", + "globals": "~15.9.0", + "jwt-decode": "^3.1.2", + "prettier": "3.2.5" + }, + "bin": { + "convex": "bin/main.js" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=7.0.0" + }, + "peerDependencies": { + "@auth0/auth0-react": "^2.0.1", + "@clerk/clerk-react": "^4.12.8 || ^5.0.0", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@auth0/auth0-react": { + "optional": true + }, + "@clerk/clerk-react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/convex/node_modules/globals": { + "version": "15.9.0", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/convex/node_modules/jwt-decode": { + "version": "3.1.2", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "devOptional": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.3.6", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-equal": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/defaults": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "5.2.0", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.23", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.23.0", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "14.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "14.2.7", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.3", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.5", + "enhanced-resolve": "^5.15.0", + "eslint-module-utils": "^2.8.1", + "fast-glob": "^3.3.2", + "get-tsconfig": "^4.7.5", + "is-bun-module": "^1.0.2", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.30.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.9.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { + "version": "3.15.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.35.2", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/https-proxy-agent": { + "version": "6.2.1", + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "4.3.1", + "license": "Apache-2.0", + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.6.3", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jose": { + "version": "5.9.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/jotai": { + "version": "2.10.0", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=17.0.0", + "react": ">=17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jwt-decode": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "license": "MIT", + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/log-symbols": { + "version": "5.1.0", + "license": "MIT", + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucia": { + "version": "3.2.0", + "license": "MIT", + "dependencies": { + "oslo": "1.2.0" + } + }, + "node_modules/lucia/node_modules/oslo": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "@node-rs/argon2": "1.7.0", + "@node-rs/bcrypt": "1.9.0" + } + }, + "node_modules/lucide-react": { + "version": "0.438.0", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "2.1.6", + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "14.2.7", + "license": "MIT", + "dependencies": { + "@next/env": "14.2.7", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.7", + "@next/swc-darwin-x64": "14.2.7", + "@next/swc-linux-arm64-gnu": "14.2.7", + "@next/swc-linux-arm64-musl": "14.2.7", + "@next/swc-linux-x64-gnu": "14.2.7", + "@next/swc-linux-x64-musl": "14.2.7", + "@next/swc-win32-arm64-msvc": "14.2.7", + "@next/swc-win32-ia32-msvc": "14.2.7", + "@next/swc-win32-x64-msvc": "14.2.7" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "license": "MIT" + }, + "node_modules/node.extend": { + "version": "2.0.3", + "license": "(MIT OR GPL-2.0)", + "dependencies": { + "hasown": "^2.0.0", + "is": "^3.3.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oauth4webapi": { + "version": "2.13.0", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "6.3.1", + "license": "MIT", + "dependencies": { + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/ora/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/oslo": { + "version": "1.2.1", + "license": "MIT", + "dependencies": { + "@node-rs/argon2": "1.7.0", + "@node-rs/bcrypt": "1.9.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "7.2.0", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/payment": { + "version": "2.4.7", + "license": "MIT", + "dependencies": { + "globalthis": "^1.0.4", + "qj": "~2.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.44", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "license": "MIT" + }, + "node_modules/preact": { + "version": "10.11.3", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/preact-render-to-string": { + "version": "5.2.3", + "license": "MIT", + "dependencies": { + "pretty-format": "^3.8.0" + }, + "peerDependencies": { + "preact": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "3.8.0", + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qj": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "18.3.1", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-icons": { + "version": "5.3.0", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "dev": true, + "license": "MIT" + }, + "node_modules/react-remove-scroll": { + "version": "2.5.7", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.4", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recast": { + "version": "0.23.9", + "license": "MIT", + "dependencies": { + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/onetime/node_modules/mimic-fn": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/server-only": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shadcn-ui": { + "version": "0.9.0", + "license": "MIT", + "dependencies": { + "@antfu/ni": "^0.21.4", + "@babel/core": "^7.22.1", + "@babel/parser": "^7.22.6", + "@babel/plugin-transform-typescript": "^7.22.5", + "chalk": "5.2.0", + "commander": "^10.0.0", + "cosmiconfig": "^8.1.3", + "diff": "^5.1.0", + "execa": "^7.0.0", + "fast-glob": "^3.3.2", + "fs-extra": "^11.1.0", + "https-proxy-agent": "^6.2.0", + "lodash.template": "^4.5.0", + "node-fetch": "^3.3.0", + "ora": "^6.1.2", + "prompts": "^2.4.2", + "recast": "^0.23.2", + "ts-morph": "^18.0.0", + "tsconfig-paths": "^4.2.0", + "zod": "^3.20.2" + }, + "bin": { + "shadcn-ui": "dist/index.js" + } + }, + "node_modules/shadcn-ui/node_modules/chalk": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "bl": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/glob/node_modules/jackspeak": { + "version": "3.4.3", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/sucrase/node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwind-merge": { + "version": "2.5.2", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.10", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "license": "MIT", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "license": "Apache-2.0" + }, + "node_modules/ts-morph": { + "version": "18.0.0", + "license": "MIT", + "dependencies": { + "@ts-morph/common": "~0.19.0", + "code-block-writer": "^12.0.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "dev": true, + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "node_modules/yallist": { + "version": "3.1.1", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.5.1", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.23.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.7.tgz", + "integrity": "sha512-UhZGcOyI9LE/tZL3h9rs/2wMZaaJKwnpAyegUVDGZqwsla6hMfeSj9ssBWQS9yA4UXun3pPhrFLVnw5KXZs3vw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.7.tgz", + "integrity": "sha512-ys2cUgZYRc+CbyDeLAaAdZgS7N1Kpyy+wo0b/gAj+SeOeaj0Lw/q+G1hp+DuDiDAVyxLBCJXEY/AkhDmtihUTA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.7.tgz", + "integrity": "sha512-2xoWtE13sUJ3qrC1lwE/HjbDPm+kBQYFkkiVECJWctRASAHQ+NwjMzgrfqqMYHfMxFb5Wws3w9PqzZJqKFdWcQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.7.tgz", + "integrity": "sha512-+zJ1gJdl35BSAGpkCbfyiY6iRTaPrt3KTl4SF/B1NyELkqqnrNX6cp4IjjjxKpd64/7enI0kf6b9O1Uf3cL0pw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.7.tgz", + "integrity": "sha512-m6EBqrskeMUzykBrv0fDX/28lWIBGhMzOYaStp0ihkjzIYJiKUOzVYD1gULHc8XDf5EMSqoH/0/TRAgXqpQwmw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.7.tgz", + "integrity": "sha512-gUu0viOMvMlzFRz1r1eQ7Ql4OE+hPOmA7smfZAhn8vC4+0swMZaZxa9CSIozTYavi+bJNDZ3tgiSdMjmMzRJlQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.7.tgz", + "integrity": "sha512-PGbONHIVIuzWlYmLvuFKcj+8jXnLbx4WrlESYlVnEzDsa3+Q2hI1YHoXaSmbq0k4ZwZ7J6sWNV4UZfx1OeOlbQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.7.tgz", + "integrity": "sha512-BiSY5umlx9ed5RQDoHcdbuKTUkuFORDqzYKPHlLeS+STUWQKWziVOn3Ic41LuTBvqE0TRJPKpio9GSIblNR+0w==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + } + } +} diff --git a/package.json b/package.json index f7f28c7..8315bde 100644 --- a/package.json +++ b/package.json @@ -24,21 +24,24 @@ "jotai": "^2.10.0", "lucide-react": "^0.438.0", "next": "14.2.7", + "next-themes": "^0.3.0", "react": "^18", "react-dom": "^18", "react-icons": "^5.3.0", + "shadcn": "^2.0.8", "shadcn-ui": "^0.9.0", + "sonner": "^1.5.0", "tailwind-merge": "^2.5.2", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { - "typescript": "^5", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "14.2.7", "postcss": "^8", "tailwindcss": "^3.4.1", - "eslint": "^8", - "eslint-config-next": "14.2.7" + "typescript": "^5" } } diff --git a/src/app/layout.tsx b/src/app/layout.tsx index f38679c..15ccc21 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -6,6 +6,9 @@ import "./globals.css"; import { Inter } from "next/font/google"; import { ConvexAuthNextjsServerProvider } from "@convex-dev/auth/nextjs/server"; +import "../features/workspaces/components/create-workspace-modal"; +import { Modals } from "@/components/modals"; + const inter = Inter({ subsets: ["latin"] }); export const metadata: Metadata = { @@ -22,7 +25,10 @@ export default function RootLayout({ - {children} + + + {children} + diff --git a/src/app/page.tsx b/src/app/page.tsx index 366cdaf..17f5947 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -4,14 +4,33 @@ import { useAuthActions } from "@convex-dev/auth/react"; import { UserButton } from "@/features/auth/components/user-button"; import { useGetWorkspaces } from "@/features/workspaces/api/use-get-workspaces"; -import { useMemo } from "react"; +import { useEffect, useMemo } from "react"; +import { useCreateWorkSpaceModal } from "@/features/workspaces/store/use-create-workspace-modal"; +import { Modals } from "@/components/modals"; +import { useRouter } from "next/navigation"; export default function Home() { const { signOut } = useAuthActions(); + const router = useRouter(); + const [open, setOpen] = useCreateWorkSpaceModal(); + const { data, isLoading } = useGetWorkspaces(); + const workspaceId = useMemo(() => data?.[0]?._id, [data]); + useEffect(() => { + if (isLoading) return; + if (workspaceId) { + console.log("redirect to workspace"); + router.replace(`/workspace/${workspaceId}`); + } else if (!open) { + setOpen(true); + } else { + console.log("open creation mdoel"); + } + }, [workspaceId, isLoading, open, setOpen]); return (
{/* You are logged in user */} + {/* */}
); diff --git a/src/app/workspace/[workspaceId]/page.tsx b/src/app/workspace/[workspaceId]/page.tsx new file mode 100644 index 0000000..04c848b --- /dev/null +++ b/src/app/workspace/[workspaceId]/page.tsx @@ -0,0 +1,10 @@ +interface WorkSpaceIdPageProps { + params: { + workspaceId: string; + }; +} +const workSpaceId = ({ params }: WorkSpaceIdPageProps) => { + return
workSpaceId ID : {params.workspaceId}
; +}; + +export default workSpaceId; diff --git a/src/components/modals.tsx b/src/components/modals.tsx new file mode 100644 index 0000000..91ea80a --- /dev/null +++ b/src/components/modals.tsx @@ -0,0 +1,16 @@ +"use client"; +import { CreateWorkSpaceModal } from "@/features/workspaces/components/create-workspace-modal"; +import { useEffect, useState } from "react"; + +export const Modals = () => { + const [mounted, setMounted] = useState(false); + useEffect(() => { + setMounted(true); + }, []); + if (!mounted) return null; + return ( + <> + + + ); +}; diff --git a/src/components/ui/sonner.tsx b/src/components/ui/sonner.tsx new file mode 100644 index 0000000..452f4d9 --- /dev/null +++ b/src/components/ui/sonner.tsx @@ -0,0 +1,31 @@ +"use client" + +import { useTheme } from "next-themes" +import { Toaster as Sonner } from "sonner" + +type ToasterProps = React.ComponentProps + +const Toaster = ({ ...props }: ToasterProps) => { + const { theme = "system" } = useTheme() + + return ( + + ) +} + +export { Toaster } diff --git a/src/features/auth/components/user-button.tsx b/src/features/auth/components/user-button.tsx index 25c75db..f02be26 100644 --- a/src/features/auth/components/user-button.tsx +++ b/src/features/auth/components/user-button.tsx @@ -5,7 +5,12 @@ import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { useCurrentUser } from "./api/use-current-user"; import { Loader, LogOut } from "lucide-react"; import { useAuthActions } from "@convex-dev/auth/react"; -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; export const UserButton = () => { const { signOut } = useAuthActions(); @@ -25,7 +30,7 @@ export const UserButton = () => { - + {/* */} {avatarFallback} diff --git a/src/features/workspaces/api/use-create-workspaces.ts b/src/features/workspaces/api/use-create-workspaces.ts new file mode 100644 index 0000000..47000ce --- /dev/null +++ b/src/features/workspaces/api/use-create-workspaces.ts @@ -0,0 +1,69 @@ +import { useMutation } from "convex/react"; + +import { api } from "../../../../convex/_generated/api"; +import { useCallback, useMemo, useState } from "react"; +import { Id } from "../../../../convex/_generated/dataModel"; +import { stat } from "fs"; + +type RequestType = { name: string }; +type ResponseType = Id<"workspaces"> | null; + +type Options = { + onSuccess?: (data: ResponseType) => void; + onError?: (error: Error) => void; + onSeettled?: () => void; + throwError?: boolean; +}; + +export const useCreateWorkspace = () => { + const [data, setData] = useState(null); + const [error, setError] = useState(null); + const [status, setStatus] = useState( + <"success" | "error" | "settled" | "pending" | null>null + ); + + // const [isPending, setIsPending] = useState(false); + // const [isSuccess, setIsSuccess] = useState(false); + // const [isError, setIsError] = useState(false); + // const [isSettled, setIsSettled] = useState(false); + const isPending = useMemo(() => status === "pending", [status]); + const isSuccess = useMemo(() => status === "success", [status]); + const isError = useMemo(() => status === "error", [status]); + const isSettled = useMemo(() => status === "settled", [status]); + + const mutation = useMutation(api.workspaces.create); + + const mutate = useCallback( + async (values: RequestType, options?: Options) => { + try { + setData(null); + setError(null); + setStatus("pending"); + + const response = await mutation(values); + options?.onSuccess?.(response); + setStatus("success"); + return response; + } catch (error) { + options?.onError?.(error as Error); + setStatus("error"); + if (options?.throwError) { + throw error; + } + } finally { + setStatus("settled"); + options?.onSeettled?.(); + } + }, + [mutation] + ); + return { + mutate, + data, + error, + isPending, + isSuccess, + isError, + isSettled, + }; +}; diff --git a/src/features/workspaces/components/create-workspace-modal.tsx b/src/features/workspaces/components/create-workspace-modal.tsx new file mode 100644 index 0000000..48a2e26 --- /dev/null +++ b/src/features/workspaces/components/create-workspace-modal.tsx @@ -0,0 +1,65 @@ +"use client"; +import React, { useState } from "react"; + +import { + Dialog, + DialogContent, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; +import { useCreateWorkSpaceModal } from "../store/use-create-workspace-modal"; +import { Input } from "@/components/ui/input"; +import { Button } from "@/components/ui/button"; +import { useCreateWorkspace } from "../api/use-create-workspaces"; +import { useRouter } from "next/navigation"; + +export const CreateWorkSpaceModal = () => { + const router = useRouter(); + const [open, setOpen] = useCreateWorkSpaceModal(); + const [name, setName] = useState(""); + const { mutate, isPending, isError, isSuccess, data, error, isSettled } = + useCreateWorkspace(); + + const handleClose = () => { + setOpen(false); + }; + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + + mutate( + { name }, + { + onSuccess(Id) { + // console.log(data); + router.push(`/workspace/${Id}`); + handleClose() + }, + } + ); + }; + + return ( + + + + Add a new workspace + +
+ setName(e.target.value)} + disabled={isPending} + required + autoFocus + minLength={3} + placeholder="Workspace name e.g. 'Work', 'Personal', 'Home'" + /> +
+ +
+
+
+
+ ); +}; diff --git a/src/features/workspaces/store/use-create-workspace-modal.ts b/src/features/workspaces/store/use-create-workspace-modal.ts new file mode 100644 index 0000000..37d3c2b --- /dev/null +++ b/src/features/workspaces/store/use-create-workspace-modal.ts @@ -0,0 +1,7 @@ +import { atom, useAtom } from "jotai"; + +const createWorkSpaceModalAtom = atom(false); + +export const useCreateWorkSpaceModal = () => { + return useAtom(createWorkSpaceModalAtom); +};