diff --git a/.changeset/grumpy-rules-kick.md b/.changeset/grumpy-rules-kick.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/grumpy-rules-kick.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/package-lock.json b/package-lock.json index 22530356e42..ea263596bca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6012,6 +6012,45 @@ "version": "0.1.2", "license": "MIT" }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "@formatjs/intl-localematcher": "0.5.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/fast-memoize": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.7.8", + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "2.0.0", + "@formatjs/icu-skeleton-parser": "1.8.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.8.2", + "license": "MIT", + "dependencies": { + "@formatjs/ecma402-abstract": "2.0.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.5.4", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@formkit/auto-animate": { "version": "0.8.1", "license": "MIT" @@ -6572,9 +6611,8 @@ }, "node_modules/@hcaptcha/types": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@hcaptcha/types/-/types-1.0.3.tgz", - "integrity": "sha512-1mbU6eSGawRrqeahRrOzZo/SVLI6oZ5/azuBpSyVrRRR96CnS3fOVDWfzxpngfxKD0/I9Rwu6c/3ITqD8rXeTQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.11", @@ -6608,6 +6646,63 @@ "dev": true, "license": "ISC" }, + "node_modules/@internationalized/date": { + "version": "3.5.4", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/date/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@internationalized/message": { + "version": "3.1.4", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0", + "intl-messageformat": "^10.1.0" + } + }, + "node_modules/@internationalized/message/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.5.3", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@internationalized/string": { + "version": "3.2.3", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/string/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "dev": true, @@ -8079,134 +8174,6 @@ "node": ">= 10" } }, - "node_modules/@next/swc-darwin-x64": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", - "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", - "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", - "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", - "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", - "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", - "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", - "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", - "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "license": "MIT", @@ -9421,9 +9388,8 @@ }, "node_modules/@playwright/test": { "version": "1.44.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz", - "integrity": "sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==", "dev": true, + "license": "Apache-2.0", "dependencies": { "playwright": "1.44.1" }, @@ -9572,6 +9538,107 @@ } } }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-form": { "version": "0.0.3", "license": "MIT", @@ -9638,254 +9705,2229 @@ } } }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-primitive": { "version": "1.0.3", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.2" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@react-aria/breadcrumbs": { + "version": "3.5.13", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.11.1", + "@react-aria/link": "^3.7.1", + "@react-aria/utils": "^3.24.1", + "@react-types/breadcrumbs": "^3.7.5", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/breadcrumbs/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/button": { + "version": "3.9.5", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/utils": "^3.24.1", + "@react-stately/toggle": "^3.7.4", + "@react-types/button": "^3.9.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/button/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/calendar": { + "version": "3.5.8", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.5.4", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/utils": "^3.24.1", + "@react-stately/calendar": "^3.5.1", + "@react-types/button": "^3.9.4", + "@react-types/calendar": "^3.4.6", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/calendar/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/checkbox": { + "version": "3.14.3", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/form": "^3.0.5", + "@react-aria/interactions": "^3.21.3", + "@react-aria/label": "^3.7.8", + "@react-aria/toggle": "^3.10.4", + "@react-aria/utils": "^3.24.1", + "@react-stately/checkbox": "^3.6.5", + "@react-stately/form": "^3.0.3", + "@react-stately/toggle": "^3.7.4", + "@react-types/checkbox": "^3.8.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/checkbox/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/color": { + "version": "3.0.0-beta.33", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/numberfield": "^3.11.3", + "@react-aria/slider": "^3.7.8", + "@react-aria/spinbutton": "^3.6.5", + "@react-aria/textfield": "^3.14.5", + "@react-aria/utils": "^3.24.1", + "@react-aria/visually-hidden": "^3.8.12", + "@react-stately/color": "^3.6.1", + "@react-stately/form": "^3.0.3", + "@react-types/color": "3.0.0-beta.25", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/color/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/combobox": { + "version": "3.9.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.11.1", + "@react-aria/listbox": "^3.12.1", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/menu": "^3.14.1", + "@react-aria/overlays": "^3.22.1", + "@react-aria/selection": "^3.18.1", + "@react-aria/textfield": "^3.14.5", + "@react-aria/utils": "^3.24.1", + "@react-stately/collections": "^3.10.7", + "@react-stately/combobox": "^3.8.4", + "@react-stately/form": "^3.0.3", + "@react-types/button": "^3.9.4", + "@react-types/combobox": "^3.11.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/combobox/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/datepicker": { + "version": "3.10.1", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.5.4", + "@internationalized/number": "^3.5.3", + "@internationalized/string": "^3.2.3", + "@react-aria/focus": "^3.17.1", + "@react-aria/form": "^3.0.5", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/label": "^3.7.8", + "@react-aria/spinbutton": "^3.6.5", + "@react-aria/utils": "^3.24.1", + "@react-stately/datepicker": "^3.9.4", + "@react-stately/form": "^3.0.3", + "@react-types/button": "^3.9.4", + "@react-types/calendar": "^3.4.6", + "@react-types/datepicker": "^3.7.4", + "@react-types/dialog": "^3.5.10", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/datepicker/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/dialog": { + "version": "3.5.14", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/overlays": "^3.22.1", + "@react-aria/utils": "^3.24.1", + "@react-types/dialog": "^3.5.10", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/dialog/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/dnd": { + "version": "3.6.1", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/string": "^3.2.3", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/overlays": "^3.22.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/dnd": "^3.3.1", + "@react-types/button": "^3.9.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/dnd/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/focus": { + "version": "3.17.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.21.3", + "@react-aria/utils": "^3.24.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/focus/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/form": { + "version": "3.0.5", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.21.3", + "@react-aria/utils": "^3.24.1", + "@react-stately/form": "^3.0.3", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/form/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/grid": { + "version": "3.9.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/selection": "^3.18.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/collections": "^3.10.7", + "@react-stately/grid": "^3.8.7", + "@react-stately/selection": "^3.15.1", + "@react-stately/virtualizer": "^3.7.1", + "@react-types/checkbox": "^3.8.1", + "@react-types/grid": "^3.2.6", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/grid/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/gridlist": { + "version": "3.8.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/grid": "^3.9.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/selection": "^3.18.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/collections": "^3.10.7", + "@react-stately/list": "^3.10.5", + "@react-stately/tree": "^3.8.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/gridlist/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/i18n": { + "version": "3.11.1", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.5.4", + "@internationalized/message": "^3.1.4", + "@internationalized/number": "^3.5.3", + "@internationalized/string": "^3.2.3", + "@react-aria/ssr": "^3.9.4", + "@react-aria/utils": "^3.24.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/i18n/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/interactions": { + "version": "3.21.3", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.4", + "@react-aria/utils": "^3.24.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/interactions/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/label": { + "version": "3.7.8", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/utils": "^3.24.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/label/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/link": { + "version": "3.7.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/utils": "^3.24.1", + "@react-types/link": "^3.5.5", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/link/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/listbox": { + "version": "3.12.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.21.3", + "@react-aria/label": "^3.7.8", + "@react-aria/selection": "^3.18.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/collections": "^3.10.7", + "@react-stately/list": "^3.10.5", + "@react-types/listbox": "^3.4.9", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/listbox/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/live-announcer": { + "version": "3.3.4", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-aria/live-announcer/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/menu": { + "version": "3.14.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/overlays": "^3.22.1", + "@react-aria/selection": "^3.18.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/collections": "^3.10.7", + "@react-stately/menu": "^3.7.1", + "@react-stately/tree": "^3.8.1", + "@react-types/button": "^3.9.4", + "@react-types/menu": "^3.9.9", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/menu/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/meter": { + "version": "3.4.13", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/progress": "^3.4.13", + "@react-types/meter": "^3.4.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/meter/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/numberfield": { + "version": "3.11.3", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/spinbutton": "^3.6.5", + "@react-aria/textfield": "^3.14.5", + "@react-aria/utils": "^3.24.1", + "@react-stately/form": "^3.0.3", + "@react-stately/numberfield": "^3.9.3", + "@react-types/button": "^3.9.4", + "@react-types/numberfield": "^3.8.3", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/numberfield/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/overlays": { + "version": "3.22.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/ssr": "^3.9.4", + "@react-aria/utils": "^3.24.1", + "@react-aria/visually-hidden": "^3.8.12", + "@react-stately/overlays": "^3.6.7", + "@react-types/button": "^3.9.4", + "@react-types/overlays": "^3.8.7", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/overlays/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/progress": { + "version": "3.4.13", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.11.1", + "@react-aria/label": "^3.7.8", + "@react-aria/utils": "^3.24.1", + "@react-types/progress": "^3.5.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/progress/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/radio": { + "version": "3.10.4", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/form": "^3.0.5", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/label": "^3.7.8", + "@react-aria/utils": "^3.24.1", + "@react-stately/radio": "^3.10.4", + "@react-types/radio": "^3.8.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/radio/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/searchfield": { + "version": "3.7.5", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.11.1", + "@react-aria/textfield": "^3.14.5", + "@react-aria/utils": "^3.24.1", + "@react-stately/searchfield": "^3.5.3", + "@react-types/button": "^3.9.4", + "@react-types/searchfield": "^3.5.5", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/searchfield/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/select": { + "version": "3.14.5", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/form": "^3.0.5", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/label": "^3.7.8", + "@react-aria/listbox": "^3.12.1", + "@react-aria/menu": "^3.14.1", + "@react-aria/selection": "^3.18.1", + "@react-aria/utils": "^3.24.1", + "@react-aria/visually-hidden": "^3.8.12", + "@react-stately/select": "^3.6.4", + "@react-types/button": "^3.9.4", + "@react-types/select": "^3.9.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/select/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/selection": { + "version": "3.18.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/utils": "^3.24.1", + "@react-stately/selection": "^3.15.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/selection/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/separator": { + "version": "3.3.13", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/utils": "^3.24.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/separator/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/slider": { + "version": "3.7.8", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/label": "^3.7.8", + "@react-aria/utils": "^3.24.1", + "@react-stately/slider": "^3.5.4", + "@react-types/shared": "^3.23.1", + "@react-types/slider": "^3.7.3", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/slider/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/spinbutton": { + "version": "3.6.5", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/i18n": "^3.11.1", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/utils": "^3.24.1", + "@react-types/button": "^3.9.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/spinbutton/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.9.4", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/ssr/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/switch": { + "version": "3.6.4", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/toggle": "^3.10.4", + "@react-stately/toggle": "^3.7.4", + "@react-types/switch": "^3.5.3", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/switch/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/table": { + "version": "3.14.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/grid": "^3.9.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/live-announcer": "^3.3.4", + "@react-aria/utils": "^3.24.1", + "@react-aria/visually-hidden": "^3.8.12", + "@react-stately/collections": "^3.10.7", + "@react-stately/flags": "^3.0.3", + "@react-stately/table": "^3.11.8", + "@react-stately/virtualizer": "^3.7.1", + "@react-types/checkbox": "^3.8.1", + "@react-types/grid": "^3.2.6", + "@react-types/shared": "^3.23.1", + "@react-types/table": "^3.9.5", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/table/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/tabs": { + "version": "3.9.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/selection": "^3.18.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/tabs": "^3.6.6", + "@react-types/shared": "^3.23.1", + "@react-types/tabs": "^3.3.7", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/tabs/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/tag": { + "version": "3.4.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/gridlist": "^3.8.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/label": "^3.7.8", + "@react-aria/selection": "^3.18.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/list": "^3.10.5", + "@react-types/button": "^3.9.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/tag/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/textfield": { + "version": "3.14.5", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/form": "^3.0.5", + "@react-aria/label": "^3.7.8", + "@react-aria/utils": "^3.24.1", + "@react-stately/form": "^3.0.3", + "@react-stately/utils": "^3.10.1", + "@react-types/shared": "^3.23.1", + "@react-types/textfield": "^3.9.3", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/textfield/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/toggle": { + "version": "3.10.4", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/utils": "^3.24.1", + "@react-stately/toggle": "^3.7.4", + "@react-types/checkbox": "^3.8.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/toggle/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/toolbar": { + "version": "3.0.0-beta.5", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/utils": "^3.24.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/toolbar/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/tooltip": { + "version": "3.7.4", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/focus": "^3.17.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/utils": "^3.24.1", + "@react-stately/tooltip": "^3.4.9", + "@react-types/shared": "^3.23.1", + "@react-types/tooltip": "^3.4.9", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/tooltip/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/tree": { + "version": "3.0.0-alpha.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/gridlist": "^3.8.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/selection": "^3.18.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/tree": "^3.8.1", + "@react-types/button": "^3.9.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/tree/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/utils": { + "version": "3.24.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/ssr": "^3.9.4", + "@react-stately/utils": "^3.10.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/utils/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-aria/visually-hidden": { + "version": "3.8.12", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/interactions": "^3.21.3", + "@react-aria/utils": "^3.24.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-aria/visually-hidden/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-native/assets-registry": { + "version": "0.73.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/babel-plugin-codegen": { + "version": "0.73.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@react-native/codegen": "0.73.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/babel-preset": { + "version": "0.73.21", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "@react-native/babel-plugin-codegen": "0.73.4", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/codegen": { + "version": "0.73.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "glob": "^7.1.1", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/@react-native/codegen/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "peer": true, + "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/@react-native/debugger-frontend": { + "version": "0.73.3", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/dev-middleware": { + "version": "0.73.8", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.73.3", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^1.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "open": "^7.0.3", + "serve-static": "^1.13.1", + "temp-dir": "^2.0.0", + "ws": "^6.2.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/dev-middleware/node_modules/open": { + "version": "7.4.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ws": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/@react-native/normalize-color": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@react-stately/calendar": { + "version": "3.5.1", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.5.4", + "@react-stately/utils": "^3.10.1", + "@react-types/calendar": "^3.4.6", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/calendar/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/checkbox": { + "version": "3.6.5", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/form": "^3.0.3", + "@react-stately/utils": "^3.10.1", + "@react-types/checkbox": "^3.8.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/checkbox/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/collections": { + "version": "3.10.7", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/collections/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/color": { + "version": "3.6.1", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/number": "^3.5.3", + "@internationalized/string": "^3.2.3", + "@react-aria/i18n": "^3.11.1", + "@react-stately/form": "^3.0.3", + "@react-stately/numberfield": "^3.9.3", + "@react-stately/slider": "^3.5.4", + "@react-stately/utils": "^3.10.1", + "@react-types/color": "3.0.0-beta.25", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/color/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/combobox": { + "version": "3.8.4", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.10.7", + "@react-stately/form": "^3.0.3", + "@react-stately/list": "^3.10.5", + "@react-stately/overlays": "^3.6.7", + "@react-stately/select": "^3.6.4", + "@react-stately/utils": "^3.10.1", + "@react-types/combobox": "^3.11.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/combobox/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/data": { + "version": "3.11.4", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/data/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/datepicker": { + "version": "3.9.4", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.5.4", + "@internationalized/string": "^3.2.3", + "@react-stately/form": "^3.0.3", + "@react-stately/overlays": "^3.6.7", + "@react-stately/utils": "^3.10.1", + "@react-types/datepicker": "^3.7.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/datepicker/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/dnd": { + "version": "3.3.1", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/selection": "^3.15.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/dnd/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/flags": { + "version": "3.0.3", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-stately/flags/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/form": { + "version": "3.0.3", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/form/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/grid": { + "version": "3.8.7", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.10.7", + "@react-stately/selection": "^3.15.1", + "@react-types/grid": "^3.2.6", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/grid/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/list": { + "version": "3.10.5", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.10.7", + "@react-stately/selection": "^3.15.1", + "@react-stately/utils": "^3.10.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/list/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/menu": { + "version": "3.7.1", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/overlays": "^3.6.7", + "@react-types/menu": "^3.9.9", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/menu/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/numberfield": { + "version": "3.9.3", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/number": "^3.5.3", + "@react-stately/form": "^3.0.3", + "@react-stately/utils": "^3.10.1", + "@react-types/numberfield": "^3.8.3", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/numberfield/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/overlays": { + "version": "3.6.7", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.1", + "@react-types/overlays": "^3.8.7", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/overlays/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/radio": { + "version": "3.10.4", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/form": "^3.0.3", + "@react-stately/utils": "^3.10.1", + "@react-types/radio": "^3.8.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/radio/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/searchfield": { + "version": "3.5.3", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.1", + "@react-types/searchfield": "^3.5.5", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/searchfield/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/select": { + "version": "3.6.4", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/form": "^3.0.3", + "@react-stately/list": "^3.10.5", + "@react-stately/overlays": "^3.6.7", + "@react-types/select": "^3.9.4", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/select/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/selection": { + "version": "3.15.1", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.10.7", + "@react-stately/utils": "^3.10.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/selection/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/slider": { + "version": "3.5.4", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.1", + "@react-types/shared": "^3.23.1", + "@react-types/slider": "^3.7.3", + "@swc/helpers": "^0.5.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@radix-ui/react-slot": { - "version": "1.0.2", - "license": "MIT", + "node_modules/@react-stately/slider/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/table": { + "version": "3.11.8", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/collections": "^3.10.7", + "@react-stately/flags": "^3.0.3", + "@react-stately/grid": "^3.8.7", + "@react-stately/selection": "^3.15.1", + "@react-stately/utils": "^3.10.1", + "@react-types/grid": "^3.2.6", + "@react-types/shared": "^3.23.1", + "@react-types/table": "^3.9.5", + "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/table/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/tabs": { + "version": "3.6.6", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/list": "^3.10.5", + "@react-types/shared": "^3.23.1", + "@react-types/tabs": "^3.3.7", + "@swc/helpers": "^0.5.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@react-stately/tabs/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.13.10" + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/toggle": { + "version": "3.7.4", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/utils": "^3.10.1", + "@react-types/checkbox": "^3.8.1", + "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/toggle/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/tooltip": { + "version": "3.4.9", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/overlays": "^3.6.7", + "@react-types/tooltip": "^3.4.9", + "@swc/helpers": "^0.5.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/assets-registry": { - "version": "0.73.1", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" + "node_modules/@react-stately/tooltip/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.73.4", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@react-stately/tree": { + "version": "3.8.1", + "license": "Apache-2.0", "dependencies": { - "@react-native/codegen": "0.73.3" + "@react-stately/collections": "^3.10.7", + "@react-stately/selection": "^3.15.1", + "@react-stately/utils": "^3.10.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" }, - "engines": { - "node": ">=18" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/babel-preset": { - "version": "0.73.21", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@react-stately/tree/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.18.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", - "@babel/plugin-proposal-numeric-separator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.20.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.73.4", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/utils": { + "version": "3.10.1", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" }, - "engines": { - "node": ">=18" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-stately/utils/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@react-stately/virtualizer": { + "version": "3.7.1", + "license": "Apache-2.0", + "dependencies": { + "@react-aria/utils": "^3.24.1", + "@react-types/shared": "^3.23.1", + "@swc/helpers": "^0.5.0" }, "peerDependencies": { - "@babel/core": "*" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/codegen": { - "version": "0.73.3", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@react-stately/virtualizer/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1" + "tslib": "^2.4.0" + } + }, + "node_modules/@react-types/breadcrumbs": { + "version": "3.7.5", + "license": "Apache-2.0", + "dependencies": { + "@react-types/link": "^3.5.5", + "@react-types/shared": "^3.23.1" }, - "engines": { - "node": ">=18" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/button": { + "version": "3.9.4", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" }, "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/codegen/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/@react-types/calendar": { + "version": "3.4.6", + "license": "Apache-2.0", "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" + "@internationalized/date": "^3.5.4", + "@react-types/shared": "^3.23.1" }, - "engines": { - "node": "*" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/checkbox": { + "version": "3.8.1", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/debugger-frontend": { - "version": "0.73.3", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "engines": { - "node": ">=18" + "node_modules/@react-types/color": { + "version": "3.0.0-beta.25", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1", + "@react-types/slider": "^3.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/dev-middleware": { - "version": "0.73.8", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@react-types/combobox": { + "version": "3.11.1", + "license": "Apache-2.0", "dependencies": { - "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.73.3", - "chrome-launcher": "^0.15.2", - "chromium-edge-launcher": "^1.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "node-fetch": "^2.2.0", - "open": "^7.0.3", - "serve-static": "^1.13.1", - "temp-dir": "^2.0.0", - "ws": "^6.2.2" + "@react-types/shared": "^3.23.1" }, - "engines": { - "node": ">=18" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/dev-middleware/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@react-types/datepicker": { + "version": "3.7.4", + "license": "Apache-2.0", "dependencies": { - "ms": "2.0.0" + "@internationalized/date": "^3.5.4", + "@react-types/calendar": "^3.4.6", + "@react-types/overlays": "^3.8.7", + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/dev-middleware/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true + "node_modules/@react-types/dialog": { + "version": "3.5.10", + "license": "Apache-2.0", + "dependencies": { + "@react-types/overlays": "^3.8.7", + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } }, - "node_modules/@react-native/dev-middleware/node_modules/open": { - "version": "7.4.2", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@react-types/form": { + "version": "3.7.4", + "license": "Apache-2.0", "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "@react-types/shared": "^3.23.1" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/grid": { + "version": "3.2.6", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/dev-middleware/node_modules/ws": { - "version": "6.2.2", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@react-types/link": { + "version": "3.5.5", + "license": "Apache-2.0", "dependencies": { - "async-limiter": "~1.0.0" + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" } }, - "node_modules/@react-native/normalize-color": { - "version": "2.1.0", - "dev": true, - "license": "MIT" + "node_modules/@react-types/listbox": { + "version": "3.4.9", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/menu": { + "version": "3.9.9", + "license": "Apache-2.0", + "dependencies": { + "@react-types/overlays": "^3.8.7", + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/meter": { + "version": "3.4.1", + "license": "Apache-2.0", + "dependencies": { + "@react-types/progress": "^3.5.4" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/numberfield": { + "version": "3.8.3", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/overlays": { + "version": "3.8.7", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/progress": { + "version": "3.5.4", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/radio": { + "version": "3.8.1", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/searchfield": { + "version": "3.5.5", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1", + "@react-types/textfield": "^3.9.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/select": { + "version": "3.9.4", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/shared": { + "version": "3.23.1", + "license": "Apache-2.0", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/slider": { + "version": "3.7.3", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/switch": { + "version": "3.5.3", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/table": { + "version": "3.9.5", + "license": "Apache-2.0", + "dependencies": { + "@react-types/grid": "^3.2.6", + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/tabs": { + "version": "3.3.7", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/textfield": { + "version": "3.9.3", + "license": "Apache-2.0", + "dependencies": { + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/@react-types/tooltip": { + "version": "3.4.9", + "license": "Apache-2.0", + "dependencies": { + "@react-types/overlays": "^3.8.7", + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } }, "node_modules/@remix-run/react": { "version": "2.0.0", @@ -10637,9 +12679,8 @@ }, "node_modules/@testing-library/dom": { "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", - "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -10656,9 +12697,8 @@ }, "node_modules/@testing-library/dom/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10671,9 +12711,8 @@ }, "node_modules/@testing-library/dom/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10687,9 +12726,8 @@ }, "node_modules/@testing-library/dom/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10699,24 +12737,21 @@ }, "node_modules/@testing-library/dom/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@testing-library/dom/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@testing-library/dom/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10726,9 +12761,8 @@ }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", - "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", "dev": true, + "license": "MIT", "dependencies": { "@adobe/css-tools": "^4.0.1", "@babel/runtime": "^7.9.2", @@ -10748,9 +12782,8 @@ }, "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10763,9 +12796,8 @@ }, "node_modules/@testing-library/jest-dom/node_modules/chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10776,9 +12808,8 @@ }, "node_modules/@testing-library/jest-dom/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10788,24 +12819,21 @@ }, "node_modules/@testing-library/jest-dom/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@testing-library/jest-dom/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@testing-library/jest-dom/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10832,9 +12860,8 @@ }, "node_modules/@testing-library/user-event": { "version": "14.5.2", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", - "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12", "npm": ">=6" @@ -10989,9 +13016,8 @@ }, "node_modules/@types/chai": { "version": "4.3.16", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", - "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/common-tags": { "version": "1.8.4", @@ -11088,13 +13114,12 @@ "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "version": "4.17.14", "dev": true, + "license": "MIT", "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", + "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } @@ -11148,9 +13173,8 @@ }, "node_modules/@types/glob-to-regexp": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@types/glob-to-regexp/-/glob-to-regexp-0.4.4.tgz", - "integrity": "sha512-nDKoaKJYbnn1MZxUY0cA1bPmmgZbg0cTq7Rh13d0KWYNOiKbqoR+2d89SnRPszGh7ROzSwZ/GOjZ4jPbmmZ6Eg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/graceful-fs": { "version": "4.1.8", @@ -11209,9 +13233,8 @@ }, "node_modules/@types/jest": { "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -11219,9 +13242,8 @@ }, "node_modules/@types/jest/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -11231,9 +13253,8 @@ }, "node_modules/@types/jest/node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -11245,9 +13266,8 @@ }, "node_modules/@types/jest/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/jsdom": { "version": "20.0.1", @@ -11318,9 +13338,8 @@ }, "node_modules/@types/node": { "version": "18.19.33", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.33.tgz", - "integrity": "sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==", "devOptional": true, + "license": "MIT", "dependencies": { "undici-types": "~5.26.4" } @@ -11390,9 +13409,8 @@ }, "node_modules/@types/react": { "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", - "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", "devOptional": true, + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -11400,9 +13418,8 @@ }, "node_modules/@types/react-dom": { "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", "devOptional": true, + "license": "MIT", "dependencies": { "@types/react": "*" } @@ -11431,8 +13448,7 @@ }, "node_modules/@types/semver": { "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "license": "MIT" }, "node_modules/@types/send": { "version": "0.17.1", @@ -11462,9 +13478,8 @@ }, "node_modules/@types/sinon": { "version": "10.0.20", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz", - "integrity": "sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==", "dev": true, + "license": "MIT", "dependencies": { "@types/sinonjs__fake-timers": "*" } @@ -12140,9 +14155,8 @@ }, "node_modules/@verdaccio/middleware/node_modules/express": { "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -12182,18 +14196,16 @@ }, "node_modules/@verdaccio/middleware/node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/@verdaccio/middleware/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -12209,9 +14221,8 @@ }, "node_modules/@verdaccio/middleware/node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -12237,21 +14248,18 @@ }, "node_modules/@verdaccio/middleware/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@verdaccio/middleware/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@verdaccio/middleware/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12947,6 +14955,16 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/aria-query": { "version": "5.1.3", "license": "Apache-2.0", @@ -15395,6 +17413,18 @@ "node": ">=6" } }, + "node_modules/cmdk": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@radix-ui/react-dialog": "1.0.5", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/co": { "version": "4.6.0", "devOptional": true, @@ -15663,9 +17693,8 @@ }, "node_modules/concurrently": { "version": "8.2.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", - "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.2", "date-fns": "^2.30.0", @@ -17785,6 +19814,10 @@ "dev": true, "license": "MIT" }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "license": "MIT" + }, "node_modules/detect-port": { "version": "1.5.1", "dev": true, @@ -20101,9 +22134,8 @@ }, "node_modules/express": { "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -20169,9 +22201,8 @@ }, "node_modules/express/node_modules/body-parser": { "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -20193,27 +22224,24 @@ }, "node_modules/express/node_modules/cookie": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -20229,21 +22257,18 @@ }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/express/node_modules/raw-body": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -20256,9 +22281,8 @@ }, "node_modules/express/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -22709,6 +24733,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/get-package-type": { "version": "0.1.0", "devOptional": true, @@ -24046,9 +26077,18 @@ "node": ">=10.13.0" } }, + "node_modules/intl-messageformat": { + "version": "10.5.14", + "license": "BSD-3-Clause", + "dependencies": { + "@formatjs/ecma402-abstract": "2.0.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.7.8", + "tslib": "^2.4.0" + } + }, "node_modules/invariant": { "version": "2.2.4", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" @@ -25618,9 +27658,8 @@ }, "node_modules/jest-environment-jsdom": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -26842,8 +28881,7 @@ }, "node_modules/js-cookie": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "license": "MIT", "engines": { "node": ">=14" } @@ -29127,9 +31165,8 @@ }, "node_modules/nock": { "version": "13.5.4", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz", - "integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", @@ -30629,8 +32666,7 @@ }, "node_modules/path-to-regexp": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", - "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==" + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", @@ -30905,9 +32941,8 @@ }, "node_modules/playwright": { "version": "1.44.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz", - "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "playwright-core": "1.44.1" }, @@ -30923,9 +32958,8 @@ }, "node_modules/playwright-core": { "version": "1.44.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz", - "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==", "dev": true, + "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" }, @@ -31009,8 +33043,6 @@ }, "node_modules/postcss": { "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -31025,6 +33057,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -32079,9 +34112,8 @@ }, "node_modules/qunit": { "version": "2.21.0", - "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.21.0.tgz", - "integrity": "sha512-kJJ+uzx5xDWk0oRrbOZ3zsm+imPULE58ZMIrNl+3POZl4a1k6VXj2E4OiqTmZ9j6hh9egE3kNgnAti9Q+BG6Yw==", "dev": true, + "license": "MIT", "dependencies": { "commander": "7.2.0", "node-watch": "0.7.3", @@ -32096,9 +34128,8 @@ }, "node_modules/qunit/node_modules/commander": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } @@ -32176,8 +34207,7 @@ }, "node_modules/react": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -32185,6 +34215,93 @@ "node": ">=0.10.0" } }, + "node_modules/react-aria": { + "version": "3.33.1", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/string": "^3.2.3", + "@react-aria/breadcrumbs": "^3.5.13", + "@react-aria/button": "^3.9.5", + "@react-aria/calendar": "^3.5.8", + "@react-aria/checkbox": "^3.14.3", + "@react-aria/combobox": "^3.9.1", + "@react-aria/datepicker": "^3.10.1", + "@react-aria/dialog": "^3.5.14", + "@react-aria/dnd": "^3.6.1", + "@react-aria/focus": "^3.17.1", + "@react-aria/gridlist": "^3.8.1", + "@react-aria/i18n": "^3.11.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/label": "^3.7.8", + "@react-aria/link": "^3.7.1", + "@react-aria/listbox": "^3.12.1", + "@react-aria/menu": "^3.14.1", + "@react-aria/meter": "^3.4.13", + "@react-aria/numberfield": "^3.11.3", + "@react-aria/overlays": "^3.22.1", + "@react-aria/progress": "^3.4.13", + "@react-aria/radio": "^3.10.4", + "@react-aria/searchfield": "^3.7.5", + "@react-aria/select": "^3.14.5", + "@react-aria/selection": "^3.18.1", + "@react-aria/separator": "^3.3.13", + "@react-aria/slider": "^3.7.8", + "@react-aria/ssr": "^3.9.4", + "@react-aria/switch": "^3.6.4", + "@react-aria/table": "^3.14.1", + "@react-aria/tabs": "^3.9.1", + "@react-aria/tag": "^3.4.1", + "@react-aria/textfield": "^3.14.5", + "@react-aria/tooltip": "^3.7.4", + "@react-aria/utils": "^3.24.1", + "@react-aria/visually-hidden": "^3.8.12", + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/react-aria-components": { + "version": "1.2.1", + "license": "Apache-2.0", + "dependencies": { + "@internationalized/date": "^3.5.4", + "@internationalized/string": "^3.2.3", + "@react-aria/color": "3.0.0-beta.33", + "@react-aria/focus": "^3.17.1", + "@react-aria/interactions": "^3.21.3", + "@react-aria/menu": "^3.14.1", + "@react-aria/toolbar": "3.0.0-beta.5", + "@react-aria/tree": "3.0.0-alpha.1", + "@react-aria/utils": "^3.24.1", + "@react-stately/color": "^3.6.1", + "@react-stately/menu": "^3.7.1", + "@react-stately/table": "^3.11.8", + "@react-stately/utils": "^3.10.1", + "@react-types/color": "3.0.0-beta.25", + "@react-types/form": "^3.7.4", + "@react-types/grid": "^3.2.6", + "@react-types/shared": "^3.23.1", + "@react-types/table": "^3.9.5", + "@swc/helpers": "^0.5.0", + "client-only": "^0.0.1", + "react-aria": "^3.33.1", + "react-stately": "^3.31.1", + "use-sync-external-store": "^1.2.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/react-aria-components/node_modules/@swc/helpers": { + "version": "0.5.11", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/react-dev-utils": { "version": "12.0.1", "dev": true, @@ -32312,8 +34429,7 @@ }, "node_modules/react-dom": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -32358,6 +34474,49 @@ "typescript": "^4.8 || ^5.0" } }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/react-router": { "version": "6.16.0", "dev": true, @@ -32416,6 +34575,59 @@ "node": ">=0.4.0" } }, + "node_modules/react-stately": { + "version": "3.31.1", + "license": "Apache-2.0", + "dependencies": { + "@react-stately/calendar": "^3.5.1", + "@react-stately/checkbox": "^3.6.5", + "@react-stately/collections": "^3.10.7", + "@react-stately/combobox": "^3.8.4", + "@react-stately/data": "^3.11.4", + "@react-stately/datepicker": "^3.9.4", + "@react-stately/dnd": "^3.3.1", + "@react-stately/form": "^3.0.3", + "@react-stately/list": "^3.10.5", + "@react-stately/menu": "^3.7.1", + "@react-stately/numberfield": "^3.9.3", + "@react-stately/overlays": "^3.6.7", + "@react-stately/radio": "^3.10.4", + "@react-stately/searchfield": "^3.5.3", + "@react-stately/select": "^3.6.4", + "@react-stately/selection": "^3.15.1", + "@react-stately/slider": "^3.5.4", + "@react-stately/table": "^3.11.8", + "@react-stately/tabs": "^3.6.6", + "@react-stately/toggle": "^3.7.4", + "@react-stately/tooltip": "^3.4.9", + "@react-stately/tree": "^3.8.1", + "@react-types/shared": "^3.23.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/read": { "version": "1.0.7", "dev": true, @@ -33453,8 +35665,7 @@ }, "node_modules/scheduler": { "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } @@ -35304,8 +37515,7 @@ }, "node_modules/swr": { "version": "2.2.5", - "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz", - "integrity": "sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==", + "license": "MIT", "dependencies": { "client-only": "^0.0.1", "use-sync-external-store": "^1.2.0" @@ -36097,9 +38307,8 @@ }, "node_modules/ts-jest": { "version": "29.1.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.4.tgz", - "integrity": "sha512-YiHwDhSvCiItoAgsKtoLFCuakDzDsJ1DLDnSouTaTmdOcOwIkSzbLXduaQ6M5DRVhuZC/NYaaZ/mtHbWMv/S6Q==", "dev": true, + "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -36144,9 +38353,8 @@ }, "node_modules/ts-jest/node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -36758,8 +38966,7 @@ }, "node_modules/typescript": { "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -37095,6 +39302,25 @@ "dev": true, "license": "MIT" }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/use-isomorphic-layout-effect": { "version": "1.1.2", "license": "MIT", @@ -37107,6 +39333,26 @@ } } }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/use-sync-external-store": { "version": "1.2.0", "license": "MIT", @@ -37298,18 +39544,16 @@ }, "node_modules/verdaccio-audit/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/verdaccio-audit/node_modules/express": { "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -37349,9 +39593,8 @@ }, "node_modules/verdaccio-audit/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -37367,9 +39610,8 @@ }, "node_modules/verdaccio-audit/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/verdaccio-audit/node_modules/node-fetch": { "version": "2.6.7", @@ -37393,15 +39635,13 @@ }, "node_modules/verdaccio-audit/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/verdaccio-audit/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -37496,9 +39736,8 @@ }, "node_modules/verdaccio/node_modules/express": { "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -37538,18 +39777,16 @@ }, "node_modules/verdaccio/node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/verdaccio/node_modules/finalhandler": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -37565,9 +39802,8 @@ }, "node_modules/verdaccio/node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -37604,21 +39840,18 @@ }, "node_modules/verdaccio/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/verdaccio/node_modules/path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/verdaccio/node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -39776,8 +42009,6 @@ }, "packages/elements/node_modules/postcss": { "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "funding": [ { @@ -39793,6 +42024,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -40196,6 +42428,18 @@ "node": ">=18.17.0" } }, + "packages/express/node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, "packages/express/node_modules/tslib": { "version": "2.4.1", "license": "0BSD" @@ -40320,134 +42564,6 @@ "node": ">= 10" } }, - "packages/nextjs/node_modules/@next/swc-darwin-x64": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.6.tgz", - "integrity": "sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "packages/nextjs/node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.6.tgz", - "integrity": "sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "packages/nextjs/node_modules/@next/swc-linux-arm64-musl": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.6.tgz", - "integrity": "sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "packages/nextjs/node_modules/@next/swc-linux-x64-gnu": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.6.tgz", - "integrity": "sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "packages/nextjs/node_modules/@next/swc-linux-x64-musl": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.6.tgz", - "integrity": "sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "packages/nextjs/node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.6.tgz", - "integrity": "sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "packages/nextjs/node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.6.tgz", - "integrity": "sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "packages/nextjs/node_modules/@next/swc-win32-x64-msvc": { - "version": "13.5.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.6.tgz", - "integrity": "sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "packages/nextjs/node_modules/@swc/helpers": { "version": "0.5.2", "dev": true, @@ -40503,8 +42619,6 @@ }, "packages/nextjs/node_modules/postcss": { "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "funding": [ { @@ -40520,6 +42634,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -40623,6 +42738,18 @@ "node": ">=18.17.0" } }, + "packages/sdk-node/node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, "packages/sdk-node/node_modules/tslib": { "version": "2.4.1", "license": "0BSD" @@ -40666,9 +42793,8 @@ }, "packages/shared/node_modules/@types/js-cookie": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-dtLshqoiGRDHbHueIT9sjkd2F4tW1qPSX2xKAQK8p1e6pM+Z913GM1shv7dOqqasEMYbC5zEaClJomQe8OtQLA==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/shared/node_modules/cross-fetch": { "version": "4.0.0", @@ -40823,7 +42949,9 @@ "@clerk/clerk-react": "^5.2.2", "@clerk/elements": "file:../elements", "@clerk/types": "^4.5.1", - "clsx": "^2.1.1" + "clsx": "^2.1.1", + "cmdk": "^1.0.0", + "react-aria-components": "^1.2.1" }, "devDependencies": { "@clerk/eslint-config-custom": "*", diff --git a/packages/ui/package.json b/packages/ui/package.json index b6c9fbec8b1..c6e5f0ed21e 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -33,7 +33,9 @@ "@clerk/clerk-react": "^5.2.2", "@clerk/elements": "file:../elements", "@clerk/types": "^4.5.1", - "clsx": "^2.1.1" + "clsx": "^2.1.1", + "cmdk": "^1.0.0", + "react-aria-components": "^1.2.1" }, "devDependencies": { "@clerk/eslint-config-custom": "*", diff --git a/packages/ui/src/common/PhoneNumberField/data.ts b/packages/ui/src/common/PhoneNumberField/data.ts new file mode 100644 index 00000000000..070e91e8ebc --- /dev/null +++ b/packages/ui/src/common/PhoneNumberField/data.ts @@ -0,0 +1,573 @@ +export type CountryCodeData = typeof data; +export type CountryName = CountryCodeData[number][0]; +export type CountryIso = CountryCodeData[number][1]; +export type DialingCode = CountryCodeData[number][2]; +export type PhonePattern = CountryCodeData[number][3] | ''; + +const data = [ + ['United States', 'us', '1', '(...) ...-....', 100], + ['United Kingdom', 'gb', '44', '.... ......', 100], + ['India', 'in', '91', '.....-.....', 100], + ['Canada', 'ca', '1', '(...) ...-....', 100], + ['Germany', 'de', '49', '... .......', 100], + ['France', 'fr', '33', '. .. .. .. ..', 100], + ['Russia', 'ru', '7', '... ...-..-..', 100], + ['Afghanistan', 'af', '93'], + ['Albania', 'al', '355'], + ['Algeria ', 'dz', '213'], + ['American Samoa', 'as', '1684'], + ['Andorra', 'ad', '376'], + ['Angola', 'ao', '244'], + ['Anguilla', 'ai', '1264'], + ['Antigua and Barbuda', 'ag', '1268'], + ['Argentina', 'ar', '54'], + ['Armenia', 'am', '374'], + ['Aruba', 'aw', '297'], + ['Australia', 'au', '61', '... ... ...'], + ['Austria', 'at', '43'], + ['Azerbaijan', 'az', '994'], + ['Bahamas', 'bs', '1242'], + ['Bahrain', 'bh', '973'], + ['Bangladesh', 'bd', '880'], + ['Barbados', 'bb', '1246'], + ['Belarus', 'by', '375'], + ['Belgium', 'be', '32', '... .. .. ..'], + ['Belize', 'bz', '501'], + ['Benin', 'bj', '229'], + ['Bermuda', 'bm', '1441'], + ['Bhutan', 'bt', '975'], + ['Bolivia', 'bo', '591'], + ['Bosnia and Herzegovina', 'ba', '387'], + ['Botswana', 'bw', '267'], + ['Brazil', 'br', '55'], + ['British Indian Ocean Territory', 'io', '246'], + ['British Virgin Islands', 'vg', '1284'], + ['Brunei', 'bn', '673'], + ['Bulgaria', 'bg', '359'], + ['Burkina Faso', 'bf', '226'], + ['Burundi', 'bi', '257'], + ['Cambodia', 'kh', '855'], + ['Cameroon', 'cm', '237'], + ['Cape Verde', 'cv', '238'], + ['Caribbean Netherlands', 'bq', '599'], + ['Cayman Islands', 'ky', '1345'], + ['Central African Republic', 'cf', '236'], + ['Chad', 'td', '235'], + ['Chile', 'cl', '56'], + ['China', 'cn', '86', '...-....-....'], + ['Colombia', 'co', '57'], + ['Comoros', 'km', '269'], + ['Congo', 'cd', '243'], + ['Congo', 'cg', '242'], + ['Cook Islands', 'ck', '682'], + ['Costa Rica', 'cr', '506', '....-....'], + ['Côte d’Ivoire', 'ci', '225'], + ['Croatia', 'hr', '385'], + ['Cuba', 'cu', '53'], + ['Curaçao', 'cw', '599'], + ['Cyprus', 'cy', '357'], + ['Czech Republic', 'cz', '420'], + ['Denmark', 'dk', '45', '.. .. .. ..'], + ['Djibouti', 'dj', '253'], + ['Dominica', 'dm', '1767'], + ['Dominican Republic', 'do', '1'], + ['Ecuador', 'ec', '593'], + ['Egypt', 'eg', '20'], + ['El Salvador', 'sv', '503', '....-....'], + ['Equatorial Guinea', 'gq', '240'], + ['Eritrea', 'er', '291'], + ['Estonia', 'ee', '372'], + ['Ethiopia', 'et', '251'], + ['Falkland Islands', 'fk', '500'], + ['Faroe Islands', 'fo', '298'], + ['Fiji', 'fj', '679'], + ['Finland', 'fi', '358', '.. ... .. ..'], + ['French Guiana', 'gf', '594'], + ['French Polynesia', 'pf', '689'], + ['Gabon', 'ga', '241'], + ['Gambia', 'gm', '220'], + ['Georgia', 'ge', '995'], + ['Ghana', 'gh', '233'], + ['Gibraltar', 'gi', '350'], + ['Greece', 'gr', '30', '... .......'], + ['Greenland', 'gl', '299'], + ['Grenada', 'gd', '1473'], + ['Guadeloupe', 'gp', '590'], + ['Guam', 'gu', '1671'], + ['Guatemala', 'gt', '502', '....-....'], + ['Guinea', 'gn', '224'], + ['Guinea-Bissau', 'gw', '245'], + ['Guyana', 'gy', '592'], + ['Haiti', 'ht', '509', '....-....'], + ['Honduras', 'hn', '504'], + ['Hong Kong', 'hk', '852', '.... ....'], + ['Hungary', 'hu', '36'], + ['Iceland', 'is', '354', '... ....'], + ['Indonesia', 'id', '62'], + ['Iran', 'ir', '98'], + ['Iraq', 'iq', '964'], + ['Ireland', 'ie', '353', '.. .......'], + ['Israel', 'il', '972'], + ['Italy', 'it', '39', '... ......'], + ['Jamaica', 'jm', '1876'], + ['Japan', 'jp', '81', '... .. ....'], + ['Jordan', 'jo', '962'], + ['Kazakhstan', 'kz', '7', '... ...-..-..'], + ['Kenya', 'ke', '254'], + ['Kiribati', 'ki', '686'], + ['Kuwait', 'kw', '965'], + ['Kyrgyzstan', 'kg', '996'], + ['Laos', 'la', '856'], + ['Latvia', 'lv', '371'], + ['Lebanon', 'lb', '961'], + ['Lesotho', 'ls', '266'], + ['Liberia', 'lr', '231'], + ['Libya', 'ly', '218'], + ['Liechtenstein', 'li', '423'], + ['Lithuania', 'lt', '370'], + ['Luxembourg', 'lu', '352'], + ['Macau', 'mo', '853'], + ['Macedonia', 'mk', '389'], + ['Madagascar', 'mg', '261'], + ['Malawi', 'mw', '265'], + ['Malaysia', 'my', '60', '..-....-....'], + ['Maldives', 'mv', '960'], + ['Mali', 'ml', '223'], + ['Malta', 'mt', '356'], + ['Marshall Islands', 'mh', '692'], + ['Martinique', 'mq', '596'], + ['Mauritania', 'mr', '222'], + ['Mauritius', 'mu', '230'], + ['Mexico', 'mx', '52'], + ['Micronesia', 'fm', '691'], + ['Moldova', 'md', '373'], + ['Monaco', 'mc', '377'], + ['Mongolia', 'mn', '976'], + ['Montenegro', 'me', '382'], + ['Montserrat', 'ms', '1664'], + ['Morocco', 'ma', '212'], + ['Mozambique', 'mz', '258'], + ['Myanmar', 'mm', '95'], + ['Namibia', 'na', '264'], + ['Nauru', 'nr', '674'], + ['Nepal', 'np', '977'], + ['Netherlands', 'nl', '31', '.. ........'], + ['New Caledonia', 'nc', '687'], + ['New Zealand', 'nz', '64', '...-...-....'], + ['Nicaragua', 'ni', '505'], + ['Niger', 'ne', '227'], + ['Nigeria', 'ng', '234'], + ['Niue', 'nu', '683'], + ['Norfolk Island', 'nf', '672'], + ['North Korea', 'kp', '850'], + ['Northern Mariana Islands', 'mp', '1670'], + ['Norway', 'no', '47', '... .. ...'], + ['Oman', 'om', '968'], + ['Pakistan', 'pk', '92', '...-.......'], + ['Palau', 'pw', '680'], + ['Palestine', 'ps', '970'], + ['Panama', 'pa', '507'], + ['Papua New Guinea', 'pg', '675'], + ['Paraguay', 'py', '595'], + ['Peru', 'pe', '51'], + ['Philippines', 'ph', '63', '... ....'], + ['Poland', 'pl', '48', '...-...-...'], + ['Portugal', 'pt', '351'], + ['Puerto Rico', 'pr', '1'], + ['Qatar', 'qa', '974'], + ['Réunion', 're', '262'], + ['Romania', 'ro', '40'], + ['Rwanda', 'rw', '250'], + ['Saint Barthélemy', 'bl', '590'], + ['Saint Helena', 'sh', '290'], + ['Saint Kitts and Nevis', 'kn', '1869'], + ['Saint Lucia', 'lc', '1758'], + ['Saint Martin', 'mf', '590'], + ['Saint Pierre and Miquelon', 'pm', '508'], + ['Saint Vincent and the Grenadines', 'vc', '1784'], + ['Samoa', 'ws', '685'], + ['San Marino', 'sm', '378'], + ['São Tomé and Príncipe', 'st', '239'], + ['Saudi Arabia', 'sa', '966'], + ['Senegal', 'sn', '221'], + ['Serbia', 'rs', '381'], + ['Seychelles', 'sc', '248'], + ['Sierra Leone', 'sl', '232'], + ['Singapore', 'sg', '65', '....-....'], + ['Sint Maarten', 'sx', '1721'], + ['Slovakia', 'sk', '421'], + ['Slovenia', 'si', '386'], + ['Solomon Islands', 'sb', '677'], + ['Somalia', 'so', '252'], + ['South Africa', 'za', '27'], + ['South Korea', 'kr', '82'], + ['South Sudan', 'ss', '211'], + ['Spain', 'es', '34', '... ... ...'], + ['Sri Lanka', 'lk', '94'], + ['Sudan', 'sd', '249'], + ['Suriname', 'sr', '597'], + ['Swaziland', 'sz', '268'], + ['Sweden', 'se', '46', '.. ... .. ..'], + ['Switzerland', 'ch', '41', '.. ... .. ..'], + ['Syria', 'sy', '963'], + ['Taiwan', 'tw', '886'], + ['Tajikistan', 'tj', '992'], + ['Tanzania', 'tz', '255'], + ['Thailand', 'th', '66'], + ['Timor-Leste', 'tl', '670'], + ['Togo', 'tg', '228'], + ['Tokelau', 'tk', '690'], + ['Tonga', 'to', '676'], + ['Trinidad and Tobago', 'tt', '1868'], + ['Tunisia', 'tn', '216'], + ['Turkey', 'tr', '90', '... ... .. ..'], + ['Turkmenistan', 'tm', '993'], + ['Turks and Caicos Islands', 'tc', '1649'], + ['Tuvalu', 'tv', '688'], + ['U.S. Virgin Islands', 'vi', '1340'], + ['Uganda', 'ug', '256'], + ['Ukraine', 'ua', '380'], + ['United Arab Emirates', 'ae', '971'], + ['Uruguay', 'uy', '598'], + ['Uzbekistan', 'uz', '998'], + ['Vanuatu', 'vu', '678'], + ['Vatican City', 'va', '39', '.. .... ....'], + ['Venezuela', 've', '58'], + ['Vietnam', 'vn', '84'], + ['Wallis and Futuna', 'wf', '681'], + ['Yemen', 'ye', '967'], + ['Zambia', 'zm', '260'], + ['Zimbabwe', 'zw', '263'], +] as const; + +const UnitedStatesSubAreasSet: ReadonlySet = new Set([ + '907', + '205', + '251', + '256', + '334', + '479', + '501', + '870', + '480', + '520', + '602', + '623', + '928', + '209', + '213', + '310', + '323', + '408', + '415', + '510', + '530', + '559', + '562', + '619', + '626', + '650', + '661', + '707', + '714', + '760', + '805', + '818', + '831', + '858', + '909', + '916', + '925', + '949', + '951', + '303', + '719', + '970', + '203', + '860', + '202', + '302', + '239', + '305', + '321', + '352', + '386', + '407', + '561', + '727', + '772', + '813', + '850', + '863', + '904', + '941', + '954', + '229', + '404', + '478', + '706', + '770', + '912', + '808', + '319', + '515', + '563', + '641', + '712', + '208', + '217', + '309', + '312', + '618', + '630', + '708', + '773', + '815', + '847', + '219', + '260', + '317', + '574', + '765', + '812', + '316', + '620', + '785', + '913', + '270', + '502', + '606', + '859', + '225', + '318', + '337', + '504', + '985', + '413', + '508', + '617', + '781', + '978', + '301', + '410', + '207', + '231', + '248', + '269', + '313', + '517', + '586', + '616', + '734', + '810', + '906', + '989', + '218', + '320', + '507', + '612', + '651', + '763', + '952', + '314', + '417', + '573', + '636', + '660', + '816', + '228', + '601', + '662', + '406', + '252', + '336', + '704', + '828', + '910', + '919', + '701', + '308', + '402', + '603', + '201', + '609', + '732', + '856', + '908', + '973', + '505', + '575', + '702', + '775', + '212', + '315', + '516', + '518', + '585', + '607', + '631', + '716', + '718', + '845', + '914', + '216', + '330', + '419', + '440', + '513', + '614', + '740', + '937', + '405', + '580', + '918', + '503', + '541', + '215', + '412', + '570', + '610', + '717', + '724', + '814', + '401', + '803', + '843', + '864', + '605', + '423', + '615', + '731', + '865', + '901', + '931', + '210', + '214', + '254', + '281', + '325', + '361', + '409', + '432', + '512', + '713', + '806', + '817', + '830', + '903', + '915', + '936', + '940', + '956', + '972', + '979', + '435', + '801', + '276', + '434', + '540', + '703', + '757', + '804', + '802', + '206', + '253', + '360', + '425', + '509', + '262', + '414', + '608', + '715', + '920', + '304', + '307', +]); + +const CanadaSubAreaSet: ReadonlySet = new Set([ + '204', + '226', + '236', + '249', + '250', + '289', + '306', + '343', + '365', + '387', + '403', + '416', + '418', + '431', + '437', + '438', + '450', + '506', + '514', + '519', + '548', + '579', + '581', + '587', + '604', + '613', + '639', + '647', + '672', + '705', + '709', + '742', + '778', + '780', + '782', + '807', + '819', + '825', + '867', + '873', + '902', + '905', +]); + +export const SubAreaCodeSets = { + us: UnitedStatesSubAreasSet, + ca: CanadaSubAreaSet, +}; + +export interface CountryEntry { + name: CountryName; + iso: CountryIso; + code: DialingCode; + pattern: PhonePattern; + priority: number; +} + +const createEntry = ([ + name, + iso, + code, + pattern = '' as any, + priority = 0 as any, +]: CountryCodeData[number]): CountryEntry => ({ + name, + iso, + code, + pattern, + priority, +}); + +export type IsoToCountryMapType = ReadonlyMap; + +export const IsoToCountryMap: IsoToCountryMapType = data.reduce( + (acc, cur) => acc.set(cur[1], createEntry(cur)), + new Map(), +); + +export type CodeToCountryIsoMapType = ReadonlyMap; + +export const CodeToCountriesMap: CodeToCountryIsoMapType = data.reduce((acc, cur) => { + const code = cur[2]; + const country = createEntry(cur); + acc.get(code) ? acc.get(code)!.push(country) : acc.set(code, [country]); + return acc; +}, new Map()); diff --git a/packages/ui/src/common/PhoneNumberField/index.tsx b/packages/ui/src/common/PhoneNumberField/index.tsx new file mode 100644 index 00000000000..18ed2e6c772 --- /dev/null +++ b/packages/ui/src/common/PhoneNumberField/index.tsx @@ -0,0 +1,189 @@ +import * as Common from '@clerk/elements/common'; +import cn from 'clsx'; +import { Command } from 'cmdk'; +import * as React from 'react'; +import { Button, Dialog, DialogTrigger, Popover } from 'react-aria-components'; + +import * as Field from '~/primitives/field'; +import * as Icon from '~/primitives/icon'; + +import { type CountryIso, IsoToCountryMap } from './data'; +import { useFormattedPhoneNumber } from './useFormattedPhoneNumber'; + +const countryOptions = Array.from(IsoToCountryMap.values()).map(country => { + return { + ...country, + }; +}); + +export function PhoneNumberField({ + onChange, + locationBasedCountryIso, +}: { + locationBasedCountryIso: CountryIso; + onChange?: (e: React.ChangeEvent) => void; +}) { + const [selectedCountry, setSelectedCountry] = React.useState(countryOptions[0]); + const [isOpen, setOpen] = React.useState(false); + const containerRef = React.useRef(null); + const inputRef = React.useRef(null); + const commandListRef = React.useRef(null); + const commandInputRef = React.useRef(null); + const contentWidth = containerRef.current?.clientWidth || 0; + const { setNumber, setIso, setNumberAndIso, numberWithCode, formattedNumber, iso } = useFormattedPhoneNumber({ + initPhoneWithCode: selectedCountry.iso, + locationBasedCountryIso, + }); + + const callOnChangeProp = () => { + // Quick and dirty way to match this component's public API + // with every other Input component, so we can use the same helpers + // without worrying about the underlying implementation details + onChange?.({ target: { value: numberWithCode } } as any); + }; + + const handlePaste = (e: React.ClipboardEvent) => { + e.preventDefault(); + const inputValue = e.clipboardData.getData('text'); + if (inputValue.includes('+')) { + setNumberAndIso(inputValue); + setSelectedCountry(countryOptions.find(c => c.iso === iso) || countryOptions[0]); + } else { + setNumber(inputValue); + } + }; + + const handlePhoneNumberChange = (e: React.ChangeEvent) => { + const inputValue = e.target.value; + if (inputValue.includes('+')) { + setNumberAndIso(inputValue); + setSelectedCountry(countryOptions.find(c => c.iso === iso) || countryOptions[0]); + } else { + setNumber(inputValue); + } + }; + + React.useEffect(callOnChangeProp, [numberWithCode, onChange]); + React.useEffect(() => { + if (isOpen) { + commandInputRef.current?.focus(); + setTimeout(() => { + commandListRef.current?.querySelector('[data-checked=true]')?.scrollIntoView({ block: 'start' }); + }, 0); + } + }, [isOpen]); + + return ( + + + + Phone number + + + {({ state: intent }) => { + return ( +
+ + + + + +
+ +
+ + + No countries found + + {countryOptions.map(({ name, iso, code }, index) => { + return ( + { + setSelectedCountry(countryOptions[index]); + setIso(iso); + setOpen(false); + }} + data-checked={selectedCountry === countryOptions[index]} + className='py-1.5 px-4 flex gap-x-2 text-base leading-small cursor-pointer aria-selected:bg-gray-2' + > + + {selectedCountry === countryOptions[index] && } + + {name} + +{code} + + ); + })} + +
+
+
+
+ + +
+ ); + }} +
+
+
+ ); +} diff --git a/packages/ui/src/common/PhoneNumberField/useFormattedPhoneNumber.ts b/packages/ui/src/common/PhoneNumberField/useFormattedPhoneNumber.ts new file mode 100644 index 00000000000..5ffb468d5dc --- /dev/null +++ b/packages/ui/src/common/PhoneNumberField/useFormattedPhoneNumber.ts @@ -0,0 +1,62 @@ +import * as React from 'react'; + +import { type CountryIso, IsoToCountryMap } from './data'; +import { extractDigits, formatPhoneNumber, parsePhoneString } from './utils'; + +type UseFormattedPhoneNumberProps = { + initPhoneWithCode: string; + locationBasedCountryIso?: CountryIso; +}; + +const format = (str: string, iso: CountryIso) => { + if (!str) { + return ''; + } + const country = IsoToCountryMap.get(iso); + return formatPhoneNumber(str, country?.pattern, country?.code); +}; + +export const useFormattedPhoneNumber = (props: UseFormattedPhoneNumberProps) => { + const [number, setNumber] = React.useState(() => { + const { number } = parsePhoneString(props.initPhoneWithCode || ''); + return number; + }); + + const [iso, setIso] = React.useState( + parsePhoneString(props.initPhoneWithCode || '').number + ? parsePhoneString(props.initPhoneWithCode || '').iso + : props.locationBasedCountryIso || 'us', + ); + + React.useEffect(() => { + setNumber(extractDigits(number)); + }, [iso, number]); + + const numberWithCode = React.useMemo(() => { + if (!number) { + return ''; + } + const dialCode = IsoToCountryMap.get(iso)?.code || '1'; + return '+' + extractDigits(`${dialCode}${number}`); + }, [iso, number]); + + const formattedNumber = React.useMemo(() => { + return format(number, iso); + }, [iso, number]); + + const setNumberAndIso = React.useCallback((str: string) => { + const { iso, number } = parsePhoneString(str); + setNumber(number); + setIso(iso); + }, []); + + return { + setNumber, + setIso, + setNumberAndIso, + iso, + number, + numberWithCode, + formattedNumber, + }; +}; diff --git a/packages/ui/src/common/PhoneNumberField/utils.ts b/packages/ui/src/common/PhoneNumberField/utils.ts new file mode 100644 index 00000000000..03f827e45b9 --- /dev/null +++ b/packages/ui/src/common/PhoneNumberField/utils.ts @@ -0,0 +1,132 @@ +import type { CountryEntry, CountryIso } from './data'; +import { CodeToCountriesMap, IsoToCountryMap, SubAreaCodeSets } from './data'; + +// offset between uppercase ascii and regional indicator symbols +const OFFSET = 127397; +const emojiCache = {} as Record; +export function getFlagEmojiFromCountryIso(iso: CountryIso, fallbackIso = 'us'): string { + iso = iso || fallbackIso; + if (emojiCache[iso]) { + return emojiCache[iso]; + } + const codePoints = [...iso.toUpperCase()].map(c => c.codePointAt(0)! + OFFSET); + const res = String.fromCodePoint(...codePoints); + emojiCache[iso] = res; + return res; +} + +export function getCountryIsoFromFormattedNumber(formattedNumber: string, fallbackIso = 'us'): string { + const number = extractDigits(formattedNumber); + if (!number || number.length < 4) { + return fallbackIso; + } + + // Try to match US first based on subarea code + if (number.startsWith('1') && phoneNumberBelongsTo('us', number)) { + return 'us'; + } + + // Try to match CA first based on subarea code + if (number.startsWith('1') && phoneNumberBelongsTo('ca', number)) { + return 'ca'; + } + + // Otherwise, use the most specific code or fallback to US + return getCountryFromPhoneString(number).country.iso; +} + +export function formatPhoneNumber(phoneNumber: string, pattern: string | undefined, countryCode?: string): string { + if (!phoneNumber || !pattern) { + return phoneNumber; + } + + const digits = [...extractDigits(phoneNumber)].slice(0, maxE164CompliantLength(countryCode)); + + if (digits.length <= 3) { + return digits.join(''); + } + + let res = ''; + for (let i = 0; digits.length > 0; i++) { + if (i > pattern.length - 1) { + res += digits.shift(); + } else { + res += pattern[i] === '.' ? digits.shift() : pattern[i]; + } + } + return res; +} + +export function extractDigits(formattedPhone: string): string { + return (formattedPhone || '').replace(/[^\d]/g, ''); +} + +function phoneNumberBelongsTo(iso: 'us' | 'ca', phoneWithCode: string) { + if (!iso || !IsoToCountryMap.get(iso) || !phoneWithCode) { + return false; + } + + const code = phoneWithCode[0]; + const subArea = phoneWithCode.substring(1, 4); + return ( + code === IsoToCountryMap.get(iso)?.code && + phoneWithCode.length - 1 === maxDigitCountForPattern(IsoToCountryMap.get(iso)?.pattern || '') && + SubAreaCodeSets[iso].has(subArea) + ); +} + +function maxDigitCountForPattern(pattern: string) { + return (pattern.match(/\./g) || []).length; +} + +// https://en.wikipedia.org/wiki/E.164 +const MAX_PHONE_NUMBER_LENGTH = 15; +function maxE164CompliantLength(countryCode?: string) { + const usCountryCode = '1'; + countryCode = countryCode || usCountryCode; + const codeWithPrefix = countryCode.includes('+') ? countryCode : '+' + countryCode; + return MAX_PHONE_NUMBER_LENGTH - codeWithPrefix.length; +} + +export function parsePhoneString(str: string) { + const digits = extractDigits(str); + const iso = getCountryIsoFromFormattedNumber(digits) as CountryIso; + const pattern = IsoToCountryMap.get(iso)?.pattern || ''; + const code = IsoToCountryMap.get(iso)?.code || ''; + const number = digits.slice(code.length); + const formattedNumberWithCode = `+${code} ${formatPhoneNumber(number, pattern, code)}`; + return { iso, pattern, code, number, formattedNumberWithCode }; +} + +export function stringToFormattedPhoneString(str: string): string { + const parsed = parsePhoneString(str); + return `+${parsed.code} ${formatPhoneNumber(parsed.number, parsed.pattern, parsed.code)}`; +} + +export const byPriority = (a: CountryEntry, b: CountryEntry) => { + return b.priority - a.priority; +}; + +export function getCountryFromPhoneString(phone: string): { + number: string; + country: CountryEntry; +} { + const phoneWithCode = extractDigits(phone); + const matchingCountries = []; + + // Max country code length is 4. Try to match more specific codes first + for (const i of [4, 3, 2, 1]) { + const potentialCode = phoneWithCode.substring(0, i); + const countries = CodeToCountriesMap.get(potentialCode as any) || []; + + if (countries.length) { + matchingCountries.push(...countries); + } + } + + const fallbackCountry = IsoToCountryMap.get('us'); + const country: CountryEntry = matchingCountries.sort(byPriority)[0] || fallbackCountry; + const number = phoneWithCode.slice(country?.code.length || 0); + + return { number, country }; +} diff --git a/packages/ui/src/components/sign-in/sign-in.tsx b/packages/ui/src/components/sign-in/sign-in.tsx index faec789afa1..a76fb97ea0a 100644 --- a/packages/ui/src/components/sign-in/sign-in.tsx +++ b/packages/ui/src/components/sign-in/sign-in.tsx @@ -4,6 +4,7 @@ import * as SignIn from '@clerk/elements/sign-in'; import { EmailField } from '~/common/EmailField'; import { PasswordField } from '~/common/PasswordField'; +import { PhoneNumberField } from '~/common/PhoneNumberField'; import { PROVIDERS } from '~/constants'; import { getEnabledSocialConnectionsFromEnvironment } from '~/hooks/getEnabledSocialConnectionsFromEnvironment'; import { Button } from '~/primitives/button'; @@ -61,6 +62,8 @@ export function SignInComponent() { or
+ {/* @ts-ignore Expected https://github.com/clerk/javascript/blob/12f78491d6b10f2be63891f8a7f76fc6acf37c00/packages/clerk-js/src/ui/elements/PhoneInput/PhoneInput.tsx#L248-L249 */} +
diff --git a/packages/ui/src/primitives/icon.tsx b/packages/ui/src/primitives/icon.tsx index 47a6fb253b3..0504849e4f1 100644 --- a/packages/ui/src/primitives/icon.tsx +++ b/packages/ui/src/primitives/icon.tsx @@ -16,6 +16,7 @@ function createIcon({ displayName, viewBox, path }: { displayName: string; viewB fill='none' xmlns='http://www.w3.org/2000/svg' className={cn('size-[1em]', rtlIcons.includes(displayName) && 'rtl:rotate-180', className)} + aria-hidden {...props} > {path} @@ -666,3 +667,28 @@ export const Envelope = createIcon({ ), }); + +export const ChevronUpDown = createIcon({ + displayName: 'IconChevronUpDown', + viewBox: '0 0 16 16', + path: ( + + ), +}); + +export const Checkmark = createIcon({ + displayName: 'IconCheckmark', + viewBox: '0 0 10 10', + path: ( + + ), +});