From 0ecea1fd5dd4abe43d114411e5c6b0c9a5093cf2 Mon Sep 17 00:00:00 2001 From: wallace Date: Mon, 4 Nov 2024 21:50:35 +0900 Subject: [PATCH] responsive canvas --- image-ai/bun.lockb | Bin 156692 -> 170438 bytes image-ai/package-lock.json | 4584 +++++++++++++++++ image-ai/package.json | 9 +- image-ai/src/app/editor/[projectId]/page.tsx | 7 + image-ai/src/app/globals.css | 5 +- .../src/features/editor/components/editor.tsx | 32 + .../src/features/editor/hooks/use-editor.ts | 55 + 7 files changed, 4687 insertions(+), 5 deletions(-) create mode 100644 image-ai/package-lock.json create mode 100644 image-ai/src/app/editor/[projectId]/page.tsx create mode 100644 image-ai/src/features/editor/components/editor.tsx create mode 100644 image-ai/src/features/editor/hooks/use-editor.ts diff --git a/image-ai/bun.lockb b/image-ai/bun.lockb index c2a06eb06617da968aad23f59a005497b81e31cc..2b32c5f9ec88e67141492f16c85b804d63da6976 100644 GIT binary patch delta 36245 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 delta 28576 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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "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.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "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/@img/sharp-win32-x64": { + "version": "0.33.5", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "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.1.0", + "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": "15.0.0", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "15.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/fast-glob": { + "version": "3.3.1", + "dev": true, + "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/@next/eslint-plugin-next/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "15.0.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/@pkgjs/parseargs": { + "version": "0.11.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "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-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/@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.13", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/fabric": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@types/fabric/-/fabric-5.3.0.tgz", + "integrity": "sha512-HIsNsuvyQmsNi0+bT8Q7t5sC8g6e8xAdgZfO7S4HpeFKn0XK1BKrgdRjocM0hsB/vVVT/4M7IBPqqyvbF3Kl5g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.17.1", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.13", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.12", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/type-utils": "8.11.0", + "@typescript-eslint/utils": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.11.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.11.0", + "@typescript-eslint/utils": "8.11.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.11.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/visitor-keys": "8.11.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.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.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/@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/utils": { + "version": "8.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.11.0", + "@typescript-eslint/types": "8.11.0", + "@typescript-eslint/typescript-estree": "8.11.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.11.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.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.14.0", + "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/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/arg": { + "version": "5.0.2", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "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.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-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.2", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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", + "dev": true, + "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.30001673", + "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/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/client-only": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/clsx": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "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/color-string": { + "version": "1.9.1", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "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-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.7", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "dev": true, + "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", + "dev": true, + "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-libc": { + "version": "2.0.3", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "license": "Apache-2.0" + }, + "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/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/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", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.1.0", + "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.4", + "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.3", + "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/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.1", + "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.1", + "@humanwhocodes/config-array": "^0.13.0", + "@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": "15.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "15.0.0", + "@rushstack/eslint-patch": "^1.10.3", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react-hooks": "^5.0.0" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0 || ^9.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.12.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.31.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.12.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", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "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-jsx-a11y": { + "version": "6.10.2", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "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.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.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.1.0", + "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": "5.0.0", + "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 || ^9.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/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/fabric": { + "version": "5.3.0-browser", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "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/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/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/get-intrinsic": { + "version": "1.2.4", + "dev": true, + "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-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.1", + "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.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/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", + "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", + "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", + "dev": true, + "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/gopd": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "dev": true, + "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/ignore": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "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", + "dev": true, + "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/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.3.2", + "license": "MIT", + "optional": true + }, + "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.2.1", + "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-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-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-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.3", + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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/jiti": { + "version": "1.21.6", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "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": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "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/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "license": "ISC" + }, + "node_modules/lucide-react": { + "version": "0.453.0", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" + } + }, + "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/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "dev": true, + "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/ms": { + "version": "2.1.3", + "dev": true, + "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": "15.0.0", + "license": "MIT", + "dependencies": { + "@next/env": "15.0.0", + "@swc/counter": "0.1.3", + "@swc/helpers": "0.5.13", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.18.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "15.0.0", + "@next/swc-darwin-x64": "15.0.0", + "@next/swc-linux-arm64-gnu": "15.0.0", + "@next/swc-linux-arm64-musl": "15.0.0", + "@next/swc-linux-x64-gnu": "15.0.0", + "@next/swc-linux-x64-musl": "15.0.0", + "@next/swc-win32-arm64-msvc": "15.0.0", + "@next/swc-win32-x64-msvc": "15.0.0", + "sharp": "^0.33.5" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-65a56d0e-20241020", + "react-dom": "^18.2.0 || 19.0.0-rc-65a56d0e-20241020", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "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/normalize-path": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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-keys": { + "version": "1.1.1", + "dev": true, + "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/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/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.1", + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/picocolors": { + "version": "1.1.1", + "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.47", + "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.1.0", + "source-map-js": "^1.2.1" + }, + "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/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "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/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": "19.0.0-rc-65a56d0e-20241020", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.0.0-rc-65a56d0e-20241020", + "license": "MIT", + "dependencies": { + "scheduler": "0.25.0-rc-65a56d0e-20241020" + }, + "peerDependencies": { + "react": "19.0.0-rc-65a56d0e-20241020" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "dev": true, + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "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.3", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" + }, + "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", + "dev": true, + "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/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-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.25.0-rc-65a56d0e-20241020", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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/sharp": { + "version": "0.33.5", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.6.3", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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": "4.1.0", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "license": "MIT", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "engines": { + "node": ">=10.0.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.1.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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.6", + "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 || ^19.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/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.4", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.14", + "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/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/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/tslib": { + "version": "2.8.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.6.3", + "dev": 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/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "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.1.0", + "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/yaml": { + "version": "2.6.0", + "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/@next/swc-darwin-arm64": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.0.tgz", + "integrity": "sha512-Gjgs3N7cFa40a9QT9AEHnuGKq69/bvIOn0SLGDV+ordq07QOP4k1GDOVedMHEjVeqy1HBLkL8rXnNTuMZIv79A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.0.tgz", + "integrity": "sha512-BUtTvY5u9s5berAuOEydAUlVMjnl6ZjXS+xVrMt317mglYZ2XXjY8YRDCaz9vYMjBNPXH8Gh75Cew5CMdVbWTw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.0.tgz", + "integrity": "sha512-sbCoEpuWUBpYoLSgYrk0CkBv8RFv4ZlPxbwqRHr/BWDBJppTBtF53EvsntlfzQJ9fosYX12xnS6ltxYYwsMBjg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.0.tgz", + "integrity": "sha512-JAw84qfL81aQCirXKP4VkgmhiDpXJupGjt8ITUkHrOVlBd+3h5kjfPva5M0tH2F9KKSgJQHEo3F5S5tDH9h2ww==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.0.tgz", + "integrity": "sha512-r5Smd03PfxrGKMewdRf2RVNA1CU5l2rRlvZLQYZSv7FUsXD5bKEcOZ/6/98aqRwL7diXOwD8TCWJk1NbhATQHg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.0.tgz", + "integrity": "sha512-fM6qocafz4Xjhh79CuoQNeGPhDHGBBUbdVtgNFJOUM8Ih5ZpaDZlTvqvqsh5IoO06CGomxurEGqGz/4eR/FaMQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.0.tgz", + "integrity": "sha512-ZOd7c/Lz1lv7qP/KzR513XEa7QzW5/P0AH3A5eR1+Z/KmDOvMucht0AozccPc0TqhdV1xaXmC0Fdx0hoNzk6ng==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + } + } +} diff --git a/image-ai/package.json b/image-ai/package.json index 8b53677..59b2b7b 100644 --- a/image-ai/package.json +++ b/image-ai/package.json @@ -12,6 +12,8 @@ "@radix-ui/react-slot": "^1.1.0", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", + "fabric": "5.3.0-browser", + "jsdom": "^25.0.1", "lucide-react": "^0.453.0", "next": "15.0.0", "react": "19.0.0-rc-65a56d0e-20241020", @@ -20,13 +22,14 @@ "tailwindcss-animate": "^1.0.7" }, "devDependencies": { - "typescript": "^5", + "@types/fabric": "5.3.0", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "15.0.0", "postcss": "^8", "tailwindcss": "^3.4.1", - "eslint": "^8", - "eslint-config-next": "15.0.0" + "typescript": "^5" } } diff --git a/image-ai/src/app/editor/[projectId]/page.tsx b/image-ai/src/app/editor/[projectId]/page.tsx new file mode 100644 index 0000000..b6e6ccf --- /dev/null +++ b/image-ai/src/app/editor/[projectId]/page.tsx @@ -0,0 +1,7 @@ +import { Editor } from "@/features/editor/components/editor"; + +const EditorprojectIdPage = () => { + return ; +}; + +export default EditorprojectIdPage; \ No newline at end of file diff --git a/image-ai/src/app/globals.css b/image-ai/src/app/globals.css index f102207..67b95a1 100644 --- a/image-ai/src/app/globals.css +++ b/image-ai/src/app/globals.css @@ -2,8 +2,9 @@ @tailwind components; @tailwind utilities; -body { - font-family: Arial, Helvetica, sans-serif; +html, +boby{ + height: 100%; } @layer base { diff --git a/image-ai/src/features/editor/components/editor.tsx b/image-ai/src/features/editor/components/editor.tsx new file mode 100644 index 0000000..42b49de --- /dev/null +++ b/image-ai/src/features/editor/components/editor.tsx @@ -0,0 +1,32 @@ +"use client"; + +import { fabric } from "fabric"; +import { useEditor } from "@/features/editor/hooks/use-editor"; +import { useEffect, useRef } from "react"; + +export const Editor = () => { + const { init } = useEditor(); + + const canvasRef = useRef(null); + const ContainerRef = useRef(null); + + useEffect(() => { + const canvas = new fabric.Canvas(canvasRef.current, { + controlsAboveOverlay: true, + preserveObjectStacking: true, + }); + + init({ + initialCanvas: canvas, + initialContainer: ContainerRef.current!, + }); + }, [init]); + + return ( +
+
+ +
+
+ ); +}; diff --git a/image-ai/src/features/editor/hooks/use-editor.ts b/image-ai/src/features/editor/hooks/use-editor.ts new file mode 100644 index 0000000..d373763 --- /dev/null +++ b/image-ai/src/features/editor/hooks/use-editor.ts @@ -0,0 +1,55 @@ +import { fabric } from "fabric"; +import { useCallback } from "react"; + +export const useEditor = () => { + const init = useCallback(({ + initialCanvas, + initialContainer, //이부분 개빡치네 왜 안되는거야 + }: { + initialCanvas: fabric.Canvas; + initialContainer: HTMLDivElement, + }) => { + fabric.Object.prototype.set({ + cornerColor: "#FFF", + cornerStyle: "circle", + borderColor: "#3b82f6", + borderScaleFactor: 1.5, + transparentCorners: false, + borderOpacityWhenMoving: 1, + cornerStrokeColor: "#3b82f6", + }) + + const initialWorkspace = new fabric.Rect({ + width: 900, + height: 1200, + name: "clip", + fill: "white", + selectable: false, + hasControls: false, + shadow: new fabric.Shadow({ + color: "rgba(0,0,0,0.8)", + blur: 5, + }) + }) + + initialCanvas.setWidth(900); //시부레 initialContainer.offsetWidth로 하면 왜 안되는거야 + initialCanvas.setHeight(1200); + + initialCanvas.add(initialWorkspace); + initialCanvas.centerObject(initialWorkspace); + initialCanvas.clipPath = initialWorkspace; // clip the canvas to the workspace + + const test = new fabric.Rect({ + height: 100, + width: 100, + fill: "black", + }); + + initialCanvas.add(test); + initialCanvas.centerObject(test); + }, + [] +); + + return { init }; +}; \ No newline at end of file