diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index dbd8de79..220a380e 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,15 +1,10 @@
-# To get started with Dependabot version updates, you'll need to specify which
-# package ecosystems to update and where the package manifests are located.
-# Please see the documentation for all configuration options:
-# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
-
version: 2
updates:
- - package-ecosystem: 'npm' # See documentation for possible values
- directory: '/' # Location of package manifests
+ - package-ecosystem: 'npm'
+ directory: '/'
target-branch: 'next'
schedule:
- interval: 'daily'
+ interval: 'weekly'
groups:
react:
patterns:
@@ -19,10 +14,10 @@ updates:
- '@types*'
- 'ts*'
- 'typescript*'
- eslint:
+ oxc:
patterns:
- - 'eslint*'
- - '@eslint*'
+ - 'oxlint*'
+ - 'oxfmt*'
radix:
patterns:
- '@radix-ui*'
@@ -34,8 +29,14 @@ updates:
patterns:
- 'tailwind*'
- '@tailwind*'
+ all-minor-patch:
+ patterns:
+ - '*'
+ update-types:
+ - 'minor'
+ - 'patch'
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
- interval: 'daily'
+ interval: 'weekly'
diff --git a/.oxfmtrc.json b/.oxfmtrc.json
new file mode 100644
index 00000000..863db93b
--- /dev/null
+++ b/.oxfmtrc.json
@@ -0,0 +1,12 @@
+{
+ "$schema": "./node_modules/oxfmt/configuration_schema.json",
+ "printWidth": 90,
+ "semi": false,
+ "tabWidth": 2,
+ "singleQuote": true,
+ "jsxSingleQuote": true,
+ "sortImports": {
+ "newlinesBetween": true
+ },
+ "sortPackageJson": false
+}
diff --git a/.oxlintrc.json b/.oxlintrc.json
new file mode 100644
index 00000000..2cbc2fc6
--- /dev/null
+++ b/.oxlintrc.json
@@ -0,0 +1,139 @@
+{
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
+ "plugins": ["typescript", "react"],
+ "categories": {
+ "correctness": "off"
+ },
+ "env": {
+ "builtin": true,
+ "browser": true
+ },
+ "ignorePatterns": ["**/dist", "**/qrcodegen"],
+ "rules": {
+ "constructor-super": "error",
+ "for-direction": "error",
+ "no-async-promise-executor": "error",
+ "no-case-declarations": "error",
+ "no-class-assign": "error",
+ "no-compare-neg-zero": "error",
+ "no-cond-assign": "error",
+ "no-const-assign": "error",
+ "no-constant-binary-expression": "error",
+ "no-constant-condition": "error",
+ "no-control-regex": "error",
+ "no-debugger": "error",
+ "no-delete-var": "error",
+ "no-dupe-class-members": "error",
+ "no-dupe-else-if": "error",
+ "no-dupe-keys": "error",
+ "no-duplicate-case": "error",
+ "no-empty": "error",
+ "no-empty-character-class": "error",
+ "no-empty-pattern": "error",
+ "no-empty-static-block": "error",
+ "no-ex-assign": "error",
+ "no-extra-boolean-cast": "error",
+ "no-fallthrough": "error",
+ "no-func-assign": "error",
+ "no-global-assign": "error",
+ "no-import-assign": "error",
+ "no-invalid-regexp": "error",
+ "no-irregular-whitespace": "error",
+ "no-loss-of-precision": "error",
+ "no-misleading-character-class": "error",
+ "no-new-native-nonconstructor": "error",
+ "no-nonoctal-decimal-escape": "error",
+ "no-obj-calls": "error",
+ "no-prototype-builtins": "error",
+ "no-redeclare": "error",
+ "no-regex-spaces": "error",
+ "no-self-assign": "error",
+ "no-setter-return": "error",
+ "no-shadow-restricted-names": "error",
+ "no-sparse-arrays": "error",
+ "no-this-before-super": "error",
+ "no-unexpected-multiline": "error",
+ "no-unsafe-finally": "error",
+ "no-unsafe-negation": "error",
+ "no-unsafe-optional-chaining": "error",
+ "no-unused-labels": "error",
+ "no-unused-private-class-members": "error",
+ "no-unused-vars": "error",
+ "no-useless-backreference": "error",
+ "no-useless-catch": "error",
+ "no-useless-escape": "error",
+ "no-with": "error",
+ "require-yield": "error",
+ "use-isnan": "error",
+ "valid-typeof": "error",
+ "@typescript-eslint/ban-ts-comment": "error",
+ "no-array-constructor": "error",
+ "@typescript-eslint/no-duplicate-enum-values": "error",
+ "@typescript-eslint/no-empty-object-type": "error",
+ "@typescript-eslint/no-explicit-any": "error",
+ "@typescript-eslint/no-extra-non-null-assertion": "error",
+ "@typescript-eslint/no-misused-new": "error",
+ "@typescript-eslint/no-namespace": "error",
+ "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
+ "@typescript-eslint/no-require-imports": "error",
+ "@typescript-eslint/no-this-alias": "error",
+ "@typescript-eslint/no-unnecessary-type-constraint": "error",
+ "@typescript-eslint/no-unsafe-declaration-merging": "error",
+ "@typescript-eslint/no-unsafe-function-type": "error",
+ "no-unused-expressions": "error",
+ "@typescript-eslint/no-wrapper-object-types": "error",
+ "@typescript-eslint/prefer-as-const": "error",
+ "@typescript-eslint/prefer-namespace-keyword": "error",
+ "@typescript-eslint/triple-slash-reference": "error",
+ "react/display-name": "error",
+ "react/jsx-key": "error",
+ "react/jsx-no-comment-textnodes": "error",
+ "react/jsx-no-duplicate-props": "error",
+ "react/jsx-no-target-blank": "error",
+ "react/jsx-no-undef": "error",
+ "react/no-children-prop": "error",
+ "react/no-danger-with-children": "error",
+ "react/no-direct-mutation-state": "error",
+ "react/no-find-dom-node": "error",
+ "react/no-is-mounted": "error",
+ "react/no-render-return-value": "error",
+ "react/no-string-refs": "error",
+ "react/no-unescaped-entities": "error",
+ "react/no-unknown-property": "error",
+ "react-hooks/rules-of-hooks": "error",
+ "react-hooks/exhaustive-deps": "warn",
+ "@typescript-eslint/consistent-type-imports": "error",
+ "no-console": "error",
+ "react/only-export-components": [
+ "warn",
+ {
+ "allowConstantExport": true
+ }
+ ]
+ },
+ "overrides": [
+ {
+ "files": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
+ "rules": {
+ "constructor-super": "off",
+ "no-class-assign": "off",
+ "no-const-assign": "off",
+ "no-dupe-class-members": "off",
+ "no-dupe-keys": "off",
+ "no-func-assign": "off",
+ "no-import-assign": "off",
+ "no-new-native-nonconstructor": "off",
+ "no-obj-calls": "off",
+ "no-redeclare": "off",
+ "no-setter-return": "off",
+ "no-this-before-super": "off",
+ "no-unsafe-negation": "off",
+ "no-var": "error",
+ "no-with": "off",
+ "prefer-const": "error",
+ "prefer-rest-params": "error",
+ "prefer-spread": "error"
+ }
+ }
+ ]
+}
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 43115208..00000000
--- a/.prettierrc
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "printWidth": 90,
- "semi": false,
- "tabWidth": 2,
- "singleQuote": true,
- "jsxSingleQuote": true,
- "plugins": ["@trivago/prettier-plugin-sort-imports"],
- "importOrder": [
- "^@/types/(.*)$",
- "^@/constants/(.*)$",
- "^@/config/(.*)$",
- "^@/components/(.*)$",
- "^@/hooks/(.*)$",
- "^@/lib/(.*)$",
- "^[./]"
- ],
- "importOrderSeparation": true,
- "importOrderSortSpecifiers": true
-}
diff --git a/apps/docs/.oxlintrc.json b/apps/docs/.oxlintrc.json
new file mode 100644
index 00000000..7e74769d
--- /dev/null
+++ b/apps/docs/.oxlintrc.json
@@ -0,0 +1,132 @@
+{
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
+ "plugins": ["nextjs", "typescript"],
+ "categories": {
+ "correctness": "off"
+ },
+ "env": {
+ "builtin": true
+ },
+ "ignorePatterns": [".next/**", "out/**", "build/**", "next-env.d.ts"],
+ "rules": {
+ "@next/next/google-font-display": "warn",
+ "@next/next/google-font-preconnect": "warn",
+ "@next/next/next-script-for-ga": "warn",
+ "@next/next/no-async-client-component": "warn",
+ "@next/next/no-before-interactive-script-outside-document": "warn",
+ "@next/next/no-css-tags": "warn",
+ "@next/next/no-head-element": "warn",
+ "@next/next/no-html-link-for-pages": "error",
+ "@next/next/no-img-element": "warn",
+ "@next/next/no-page-custom-font": "warn",
+ "@next/next/no-styled-jsx-in-document": "warn",
+ "@next/next/no-sync-scripts": "error",
+ "@next/next/no-title-in-document-head": "warn",
+ "@next/next/no-typos": "warn",
+ "@next/next/no-unwanted-polyfillio": "warn",
+ "@next/next/inline-script-id": "error",
+ "@next/next/no-assign-module-variable": "error",
+ "@next/next/no-document-import-in-page": "error",
+ "@next/next/no-duplicate-head": "error",
+ "@next/next/no-head-import-in-document": "error",
+ "@next/next/no-script-component-in-head": "error",
+ "@typescript-eslint/ban-ts-comment": "error",
+ "no-array-constructor": "error",
+ "@typescript-eslint/no-duplicate-enum-values": "error",
+ "@typescript-eslint/no-empty-object-type": "error",
+ "@typescript-eslint/no-explicit-any": "error",
+ "@typescript-eslint/no-extra-non-null-assertion": "error",
+ "@typescript-eslint/no-misused-new": "error",
+ "@typescript-eslint/no-namespace": "error",
+ "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
+ "@typescript-eslint/no-require-imports": "error",
+ "@typescript-eslint/no-this-alias": "error",
+ "@typescript-eslint/no-unnecessary-type-constraint": "error",
+ "@typescript-eslint/no-unsafe-declaration-merging": "error",
+ "@typescript-eslint/no-unsafe-function-type": "error",
+ "no-unused-expressions": "warn",
+ "no-unused-vars": "warn",
+ "@typescript-eslint/no-wrapper-object-types": "error",
+ "@typescript-eslint/prefer-as-const": "error",
+ "@typescript-eslint/prefer-namespace-keyword": "error",
+ "@typescript-eslint/triple-slash-reference": "error",
+ "@typescript-eslint/consistent-type-imports": "error",
+ "no-console": "error"
+ },
+ "overrides": [
+ {
+ "files": ["**/*.{js,jsx,mjs,ts,tsx,mts,cts}"],
+ "rules": {
+ "react/display-name": "error",
+ "react/jsx-key": "error",
+ "react/jsx-no-comment-textnodes": "error",
+ "react/jsx-no-duplicate-props": "error",
+ "react/jsx-no-target-blank": "off",
+ "react/jsx-no-undef": "error",
+ "react/no-children-prop": "error",
+ "react/no-danger-with-children": "error",
+ "react/no-direct-mutation-state": "error",
+ "react/no-find-dom-node": "error",
+ "react/no-is-mounted": "error",
+ "react/no-render-return-value": "error",
+ "react/no-string-refs": "error",
+ "react/no-unescaped-entities": "error",
+ "react/no-unknown-property": "off",
+ "react/no-unsafe": "off",
+ "react/react-in-jsx-scope": "off",
+ "react-hooks/rules-of-hooks": "error",
+ "react-hooks/exhaustive-deps": "warn",
+ "import/no-anonymous-default-export": "warn",
+ "jsx-a11y/alt-text": [
+ "warn",
+ {
+ "elements": ["img"],
+ "img": ["Image"]
+ }
+ ],
+ "jsx-a11y/aria-props": "warn",
+ "jsx-a11y/aria-proptypes": "warn",
+ "jsx-a11y/aria-unsupported-elements": "warn",
+ "jsx-a11y/role-has-required-aria-props": "warn",
+ "jsx-a11y/role-supports-aria-props": "warn"
+ },
+ "globals": {
+ "AudioWorkletGlobalScope": "readonly",
+ "AudioWorkletProcessor": "readonly",
+ "currentFrame": "readonly",
+ "currentTime": "readonly",
+ "registerProcessor": "readonly",
+ "sampleRate": "readonly",
+ "WorkletGlobalScope": "readonly"
+ },
+ "plugins": ["react", "import", "jsx-a11y"],
+ "env": {
+ "browser": true,
+ "node": true
+ }
+ },
+ {
+ "files": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
+ "rules": {
+ "constructor-super": "off",
+ "no-class-assign": "off",
+ "no-const-assign": "off",
+ "no-dupe-class-members": "off",
+ "no-dupe-keys": "off",
+ "no-func-assign": "off",
+ "no-import-assign": "off",
+ "no-new-native-nonconstructor": "off",
+ "no-obj-calls": "off",
+ "no-redeclare": "off",
+ "no-setter-return": "off",
+ "no-this-before-super": "off",
+ "no-unsafe-negation": "off",
+ "no-var": "error",
+ "no-with": "off",
+ "prefer-const": "error",
+ "prefer-rest-params": "error",
+ "prefer-spread": "error"
+ }
+ }
+ ]
+}
diff --git a/apps/docs/components.json b/apps/docs/components.json
index 0e8b6332..405a08cd 100644
--- a/apps/docs/components.json
+++ b/apps/docs/components.json
@@ -18,4 +18,4 @@
"hooks": "@/hooks"
},
"iconLibrary": "lucide"
-}
\ No newline at end of file
+}
diff --git a/apps/docs/eslint.config.mjs b/apps/docs/eslint.config.mjs
deleted file mode 100644
index 57d84e39..00000000
--- a/apps/docs/eslint.config.mjs
+++ /dev/null
@@ -1,24 +0,0 @@
-import { defineConfig, globalIgnores } from 'eslint/config';
-import nextVitals from 'eslint-config-next/core-web-vitals';
-import nextTs from 'eslint-config-next/typescript';
-
-const eslintConfig = defineConfig([
- ...nextVitals,
- ...nextTs,
- // Override default ignores of eslint-config-next.
- globalIgnores([
- // Default ignores of eslint-config-next:
- '.next/**',
- 'out/**',
- 'build/**',
- 'next-env.d.ts',
- ]),
- {
- rules: {
- '@typescript-eslint/consistent-type-imports': 'error',
- 'no-console': 'error',
- },
- },
-]);
-
-export default eslintConfig;
diff --git a/apps/docs/package.json b/apps/docs/package.json
index 807d02e4..6e1edaf2 100644
--- a/apps/docs/package.json
+++ b/apps/docs/package.json
@@ -7,7 +7,7 @@
"prebuild": "cd ../.. && pnpm --filter \"./packages/**\" run build",
"build": "next build",
"start": "next start",
- "lint": "next lint"
+ "lint": "oxlint --config .oxlintrc.json"
},
"dependencies": {
"@hookform/resolvers": "^5.2.2",
@@ -26,31 +26,29 @@
"@radix-ui/react-toast": "^1.2.15",
"@radix-ui/react-toggle": "^1.1.10",
"@radix-ui/react-tooltip": "^1.2.8",
- "@uiw/react-color": "^2.9.5",
+ "@uiw/react-color": "^2.9.6",
"@vercel/analytics": "^1.6.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
- "eslint-config-next": "16.1.6",
- "lucide-react": "^0.575.0",
+ "lucide-react": "^0.577.0",
"next": "16.1.7",
"next-themes": "^0.4.6",
"prism-react-renderer": "^2.4.1",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-hook-form": "^7.71.2",
- "react-icons": "^5.5.0",
+ "react-icons": "^5.6.0",
"tailwind-merge": "^3.5.0",
"tailwindcss-animate": "^1.0.7"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.2.1",
- "@trivago/prettier-plugin-sort-imports": "^6.0.2",
- "@types/node": "^25.3.0",
+ "@types/node": "^25.5.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
- "postcss": "^8.5.6",
+ "postcss": "^8.5.8",
"tailwindcss": "^4.2.1",
"typescript": "^5.9.3"
}
-}
+}
\ No newline at end of file
diff --git a/apps/docs/postcss.config.mjs b/apps/docs/postcss.config.mjs
index 5d6d8457..a869506e 100644
--- a/apps/docs/postcss.config.mjs
+++ b/apps/docs/postcss.config.mjs
@@ -3,6 +3,6 @@ const config = {
plugins: {
'@tailwindcss/postcss': {},
},
-};
+}
-export default config;
+export default config
diff --git a/apps/docs/src/app/data-modules-settings/page.tsx b/apps/docs/src/app/data-modules-settings/page.tsx
index 7c493ec2..4965e93f 100644
--- a/apps/docs/src/app/data-modules-settings/page.tsx
+++ b/apps/docs/src/app/data-modules-settings/page.tsx
@@ -1,10 +1,9 @@
import type { Metadata } from 'next'
-import type { Prop } from '@/types/props'
-
import { PageHeading } from '@/components/page-heading'
import { PropsTable } from '@/components/props-table'
import { Bold, TypographyP } from '@/components/ui/typography'
+import type { Prop } from '@/types/props'
export const metadata: Metadata = {
title: 'DataModulesSettings',
diff --git a/apps/docs/src/app/finder-pattern-inner-settings/page.tsx b/apps/docs/src/app/finder-pattern-inner-settings/page.tsx
index 9795c05e..ffc72645 100644
--- a/apps/docs/src/app/finder-pattern-inner-settings/page.tsx
+++ b/apps/docs/src/app/finder-pattern-inner-settings/page.tsx
@@ -1,10 +1,9 @@
import type { Metadata } from 'next'
-import type { Prop } from '@/types/props'
-
import { PageHeading } from '@/components/page-heading'
import { PropsTable } from '@/components/props-table'
import { TypographyP } from '@/components/ui/typography'
+import type { Prop } from '@/types/props'
export const metadata: Metadata = {
title: 'FinderPatternInnerSettings',
diff --git a/apps/docs/src/app/finder-pattern-outer-settings/page.tsx b/apps/docs/src/app/finder-pattern-outer-settings/page.tsx
index 9acd26f4..9914c683 100644
--- a/apps/docs/src/app/finder-pattern-outer-settings/page.tsx
+++ b/apps/docs/src/app/finder-pattern-outer-settings/page.tsx
@@ -1,10 +1,9 @@
import type { Metadata } from 'next'
-import type { Prop } from '@/types/props'
-
import { PageHeading } from '@/components/page-heading'
import { PropsTable } from '@/components/props-table'
import { TypographyP } from '@/components/ui/typography'
+import type { Prop } from '@/types/props'
export const metadata: Metadata = {
title: 'FinderPatternOuterSettings',
diff --git a/apps/docs/src/app/gradient-settings/page.tsx b/apps/docs/src/app/gradient-settings/page.tsx
index 09b792b7..37ee36e0 100644
--- a/apps/docs/src/app/gradient-settings/page.tsx
+++ b/apps/docs/src/app/gradient-settings/page.tsx
@@ -1,10 +1,9 @@
import type { Metadata } from 'next'
-import type { Prop } from '@/types/props'
-
import { PageHeading } from '@/components/page-heading'
import { PropsTable } from '@/components/props-table'
import { TypographyH2, TypographyP } from '@/components/ui/typography'
+import type { Prop } from '@/types/props'
export const metadata: Metadata = {
title: 'GradientSettings',
diff --git a/apps/docs/src/app/image-settings/page.tsx b/apps/docs/src/app/image-settings/page.tsx
index e3288c1b..a761165d 100644
--- a/apps/docs/src/app/image-settings/page.tsx
+++ b/apps/docs/src/app/image-settings/page.tsx
@@ -1,10 +1,9 @@
import type { Metadata } from 'next'
-import type { Prop } from '@/types/props'
-
import { PageHeading } from '@/components/page-heading'
import { PropsTable } from '@/components/props-table'
import { TypographyP } from '@/components/ui/typography'
+import type { Prop } from '@/types/props'
export const metadata: Metadata = {
title: 'ImageSettings',
diff --git a/apps/docs/src/app/layout.tsx b/apps/docs/src/app/layout.tsx
index c20ca912..76b905a8 100644
--- a/apps/docs/src/app/layout.tsx
+++ b/apps/docs/src/app/layout.tsx
@@ -3,9 +3,8 @@ import type { Metadata } from 'next'
import { Inter, Source_Code_Pro } from 'next/font/google'
import Script from 'next/script'
-import { IS_PRODUCTION } from '@/config/env'
-
import { PageSkeleton } from '@/components/page-skeleton'
+import { IS_PRODUCTION } from '@/config/env'
import './globals.css'
diff --git a/apps/docs/src/app/react-qr-code-props/page.tsx b/apps/docs/src/app/react-qr-code-props/page.tsx
index 6c47304f..2ccf5252 100644
--- a/apps/docs/src/app/react-qr-code-props/page.tsx
+++ b/apps/docs/src/app/react-qr-code-props/page.tsx
@@ -1,11 +1,10 @@
import type { Metadata } from 'next'
import Link from 'next/link'
-import type { Prop } from '@/types/props'
-
import { PageHeading } from '@/components/page-heading'
import { PropsTable } from '@/components/props-table'
import { TypographyBold, TypographyP } from '@/components/ui/typography'
+import type { Prop } from '@/types/props'
export const metadata: Metadata = {
title: 'ReactQRCode Props',
diff --git a/apps/docs/src/app/ref-api/page.tsx b/apps/docs/src/app/ref-api/page.tsx
index 68c217b7..09c55cf8 100644
--- a/apps/docs/src/app/ref-api/page.tsx
+++ b/apps/docs/src/app/ref-api/page.tsx
@@ -1,11 +1,10 @@
import type { Metadata } from 'next'
-import type { Prop } from '@/types/props'
-
import { APITable } from '@/components/api-table'
import { PageHeading } from '@/components/page-heading'
import { PropsTable } from '@/components/props-table'
import { TypographyH2, TypographyP } from '@/components/ui/typography'
+import type { Prop } from '@/types/props'
export const metadata: Metadata = {
title: 'ReactQRCodeRef API',
diff --git a/apps/docs/src/components/api-table.tsx b/apps/docs/src/components/api-table.tsx
index c6ad280e..9d732f47 100644
--- a/apps/docs/src/components/api-table.tsx
+++ b/apps/docs/src/components/api-table.tsx
@@ -1,5 +1,3 @@
-import type { Prop } from '@/types/props'
-
import { PropTypeTag } from '@/components/prop-type-tag'
import {
Table,
@@ -9,6 +7,7 @@ import {
TableHeader,
TableRow,
} from '@/components/ui/table'
+import type { Prop } from '@/types/props'
export const APITable = ({ props }: { props: Prop[] }) => (
diff --git a/apps/docs/src/components/page-sidebar.tsx b/apps/docs/src/components/page-sidebar.tsx
index 5bd4961e..7ffdc318 100644
--- a/apps/docs/src/components/page-sidebar.tsx
+++ b/apps/docs/src/components/page-sidebar.tsx
@@ -1,8 +1,6 @@
import Link from 'next/link'
import { type ComponentProps } from 'react'
-import { mainNav } from '@/config/navigation'
-
import {
Sidebar,
SidebarContent,
@@ -15,6 +13,7 @@ import {
SidebarMenuSubItem,
SidebarRail,
} from '@/components/ui/sidebar'
+import { mainNav } from '@/config/navigation'
import { PageSidebarButton } from './page-sidebar-button'
diff --git a/apps/docs/src/components/props-table.tsx b/apps/docs/src/components/props-table.tsx
index b742adc5..e01645ab 100644
--- a/apps/docs/src/components/props-table.tsx
+++ b/apps/docs/src/components/props-table.tsx
@@ -1,5 +1,3 @@
-import type { Prop } from '@/types/props'
-
import { PropTypeTag } from '@/components/prop-type-tag'
import { Badge } from '@/components/ui/badge'
import {
@@ -10,6 +8,7 @@ import {
TableHeader,
TableRow,
} from '@/components/ui/table'
+import type { Prop } from '@/types/props'
export const PropsTable = ({ props }: { props: Prop[] }) => (
diff --git a/apps/docs/src/components/ui/badge.tsx b/apps/docs/src/components/ui/badge.tsx
index 01556d2e..4bafdb33 100644
--- a/apps/docs/src/components/ui/badge.tsx
+++ b/apps/docs/src/components/ui/badge.tsx
@@ -24,8 +24,7 @@ const badgeVariants = cva(
)
export interface BadgeProps
- extends React.HTMLAttributes,
- VariantProps {}
+ extends React.HTMLAttributes, VariantProps {}
function Badge({ className, variant, ...props }: BadgeProps) {
return
diff --git a/apps/docs/src/components/ui/button.tsx b/apps/docs/src/components/ui/button.tsx
index 6dd2e10a..4bb2a85e 100644
--- a/apps/docs/src/components/ui/button.tsx
+++ b/apps/docs/src/components/ui/button.tsx
@@ -34,7 +34,8 @@ const buttonVariants = cva(
)
export interface ButtonProps
- extends React.ButtonHTMLAttributes,
+ extends
+ React.ButtonHTMLAttributes,
VariantProps {
asChild?: boolean
}
diff --git a/apps/docs/src/components/ui/form-fields.tsx b/apps/docs/src/components/ui/form-fields.tsx
index a8d334a1..e951bc00 100644
--- a/apps/docs/src/components/ui/form-fields.tsx
+++ b/apps/docs/src/components/ui/form-fields.tsx
@@ -8,8 +8,9 @@ interface FormFieldProps extends PropsWithChildren {
label: string
}
-interface FormCheckboxProps
- extends React.ComponentPropsWithoutRef {
+interface FormCheckboxProps extends React.ComponentPropsWithoutRef<
+ typeof CheckboxPrimitive.Root
+> {
label: string
}
diff --git a/apps/docs/src/components/ui/form.tsx b/apps/docs/src/components/ui/form.tsx
index ea117e62..34e8c58c 100644
--- a/apps/docs/src/components/ui/form.tsx
+++ b/apps/docs/src/components/ui/form.tsx
@@ -13,7 +13,6 @@ import {
} from 'react-hook-form'
import { Label } from '@/components/ui/label'
-
import { cn } from '@/lib/utils'
const Form = FormProvider
diff --git a/apps/docs/src/components/ui/sheet.tsx b/apps/docs/src/components/ui/sheet.tsx
index 482a5d57..30fa09fd 100644
--- a/apps/docs/src/components/ui/sheet.tsx
+++ b/apps/docs/src/components/ui/sheet.tsx
@@ -50,7 +50,8 @@ const sheetVariants = cva(
)
interface SheetContentProps
- extends React.ComponentPropsWithoutRef,
+ extends
+ React.ComponentPropsWithoutRef,
VariantProps {}
const SheetContent = React.forwardRef<
diff --git a/apps/docs/src/components/ui/sidebar.tsx b/apps/docs/src/components/ui/sidebar.tsx
index 09ba5074..281eed2d 100644
--- a/apps/docs/src/components/ui/sidebar.tsx
+++ b/apps/docs/src/components/ui/sidebar.tsx
@@ -17,9 +17,7 @@ import {
TooltipProvider,
TooltipTrigger,
} from '@/components/ui/tooltip'
-
import { useIsMobile } from '@/hooks/use-mobile'
-
import { cn } from '@/lib/utils'
const SIDEBAR_COOKIE_NAME = 'sidebar:state'
diff --git a/apps/docs/src/components/ui/toaster.tsx b/apps/docs/src/components/ui/toaster.tsx
index 7636fc7c..2b705e81 100644
--- a/apps/docs/src/components/ui/toaster.tsx
+++ b/apps/docs/src/components/ui/toaster.tsx
@@ -8,7 +8,6 @@ import {
ToastTitle,
ToastViewport,
} from '@/components/ui/toast'
-
import { useToast } from '@/hooks/use-toast'
export function Toaster() {
diff --git a/apps/docs/src/hooks/use-toast.ts b/apps/docs/src/hooks/use-toast.ts
index 1f307962..17fe0f87 100644
--- a/apps/docs/src/hooks/use-toast.ts
+++ b/apps/docs/src/hooks/use-toast.ts
@@ -14,7 +14,7 @@ type ToasterToast = ToastProps & {
description?: React.ReactNode
action?: ToastActionElement
}
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
+// oxlint-disable-next-line @typescript-eslint/no-unused-vars
const actionTypes = {
ADD_TOAST: 'ADD_TOAST',
UPDATE_TOAST: 'UPDATE_TOAST',
diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json
index b575f7da..19c51c83 100644
--- a/apps/docs/tsconfig.json
+++ b/apps/docs/tsconfig.json
@@ -1,11 +1,7 @@
{
"compilerOptions": {
"target": "ES2017",
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ],
+ "lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
@@ -23,9 +19,7 @@
}
],
"paths": {
- "@/*": [
- "./src/*"
- ]
+ "@/*": ["./src/*"]
}
},
"include": [
@@ -35,7 +29,5 @@
".next/types/**/*.ts",
".next/dev/types/**/*.ts"
],
- "exclude": [
- "node_modules"
- ]
+ "exclude": ["node_modules"]
}
diff --git a/eslint.config.js b/eslint.config.js
deleted file mode 100644
index 979d3855..00000000
--- a/eslint.config.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import pluginJs from '@eslint/js'
-import pluginReact from 'eslint-plugin-react'
-import reactHooks from 'eslint-plugin-react-hooks'
-import reactRefresh from 'eslint-plugin-react-refresh'
-import globals from 'globals'
-import tseslint from 'typescript-eslint'
-
-/** @type {import('eslint').Linter.Config[]} */
-export default [
- { ignores: ['**/dist', '**/qrcodegen'] },
- { files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] },
- pluginJs.configs.recommended,
- ...tseslint.configs.recommended,
- pluginReact.configs.flat.recommended,
- {
- languageOptions: { globals: globals.browser },
- plugins: {
- 'react-hooks': reactHooks,
- 'react-refresh': reactRefresh,
- },
- settings: {
- react: {
- version: 'detect',
- },
- },
- rules: {
- ...reactHooks.configs.recommended.rules,
- 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
- 'react/react-in-jsx-scope': 'off',
- '@typescript-eslint/consistent-type-imports': 'error',
- 'no-console': 'error',
- },
- },
-]
diff --git a/package.json b/package.json
index 3d2ff417..8f1bb9ed 100644
--- a/package.json
+++ b/package.json
@@ -16,50 +16,41 @@
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
- "lint": "eslint .",
+ "lint": "oxlint",
+ "format": "oxfmt",
+ "format:check": "oxfmt --check",
"prepare": "husky"
},
"lint-staged": {
"**/*.{ts,tsx}": [
- "prettier --write --config .prettierrc"
+ "oxfmt"
],
"packages/**/*.{ts,tsx}": [
- "eslint --config eslint.config.js --max-warnings=0"
+ "oxlint --deny-warnings"
],
"apps/docs/**/*.{ts,tsx}": [
- "eslint --config apps/docs/eslint.config.mjs --max-warnings=0"
+ "oxlint --config apps/docs/.oxlintrc.json --deny-warnings"
]
},
"devDependencies": {
- "@changesets/changelog-github": "^0.5.2",
- "@changesets/cli": "^2.29.8",
- "@eslint/js": "^9.39.2",
+ "@changesets/changelog-github": "^0.6.0",
+ "@changesets/cli": "^2.30.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
- "@trivago/prettier-plugin-sort-imports": "^6.0.2",
- "@types/jsdom": "^27.0.0",
- "@types/node": "^25.3.0",
- "@vitejs/plugin-react": "^5.1.4",
- "@vitest/coverage-v8": "4.0.18",
+ "@types/jsdom": "^28.0.0",
+ "@types/node": "^25.5.0",
+ "@vitejs/plugin-react": "^6.0.1",
+ "@vitest/coverage-v8": "4.1.0",
"concurrently": "^9.2.1",
- "eslint": "^9.39.2",
- "eslint-plugin-react": "^7.37.5",
- "eslint-plugin-react-hooks": "^7.0.1",
- "eslint-plugin-react-refresh": "^0.5.0",
- "globals": "^17.3.0",
"husky": "^9.1.7",
- "jsdom": "^28.1.0",
- "lint-staged": "^16.2.7",
- "prettier": "^3.8.1",
+ "jsdom": "^29.0.0",
+ "lint-staged": "^16.4.0",
+ "oxfmt": "^0.41.0",
+ "oxlint": "^1.56.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"typescript": "~5.9.3",
- "typescript-eslint": "^8.56.0",
- "vite": "^7.3.1",
- "vitest": "^4.0.18"
- },
- "dependencies": {
- "@eslint/eslintrc": "^3.3.3",
- "eslint-config-next": "16.1.6"
+ "vite": "^8.0.0",
+ "vitest": "^4.1.0"
}
}
diff --git a/packages/react-qr-code/package.json b/packages/react-qr-code/package.json
index 8ce14939..e331bccf 100644
--- a/packages/react-qr-code/package.json
+++ b/packages/react-qr-code/package.json
@@ -49,16 +49,15 @@
"react": "^18 || ^19"
},
"devDependencies": {
- "@types/node": "^25.3.0",
+ "@types/node": "^25.5.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
- "@vitejs/plugin-react": "^5.1.4",
- "globals": "^17.3.0",
+ "@vitejs/plugin-react": "^6.0.0",
+ "globals": "^17.4.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"typescript": "~5.9.3",
- "typescript-eslint": "^8.56.0",
- "vite": "^7.3.1",
+ "vite": "^8.0.0",
"vite-plugin-dts": "^4.5.4"
}
}
diff --git a/packages/react-qr-code/src/lib/qrcodegen/README.md b/packages/react-qr-code/src/lib/qrcodegen/README.md
index a0409d20..098ad6e5 100644
--- a/packages/react-qr-code/src/lib/qrcodegen/README.md
+++ b/packages/react-qr-code/src/lib/qrcodegen/README.md
@@ -7,5 +7,6 @@ https://www.nayuki.io/page/qr-code-generator-library
Obtained via https://github.com/nayuki/QR-Code-generator/blob/942f4319a6ba913dbc6775d8e665ccf18f401d83/typescript-javascript/qrcodegen.ts
## Modifications:
+
- Export for use as a module
- Added `getModules` method to `QrCode` class, to bypass excessive calls to `getModule`.
diff --git a/packages/react-qr-code/src/lib/qrcodegen/index.ts b/packages/react-qr-code/src/lib/qrcodegen/index.ts
index c64e7c3a..bc52b977 100644
--- a/packages/react-qr-code/src/lib/qrcodegen/index.ts
+++ b/packages/react-qr-code/src/lib/qrcodegen/index.ts
@@ -4,978 +4,989 @@
* SPDX-License-Identifier: MIT
*/
-"use strict";
-
+'use strict'
namespace qrcodegen {
+ type bit = number
+ type byte = number
+ type int = number
+
+ /*---- QR Code symbol class ----*/
+
+ /*
+ * A QR Code symbol, which is a type of two-dimension barcode.
+ * Invented by Denso Wave and described in the ISO/IEC 18004 standard.
+ * Instances of this class represent an immutable square grid of dark and light cells.
+ * The class provides static factory functions to create a QR Code from text or binary data.
+ * The class covers the QR Code Model 2 specification, supporting all versions (sizes)
+ * from 1 to 40, all 4 error correction levels, and 4 character encoding modes.
+ *
+ * Ways to create a QR Code object:
+ * - High level: Take the payload data and call QrCode.encodeText() or QrCode.encodeBinary().
+ * - Mid level: Custom-make the list of segments and call QrCode.encodeSegments().
+ * - Low level: Custom-make the array of data codeword bytes (including
+ * segment headers and final padding, excluding error correction codewords),
+ * supply the appropriate version number, and call the QrCode() constructor.
+ * (Note that all ways require supplying the desired error correction level.)
+ */
+ export class QrCode {
+ /*-- Static factory functions (high level) --*/
+
+ // Returns a QR Code representing the given Unicode text string at the given error correction level.
+ // As a conservative upper bound, this function is guaranteed to succeed for strings that have 738 or fewer
+ // Unicode code points (not UTF-16 code units) if the low error correction level is used. The smallest possible
+ // QR Code version is automatically chosen for the output. The ECC level of the result may be higher than the
+ // ecl argument if it can be done without increasing the version.
+ public static encodeText(text: string, ecl: QrCode.Ecc): QrCode {
+ const segs: Array = qrcodegen.QrSegment.makeSegments(text)
+ return QrCode.encodeSegments(segs, ecl)
+ }
+
+ // Returns a QR Code representing the given binary data at the given error correction level.
+ // This function always encodes using the binary segment mode, not any text mode. The maximum number of
+ // bytes allowed is 2953. The smallest possible QR Code version is automatically chosen for the output.
+ // The ECC level of the result may be higher than the ecl argument if it can be done without increasing the version.
+ public static encodeBinary(data: Readonly>, ecl: QrCode.Ecc): QrCode {
+ const seg: QrSegment = qrcodegen.QrSegment.makeBytes(data)
+ return QrCode.encodeSegments([seg], ecl)
+ }
+
+ /*-- Static factory functions (mid level) --*/
+
+ // Returns a QR Code representing the given segments with the given encoding parameters.
+ // The smallest possible QR Code version within the given range is automatically
+ // chosen for the output. Iff boostEcl is true, then the ECC level of the result
+ // may be higher than the ecl argument if it can be done without increasing the
+ // version. The mask number is either between 0 to 7 (inclusive) to force that
+ // mask, or -1 to automatically choose an appropriate mask (which may be slow).
+ // This function allows the user to create a custom sequence of segments that switches
+ // between modes (such as alphanumeric and byte) to encode text in less space.
+ // This is a mid-level API; the high-level API is encodeText() and encodeBinary().
+ public static encodeSegments(
+ segs: Readonly>,
+ ecl: QrCode.Ecc,
+ minVersion: int = 1,
+ maxVersion: int = 40,
+ mask: int = -1,
+ boostEcl: boolean = true,
+ ): QrCode {
+ if (
+ !(
+ QrCode.MIN_VERSION <= minVersion &&
+ minVersion <= maxVersion &&
+ maxVersion <= QrCode.MAX_VERSION
+ ) ||
+ mask < -1 ||
+ mask > 7
+ )
+ throw new RangeError('Invalid value')
+
+ // Find the minimal version number to use
+ let version: int
+ let dataUsedBits: int
+ for (version = minVersion; ; version++) {
+ const dataCapacityBits: int = QrCode.getNumDataCodewords(version, ecl) * 8 // Number of data bits available
+ const usedBits: number = QrSegment.getTotalBits(segs, version)
+ if (usedBits <= dataCapacityBits) {
+ dataUsedBits = usedBits
+ break // This version number is found to be suitable
+ }
+ if (version >= maxVersion)
+ // All versions in the range could not fit the given data
+ throw new RangeError('Data too long')
+ }
+
+ // Increase the error correction level while the data still fits in the current version number
+ for (const newEcl of [QrCode.Ecc.MEDIUM, QrCode.Ecc.QUARTILE, QrCode.Ecc.HIGH]) {
+ // From low to high
+ if (boostEcl && dataUsedBits <= QrCode.getNumDataCodewords(version, newEcl) * 8)
+ ecl = newEcl
+ }
+
+ // Concatenate all segments to create the data bit string
+ let bb: Array = []
+ for (const seg of segs) {
+ appendBits(seg.mode.modeBits, 4, bb)
+ appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb)
+ for (const b of seg.getData()) bb.push(b)
+ }
+ assert(bb.length == dataUsedBits)
+
+ // Add terminator and pad up to a byte if applicable
+ const dataCapacityBits: int = QrCode.getNumDataCodewords(version, ecl) * 8
+ assert(bb.length <= dataCapacityBits)
+ appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb)
+ appendBits(0, (8 - (bb.length % 8)) % 8, bb)
+ assert(bb.length % 8 == 0)
+
+ // Pad with alternating bytes until data capacity is reached
+ for (let padByte = 0xec; bb.length < dataCapacityBits; padByte ^= 0xec ^ 0x11)
+ appendBits(padByte, 8, bb)
+
+ // Pack bits into bytes in big endian
+ let dataCodewords: Array = []
+ while (dataCodewords.length * 8 < bb.length) dataCodewords.push(0)
+ bb.forEach((b: bit, i: int) => (dataCodewords[i >>> 3] |= b << (7 - (i & 7))))
+
+ // Create the QR Code object
+ return new QrCode(version, ecl, dataCodewords, mask)
+ }
+
+ /*-- Fields --*/
+
+ // The width and height of this QR Code, measured in modules, between
+ // 21 and 177 (inclusive). This is equal to version * 4 + 17.
+ public readonly size: int
+
+ // The index of the mask pattern used in this QR Code, which is between 0 and 7 (inclusive).
+ // Even if a QR Code is created with automatic masking requested (mask = -1),
+ // the resulting object still has a mask value between 0 and 7.
+ public readonly mask: int
+
+ // The modules of this QR Code (false = light, true = dark).
+ // Immutable after constructor finishes. Accessed through getModule().
+ private readonly modules: Array> = []
+
+ // Indicates function modules that are not subjected to masking. Discarded when constructor finishes.
+ private readonly isFunction: Array> = []
+
+ /*-- Constructor (low level) and fields --*/
+
+ // Creates a new QR Code with the given version number,
+ // error correction level, data codeword bytes, and mask number.
+ // This is a low-level API that most users should not use directly.
+ // A mid-level API is the encodeSegments() function.
+ public constructor(
+ // The version number of this QR Code, which is between 1 and 40 (inclusive).
+ // This determines the size of this barcode.
+ public readonly version: int,
+
+ // The error correction level used in this QR Code.
+ public readonly errorCorrectionLevel: QrCode.Ecc,
+
+ dataCodewords: Readonly>,
+
+ msk: int,
+ ) {
+ // Check scalar arguments
+ if (version < QrCode.MIN_VERSION || version > QrCode.MAX_VERSION)
+ throw new RangeError('Version value out of range')
+ if (msk < -1 || msk > 7) throw new RangeError('Mask value out of range')
+ this.size = version * 4 + 17
+
+ // Initialize both grids to be size*size arrays of Boolean false
+ let row: Array = []
+ for (let i = 0; i < this.size; i++) row.push(false)
+ for (let i = 0; i < this.size; i++) {
+ this.modules.push(row.slice()) // Initially all light
+ this.isFunction.push(row.slice())
+ }
+
+ // Compute ECC, draw modules
+ this.drawFunctionPatterns()
+ const allCodewords: Array = this.addEccAndInterleave(dataCodewords)
+ this.drawCodewords(allCodewords)
+
+ // Do masking
+ if (msk == -1) {
+ // Automatically choose best mask
+ let minPenalty: int = 1000000000
+ for (let i = 0; i < 8; i++) {
+ this.applyMask(i)
+ this.drawFormatBits(i)
+ const penalty: int = this.getPenaltyScore()
+ if (penalty < minPenalty) {
+ msk = i
+ minPenalty = penalty
+ }
+ this.applyMask(i) // Undoes the mask due to XOR
+ }
+ }
+ assert(0 <= msk && msk <= 7)
+ this.mask = msk
+ this.applyMask(msk) // Apply the final choice of mask
+ this.drawFormatBits(msk) // Overwrite old format bits
+
+ this.isFunction = []
+ }
- type bit = number;
- type byte = number;
- type int = number;
-
-
- /*---- QR Code symbol class ----*/
-
- /*
- * A QR Code symbol, which is a type of two-dimension barcode.
- * Invented by Denso Wave and described in the ISO/IEC 18004 standard.
- * Instances of this class represent an immutable square grid of dark and light cells.
- * The class provides static factory functions to create a QR Code from text or binary data.
- * The class covers the QR Code Model 2 specification, supporting all versions (sizes)
- * from 1 to 40, all 4 error correction levels, and 4 character encoding modes.
- *
- * Ways to create a QR Code object:
- * - High level: Take the payload data and call QrCode.encodeText() or QrCode.encodeBinary().
- * - Mid level: Custom-make the list of segments and call QrCode.encodeSegments().
- * - Low level: Custom-make the array of data codeword bytes (including
- * segment headers and final padding, excluding error correction codewords),
- * supply the appropriate version number, and call the QrCode() constructor.
- * (Note that all ways require supplying the desired error correction level.)
- */
- export class QrCode {
-
- /*-- Static factory functions (high level) --*/
-
- // Returns a QR Code representing the given Unicode text string at the given error correction level.
- // As a conservative upper bound, this function is guaranteed to succeed for strings that have 738 or fewer
- // Unicode code points (not UTF-16 code units) if the low error correction level is used. The smallest possible
- // QR Code version is automatically chosen for the output. The ECC level of the result may be higher than the
- // ecl argument if it can be done without increasing the version.
- public static encodeText(text: string, ecl: QrCode.Ecc): QrCode {
- const segs: Array = qrcodegen.QrSegment.makeSegments(text);
- return QrCode.encodeSegments(segs, ecl);
- }
-
-
- // Returns a QR Code representing the given binary data at the given error correction level.
- // This function always encodes using the binary segment mode, not any text mode. The maximum number of
- // bytes allowed is 2953. The smallest possible QR Code version is automatically chosen for the output.
- // The ECC level of the result may be higher than the ecl argument if it can be done without increasing the version.
- public static encodeBinary(data: Readonly>, ecl: QrCode.Ecc): QrCode {
- const seg: QrSegment = qrcodegen.QrSegment.makeBytes(data);
- return QrCode.encodeSegments([seg], ecl);
- }
-
-
- /*-- Static factory functions (mid level) --*/
-
- // Returns a QR Code representing the given segments with the given encoding parameters.
- // The smallest possible QR Code version within the given range is automatically
- // chosen for the output. Iff boostEcl is true, then the ECC level of the result
- // may be higher than the ecl argument if it can be done without increasing the
- // version. The mask number is either between 0 to 7 (inclusive) to force that
- // mask, or -1 to automatically choose an appropriate mask (which may be slow).
- // This function allows the user to create a custom sequence of segments that switches
- // between modes (such as alphanumeric and byte) to encode text in less space.
- // This is a mid-level API; the high-level API is encodeText() and encodeBinary().
- public static encodeSegments(segs: Readonly>, ecl: QrCode.Ecc,
- minVersion: int = 1, maxVersion: int = 40,
- mask: int = -1, boostEcl: boolean = true): QrCode {
-
- if (!(QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= QrCode.MAX_VERSION)
- || mask < -1 || mask > 7)
- throw new RangeError("Invalid value");
-
- // Find the minimal version number to use
- let version: int;
- let dataUsedBits: int;
- for (version = minVersion; ; version++) {
- const dataCapacityBits: int = QrCode.getNumDataCodewords(version, ecl) * 8; // Number of data bits available
- const usedBits: number = QrSegment.getTotalBits(segs, version);
- if (usedBits <= dataCapacityBits) {
- dataUsedBits = usedBits;
- break; // This version number is found to be suitable
- }
- if (version >= maxVersion) // All versions in the range could not fit the given data
- throw new RangeError("Data too long");
- }
-
- // Increase the error correction level while the data still fits in the current version number
- for (const newEcl of [QrCode.Ecc.MEDIUM, QrCode.Ecc.QUARTILE, QrCode.Ecc.HIGH]) { // From low to high
- if (boostEcl && dataUsedBits <= QrCode.getNumDataCodewords(version, newEcl) * 8)
- ecl = newEcl;
- }
-
- // Concatenate all segments to create the data bit string
- let bb: Array = []
- for (const seg of segs) {
- appendBits(seg.mode.modeBits, 4, bb);
- appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);
- for (const b of seg.getData())
- bb.push(b);
- }
- assert(bb.length == dataUsedBits);
-
- // Add terminator and pad up to a byte if applicable
- const dataCapacityBits: int = QrCode.getNumDataCodewords(version, ecl) * 8;
- assert(bb.length <= dataCapacityBits);
- appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);
- appendBits(0, (8 - bb.length % 8) % 8, bb);
- assert(bb.length % 8 == 0);
-
- // Pad with alternating bytes until data capacity is reached
- for (let padByte = 0xEC; bb.length < dataCapacityBits; padByte ^= 0xEC ^ 0x11)
- appendBits(padByte, 8, bb);
-
- // Pack bits into bytes in big endian
- let dataCodewords: Array = [];
- while (dataCodewords.length * 8 < bb.length)
- dataCodewords.push(0);
- bb.forEach((b: bit, i: int) =>
- dataCodewords[i >>> 3] |= b << (7 - (i & 7)));
-
- // Create the QR Code object
- return new QrCode(version, ecl, dataCodewords, mask);
- }
-
-
- /*-- Fields --*/
-
- // The width and height of this QR Code, measured in modules, between
- // 21 and 177 (inclusive). This is equal to version * 4 + 17.
- public readonly size: int;
-
- // The index of the mask pattern used in this QR Code, which is between 0 and 7 (inclusive).
- // Even if a QR Code is created with automatic masking requested (mask = -1),
- // the resulting object still has a mask value between 0 and 7.
- public readonly mask: int;
-
- // The modules of this QR Code (false = light, true = dark).
- // Immutable after constructor finishes. Accessed through getModule().
- private readonly modules : Array> = [];
-
- // Indicates function modules that are not subjected to masking. Discarded when constructor finishes.
- private readonly isFunction: Array> = [];
-
-
- /*-- Constructor (low level) and fields --*/
-
- // Creates a new QR Code with the given version number,
- // error correction level, data codeword bytes, and mask number.
- // This is a low-level API that most users should not use directly.
- // A mid-level API is the encodeSegments() function.
- public constructor(
- // The version number of this QR Code, which is between 1 and 40 (inclusive).
- // This determines the size of this barcode.
- public readonly version: int,
-
- // The error correction level used in this QR Code.
- public readonly errorCorrectionLevel: QrCode.Ecc,
-
- dataCodewords: Readonly>,
-
- msk: int) {
-
- // Check scalar arguments
- if (version < QrCode.MIN_VERSION || version > QrCode.MAX_VERSION)
- throw new RangeError("Version value out of range");
- if (msk < -1 || msk > 7)
- throw new RangeError("Mask value out of range");
- this.size = version * 4 + 17;
-
- // Initialize both grids to be size*size arrays of Boolean false
- let row: Array = [];
- for (let i = 0; i < this.size; i++)
- row.push(false);
- for (let i = 0; i < this.size; i++) {
- this.modules .push(row.slice()); // Initially all light
- this.isFunction.push(row.slice());
- }
-
- // Compute ECC, draw modules
- this.drawFunctionPatterns();
- const allCodewords: Array = this.addEccAndInterleave(dataCodewords);
- this.drawCodewords(allCodewords);
-
- // Do masking
- if (msk == -1) { // Automatically choose best mask
- let minPenalty: int = 1000000000;
- for (let i = 0; i < 8; i++) {
- this.applyMask(i);
- this.drawFormatBits(i);
- const penalty: int = this.getPenaltyScore();
- if (penalty < minPenalty) {
- msk = i;
- minPenalty = penalty;
- }
- this.applyMask(i); // Undoes the mask due to XOR
- }
- }
- assert(0 <= msk && msk <= 7);
- this.mask = msk;
- this.applyMask(msk); // Apply the final choice of mask
- this.drawFormatBits(msk); // Overwrite old format bits
-
- this.isFunction = [];
- }
-
-
- /*-- Accessor methods --*/
-
- // Returns the color of the module (pixel) at the given coordinates, which is false
- // for light or true for dark. The top left corner has the coordinates (x=0, y=0).
- // If the given coordinates are out of bounds, then false (light) is returned.
- public getModule(x: int, y: int): boolean {
- return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];
- }
+ /*-- Accessor methods --*/
+
+ // Returns the color of the module (pixel) at the given coordinates, which is false
+ // for light or true for dark. The top left corner has the coordinates (x=0, y=0).
+ // If the given coordinates are out of bounds, then false (light) is returned.
+ public getModule(x: int, y: int): boolean {
+ return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x]
+ }
// Modified to expose modules for easy access
public getModules() {
- return this.modules;
- }
-
-
- /*-- Private helper methods for constructor: Drawing function modules --*/
-
- // Reads this object's version field, and draws and marks all function modules.
- private drawFunctionPatterns(): void {
- // Draw horizontal and vertical timing patterns
- for (let i = 0; i < this.size; i++) {
- this.setFunctionModule(6, i, i % 2 == 0);
- this.setFunctionModule(i, 6, i % 2 == 0);
- }
-
- // Draw 3 finder patterns (all corners except bottom right; overwrites some timing modules)
- this.drawFinderPattern(3, 3);
- this.drawFinderPattern(this.size - 4, 3);
- this.drawFinderPattern(3, this.size - 4);
-
- // Draw numerous alignment patterns
- const alignPatPos: Array = this.getAlignmentPatternPositions();
- const numAlign: int = alignPatPos.length;
- for (let i = 0; i < numAlign; i++) {
- for (let j = 0; j < numAlign; j++) {
- // Don't draw on the three finder corners
- if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))
- this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);
- }
- }
-
- // Draw configuration data
- this.drawFormatBits(0); // Dummy mask value; overwritten later in the constructor
- this.drawVersion();
- }
-
-
- // Draws two copies of the format bits (with its own error correction code)
- // based on the given mask and this object's error correction level field.
- private drawFormatBits(mask: int): void {
- // Calculate error correction code and pack bits
- const data: int = this.errorCorrectionLevel.formatBits << 3 | mask; // errCorrLvl is uint2, mask is uint3
- let rem: int = data;
- for (let i = 0; i < 10; i++)
- rem = (rem << 1) ^ ((rem >>> 9) * 0x537);
- const bits = (data << 10 | rem) ^ 0x5412; // uint15
- assert(bits >>> 15 == 0);
-
- // Draw first copy
- for (let i = 0; i <= 5; i++)
- this.setFunctionModule(8, i, getBit(bits, i));
- this.setFunctionModule(8, 7, getBit(bits, 6));
- this.setFunctionModule(8, 8, getBit(bits, 7));
- this.setFunctionModule(7, 8, getBit(bits, 8));
- for (let i = 9; i < 15; i++)
- this.setFunctionModule(14 - i, 8, getBit(bits, i));
-
- // Draw second copy
- for (let i = 0; i < 8; i++)
- this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));
- for (let i = 8; i < 15; i++)
- this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));
- this.setFunctionModule(8, this.size - 8, true); // Always dark
- }
-
-
- // Draws two copies of the version bits (with its own error correction code),
- // based on this object's version field, iff 7 <= version <= 40.
- private drawVersion(): void {
- if (this.version < 7)
- return;
-
- // Calculate error correction code and pack bits
- let rem: int = this.version; // version is uint6, in the range [7, 40]
- for (let i = 0; i < 12; i++)
- rem = (rem << 1) ^ ((rem >>> 11) * 0x1F25);
- const bits: int = this.version << 12 | rem; // uint18
- assert(bits >>> 18 == 0);
-
- // Draw two copies
- for (let i = 0; i < 18; i++) {
- const color: boolean = getBit(bits, i);
- const a: int = this.size - 11 + i % 3;
- const b: int = Math.floor(i / 3);
- this.setFunctionModule(a, b, color);
- this.setFunctionModule(b, a, color);
- }
- }
-
-
- // Draws a 9*9 finder pattern including the border separator,
- // with the center module at (x, y). Modules can be out of bounds.
- private drawFinderPattern(x: int, y: int): void {
- for (let dy = -4; dy <= 4; dy++) {
- for (let dx = -4; dx <= 4; dx++) {
- const dist: int = Math.max(Math.abs(dx), Math.abs(dy)); // Chebyshev/infinity norm
- const xx: int = x + dx;
- const yy: int = y + dy;
- if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)
- this.setFunctionModule(xx, yy, dist != 2 && dist != 4);
- }
- }
- }
-
-
- // Draws a 5*5 alignment pattern, with the center module
- // at (x, y). All modules must be in bounds.
- private drawAlignmentPattern(x: int, y: int): void {
- for (let dy = -2; dy <= 2; dy++) {
- for (let dx = -2; dx <= 2; dx++)
- this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);
- }
- }
-
-
- // Sets the color of a module and marks it as a function module.
- // Only used by the constructor. Coordinates must be in bounds.
- private setFunctionModule(x: int, y: int, isDark: boolean): void {
- this.modules[y][x] = isDark;
- this.isFunction[y][x] = true;
- }
-
-
- /*-- Private helper methods for constructor: Codewords and masking --*/
-
- // Returns a new byte string representing the given data with the appropriate error correction
- // codewords appended to it, based on this object's version and error correction level.
- private addEccAndInterleave(data: Readonly>): Array {
- const ver: int = this.version;
- const ecl: QrCode.Ecc = this.errorCorrectionLevel;
- if (data.length != QrCode.getNumDataCodewords(ver, ecl))
- throw new RangeError("Invalid argument");
-
- // Calculate parameter numbers
- const numBlocks: int = QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];
- const blockEccLen: int = QrCode.ECC_CODEWORDS_PER_BLOCK [ecl.ordinal][ver];
- const rawCodewords: int = Math.floor(QrCode.getNumRawDataModules(ver) / 8);
- const numShortBlocks: int = numBlocks - rawCodewords % numBlocks;
- const shortBlockLen: int = Math.floor(rawCodewords / numBlocks);
-
- // Split data into blocks and append ECC to each block
- let blocks: Array> = [];
- const rsDiv: Array = QrCode.reedSolomonComputeDivisor(blockEccLen);
- for (let i = 0, k = 0; i < numBlocks; i++) {
- let dat: Array = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));
- k += dat.length;
- const ecc: Array = QrCode.reedSolomonComputeRemainder(dat, rsDiv);
- if (i < numShortBlocks)
- dat.push(0);
- blocks.push(dat.concat(ecc));
- }
-
- // Interleave (not concatenate) the bytes from every block into a single sequence
- let result: Array = [];
- for (let i = 0; i < blocks[0].length; i++) {
- blocks.forEach((block, j) => {
- // Skip the padding byte in short blocks
- if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)
- result.push(block[i]);
- });
- }
- assert(result.length == rawCodewords);
- return result;
- }
-
-
- // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire
- // data area of this QR Code. Function modules need to be marked off before this is called.
- private drawCodewords(data: Readonly>): void {
- if (data.length != Math.floor(QrCode.getNumRawDataModules(this.version) / 8))
- throw new RangeError("Invalid argument");
- let i: int = 0; // Bit index into the data
- // Do the funny zigzag scan
- for (let right = this.size - 1; right >= 1; right -= 2) { // Index of right column in each column pair
- if (right == 6)
- right = 5;
- for (let vert = 0; vert < this.size; vert++) { // Vertical counter
- for (let j = 0; j < 2; j++) {
- const x: int = right - j; // Actual x coordinate
- const upward: boolean = ((right + 1) & 2) == 0;
- const y: int = upward ? this.size - 1 - vert : vert; // Actual y coordinate
- if (!this.isFunction[y][x] && i < data.length * 8) {
- this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));
- i++;
- }
- // If this QR Code has any remainder bits (0 to 7), they were assigned as
- // 0/false/light by the constructor and are left unchanged by this method
- }
- }
- }
- assert(i == data.length * 8);
- }
-
-
- // XORs the codeword modules in this QR Code with the given mask pattern.
- // The function modules must be marked and the codeword bits must be drawn
- // before masking. Due to the arithmetic of XOR, calling applyMask() with
- // the same mask value a second time will undo the mask. A final well-formed
- // QR Code needs exactly one (not zero, two, etc.) mask applied.
- private applyMask(mask: int): void {
- if (mask < 0 || mask > 7)
- throw new RangeError("Mask value out of range");
- for (let y = 0; y < this.size; y++) {
- for (let x = 0; x < this.size; x++) {
- let invert: boolean;
- switch (mask) {
- case 0: invert = (x + y) % 2 == 0; break;
- case 1: invert = y % 2 == 0; break;
- case 2: invert = x % 3 == 0; break;
- case 3: invert = (x + y) % 3 == 0; break;
- case 4: invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0; break;
- case 5: invert = x * y % 2 + x * y % 3 == 0; break;
- case 6: invert = (x * y % 2 + x * y % 3) % 2 == 0; break;
- case 7: invert = ((x + y) % 2 + x * y % 3) % 2 == 0; break;
- default: throw new Error("Unreachable");
- }
- if (!this.isFunction[y][x] && invert)
- this.modules[y][x] = !this.modules[y][x];
- }
- }
- }
-
-
- // Calculates and returns the penalty score based on state of this QR Code's current modules.
- // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.
- private getPenaltyScore(): int {
- let result: int = 0;
-
- // Adjacent modules in row having same color, and finder-like patterns
- for (let y = 0; y < this.size; y++) {
- let runColor = false;
- let runX = 0;
- let runHistory = [0,0,0,0,0,0,0];
- for (let x = 0; x < this.size; x++) {
- if (this.modules[y][x] == runColor) {
- runX++;
- if (runX == 5)
- result += QrCode.PENALTY_N1;
- else if (runX > 5)
- result++;
- } else {
- this.finderPenaltyAddHistory(runX, runHistory);
- if (!runColor)
- result += this.finderPenaltyCountPatterns(runHistory) * QrCode.PENALTY_N3;
- runColor = this.modules[y][x];
- runX = 1;
- }
- }
- result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * QrCode.PENALTY_N3;
- }
- // Adjacent modules in column having same color, and finder-like patterns
- for (let x = 0; x < this.size; x++) {
- let runColor = false;
- let runY = 0;
- let runHistory = [0,0,0,0,0,0,0];
- for (let y = 0; y < this.size; y++) {
- if (this.modules[y][x] == runColor) {
- runY++;
- if (runY == 5)
- result += QrCode.PENALTY_N1;
- else if (runY > 5)
- result++;
- } else {
- this.finderPenaltyAddHistory(runY, runHistory);
- if (!runColor)
- result += this.finderPenaltyCountPatterns(runHistory) * QrCode.PENALTY_N3;
- runColor = this.modules[y][x];
- runY = 1;
- }
- }
- result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * QrCode.PENALTY_N3;
- }
-
- // 2*2 blocks of modules having same color
- for (let y = 0; y < this.size - 1; y++) {
- for (let x = 0; x < this.size - 1; x++) {
- const color: boolean = this.modules[y][x];
- if ( color == this.modules[y][x + 1] &&
- color == this.modules[y + 1][x] &&
- color == this.modules[y + 1][x + 1])
- result += QrCode.PENALTY_N2;
- }
- }
-
- // Balance of dark and light modules
- let dark: int = 0;
- for (const row of this.modules)
- dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);
- const total: int = this.size * this.size; // Note that size is odd, so dark/total != 1/2
- // Compute the smallest integer k >= 0 such that (45-5k)% <= dark/total <= (55+5k)%
- const k: int = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;
- assert(0 <= k && k <= 9);
- result += k * QrCode.PENALTY_N4;
- assert(0 <= result && result <= 2568888); // Non-tight upper bound based on default values of PENALTY_N1, ..., N4
- return result;
- }
-
-
- /*-- Private helper functions --*/
-
- // Returns an ascending list of positions of alignment patterns for this version number.
- // Each position is in the range [0,177), and are used on both the x and y axes.
- // This could be implemented as lookup table of 40 variable-length lists of integers.
- private getAlignmentPatternPositions(): Array {
- if (this.version == 1)
- return [];
- else {
- const numAlign: int = Math.floor(this.version / 7) + 2;
- const step: int = (this.version == 32) ? 26 :
- Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;
- let result: Array = [6];
- for (let pos = this.size - 7; result.length < numAlign; pos -= step)
- result.splice(1, 0, pos);
- return result;
- }
- }
-
-
- // Returns the number of data bits that can be stored in a QR Code of the given version number, after
- // all function modules are excluded. This includes remainder bits, so it might not be a multiple of 8.
- // The result is in the range [208, 29648]. This could be implemented as a 40-entry lookup table.
- private static getNumRawDataModules(ver: int): int {
- if (ver < QrCode.MIN_VERSION || ver > QrCode.MAX_VERSION)
- throw new RangeError("Version number out of range");
- let result: int = (16 * ver + 128) * ver + 64;
- if (ver >= 2) {
- const numAlign: int = Math.floor(ver / 7) + 2;
- result -= (25 * numAlign - 10) * numAlign - 55;
- if (ver >= 7)
- result -= 36;
- }
- assert(208 <= result && result <= 29648);
- return result;
- }
-
-
- // Returns the number of 8-bit data (i.e. not error correction) codewords contained in any
- // QR Code of the given version number and error correction level, with remainder bits discarded.
- // This stateless pure function could be implemented as a (40*4)-cell lookup table.
- private static getNumDataCodewords(ver: int, ecl: QrCode.Ecc): int {
- return Math.floor(QrCode.getNumRawDataModules(ver) / 8) -
- QrCode.ECC_CODEWORDS_PER_BLOCK [ecl.ordinal][ver] *
- QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];
- }
-
-
- // Returns a Reed-Solomon ECC generator polynomial for the given degree. This could be
- // implemented as a lookup table over all possible parameter values, instead of as an algorithm.
- private static reedSolomonComputeDivisor(degree: int): Array {
- if (degree < 1 || degree > 255)
- throw new RangeError("Degree out of range");
- // Polynomial coefficients are stored from highest to lowest power, excluding the leading term which is always 1.
- // For example the polynomial x^3 + 255x^2 + 8x + 93 is stored as the uint8 array [255, 8, 93].
- let result: Array = [];
- for (let i = 0; i < degree - 1; i++)
- result.push(0);
- result.push(1); // Start off with the monomial x^0
-
- // Compute the product polynomial (x - r^0) * (x - r^1) * (x - r^2) * ... * (x - r^{degree-1}),
- // and drop the highest monomial term which is always 1x^degree.
- // Note that r = 0x02, which is a generator element of this field GF(2^8/0x11D).
- let root = 1;
- for (let i = 0; i < degree; i++) {
- // Multiply the current product by (x - r^i)
- for (let j = 0; j < result.length; j++) {
- result[j] = QrCode.reedSolomonMultiply(result[j], root);
- if (j + 1 < result.length)
- result[j] ^= result[j + 1];
- }
- root = QrCode.reedSolomonMultiply(root, 0x02);
- }
- return result;
- }
-
-
- // Returns the Reed-Solomon error correction codeword for the given data and divisor polynomials.
- private static reedSolomonComputeRemainder(data: Readonly>, divisor: Readonly>): Array {
- let result: Array = divisor.map(_ => 0);
- for (const b of data) { // Polynomial division
- const factor: byte = b ^ (result.shift() as byte);
- result.push(0);
- divisor.forEach((coef, i) =>
- result[i] ^= QrCode.reedSolomonMultiply(coef, factor));
- }
- return result;
- }
-
-
- // Returns the product of the two given field elements modulo GF(2^8/0x11D). The arguments and result
- // are unsigned 8-bit integers. This could be implemented as a lookup table of 256*256 entries of uint8.
- private static reedSolomonMultiply(x: byte, y: byte): byte {
- if (x >>> 8 != 0 || y >>> 8 != 0)
- throw new RangeError("Byte out of range");
- // Russian peasant multiplication
- let z: int = 0;
- for (let i = 7; i >= 0; i--) {
- z = (z << 1) ^ ((z >>> 7) * 0x11D);
- z ^= ((y >>> i) & 1) * x;
- }
- assert(z >>> 8 == 0);
- return z as byte;
- }
-
-
- // Can only be called immediately after a light run is added, and
- // returns either 0, 1, or 2. A helper function for getPenaltyScore().
- private finderPenaltyCountPatterns(runHistory: Readonly>): int {
- const n: int = runHistory[1];
- assert(n <= this.size * 3);
- const core: boolean = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;
- return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0)
- + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);
- }
-
-
- // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().
- private finderPenaltyTerminateAndCount(currentRunColor: boolean, currentRunLength: int, runHistory: Array): int {
- if (currentRunColor) { // Terminate dark run
- this.finderPenaltyAddHistory(currentRunLength, runHistory);
- currentRunLength = 0;
- }
- currentRunLength += this.size; // Add light border to final run
- this.finderPenaltyAddHistory(currentRunLength, runHistory);
- return this.finderPenaltyCountPatterns(runHistory);
- }
-
-
- // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().
- private finderPenaltyAddHistory(currentRunLength: int, runHistory: Array): void {
- if (runHistory[0] == 0)
- currentRunLength += this.size; // Add light border to initial run
- runHistory.pop();
- runHistory.unshift(currentRunLength);
- }
-
-
- /*-- Constants and tables --*/
-
- // The minimum version number supported in the QR Code Model 2 standard.
- public static readonly MIN_VERSION: int = 1;
- // The maximum version number supported in the QR Code Model 2 standard.
- public static readonly MAX_VERSION: int = 40;
-
- // For use in getPenaltyScore(), when evaluating which mask is best.
- private static readonly PENALTY_N1: int = 3;
- private static readonly PENALTY_N2: int = 3;
- private static readonly PENALTY_N3: int = 40;
- private static readonly PENALTY_N4: int = 10;
-
- private static readonly ECC_CODEWORDS_PER_BLOCK: Array> = [
- // Version: (note that index 0 is for padding, and is set to an illegal value)
- //0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level
- [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // Low
- [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], // Medium
- [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // Quartile
- [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30], // High
- ];
-
- private static readonly NUM_ERROR_CORRECTION_BLOCKS: Array> = [
- // Version: (note that index 0 is for padding, and is set to an illegal value)
- //0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level
- [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25], // Low
- [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49], // Medium
- [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68], // Quartile
- [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81], // High
- ];
-
- }
-
-
- // Appends the given number of low-order bits of the given value
- // to the given buffer. Requires 0 <= len <= 31 and 0 <= val < 2^len.
- function appendBits(val: int, len: int, bb: Array): void {
- if (len < 0 || len > 31 || val >>> len != 0)
- throw new RangeError("Value out of range");
- for (let i = len - 1; i >= 0; i--) // Append bit by bit
- bb.push((val >>> i) & 1);
- }
-
-
- // Returns true iff the i'th bit of x is set to 1.
- function getBit(x: int, i: int): boolean {
- return ((x >>> i) & 1) != 0;
- }
-
-
- // Throws an exception if the given condition is false.
- function assert(cond: boolean): void {
- if (!cond)
- throw new Error("Assertion error");
- }
-
-
-
- /*---- Data segment class ----*/
-
- /*
- * A segment of character/binary/control data in a QR Code symbol.
- * Instances of this class are immutable.
- * The mid-level way to create a segment is to take the payload data
- * and call a static factory function such as QrSegment.makeNumeric().
- * The low-level way to create a segment is to custom-make the bit buffer
- * and call the QrSegment() constructor with appropriate values.
- * This segment class imposes no length restrictions, but QR Codes have restrictions.
- * Even in the most favorable conditions, a QR Code can only hold 7089 characters of data.
- * Any segment longer than this is meaningless for the purpose of generating QR Codes.
- */
- export class QrSegment {
-
- /*-- Static factory functions (mid level) --*/
-
- // Returns a segment representing the given binary data encoded in
- // byte mode. All input byte arrays are acceptable. Any text string
- // can be converted to UTF-8 bytes and encoded as a byte mode segment.
- public static makeBytes(data: Readonly>): QrSegment {
- let bb: Array = []
- for (const b of data)
- appendBits(b, 8, bb);
- return new QrSegment(QrSegment.Mode.BYTE, data.length, bb);
- }
-
-
- // Returns a segment representing the given string of decimal digits encoded in numeric mode.
- public static makeNumeric(digits: string): QrSegment {
- if (!QrSegment.isNumeric(digits))
- throw new RangeError("String contains non-numeric characters");
- let bb: Array = []
- for (let i = 0; i < digits.length; ) { // Consume up to 3 digits per iteration
- const n: int = Math.min(digits.length - i, 3);
- appendBits(parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);
- i += n;
- }
- return new QrSegment(QrSegment.Mode.NUMERIC, digits.length, bb);
- }
-
-
- // Returns a segment representing the given text string encoded in alphanumeric mode.
- // The characters allowed are: 0 to 9, A to Z (uppercase only), space,
- // dollar, percent, asterisk, plus, hyphen, period, slash, colon.
- public static makeAlphanumeric(text: string): QrSegment {
- if (!QrSegment.isAlphanumeric(text))
- throw new RangeError("String contains unencodable characters in alphanumeric mode");
- let bb: Array = []
- let i: int;
- for (i = 0; i + 2 <= text.length; i += 2) { // Process groups of 2
- let temp: int = QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;
- temp += QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));
- appendBits(temp, 11, bb);
- }
- if (i < text.length) // 1 character remaining
- appendBits(QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);
- return new QrSegment(QrSegment.Mode.ALPHANUMERIC, text.length, bb);
- }
-
-
- // Returns a new mutable list of zero or more segments to represent the given Unicode text string.
- // The result may use various segment modes and switch modes to optimize the length of the bit stream.
- public static makeSegments(text: string): Array {
- // Select the most efficient segment encoding automatically
- if (text == "")
- return [];
- else if (QrSegment.isNumeric(text))
- return [QrSegment.makeNumeric(text)];
- else if (QrSegment.isAlphanumeric(text))
- return [QrSegment.makeAlphanumeric(text)];
- else
- return [QrSegment.makeBytes(QrSegment.toUtf8ByteArray(text))];
- }
-
-
- // Returns a segment representing an Extended Channel Interpretation
- // (ECI) designator with the given assignment value.
- public static makeEci(assignVal: int): QrSegment {
- let bb: Array = []
- if (assignVal < 0)
- throw new RangeError("ECI assignment value out of range");
- else if (assignVal < (1 << 7))
- appendBits(assignVal, 8, bb);
- else if (assignVal < (1 << 14)) {
- appendBits(0b10, 2, bb);
- appendBits(assignVal, 14, bb);
- } else if (assignVal < 1000000) {
- appendBits(0b110, 3, bb);
- appendBits(assignVal, 21, bb);
- } else
- throw new RangeError("ECI assignment value out of range");
- return new QrSegment(QrSegment.Mode.ECI, 0, bb);
- }
-
-
- // Tests whether the given string can be encoded as a segment in numeric mode.
- // A string is encodable iff each character is in the range 0 to 9.
- public static isNumeric(text: string): boolean {
- return QrSegment.NUMERIC_REGEX.test(text);
- }
-
-
- // Tests whether the given string can be encoded as a segment in alphanumeric mode.
- // A string is encodable iff each character is in the following set: 0 to 9, A to Z
- // (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.
- public static isAlphanumeric(text: string): boolean {
- return QrSegment.ALPHANUMERIC_REGEX.test(text);
- }
-
-
- /*-- Constructor (low level) and fields --*/
-
- // Creates a new QR Code segment with the given attributes and data.
- // The character count (numChars) must agree with the mode and the bit buffer length,
- // but the constraint isn't checked. The given bit buffer is cloned and stored.
- public constructor(
- // The mode indicator of this segment.
- public readonly mode: QrSegment.Mode,
-
- // The length of this segment's unencoded data. Measured in characters for
- // numeric/alphanumeric/kanji mode, bytes for byte mode, and 0 for ECI mode.
- // Always zero or positive. Not the same as the data's bit length.
- public readonly numChars: int,
-
- // The data bits of this segment. Accessed through getData().
- private readonly bitData: Array) {
-
- if (numChars < 0)
- throw new RangeError("Invalid argument");
- this.bitData = bitData.slice(); // Make defensive copy
- }
-
-
- /*-- Methods --*/
-
- // Returns a new copy of the data bits of this segment.
- public getData(): Array {
- return this.bitData.slice(); // Make defensive copy
- }
-
-
- // (Package-private) Calculates and returns the number of bits needed to encode the given segments at
- // the given version. The result is infinity if a segment has too many characters to fit its length field.
- public static getTotalBits(segs: Readonly>, version: int): number {
- let result: number = 0;
- for (const seg of segs) {
- const ccbits: int = seg.mode.numCharCountBits(version);
- if (seg.numChars >= (1 << ccbits))
- return Infinity; // The segment's length doesn't fit the field's bit width
- result += 4 + ccbits + seg.bitData.length;
- }
- return result;
- }
-
-
- // Returns a new array of bytes representing the given string encoded in UTF-8.
- private static toUtf8ByteArray(str: string): Array {
- str = encodeURI(str);
- let result: Array = [];
- for (let i = 0; i < str.length; i++) {
- if (str.charAt(i) != "%")
- result.push(str.charCodeAt(i));
- else {
- result.push(parseInt(str.substring(i + 1, i + 3), 16));
- i += 2;
- }
- }
- return result;
- }
-
-
- /*-- Constants --*/
-
- // Describes precisely all strings that are encodable in numeric mode.
- private static readonly NUMERIC_REGEX: RegExp = /^[0-9]*$/;
-
- // Describes precisely all strings that are encodable in alphanumeric mode.
- private static readonly ALPHANUMERIC_REGEX: RegExp = /^[A-Z0-9 $%*+.\/:-]*$/;
-
- // The set of all legal characters in alphanumeric mode,
- // where each character value maps to the index in the string.
- private static readonly ALPHANUMERIC_CHARSET: string = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";
-
- }
+ return this.modules
+ }
-}
+ /*-- Private helper methods for constructor: Drawing function modules --*/
+
+ // Reads this object's version field, and draws and marks all function modules.
+ private drawFunctionPatterns(): void {
+ // Draw horizontal and vertical timing patterns
+ for (let i = 0; i < this.size; i++) {
+ this.setFunctionModule(6, i, i % 2 == 0)
+ this.setFunctionModule(i, 6, i % 2 == 0)
+ }
+
+ // Draw 3 finder patterns (all corners except bottom right; overwrites some timing modules)
+ this.drawFinderPattern(3, 3)
+ this.drawFinderPattern(this.size - 4, 3)
+ this.drawFinderPattern(3, this.size - 4)
+
+ // Draw numerous alignment patterns
+ const alignPatPos: Array = this.getAlignmentPatternPositions()
+ const numAlign: int = alignPatPos.length
+ for (let i = 0; i < numAlign; i++) {
+ for (let j = 0; j < numAlign; j++) {
+ // Don't draw on the three finder corners
+ if (
+ !(
+ (i == 0 && j == 0) ||
+ (i == 0 && j == numAlign - 1) ||
+ (i == numAlign - 1 && j == 0)
+ )
+ )
+ this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j])
+ }
+ }
+
+ // Draw configuration data
+ this.drawFormatBits(0) // Dummy mask value; overwritten later in the constructor
+ this.drawVersion()
+ }
+ // Draws two copies of the format bits (with its own error correction code)
+ // based on the given mask and this object's error correction level field.
+ private drawFormatBits(mask: int): void {
+ // Calculate error correction code and pack bits
+ const data: int = (this.errorCorrectionLevel.formatBits << 3) | mask // errCorrLvl is uint2, mask is uint3
+ let rem: int = data
+ for (let i = 0; i < 10; i++) rem = (rem << 1) ^ ((rem >>> 9) * 0x537)
+ const bits = ((data << 10) | rem) ^ 0x5412 // uint15
+ assert(bits >>> 15 == 0)
+
+ // Draw first copy
+ for (let i = 0; i <= 5; i++) this.setFunctionModule(8, i, getBit(bits, i))
+ this.setFunctionModule(8, 7, getBit(bits, 6))
+ this.setFunctionModule(8, 8, getBit(bits, 7))
+ this.setFunctionModule(7, 8, getBit(bits, 8))
+ for (let i = 9; i < 15; i++) this.setFunctionModule(14 - i, 8, getBit(bits, i))
+
+ // Draw second copy
+ for (let i = 0; i < 8; i++)
+ this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i))
+ for (let i = 8; i < 15; i++)
+ this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i))
+ this.setFunctionModule(8, this.size - 8, true) // Always dark
+ }
+ // Draws two copies of the version bits (with its own error correction code),
+ // based on this object's version field, iff 7 <= version <= 40.
+ private drawVersion(): void {
+ if (this.version < 7) return
+
+ // Calculate error correction code and pack bits
+ let rem: int = this.version // version is uint6, in the range [7, 40]
+ for (let i = 0; i < 12; i++) rem = (rem << 1) ^ ((rem >>> 11) * 0x1f25)
+ const bits: int = (this.version << 12) | rem // uint18
+ assert(bits >>> 18 == 0)
+
+ // Draw two copies
+ for (let i = 0; i < 18; i++) {
+ const color: boolean = getBit(bits, i)
+ const a: int = this.size - 11 + (i % 3)
+ const b: int = Math.floor(i / 3)
+ this.setFunctionModule(a, b, color)
+ this.setFunctionModule(b, a, color)
+ }
+ }
-/*---- Public helper enumeration ----*/
+ // Draws a 9*9 finder pattern including the border separator,
+ // with the center module at (x, y). Modules can be out of bounds.
+ private drawFinderPattern(x: int, y: int): void {
+ for (let dy = -4; dy <= 4; dy++) {
+ for (let dx = -4; dx <= 4; dx++) {
+ const dist: int = Math.max(Math.abs(dx), Math.abs(dy)) // Chebyshev/infinity norm
+ const xx: int = x + dx
+ const yy: int = y + dy
+ if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)
+ this.setFunctionModule(xx, yy, dist != 2 && dist != 4)
+ }
+ }
+ }
-namespace qrcodegen.QrCode {
+ // Draws a 5*5 alignment pattern, with the center module
+ // at (x, y). All modules must be in bounds.
+ private drawAlignmentPattern(x: int, y: int): void {
+ for (let dy = -2; dy <= 2; dy++) {
+ for (let dx = -2; dx <= 2; dx++)
+ this.setFunctionModule(
+ x + dx,
+ y + dy,
+ Math.max(Math.abs(dx), Math.abs(dy)) != 1,
+ )
+ }
+ }
- type int = number;
+ // Sets the color of a module and marks it as a function module.
+ // Only used by the constructor. Coordinates must be in bounds.
+ private setFunctionModule(x: int, y: int, isDark: boolean): void {
+ this.modules[y][x] = isDark
+ this.isFunction[y][x] = true
+ }
+ /*-- Private helper methods for constructor: Codewords and masking --*/
+
+ // Returns a new byte string representing the given data with the appropriate error correction
+ // codewords appended to it, based on this object's version and error correction level.
+ private addEccAndInterleave(data: Readonly>): Array {
+ const ver: int = this.version
+ const ecl: QrCode.Ecc = this.errorCorrectionLevel
+ if (data.length != QrCode.getNumDataCodewords(ver, ecl))
+ throw new RangeError('Invalid argument')
+
+ // Calculate parameter numbers
+ const numBlocks: int = QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver]
+ const blockEccLen: int = QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver]
+ const rawCodewords: int = Math.floor(QrCode.getNumRawDataModules(ver) / 8)
+ const numShortBlocks: int = numBlocks - (rawCodewords % numBlocks)
+ const shortBlockLen: int = Math.floor(rawCodewords / numBlocks)
+
+ // Split data into blocks and append ECC to each block
+ let blocks: Array> = []
+ const rsDiv: Array = QrCode.reedSolomonComputeDivisor(blockEccLen)
+ for (let i = 0, k = 0; i < numBlocks; i++) {
+ let dat: Array = data.slice(
+ k,
+ k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1),
+ )
+ k += dat.length
+ const ecc: Array = QrCode.reedSolomonComputeRemainder(dat, rsDiv)
+ if (i < numShortBlocks) dat.push(0)
+ blocks.push(dat.concat(ecc))
+ }
+
+ // Interleave (not concatenate) the bytes from every block into a single sequence
+ let result: Array = []
+ for (let i = 0; i < blocks[0].length; i++) {
+ blocks.forEach((block, j) => {
+ // Skip the padding byte in short blocks
+ if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)
+ result.push(block[i])
+ })
+ }
+ assert(result.length == rawCodewords)
+ return result
+ }
- /*
- * The error correction level in a QR Code symbol. Immutable.
- */
- export class Ecc {
+ // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire
+ // data area of this QR Code. Function modules need to be marked off before this is called.
+ private drawCodewords(data: Readonly>): void {
+ if (data.length != Math.floor(QrCode.getNumRawDataModules(this.version) / 8))
+ throw new RangeError('Invalid argument')
+ let i: int = 0 // Bit index into the data
+ // Do the funny zigzag scan
+ for (let right = this.size - 1; right >= 1; right -= 2) {
+ // Index of right column in each column pair
+ if (right == 6) right = 5
+ for (let vert = 0; vert < this.size; vert++) {
+ // Vertical counter
+ for (let j = 0; j < 2; j++) {
+ const x: int = right - j // Actual x coordinate
+ const upward: boolean = ((right + 1) & 2) == 0
+ const y: int = upward ? this.size - 1 - vert : vert // Actual y coordinate
+ if (!this.isFunction[y][x] && i < data.length * 8) {
+ this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7))
+ i++
+ }
+ // If this QR Code has any remainder bits (0 to 7), they were assigned as
+ // 0/false/light by the constructor and are left unchanged by this method
+ }
+ }
+ }
+ assert(i == data.length * 8)
+ }
- /*-- Constants --*/
+ // XORs the codeword modules in this QR Code with the given mask pattern.
+ // The function modules must be marked and the codeword bits must be drawn
+ // before masking. Due to the arithmetic of XOR, calling applyMask() with
+ // the same mask value a second time will undo the mask. A final well-formed
+ // QR Code needs exactly one (not zero, two, etc.) mask applied.
+ private applyMask(mask: int): void {
+ if (mask < 0 || mask > 7) throw new RangeError('Mask value out of range')
+ for (let y = 0; y < this.size; y++) {
+ for (let x = 0; x < this.size; x++) {
+ let invert: boolean
+ switch (mask) {
+ case 0:
+ invert = (x + y) % 2 == 0
+ break
+ case 1:
+ invert = y % 2 == 0
+ break
+ case 2:
+ invert = x % 3 == 0
+ break
+ case 3:
+ invert = (x + y) % 3 == 0
+ break
+ case 4:
+ invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0
+ break
+ case 5:
+ invert = ((x * y) % 2) + ((x * y) % 3) == 0
+ break
+ case 6:
+ invert = (((x * y) % 2) + ((x * y) % 3)) % 2 == 0
+ break
+ case 7:
+ invert = (((x + y) % 2) + ((x * y) % 3)) % 2 == 0
+ break
+ default:
+ throw new Error('Unreachable')
+ }
+ if (!this.isFunction[y][x] && invert) this.modules[y][x] = !this.modules[y][x]
+ }
+ }
+ }
- public static readonly LOW = new Ecc(0, 1); // The QR Code can tolerate about 7% erroneous codewords
- public static readonly MEDIUM = new Ecc(1, 0); // The QR Code can tolerate about 15% erroneous codewords
- public static readonly QUARTILE = new Ecc(2, 3); // The QR Code can tolerate about 25% erroneous codewords
- public static readonly HIGH = new Ecc(3, 2); // The QR Code can tolerate about 30% erroneous codewords
+ // Calculates and returns the penalty score based on state of this QR Code's current modules.
+ // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.
+ private getPenaltyScore(): int {
+ let result: int = 0
+
+ // Adjacent modules in row having same color, and finder-like patterns
+ for (let y = 0; y < this.size; y++) {
+ let runColor = false
+ let runX = 0
+ let runHistory = [0, 0, 0, 0, 0, 0, 0]
+ for (let x = 0; x < this.size; x++) {
+ if (this.modules[y][x] == runColor) {
+ runX++
+ if (runX == 5) result += QrCode.PENALTY_N1
+ else if (runX > 5) result++
+ } else {
+ this.finderPenaltyAddHistory(runX, runHistory)
+ if (!runColor)
+ result += this.finderPenaltyCountPatterns(runHistory) * QrCode.PENALTY_N3
+ runColor = this.modules[y][x]
+ runX = 1
+ }
+ }
+ result +=
+ this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) *
+ QrCode.PENALTY_N3
+ }
+ // Adjacent modules in column having same color, and finder-like patterns
+ for (let x = 0; x < this.size; x++) {
+ let runColor = false
+ let runY = 0
+ let runHistory = [0, 0, 0, 0, 0, 0, 0]
+ for (let y = 0; y < this.size; y++) {
+ if (this.modules[y][x] == runColor) {
+ runY++
+ if (runY == 5) result += QrCode.PENALTY_N1
+ else if (runY > 5) result++
+ } else {
+ this.finderPenaltyAddHistory(runY, runHistory)
+ if (!runColor)
+ result += this.finderPenaltyCountPatterns(runHistory) * QrCode.PENALTY_N3
+ runColor = this.modules[y][x]
+ runY = 1
+ }
+ }
+ result +=
+ this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) *
+ QrCode.PENALTY_N3
+ }
+
+ // 2*2 blocks of modules having same color
+ for (let y = 0; y < this.size - 1; y++) {
+ for (let x = 0; x < this.size - 1; x++) {
+ const color: boolean = this.modules[y][x]
+ if (
+ color == this.modules[y][x + 1] &&
+ color == this.modules[y + 1][x] &&
+ color == this.modules[y + 1][x + 1]
+ )
+ result += QrCode.PENALTY_N2
+ }
+ }
+
+ // Balance of dark and light modules
+ let dark: int = 0
+ for (const row of this.modules)
+ dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark)
+ const total: int = this.size * this.size // Note that size is odd, so dark/total != 1/2
+ // Compute the smallest integer k >= 0 such that (45-5k)% <= dark/total <= (55+5k)%
+ const k: int = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1
+ assert(0 <= k && k <= 9)
+ result += k * QrCode.PENALTY_N4
+ assert(0 <= result && result <= 2568888) // Non-tight upper bound based on default values of PENALTY_N1, ..., N4
+ return result
+ }
+ /*-- Private helper functions --*/
+
+ // Returns an ascending list of positions of alignment patterns for this version number.
+ // Each position is in the range [0,177), and are used on both the x and y axes.
+ // This could be implemented as lookup table of 40 variable-length lists of integers.
+ private getAlignmentPatternPositions(): Array {
+ if (this.version == 1) return []
+ else {
+ const numAlign: int = Math.floor(this.version / 7) + 2
+ const step: int =
+ this.version == 32
+ ? 26
+ : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2
+ let result: Array = [6]
+ for (let pos = this.size - 7; result.length < numAlign; pos -= step)
+ result.splice(1, 0, pos)
+ return result
+ }
+ }
- /*-- Constructor and fields --*/
+ // Returns the number of data bits that can be stored in a QR Code of the given version number, after
+ // all function modules are excluded. This includes remainder bits, so it might not be a multiple of 8.
+ // The result is in the range [208, 29648]. This could be implemented as a 40-entry lookup table.
+ private static getNumRawDataModules(ver: int): int {
+ if (ver < QrCode.MIN_VERSION || ver > QrCode.MAX_VERSION)
+ throw new RangeError('Version number out of range')
+ let result: int = (16 * ver + 128) * ver + 64
+ if (ver >= 2) {
+ const numAlign: int = Math.floor(ver / 7) + 2
+ result -= (25 * numAlign - 10) * numAlign - 55
+ if (ver >= 7) result -= 36
+ }
+ assert(208 <= result && result <= 29648)
+ return result
+ }
- private constructor(
- // In the range 0 to 3 (unsigned 2-bit integer).
- public readonly ordinal: int,
- // (Package-private) In the range 0 to 3 (unsigned 2-bit integer).
- public readonly formatBits: int) {}
+ // Returns the number of 8-bit data (i.e. not error correction) codewords contained in any
+ // QR Code of the given version number and error correction level, with remainder bits discarded.
+ // This stateless pure function could be implemented as a (40*4)-cell lookup table.
+ private static getNumDataCodewords(ver: int, ecl: QrCode.Ecc): int {
+ return (
+ Math.floor(QrCode.getNumRawDataModules(ver) / 8) -
+ QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] *
+ QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver]
+ )
+ }
- }
-}
+ // Returns a Reed-Solomon ECC generator polynomial for the given degree. This could be
+ // implemented as a lookup table over all possible parameter values, instead of as an algorithm.
+ private static reedSolomonComputeDivisor(degree: int): Array {
+ if (degree < 1 || degree > 255) throw new RangeError('Degree out of range')
+ // Polynomial coefficients are stored from highest to lowest power, excluding the leading term which is always 1.
+ // For example the polynomial x^3 + 255x^2 + 8x + 93 is stored as the uint8 array [255, 8, 93].
+ let result: Array = []
+ for (let i = 0; i < degree - 1; i++) result.push(0)
+ result.push(1) // Start off with the monomial x^0
+
+ // Compute the product polynomial (x - r^0) * (x - r^1) * (x - r^2) * ... * (x - r^{degree-1}),
+ // and drop the highest monomial term which is always 1x^degree.
+ // Note that r = 0x02, which is a generator element of this field GF(2^8/0x11D).
+ let root = 1
+ for (let i = 0; i < degree; i++) {
+ // Multiply the current product by (x - r^i)
+ for (let j = 0; j < result.length; j++) {
+ result[j] = QrCode.reedSolomonMultiply(result[j], root)
+ if (j + 1 < result.length) result[j] ^= result[j + 1]
+ }
+ root = QrCode.reedSolomonMultiply(root, 0x02)
+ }
+ return result
+ }
+ // Returns the Reed-Solomon error correction codeword for the given data and divisor polynomials.
+ private static reedSolomonComputeRemainder(
+ data: Readonly>,
+ divisor: Readonly>,
+ ): Array {
+ let result: Array = divisor.map((_) => 0)
+ for (const b of data) {
+ // Polynomial division
+ const factor: byte = b ^ (result.shift() as byte)
+ result.push(0)
+ divisor.forEach(
+ (coef, i) => (result[i] ^= QrCode.reedSolomonMultiply(coef, factor)),
+ )
+ }
+ return result
+ }
+ // Returns the product of the two given field elements modulo GF(2^8/0x11D). The arguments and result
+ // are unsigned 8-bit integers. This could be implemented as a lookup table of 256*256 entries of uint8.
+ private static reedSolomonMultiply(x: byte, y: byte): byte {
+ if (x >>> 8 != 0 || y >>> 8 != 0) throw new RangeError('Byte out of range')
+ // Russian peasant multiplication
+ let z: int = 0
+ for (let i = 7; i >= 0; i--) {
+ z = (z << 1) ^ ((z >>> 7) * 0x11d)
+ z ^= ((y >>> i) & 1) * x
+ }
+ assert(z >>> 8 == 0)
+ return z as byte
+ }
-/*---- Public helper enumeration ----*/
+ // Can only be called immediately after a light run is added, and
+ // returns either 0, 1, or 2. A helper function for getPenaltyScore().
+ private finderPenaltyCountPatterns(runHistory: Readonly>): int {
+ const n: int = runHistory[1]
+ assert(n <= this.size * 3)
+ const core: boolean =
+ n > 0 &&
+ runHistory[2] == n &&
+ runHistory[3] == n * 3 &&
+ runHistory[4] == n &&
+ runHistory[5] == n
+ return (
+ (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) +
+ (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0)
+ )
+ }
-namespace qrcodegen.QrSegment {
+ // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().
+ private finderPenaltyTerminateAndCount(
+ currentRunColor: boolean,
+ currentRunLength: int,
+ runHistory: Array,
+ ): int {
+ if (currentRunColor) {
+ // Terminate dark run
+ this.finderPenaltyAddHistory(currentRunLength, runHistory)
+ currentRunLength = 0
+ }
+ currentRunLength += this.size // Add light border to final run
+ this.finderPenaltyAddHistory(currentRunLength, runHistory)
+ return this.finderPenaltyCountPatterns(runHistory)
+ }
+
+ // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().
+ private finderPenaltyAddHistory(currentRunLength: int, runHistory: Array): void {
+ if (runHistory[0] == 0) currentRunLength += this.size // Add light border to initial run
+ runHistory.pop()
+ runHistory.unshift(currentRunLength)
+ }
- type int = number;
+ /*-- Constants and tables --*/
+
+ // The minimum version number supported in the QR Code Model 2 standard.
+ public static readonly MIN_VERSION: int = 1
+ // The maximum version number supported in the QR Code Model 2 standard.
+ public static readonly MAX_VERSION: int = 40
+
+ // For use in getPenaltyScore(), when evaluating which mask is best.
+ private static readonly PENALTY_N1: int = 3
+ private static readonly PENALTY_N2: int = 3
+ private static readonly PENALTY_N3: int = 40
+ private static readonly PENALTY_N4: int = 10
+
+ private static readonly ECC_CODEWORDS_PER_BLOCK: Array> = [
+ // Version: (note that index 0 is for padding, and is set to an illegal value)
+ //0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level
+ [
+ -1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28,
+ 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ ], // Low
+ [
+ -1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26,
+ 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+ 28,
+ ], // Medium
+ [
+ -1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26,
+ 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30,
+ ], // Quartile
+ [
+ -1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26,
+ 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
+ 30,
+ ], // High
+ ]
+
+ private static readonly NUM_ERROR_CORRECTION_BLOCKS: Array> = [
+ // Version: (note that index 0 is for padding, and is set to an illegal value)
+ //0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level
+ [
+ -1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12,
+ 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25,
+ ], // Low
+ [
+ -1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18,
+ 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49,
+ ], // Medium
+ [
+ -1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23,
+ 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68,
+ ], // Quartile
+ [
+ -1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34,
+ 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81,
+ ], // High
+ ]
+ }
+
+ // Appends the given number of low-order bits of the given value
+ // to the given buffer. Requires 0 <= len <= 31 and 0 <= val < 2^len.
+ function appendBits(val: int, len: int, bb: Array): void {
+ if (len < 0 || len > 31 || val >>> len != 0)
+ throw new RangeError('Value out of range')
+ for (
+ let i = len - 1;
+ i >= 0;
+ i-- // Append bit by bit
+ )
+ bb.push((val >>> i) & 1)
+ }
+
+ // Returns true iff the i'th bit of x is set to 1.
+ function getBit(x: int, i: int): boolean {
+ return ((x >>> i) & 1) != 0
+ }
+
+ // Throws an exception if the given condition is false.
+ function assert(cond: boolean): void {
+ if (!cond) throw new Error('Assertion error')
+ }
+
+ /*---- Data segment class ----*/
+
+ /*
+ * A segment of character/binary/control data in a QR Code symbol.
+ * Instances of this class are immutable.
+ * The mid-level way to create a segment is to take the payload data
+ * and call a static factory function such as QrSegment.makeNumeric().
+ * The low-level way to create a segment is to custom-make the bit buffer
+ * and call the QrSegment() constructor with appropriate values.
+ * This segment class imposes no length restrictions, but QR Codes have restrictions.
+ * Even in the most favorable conditions, a QR Code can only hold 7089 characters of data.
+ * Any segment longer than this is meaningless for the purpose of generating QR Codes.
+ */
+ export class QrSegment {
+ /*-- Static factory functions (mid level) --*/
+
+ // Returns a segment representing the given binary data encoded in
+ // byte mode. All input byte arrays are acceptable. Any text string
+ // can be converted to UTF-8 bytes and encoded as a byte mode segment.
+ public static makeBytes(data: Readonly>): QrSegment {
+ let bb: Array = []
+ for (const b of data) appendBits(b, 8, bb)
+ return new QrSegment(QrSegment.Mode.BYTE, data.length, bb)
+ }
+ // Returns a segment representing the given string of decimal digits encoded in numeric mode.
+ public static makeNumeric(digits: string): QrSegment {
+ if (!QrSegment.isNumeric(digits))
+ throw new RangeError('String contains non-numeric characters')
+ let bb: Array = []
+ for (let i = 0; i < digits.length; ) {
+ // Consume up to 3 digits per iteration
+ const n: int = Math.min(digits.length - i, 3)
+ appendBits(parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb)
+ i += n
+ }
+ return new QrSegment(QrSegment.Mode.NUMERIC, digits.length, bb)
+ }
- /*
- * Describes how a segment's data bits are interpreted. Immutable.
- */
- export class Mode {
+ // Returns a segment representing the given text string encoded in alphanumeric mode.
+ // The characters allowed are: 0 to 9, A to Z (uppercase only), space,
+ // dollar, percent, asterisk, plus, hyphen, period, slash, colon.
+ public static makeAlphanumeric(text: string): QrSegment {
+ if (!QrSegment.isAlphanumeric(text))
+ throw new RangeError(
+ 'String contains unencodable characters in alphanumeric mode',
+ )
+ let bb: Array = []
+ let i: int
+ for (i = 0; i + 2 <= text.length; i += 2) {
+ // Process groups of 2
+ let temp: int = QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45
+ temp += QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1))
+ appendBits(temp, 11, bb)
+ }
+ if (i < text.length)
+ // 1 character remaining
+ appendBits(QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb)
+ return new QrSegment(QrSegment.Mode.ALPHANUMERIC, text.length, bb)
+ }
- /*-- Constants --*/
+ // Returns a new mutable list of zero or more segments to represent the given Unicode text string.
+ // The result may use various segment modes and switch modes to optimize the length of the bit stream.
+ public static makeSegments(text: string): Array {
+ // Select the most efficient segment encoding automatically
+ if (text == '') return []
+ else if (QrSegment.isNumeric(text)) return [QrSegment.makeNumeric(text)]
+ else if (QrSegment.isAlphanumeric(text)) return [QrSegment.makeAlphanumeric(text)]
+ else return [QrSegment.makeBytes(QrSegment.toUtf8ByteArray(text))]
+ }
- public static readonly NUMERIC = new Mode(0x1, [10, 12, 14]);
- public static readonly ALPHANUMERIC = new Mode(0x2, [ 9, 11, 13]);
- public static readonly BYTE = new Mode(0x4, [ 8, 16, 16]);
- public static readonly KANJI = new Mode(0x8, [ 8, 10, 12]);
- public static readonly ECI = new Mode(0x7, [ 0, 0, 0]);
+ // Returns a segment representing an Extended Channel Interpretation
+ // (ECI) designator with the given assignment value.
+ public static makeEci(assignVal: int): QrSegment {
+ let bb: Array = []
+ if (assignVal < 0) throw new RangeError('ECI assignment value out of range')
+ else if (assignVal < 1 << 7) appendBits(assignVal, 8, bb)
+ else if (assignVal < 1 << 14) {
+ appendBits(0b10, 2, bb)
+ appendBits(assignVal, 14, bb)
+ } else if (assignVal < 1000000) {
+ appendBits(0b110, 3, bb)
+ appendBits(assignVal, 21, bb)
+ } else throw new RangeError('ECI assignment value out of range')
+ return new QrSegment(QrSegment.Mode.ECI, 0, bb)
+ }
+ // Tests whether the given string can be encoded as a segment in numeric mode.
+ // A string is encodable iff each character is in the range 0 to 9.
+ public static isNumeric(text: string): boolean {
+ return QrSegment.NUMERIC_REGEX.test(text)
+ }
- /*-- Constructor and fields --*/
+ // Tests whether the given string can be encoded as a segment in alphanumeric mode.
+ // A string is encodable iff each character is in the following set: 0 to 9, A to Z
+ // (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.
+ public static isAlphanumeric(text: string): boolean {
+ return QrSegment.ALPHANUMERIC_REGEX.test(text)
+ }
- private constructor(
- // The mode indicator bits, which is a uint4 value (range 0 to 15).
- public readonly modeBits: int,
- // Number of character count bits for three different version ranges.
- private readonly numBitsCharCount: [int,int,int]) {}
+ /*-- Constructor (low level) and fields --*/
+
+ // Creates a new QR Code segment with the given attributes and data.
+ // The character count (numChars) must agree with the mode and the bit buffer length,
+ // but the constraint isn't checked. The given bit buffer is cloned and stored.
+ public constructor(
+ // The mode indicator of this segment.
+ public readonly mode: QrSegment.Mode,
+
+ // The length of this segment's unencoded data. Measured in characters for
+ // numeric/alphanumeric/kanji mode, bytes for byte mode, and 0 for ECI mode.
+ // Always zero or positive. Not the same as the data's bit length.
+ public readonly numChars: int,
+
+ // The data bits of this segment. Accessed through getData().
+ private readonly bitData: Array,
+ ) {
+ if (numChars < 0) throw new RangeError('Invalid argument')
+ this.bitData = bitData.slice() // Make defensive copy
+ }
+ /*-- Methods --*/
- /*-- Method --*/
+ // Returns a new copy of the data bits of this segment.
+ public getData(): Array {
+ return this.bitData.slice() // Make defensive copy
+ }
- // (Package-private) Returns the bit width of the character count field for a segment in
- // this mode in a QR Code at the given version number. The result is in the range [0, 16].
- public numCharCountBits(ver: int): int {
- return this.numBitsCharCount[Math.floor((ver + 7) / 17)];
- }
+ // (Package-private) Calculates and returns the number of bits needed to encode the given segments at
+ // the given version. The result is infinity if a segment has too many characters to fit its length field.
+ public static getTotalBits(segs: Readonly>, version: int): number {
+ let result: number = 0
+ for (const seg of segs) {
+ const ccbits: int = seg.mode.numCharCountBits(version)
+ if (seg.numChars >= 1 << ccbits) return Infinity // The segment's length doesn't fit the field's bit width
+ result += 4 + ccbits + seg.bitData.length
+ }
+ return result
+ }
- }
+ // Returns a new array of bytes representing the given string encoded in UTF-8.
+ private static toUtf8ByteArray(str: string): Array {
+ str = encodeURI(str)
+ let result: Array = []
+ for (let i = 0; i < str.length; i++) {
+ if (str.charAt(i) != '%') result.push(str.charCodeAt(i))
+ else {
+ result.push(parseInt(str.substring(i + 1, i + 3), 16))
+ i += 2
+ }
+ }
+ return result
+ }
+
+ /*-- Constants --*/
+
+ // Describes precisely all strings that are encodable in numeric mode.
+ private static readonly NUMERIC_REGEX: RegExp = /^[0-9]*$/
+
+ // Describes precisely all strings that are encodable in alphanumeric mode.
+ private static readonly ALPHANUMERIC_REGEX: RegExp = /^[A-Z0-9 $%*+.\/:-]*$/
+
+ // The set of all legal characters in alphanumeric mode,
+ // where each character value maps to the index in the string.
+ private static readonly ALPHANUMERIC_CHARSET: string =
+ '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'
+ }
+}
+
+/*---- Public helper enumeration ----*/
+
+namespace qrcodegen.QrCode {
+ type int = number
+
+ /*
+ * The error correction level in a QR Code symbol. Immutable.
+ */
+ export class Ecc {
+ /*-- Constants --*/
+
+ public static readonly LOW = new Ecc(0, 1) // The QR Code can tolerate about 7% erroneous codewords
+ public static readonly MEDIUM = new Ecc(1, 0) // The QR Code can tolerate about 15% erroneous codewords
+ public static readonly QUARTILE = new Ecc(2, 3) // The QR Code can tolerate about 25% erroneous codewords
+ public static readonly HIGH = new Ecc(3, 2) // The QR Code can tolerate about 30% erroneous codewords
+
+ /*-- Constructor and fields --*/
+
+ private constructor(
+ // In the range 0 to 3 (unsigned 2-bit integer).
+ public readonly ordinal: int,
+ // (Package-private) In the range 0 to 3 (unsigned 2-bit integer).
+ public readonly formatBits: int,
+ ) {}
+ }
+}
+
+/*---- Public helper enumeration ----*/
+
+namespace qrcodegen.QrSegment {
+ type int = number
+
+ /*
+ * Describes how a segment's data bits are interpreted. Immutable.
+ */
+ export class Mode {
+ /*-- Constants --*/
+
+ public static readonly NUMERIC = new Mode(0x1, [10, 12, 14])
+ public static readonly ALPHANUMERIC = new Mode(0x2, [9, 11, 13])
+ public static readonly BYTE = new Mode(0x4, [8, 16, 16])
+ public static readonly KANJI = new Mode(0x8, [8, 10, 12])
+ public static readonly ECI = new Mode(0x7, [0, 0, 0])
+
+ /*-- Constructor and fields --*/
+
+ private constructor(
+ // The mode indicator bits, which is a uint4 value (range 0 to 15).
+ public readonly modeBits: int,
+ // Number of character count bits for three different version ranges.
+ private readonly numBitsCharCount: [int, int, int],
+ ) {}
+
+ /*-- Method --*/
+
+ // (Package-private) Returns the bit width of the character count field for a segment in
+ // this mode in a QR Code at the given version number. The result is in the range [0, 16].
+ public numCharCountBits(ver: int): int {
+ return this.numBitsCharCount[Math.floor((ver + 7) / 17)]
+ }
+ }
}
// Modification to export for actual use
diff --git a/packages/react-qr-code/src/utils/download.ts b/packages/react-qr-code/src/utils/download.ts
index f1992aa4..228ecd79 100644
--- a/packages/react-qr-code/src/utils/download.ts
+++ b/packages/react-qr-code/src/utils/download.ts
@@ -79,7 +79,7 @@ export const downloadRaster = ({
a.click()
document.body.removeChild(a)
}
- // eslint-disable-next-line no-console
+ // oxlint-disable-next-line no-console
logoImg.onerror = (err) => console.error('Error loading logo:', err)
} else {
const imageType = fileFormat === 'png' ? 'image/png' : 'image/jpeg'
@@ -91,6 +91,6 @@ export const downloadRaster = ({
document.body.removeChild(a)
}
}
- // eslint-disable-next-line no-console
+ // oxlint-disable-next-line no-console
qrImg.onerror = (err) => console.error('Error loading QR code:', err)
}
diff --git a/packages/react-qr-code/vite.config.ts b/packages/react-qr-code/vite.config.ts
index 9d28cf8c..5f3cb991 100644
--- a/packages/react-qr-code/vite.config.ts
+++ b/packages/react-qr-code/vite.config.ts
@@ -1,5 +1,6 @@
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
+
import { defineConfig } from 'vite'
import dts from 'vite-plugin-dts'
@@ -19,7 +20,7 @@ export default defineConfig({
fileName: (format) => `index.${format}.js`,
formats: ['es'],
},
- rollupOptions: {
+ rolldownOptions: {
external: ['react', 'react-dom', 'react/jsx-runtime'],
output: {
globals: {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 347aacf1..7a432732 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,74 +7,49 @@ settings:
importers:
.:
- dependencies:
- '@eslint/eslintrc':
- specifier: ^3.3.3
- version: 3.3.3
- eslint-config-next:
- specifier: 16.1.6
- version: 16.1.6(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
devDependencies:
'@changesets/changelog-github':
- specifier: ^0.5.2
- version: 0.5.2
+ specifier: ^0.6.0
+ version: 0.6.0
'@changesets/cli':
- specifier: ^2.29.8
- version: 2.29.8(@types/node@25.3.0)
- '@eslint/js':
- specifier: ^9.39.2
- version: 9.39.2
+ specifier: ^2.30.0
+ version: 2.30.0(@types/node@25.5.0)
'@testing-library/jest-dom':
specifier: ^6.9.1
version: 6.9.1
'@testing-library/react':
specifier: ^16.3.2
version: 16.3.2(@testing-library/dom@10.4.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@trivago/prettier-plugin-sort-imports':
- specifier: ^6.0.2
- version: 6.0.2(@vue/compiler-sfc@3.5.25)(prettier@3.8.1)
'@types/jsdom':
- specifier: ^27.0.0
- version: 27.0.0
+ specifier: ^28.0.0
+ version: 28.0.0
'@types/node':
- specifier: ^25.3.0
- version: 25.3.0
+ specifier: ^25.5.0
+ version: 25.5.0
'@vitejs/plugin-react':
- specifier: ^5.1.4
- version: 5.1.4(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2))
+ specifier: ^6.0.1
+ version: 6.0.1(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2))
'@vitest/coverage-v8':
- specifier: 4.0.18
- version: 4.0.18(vitest@4.0.18(@types/node@25.3.0)(happy-dom@16.8.1)(jiti@2.6.1)(jsdom@28.1.0)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2))
+ specifier: 4.1.0
+ version: 4.1.0(vitest@4.1.0(@types/node@25.5.0)(happy-dom@16.8.1)(jsdom@29.0.0)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)))
concurrently:
specifier: ^9.2.1
version: 9.2.1
- eslint:
- specifier: ^9.39.2
- version: 9.39.2(jiti@2.6.1)
- eslint-plugin-react:
- specifier: ^7.37.5
- version: 7.37.5(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-react-hooks:
- specifier: ^7.0.1
- version: 7.0.1(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-react-refresh:
- specifier: ^0.5.0
- version: 0.5.0(eslint@9.39.2(jiti@2.6.1))
- globals:
- specifier: ^17.3.0
- version: 17.3.0
husky:
specifier: ^9.1.7
version: 9.1.7
jsdom:
- specifier: ^28.1.0
- version: 28.1.0
+ specifier: ^29.0.0
+ version: 29.0.0
lint-staged:
- specifier: ^16.2.7
- version: 16.2.7
- prettier:
- specifier: ^3.8.1
- version: 3.8.1
+ specifier: ^16.4.0
+ version: 16.4.0
+ oxfmt:
+ specifier: ^0.41.0
+ version: 0.41.0
+ oxlint:
+ specifier: ^1.56.0
+ version: 1.56.0
react:
specifier: ^19.2.4
version: 19.2.4
@@ -84,15 +59,12 @@ importers:
typescript:
specifier: ~5.9.3
version: 5.9.3
- typescript-eslint:
- specifier: ^8.56.0
- version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
vite:
- specifier: ^7.3.1
- version: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)
+ specifier: ^8.0.0
+ version: 8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)
vitest:
- specifier: ^4.0.18
- version: 4.0.18(@types/node@25.3.0)(happy-dom@16.8.1)(jiti@2.6.1)(jsdom@28.1.0)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)
+ specifier: ^4.1.0
+ version: 4.1.0(@types/node@25.5.0)(happy-dom@16.8.1)(jsdom@29.0.0)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2))
apps/docs:
dependencies:
@@ -145,11 +117,11 @@ importers:
specifier: ^1.2.8
version: 1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@uiw/react-color':
- specifier: ^2.9.5
- version: 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ specifier: ^2.9.6
+ version: 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@vercel/analytics':
specifier: ^1.6.1
- version: 1.6.1(next@16.1.7(@babel/core@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(vue-router@4.6.3(vue@3.5.25(typescript@5.9.3)))(vue@3.5.25(typescript@5.9.3))
+ version: 1.6.1(next@16.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(vue-router@4.6.3(vue@3.5.25(typescript@5.9.3)))(vue@3.5.25(typescript@5.9.3))
class-variance-authority:
specifier: ^0.7.1
version: 0.7.1
@@ -159,15 +131,12 @@ importers:
date-fns:
specifier: ^4.1.0
version: 4.1.0
- eslint-config-next:
- specifier: 16.1.6
- version: 16.1.6(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
lucide-react:
- specifier: ^0.575.0
- version: 0.575.0(react@19.2.4)
+ specifier: ^0.577.0
+ version: 0.577.0(react@19.2.4)
next:
specifier: 16.1.7
- version: 16.1.7(@babel/core@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ version: 16.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
next-themes:
specifier: ^0.4.6
version: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
@@ -184,8 +153,8 @@ importers:
specifier: ^7.71.2
version: 7.71.2(react@19.2.4)
react-icons:
- specifier: ^5.5.0
- version: 5.5.0(react@19.2.4)
+ specifier: ^5.6.0
+ version: 5.6.0(react@19.2.4)
tailwind-merge:
specifier: ^3.5.0
version: 3.5.0
@@ -196,12 +165,9 @@ importers:
'@tailwindcss/postcss':
specifier: ^4.2.1
version: 4.2.1
- '@trivago/prettier-plugin-sort-imports':
- specifier: ^6.0.2
- version: 6.0.2(@vue/compiler-sfc@3.5.25)(prettier@3.8.1)
'@types/node':
- specifier: ^25.3.0
- version: 25.3.0
+ specifier: ^25.5.0
+ version: 25.5.0
'@types/react':
specifier: ^19.2.14
version: 19.2.14
@@ -209,8 +175,8 @@ importers:
specifier: ^19.2.3
version: 19.2.3(@types/react@19.2.14)
postcss:
- specifier: ^8.5.6
- version: 8.5.6
+ specifier: ^8.5.8
+ version: 8.5.8
tailwindcss:
specifier: ^4.2.1
version: 4.2.1
@@ -221,8 +187,8 @@ importers:
packages/react-qr-code:
devDependencies:
'@types/node':
- specifier: ^25.3.0
- version: 25.3.0
+ specifier: ^25.5.0
+ version: 25.5.0
'@types/react':
specifier: ^19.2.14
version: 19.2.14
@@ -230,11 +196,11 @@ importers:
specifier: ^19.2.3
version: 19.2.3(@types/react@19.2.14)
'@vitejs/plugin-react':
- specifier: ^5.1.4
- version: 5.1.4(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2))
+ specifier: ^6.0.0
+ version: 6.0.1(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2))
globals:
- specifier: ^17.3.0
- version: 17.3.0
+ specifier: ^17.4.0
+ version: 17.4.0
react:
specifier: ^19.2.4
version: 19.2.4
@@ -244,21 +210,15 @@ importers:
typescript:
specifier: ~5.9.3
version: 5.9.3
- typescript-eslint:
- specifier: ^8.56.0
- version: 8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
vite:
- specifier: ^7.3.1
- version: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)
+ specifier: ^8.0.0
+ version: 8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)
vite-plugin-dts:
specifier: ^4.5.4
- version: 4.5.4(@types/node@25.3.0)(rollup@4.57.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2))
+ version: 4.5.4(@types/node@25.5.0)(rollup@4.57.1)(typescript@5.9.3)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2))
packages:
- '@acemir/cssom@0.9.31':
- resolution: {integrity: sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==}
-
'@adobe/css-tools@4.4.4':
resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==}
@@ -266,65 +226,21 @@ packages:
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
engines: {node: '>=10'}
- '@asamuzakjp/css-color@4.1.2':
- resolution: {integrity: sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==}
+ '@asamuzakjp/css-color@5.0.1':
+ resolution: {integrity: sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
- '@asamuzakjp/dom-selector@6.8.1':
- resolution: {integrity: sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==}
+ '@asamuzakjp/dom-selector@7.0.3':
+ resolution: {integrity: sha512-Q6mU0Z6bfj6YvnX2k9n0JxiIwrCFN59x/nWmYQnAqP000ruX/yV+5bp/GRcF5T8ncvfwJQ7fgfP74DlpKExILA==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
'@asamuzakjp/nwsapi@2.3.9':
resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
- '@babel/code-frame@7.28.6':
- resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==}
- engines: {node: '>=6.9.0'}
-
'@babel/code-frame@7.29.0':
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.29.0':
- resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/core@7.28.6':
- resolution: {integrity: sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/core@7.29.0':
- resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/generator@7.28.6':
- resolution: {integrity: sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/generator@7.29.1':
- resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-compilation-targets@7.28.6':
- resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-globals@7.28.0':
- resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-imports@7.28.6':
- resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-transforms@7.28.6':
- resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-plugin-utils@7.28.6':
- resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-string-parser@7.27.1':
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
@@ -333,19 +249,6 @@ packages:
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.27.1':
- resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helpers@7.28.6':
- resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.28.6':
- resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
'@babel/parser@7.29.0':
resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
engines: {node: '>=6.0.0'}
@@ -356,18 +259,6 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/plugin-transform-react-jsx-self@7.27.1':
- resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-react-jsx-source@7.27.1':
- resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/runtime@7.28.6':
resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==}
engines: {node: '>=6.9.0'}
@@ -376,22 +267,6 @@ packages:
resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.28.6':
- resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/traverse@7.28.6':
- resolution: {integrity: sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/traverse@7.29.0':
- resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/types@7.28.6':
- resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==}
- engines: {node: '>=6.9.0'}
-
'@babel/types@7.29.0':
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
@@ -404,8 +279,8 @@ packages:
resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==}
hasBin: true
- '@changesets/apply-release-plan@7.0.14':
- resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==}
+ '@changesets/apply-release-plan@7.1.0':
+ resolution: {integrity: sha512-yq8ML3YS7koKQ/9bk1PqO0HMzApIFNwjlwCnwFEXMzNe8NpzeeYYKCmnhWJGkN8g7E51MnWaSbqRcTcdIxUgnQ==}
'@changesets/assemble-release-plan@6.0.9':
resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==}
@@ -413,15 +288,15 @@ packages:
'@changesets/changelog-git@0.2.1':
resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==}
- '@changesets/changelog-github@0.5.2':
- resolution: {integrity: sha512-HeGeDl8HaIGj9fQHo/tv5XKQ2SNEi9+9yl1Bss1jttPqeiASRXhfi0A2wv8yFKCp07kR1gpOI5ge6+CWNm1jPw==}
+ '@changesets/changelog-github@0.6.0':
+ resolution: {integrity: sha512-wA2/y4hR/A1K411cCT75rz0d46Iezxp1WYRFoFJDIUpkQ6oDBAIUiU7BZkDCmYgz0NBl94X1lgcZO+mHoiHnFg==}
- '@changesets/cli@2.29.8':
- resolution: {integrity: sha512-1weuGZpP63YWUYjay/E84qqwcnt5yJMM0tep10Up7Q5cS/DGe2IZ0Uj3HNMxGhCINZuR7aO9WBMdKnPit5ZDPA==}
+ '@changesets/cli@2.30.0':
+ resolution: {integrity: sha512-5D3Nk2JPqMI1wK25pEymeWRSlSMdo5QOGlyfrKg0AOufrUcjEE3RQgaCpHoBiM31CSNrtSgdJ0U6zL1rLDDfBA==}
hasBin: true
- '@changesets/config@3.1.2':
- resolution: {integrity: sha512-CYiRhA4bWKemdYi/uwImjPxqWNpqGPNbEBdX1BdONALFIDK7MCUj6FPkzD+z9gJcvDFUQJn9aDVf4UG7OT6Kog==}
+ '@changesets/config@3.1.3':
+ resolution: {integrity: sha512-vnXjcey8YgBn2L1OPWd3ORs0bGC4LoYcK/ubpgvzNVr53JXV5GiTVj7fWdMRsoKUH7hhhMAQnsJUqLr21EncNw==}
'@changesets/errors@0.2.0':
resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==}
@@ -429,11 +304,11 @@ packages:
'@changesets/get-dependents-graph@2.1.3':
resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==}
- '@changesets/get-github-info@0.7.0':
- resolution: {integrity: sha512-+i67Bmhfj9V4KfDeS1+Tz3iF32btKZB2AAx+cYMqDSRFP7r3/ZdGbjCo+c6qkyViN9ygDuBjzageuPGJtKGe5A==}
+ '@changesets/get-github-info@0.8.0':
+ resolution: {integrity: sha512-cRnC+xdF0JIik7coko3iUP9qbnfi1iJQ3sAa6dE+Tx3+ET8bjFEm63PA4WEohgjYcmsOikPHWzPsMWWiZmntOQ==}
- '@changesets/get-release-plan@4.0.14':
- resolution: {integrity: sha512-yjZMHpUHgl4Xl5gRlolVuxDkm4HgSJqT93Ri1Uz8kGrQb+5iJ8dkXJ20M2j/Y4iV5QzS2c5SeTxVSKX+2eMI0g==}
+ '@changesets/get-release-plan@4.0.15':
+ resolution: {integrity: sha512-Q04ZaRPuEVZtA+auOYgFaVQQSA98dXiVe/yFaZfY7hoSmQICHGvP0TF4u3EDNHWmmCS4ekA/XSpKlSM2PyTS2g==}
'@changesets/get-version-range-type@0.4.0':
resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==}
@@ -444,14 +319,14 @@ packages:
'@changesets/logger@0.1.1':
resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==}
- '@changesets/parse@0.4.2':
- resolution: {integrity: sha512-Uo5MC5mfg4OM0jU3up66fmSn6/NE9INK+8/Vn/7sMVcdWg46zfbvvUSjD9EMonVqPi9fbrJH9SXHn48Tr1f2yA==}
+ '@changesets/parse@0.4.3':
+ resolution: {integrity: sha512-ZDmNc53+dXdWEv7fqIUSgRQOLYoUom5Z40gmLgmATmYR9NbL6FJJHwakcCpzaeCy+1D0m0n7mT4jj2B/MQPl7A==}
'@changesets/pre@2.0.2':
resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==}
- '@changesets/read@0.6.6':
- resolution: {integrity: sha512-P5QaN9hJSQQKJShzzpBT13FzOSPyHbqdoIBUd2DJdgvnECCyO6LmAOWSV+O8se2TaZJVwSXjL+v9yhb+a9JeJg==}
+ '@changesets/read@0.6.7':
+ resolution: {integrity: sha512-D1G4AUYGrBEk8vj8MGwf75k9GpN6XL3wg8i42P2jZZwFLXnlr2Pn7r9yuQNbaMCarP7ZQWNJbV6XLeysAIMhTA==}
'@changesets/should-skip-package@0.1.2':
resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==}
@@ -465,8 +340,8 @@ packages:
'@changesets/write@0.4.0':
resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==}
- '@csstools/color-helpers@6.0.1':
- resolution: {integrity: sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==}
+ '@csstools/color-helpers@6.0.2':
+ resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==}
engines: {node: '>=20.19.0'}
'@csstools/css-calc@3.1.1':
@@ -476,8 +351,8 @@ packages:
'@csstools/css-parser-algorithms': ^4.0.0
'@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-color-parser@4.0.1':
- resolution: {integrity: sha512-vYwO15eRBEkeF6xjAno/KQ61HacNhfQuuU/eGwH67DplL0zD5ZixUa563phQvUelA07yDczIXdtmYojCphKJcw==}
+ '@csstools/css-color-parser@4.0.2':
+ resolution: {integrity: sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==}
engines: {node: '>=20.19.0'}
peerDependencies:
'@csstools/css-parser-algorithms': ^4.0.0
@@ -489,21 +364,26 @@ packages:
peerDependencies:
'@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.0.27':
- resolution: {integrity: sha512-sxP33Jwg1bviSUXAV43cVYdmjt2TLnLXNqCWl9xmxHawWVjGz/kEbdkr7F9pxJNBN2Mh+dq0crgItbW6tQvyow==}
+ '@csstools/css-syntax-patches-for-csstree@1.1.1':
+ resolution: {integrity: sha512-BvqN0AMWNAnLk9G8jnUT77D+mUbY/H2b3uDTvg2isJkHaOufUE2R3AOwxWo7VBQKT1lOdwdvorddo2B/lk64+w==}
+ peerDependencies:
+ css-tree: ^3.2.1
+ peerDependenciesMeta:
+ css-tree:
+ optional: true
'@csstools/css-tokenizer@4.0.0':
resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==}
engines: {node: '>=20.19.0'}
- '@emnapi/core@1.8.1':
- resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==}
+ '@emnapi/core@1.9.0':
+ resolution: {integrity: sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==}
'@emnapi/runtime@1.9.0':
resolution: {integrity: sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==}
- '@emnapi/wasi-threads@1.1.0':
- resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+ '@emnapi/wasi-threads@1.2.0':
+ resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
'@esbuild/aix-ppc64@0.27.2':
resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==}
@@ -661,56 +541,6 @@ packages:
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.9.1':
- resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
- '@eslint-community/regexpp@4.12.2':
- resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
- '@eslint/config-array@0.21.1':
- resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/config-array@0.21.2':
- resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/config-helpers@0.4.2':
- resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/core@0.17.0':
- resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/eslintrc@3.3.3':
- resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/eslintrc@3.3.5':
- resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/js@9.39.2':
- resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/js@9.39.4':
- resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/object-schema@2.1.7':
- resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@eslint/plugin-kit@0.4.1':
- resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@exodus/bytes@1.14.1':
resolution: {integrity: sha512-OhkBFWI6GcRMUroChZiopRiSp2iAMvEBK47NhJooDqz1RERO4QuZIZnjP63TXX8GAiLABkYmX+fuQsdJ1dd2QQ==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
@@ -720,6 +550,15 @@ packages:
'@noble/hashes':
optional: true
+ '@exodus/bytes@1.15.0':
+ resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ peerDependencies:
+ '@noble/hashes': ^1.8.0 || ^2.0.0
+ peerDependenciesMeta:
+ '@noble/hashes':
+ optional: true
+
'@floating-ui/core@1.7.4':
resolution: {integrity: sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==}
@@ -740,22 +579,6 @@ packages:
peerDependencies:
react-hook-form: ^7.55.0
- '@humanfs/core@0.19.1':
- resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
- engines: {node: '>=18.18.0'}
-
- '@humanfs/node@0.16.7':
- resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
- engines: {node: '>=18.18.0'}
-
- '@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
-
- '@humanwhocodes/retry@0.4.3':
- resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
- engines: {node: '>=18.18'}
-
'@img/colour@1.1.0':
resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
engines: {node: '>=18'}
@@ -964,15 +787,12 @@ packages:
'@microsoft/tsdoc@0.16.0':
resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==}
- '@napi-rs/wasm-runtime@0.2.12':
- resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
+ '@napi-rs/wasm-runtime@1.1.1':
+ resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
'@next/env@16.1.7':
resolution: {integrity: sha512-rJJbIdJB/RQr2F1nylZr/PJzamvNNhfr3brdKP6s/GW850jbtR70QlSfFselvIBbcPUOlQwBakexjFzqLzF6pg==}
- '@next/eslint-plugin-next@16.1.6':
- resolution: {integrity: sha512-/Qq3PTagA6+nYVfryAtQ7/9FEr/6YVyvOtl6rZnGsbReGLf0jZU6gkpr1FuChAQpvV46a78p4cmHOVP8mbfSMQ==}
-
'@next/swc-darwin-arm64@16.1.7':
resolution: {integrity: sha512-b2wWIE8sABdyafc4IM8r5Y/dS6kD80JRtOGrUiKTsACFQfWWgUQ2NwoUX1yjFMXVsAwcQeNpnucF2ZrujsBBPg==}
engines: {node: '>= 10'}
@@ -1037,9 +857,256 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
- '@nolyfill/is-core-module@1.0.39':
- resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==}
- engines: {node: '>=12.4.0'}
+ '@oxc-project/runtime@0.115.0':
+ resolution: {integrity: sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
+ '@oxc-project/types@0.115.0':
+ resolution: {integrity: sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==}
+
+ '@oxfmt/binding-android-arm-eabi@0.41.0':
+ resolution: {integrity: sha512-REfrqeMKGkfMP+m/ScX4f5jJBSmVNYcpoDF8vP8f8eYPDuPGZmzp56NIUsYmx3h7f6NzC6cE3gqh8GDWrJHCKw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@oxfmt/binding-android-arm64@0.41.0':
+ resolution: {integrity: sha512-s0b1dxNgb2KomspFV2LfogC2XtSJB42POXF4bMCLJyvQmAGos4ZtjGPfQreToQEaY0FQFjz3030ggI36rF1q5g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxfmt/binding-darwin-arm64@0.41.0':
+ resolution: {integrity: sha512-EGXGualADbv/ZmamE7/2DbsrYmjoPlAmHEpTL4vapLF4EfVD6fr8/uQDFnPJkUBjiSWFJZtFNsGeN1B6V3owmA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxfmt/binding-darwin-x64@0.41.0':
+ resolution: {integrity: sha512-WxySJEvdQQYMmyvISH3qDpTvoS0ebnIP63IMxLLWowJyPp/AAH0hdWtlo+iGNK5y3eVfa5jZguwNaQkDKWpGSw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxfmt/binding-freebsd-x64@0.41.0':
+ resolution: {integrity: sha512-Y2kzMkv3U3oyuYaR4wTfGjOTYTXiFC/hXmG0yVASKkbh02BJkvD98Ij8bIevr45hNZ0DmZEgqiXF+9buD4yMYQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxfmt/binding-linux-arm-gnueabihf@0.41.0':
+ resolution: {integrity: sha512-ptazDjdUyhket01IjPTT6ULS1KFuBfTUU97osTP96X5y/0oso+AgAaJzuH81oP0+XXyrWIHbRzozSAuQm4p48g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxfmt/binding-linux-arm-musleabihf@0.41.0':
+ resolution: {integrity: sha512-UkoL2OKxFD+56bPEBcdGn+4juTW4HRv/T6w1dIDLnvKKWr6DbarB/mtHXlADKlFiJubJz8pRkttOR7qjYR6lTA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxfmt/binding-linux-arm64-gnu@0.41.0':
+ resolution: {integrity: sha512-gofu0PuumSOHYczD8p62CPY4UF6ee+rSLZJdUXkpwxg6pILiwSDBIouPskjF/5nF3A7QZTz2O9KFNkNxxFN9tA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-arm64-musl@0.41.0':
+ resolution: {integrity: sha512-VfVZxL0+6RU86T8F8vKiDBa+iHsr8PAjQmKGBzSCAX70b6x+UOMFl+2dNihmKmUwqkCazCPfYjt6SuAPOeQJ3g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxfmt/binding-linux-ppc64-gnu@0.41.0':
+ resolution: {integrity: sha512-bwzokz2eGvdfJbc0i+zXMJ4BBjQPqg13jyWpEEZDOrBCQ91r8KeY2Mi2kUeuMTZNFXju+jcAbAbpyJxRGla0eg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-riscv64-gnu@0.41.0':
+ resolution: {integrity: sha512-POLM//PCH9uqDeNDwWL3b3DkMmI3oI2cU6hwc2lnztD1o7dzrQs3R9nq555BZ6wI7t2lyhT9CS+CRaz5X0XqLA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-riscv64-musl@0.41.0':
+ resolution: {integrity: sha512-NNK7PzhFqLUwx/G12Xtm6scGv7UITvyGdAR5Y+TlqsG+essnuRWR4jRNODWRjzLZod0T3SayRbnkSIWMBov33w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxfmt/binding-linux-s390x-gnu@0.41.0':
+ resolution: {integrity: sha512-qVf/zDC5cN9eKe4qI/O/m445er1IRl6swsSl7jHkqmOSVfknwCe5JXitYjZca+V/cNJSU/xPlC5EFMabMMFDpw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-x64-gnu@0.41.0':
+ resolution: {integrity: sha512-ojxYWu7vUb6ysYqVCPHuAPVZHAI40gfZ0PDtZAMwVmh2f0V8ExpPIKoAKr7/8sNbAXJBBpZhs2coypIo2jJX4w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxfmt/binding-linux-x64-musl@0.41.0':
+ resolution: {integrity: sha512-O2exZLBxoCMIv2vlvcbkdedazJPTdG0VSup+0QUCfYQtx751zCZNboX2ZUOiQ/gDTdhtXvSiot0h6GEGkOyalA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxfmt/binding-openharmony-arm64@0.41.0':
+ resolution: {integrity: sha512-N+31/VoL+z+NNBt8viy3I4NaIdPbiYeOnB884LKqvXldaE2dRztdPv3q5ipfZYv0RwFp7JfqS4I27K/DSHCakg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxfmt/binding-win32-arm64-msvc@0.41.0':
+ resolution: {integrity: sha512-Z7NAtu/RN8kjCQ1y5oDD0nTAeRswh3GJ93qwcW51srmidP7XPBmZbLlwERu1W5veCevQJtPS9xmkpcDTYsGIwQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxfmt/binding-win32-ia32-msvc@0.41.0':
+ resolution: {integrity: sha512-uNxxP3l4bJ6VyzIeRqCmBU2Q0SkCFgIhvx9/9dJ9V8t/v+jP1IBsuaLwCXGR8JPHtkj4tFp+RHtUmU2ZYAUpMA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxfmt/binding-win32-x64-msvc@0.41.0':
+ resolution: {integrity: sha512-49ZSpbZ1noozyPapE8SUOSm3IN0Ze4b5nkO+4+7fq6oEYQQJFhE0saj5k/Gg4oewVPdjn0L3ZFeWk2Vehjcw7A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxlint/binding-android-arm-eabi@1.56.0':
+ resolution: {integrity: sha512-IyfYPthZyiSKwAv/dLjeO18SaK8MxLI9Yss2JrRDyweQAkuL3LhEy7pwIwI7uA3KQc1Vdn20kdmj3q0oUIQL6A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@oxlint/binding-android-arm64@1.56.0':
+ resolution: {integrity: sha512-Ga5zYrzH6vc/VFxhn6MmyUnYEfy9vRpwTIks99mY3j6Nz30yYpIkWryI0QKPCgvGUtDSXVLEaMum5nA+WrNOSg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxlint/binding-darwin-arm64@1.56.0':
+ resolution: {integrity: sha512-ogmbdJysnw/D4bDcpf1sPLpFThZ48lYp4aKYm10Z/6Nh1SON6NtnNhTNOlhEY296tDFItsZUz+2tgcSYqh8Eyw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxlint/binding-darwin-x64@1.56.0':
+ resolution: {integrity: sha512-x8QE1h+RAtQ2g+3KPsP6Fk/tdz6zJQUv5c7fTrJxXV3GHOo+Ry5p/PsogU4U+iUZg0rj6hS+E4xi+mnwwlDCWQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxlint/binding-freebsd-x64@1.56.0':
+ resolution: {integrity: sha512-6G+WMZvwJpMvY7my+/SHEjb7BTk/PFbePqLpmVmUJRIsJMy/UlyYqjpuh0RCgYYkPLcnXm1rUM04kbTk8yS1Yg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxlint/binding-linux-arm-gnueabihf@1.56.0':
+ resolution: {integrity: sha512-YYHBsk/sl7fYwQOok+6W5lBPeUEvisznV/HZD2IfZmF3Bns6cPC3Z0vCtSEOaAWTjYWN3jVsdu55jMxKlsdlhg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxlint/binding-linux-arm-musleabihf@1.56.0':
+ resolution: {integrity: sha512-+AZK8rOUr78y8WT6XkDb04IbMRqauNV+vgT6f8ZLOH8wnpQ9i7Nol0XLxAu+Cq7Sb+J9wC0j6Km5hG8rj47/yQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxlint/binding-linux-arm64-gnu@1.56.0':
+ resolution: {integrity: sha512-urse2SnugwJRojUkGSSeH2LPMaje5Q50yQtvtL9HFckiyeqXzoFwOAZqD5TR29R2lq7UHidfFDM9EGcchcbb8A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-arm64-musl@1.56.0':
+ resolution: {integrity: sha512-rkTZkBfJ4TYLjansjSzL6mgZOdN5IvUnSq3oNJSLwBcNvy3dlgQtpHPrRxrCEbbcp7oQ6If0tkNaqfOsphYZ9g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxlint/binding-linux-ppc64-gnu@1.56.0':
+ resolution: {integrity: sha512-uqL1kMH3u69/e1CH2EJhP3CP28jw2ExLsku4o8RVAZ7fySo9zOyI2fy9pVlTAp4voBLVgzndXi3SgtdyCTa2aA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-riscv64-gnu@1.56.0':
+ resolution: {integrity: sha512-j0CcMBOgV6KsRaBdsebIeiy7hCjEvq2KdEsiULf2LZqAq0v1M1lWjelhCV57LxsqaIGChXFuFJ0RiFrSRHPhSg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-riscv64-musl@1.56.0':
+ resolution: {integrity: sha512-7VDOiL8cDG3DQ/CY3yKjbV1c4YPvc4vH8qW09Vv+5ukq3l/Kcyr6XGCd5NvxUmxqDb2vjMpM+eW/4JrEEsUetA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxlint/binding-linux-s390x-gnu@1.56.0':
+ resolution: {integrity: sha512-JGRpX0M+ikD3WpwJ7vKcHKV6Kg0dT52BW2Eu2BupXotYeqGXBrbY+QPkAyKO6MNgKozyTNaRh3r7g+VWgyAQYQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-x64-gnu@1.56.0':
+ resolution: {integrity: sha512-dNaICPvtmuxFP/VbqdofrLqdS3bM/AKJN3LMJD52si44ea7Be1cBk6NpfIahaysG9Uo+L98QKddU9CD5L8UHnQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxlint/binding-linux-x64-musl@1.56.0':
+ resolution: {integrity: sha512-pF1vOtM+GuXmbklM1hV8WMsn6tCNPvkUzklj/Ej98JhlanbmA2RB1BILgOpwSuCTRTIYx2MXssmEyQQ90QF5aA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxlint/binding-openharmony-arm64@1.56.0':
+ resolution: {integrity: sha512-bp8NQ4RE6fDIFLa4bdBiOA+TAvkNkg+rslR+AvvjlLTYXLy9/uKAYLQudaQouWihLD/hgkrXIKKzXi5IXOewwg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxlint/binding-win32-arm64-msvc@1.56.0':
+ resolution: {integrity: sha512-PxT4OJDfMOQBzo3OlzFb9gkoSD+n8qSBxyVq2wQSZIHFQYGEqIRTo9M0ZStvZm5fdhMqaVYpOnJvH2hUMEDk/g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxlint/binding-win32-ia32-msvc@1.56.0':
+ resolution: {integrity: sha512-PTRy6sIEPqy2x8PTP1baBNReN/BNEFmde0L+mYeHmjXE1Vlcc9+I5nsqENsB2yAm5wLkzPoTNCMY/7AnabT4/A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxlint/binding-win32-x64-msvc@1.56.0':
+ resolution: {integrity: sha512-ZHa0clocjLmIDr+1LwoWtxRcoYniAvERotvwKUYKhH41NVfl0Y4LNbyQkwMZzwDvKklKGvGZ5+DAG58/Ik47tQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
'@radix-ui/number@1.1.1':
resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==}
@@ -1510,14 +1577,112 @@ packages:
'@radix-ui/rect@1.1.1':
resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
- '@rolldown/pluginutils@1.0.0-rc.3':
- resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==}
+ '@rolldown/binding-android-arm64@1.0.0-rc.9':
+ resolution: {integrity: sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
- '@rollup/pluginutils@5.3.0':
- resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ '@rolldown/binding-darwin-arm64@1.0.0-rc.9':
+ resolution: {integrity: sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.0.0-rc.9':
+ resolution: {integrity: sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.0.0-rc.9':
+ resolution: {integrity: sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9':
+ resolution: {integrity: sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9':
+ resolution: {integrity: sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9':
+ resolution: {integrity: sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9':
+ resolution: {integrity: sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9':
+ resolution: {integrity: sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9':
+ resolution: {integrity: sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-rc.9':
+ resolution: {integrity: sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-rc.9':
+ resolution: {integrity: sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.9':
+ resolution: {integrity: sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9':
+ resolution: {integrity: sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9':
+ resolution: {integrity: sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/pluginutils@1.0.0-rc.7':
+ resolution: {integrity: sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==}
+
+ '@rolldown/pluginutils@1.0.0-rc.9':
+ resolution: {integrity: sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==}
+
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
@@ -1660,9 +1825,6 @@ packages:
cpu: [x64]
os: [win32]
- '@rtsao/scc@1.1.0':
- resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
-
'@rushstack/node-core-library@5.19.1':
resolution: {integrity: sha512-ESpb2Tajlatgbmzzukg6zyAhH+sICqJR2CNXNhXcEbz6UGCQfrKCtkxOpJTftWc8RGouroHG0Nud1SJAszvpmA==}
peerDependencies:
@@ -1817,25 +1979,6 @@ packages:
'@types/react-dom':
optional: true
- '@trivago/prettier-plugin-sort-imports@6.0.2':
- resolution: {integrity: sha512-3DgfkukFyC/sE/VuYjaUUWoFfuVjPK55vOFDsxD56XXynFMCZDYFogH2l/hDfOsQAm1myoU/1xByJ3tWqtulXA==}
- engines: {node: '>= 20'}
- peerDependencies:
- '@vue/compiler-sfc': 3.x
- prettier: 2.x - 3.x
- prettier-plugin-ember-template-tag: '>= 2.0.0'
- prettier-plugin-svelte: 3.x
- svelte: 4.x || 5.x
- peerDependenciesMeta:
- '@vue/compiler-sfc':
- optional: true
- prettier-plugin-ember-template-tag:
- optional: true
- prettier-plugin-svelte:
- optional: true
- svelte:
- optional: true
-
'@tybys/wasm-util@0.10.1':
resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
@@ -1845,18 +1988,6 @@ packages:
'@types/aria-query@5.0.4':
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
- '@types/babel__core@7.20.5':
- resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
-
- '@types/babel__generator@7.27.0':
- resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
-
- '@types/babel__template@7.4.4':
- resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
-
- '@types/babel__traverse@7.28.0':
- resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
-
'@types/chai@5.2.3':
resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
@@ -1866,20 +1997,14 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@types/jsdom@27.0.0':
- resolution: {integrity: sha512-NZyFl/PViwKzdEkQg96gtnB8wm+1ljhdDay9ahn4hgb+SfVtPCbm3TlmDUFXTA+MGN3CijicnMhG18SI5H3rFw==}
-
- '@types/json-schema@7.0.15':
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
-
- '@types/json5@0.0.29':
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ '@types/jsdom@28.0.0':
+ resolution: {integrity: sha512-A8TBQQC/xAOojy9kM8E46cqT00sF0h7dWjV8t8BJhUi2rG6JRh7XXQo/oLoENuZIQEpXsxLccLCnknyQd7qssQ==}
'@types/node@12.20.55':
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
- '@types/node@25.3.0':
- resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==}
+ '@types/node@25.5.0':
+ resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==}
'@types/prismjs@1.26.5':
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
@@ -1895,318 +2020,156 @@ packages:
'@types/tough-cookie@4.0.5':
resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
- '@typescript-eslint/eslint-plugin@8.56.0':
- resolution: {integrity: sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- '@typescript-eslint/parser': ^8.56.0
- eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/parser@8.56.0':
- resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/project-service@8.56.0':
- resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/scope-manager@8.56.0':
- resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/tsconfig-utils@8.56.0':
- resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/type-utils@8.56.0':
- resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/types@8.56.0':
- resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/typescript-estree@8.56.0':
- resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/utils@8.56.0':
- resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
-
- '@typescript-eslint/visitor-keys@8.56.0':
- resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@uiw/color-convert@2.9.5':
- resolution: {integrity: sha512-h0PJU/wEfuCPYwY4Lcj8soGKndXq/NIOMkOfKajW4C8JmuyMbsViXSQs3c8c7auztxhQyKMDoSQ8U8kprlLUYw==}
+ '@uiw/color-convert@2.9.6':
+ resolution: {integrity: sha512-w8TpU3MRcquurQJxWR1daKcRygu/a0hLP/VGsLMA3ebb41sAZGxMQLHtS+zC/e3ciFNB7BbPrSPlzOcz6w6cRg==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
- '@uiw/react-color-alpha@2.9.5':
- resolution: {integrity: sha512-PC+qf/qJi1V0QwYBAOqWHJrTVXFWU0a1Ai0dKnX9v+++kj1oO44K8W7W6tK7xvTmCDzRY57RTE+6qXAMC3u7cQ==}
+ '@uiw/react-color-alpha@2.9.6':
+ resolution: {integrity: sha512-DNzEVHZ0Izp4NAwzKqTcl4rLdPjSFjyZCP6Q2vKJEglugZ/bdPsmZaos9IYOrgnd1kPDmTSKZ/p8nI7vBIATGw==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-block@2.9.5':
- resolution: {integrity: sha512-s6Fp/4YshMWU95iYyAWVoZb+3tk8Cpk9J7chEhiIlHhIjQTOGDbNROqtyovDXyqBcrqMkWCwln8kOu0HT4cxFw==}
+ '@uiw/react-color-block@2.9.6':
+ resolution: {integrity: sha512-Y2D/ejhxRZKjmmaKLfKhRKgFS68R7SmkgVdX1KDZ4lYtfdUbXIccYjoL0dsYvQkx6+8WitEZDPUnQ3qLAR7jhQ==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-chrome@2.9.5':
- resolution: {integrity: sha512-Yb8+4jTVwI/yeyAzDDkH7Tbeqrvc5/Dlnrc+uofmSm9InnubHrdGCMGWC53NXn8+JajoyplaU9HcdiPT4J8l8g==}
+ '@uiw/react-color-chrome@2.9.6':
+ resolution: {integrity: sha512-ah9H6ZpCHyvHdDzS3qrK4UcvWhj0ZaSfbAE4WLSv/m70E0i/uivjtS242jrPG2Kg02wkgd+jyfmOvpgGkGF3FA==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-circle@2.9.5':
- resolution: {integrity: sha512-YvwGc1n0rNWpYw8sUR0fAMfkr5+YPaqF8v4Ui5Eh9zVvZ9zd2yIysJDE85cvkUn9JXqS5XxL+sesUaePYb0acQ==}
+ '@uiw/react-color-circle@2.9.6':
+ resolution: {integrity: sha512-65CxtZyAxrsSetdi6c+qNaP3o5hg0H4r3gemLT6h7ruI2e3AVWfopHz3gLQrplpjEQobzx/T9om7k+0tDSlqKg==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-colorful@2.9.5':
- resolution: {integrity: sha512-erd8rRbcagf9SxwDecU/BWmEhe/521eQS1si9hVGEh+g3uRqzUUWLVYwiQftaPWRH9Cxkf+yftQv+FabhGK6rg==}
+ '@uiw/react-color-colorful@2.9.6':
+ resolution: {integrity: sha512-h74zo+ve9Rpv7xwb1dRfoa23yN39b6eYScDIm7V2d5FzkXN6hR7jnnJ7ZUD9Joz/rdaCz1eFQD9ig+wp8+wSnQ==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-compact@2.9.5':
- resolution: {integrity: sha512-n+sXEx3ME0JShElFmH/ZAcLnaU2e1nE7+Z+9P+ZLMXEPwKpNsOPfdnZhSqfNFkbWUFdOwY3tBEwoe4jMAUpLZg==}
+ '@uiw/react-color-compact@2.9.6':
+ resolution: {integrity: sha512-ikcphwfn+vMeldvIMJStnPsM+LGgv3QcI8ZUHRU0OyDGsWilfpkIW/XUFxepLp9L0ybIm9PK7nZc68wrFvL6/g==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-editable-input-hsla@2.9.5':
- resolution: {integrity: sha512-IysIxClKo85W7XpHQ71q7BrHA4ZzXcvFO7qInyfn2H62F2SiKawX6IXWRs+OfTOB/SO0+3Z8BVGGnhC42XDUjw==}
+ '@uiw/react-color-editable-input-hsla@2.9.6':
+ resolution: {integrity: sha512-qZOUf5/2ilD9ToLnEctHsmvEvrjZhDMfzwI4Ii63q68rF/mD1fUbbKy3tCFn+JgGSKvMdEAMhAGjwtCsWkpFtg==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-editable-input-rgba@2.9.5':
- resolution: {integrity: sha512-l4XZlyopZpfMLzKL0YLk/i9AcQb3wN33oBXOw8jqCVvFTIejpfMa5iqhuGA+e4UdYvTXFv/y1nwUN1xSxSpGrQ==}
+ '@uiw/react-color-editable-input-rgba@2.9.6':
+ resolution: {integrity: sha512-vzC+uBl6ZaGESVOUbglPqfOACsmwIwMQcmvdELhVw9KiKWp168fE4LqSQf57a2BHaPM9Jl8Lh8GLXn284bWRyw==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-editable-input@2.9.5':
- resolution: {integrity: sha512-zg/TQvp/VuALhOdihLb/bmp+7lXGuEYQz79MDfeEd8t9epQjM2tpvX4hd6MmYwDZiVOhZJhMnLWcX4Br6cm8CQ==}
+ '@uiw/react-color-editable-input@2.9.6':
+ resolution: {integrity: sha512-KrbXonGXxSPxGNTcZY1QZ6QCon9/ekNxdMDlAvBgapUjrrcwqZ+nkgsAsUe+BNa6Ods3KnA2OKcOs99v6nIJ8A==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-github@2.9.5':
- resolution: {integrity: sha512-0Av4OfIM4+Kca7NgbLCO8pQX1J52EIoCCTHbbGn+ufsodYr/7NQHRC+j/C4wwQNFPtkzdpENM/H+Z3RcbS/oCA==}
+ '@uiw/react-color-github@2.9.6':
+ resolution: {integrity: sha512-Yk7Q4B+WVAA4wz15i4EPo02SJSr8oPFi4mWnB157+v/DnKakcXrIN/Y9z3fi9qlDRo3LsZUfmzJMz4e4W/Fhrg==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-hue@2.9.5':
- resolution: {integrity: sha512-S+ejC6oz6pbSzY8CzUX3eZJzA8tTEErXeG4KGgabGiv4bpjXX1BxEN7aLkADVSmucYhI4kHfUItld0RIHWnViA==}
+ '@uiw/react-color-hue@2.9.6':
+ resolution: {integrity: sha512-B99dW2/AHMD3py83BrXl94bhXeGCZR1FMpU/FNbIIbUrV9QTiIXDs2/SB/tMD9ltcSP59RD5Sc5m2vCb/8anjw==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-material@2.9.5':
- resolution: {integrity: sha512-lOKOjo4DF8HcK/ypCRZqF3y1dM5s8LydrETLzk0KnbAotVPnNsaBY6sqjuL8sezWzK1DqMfSpdzIm+MniC1ahw==}
+ '@uiw/react-color-material@2.9.6':
+ resolution: {integrity: sha512-V/Tv6NT1vdC0A6G1qIBdaQWkPjv7Q2x1kZ+M9sa28juP5jJU3/DR9zXrFB5NXTK+j8jG2IPQjRYejTtRNTLEyQ==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-name@2.9.5':
- resolution: {integrity: sha512-coWH0Ir2ymQ3xIjJpiTm/LCgzRRrwGNppNiafuIrzsGqsWwRRHQKsTGFukUYY+9Edg82MEirrEodOS6Oftuyjw==}
+ '@uiw/react-color-name@2.9.6':
+ resolution: {integrity: sha512-rAwE/JF/mhN3bDqu9XrHCovqVt4L68oDtm7IkamfMkqoydZ9HsjFmanhMEyBS9SU+hSK14u7OtebR48xFBQrDw==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
- '@uiw/react-color-saturation@2.9.5':
- resolution: {integrity: sha512-CzZzMRauJv4AziHzlFO+YfFvel3DtHkK+JfPiFO5SjRWemckn9bIDw7Dl7j4dhbZdf87lJziLCMZWccYwdVMdA==}
+ '@uiw/react-color-saturation@2.9.6':
+ resolution: {integrity: sha512-R1tiKbTG2WiJXerkmuaKnBFfzgyZUn08q9OjQSvNH1f3ov2/YeUVlOwQY9MbQE7ytZv+9x+1h0Lpk4QG7AdulQ==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-shade-slider@2.9.5':
- resolution: {integrity: sha512-sfsZzzvJqxfNsDl8XACAzw+86vDzm6am+gOgljw4sb0V14DbVkgs3l7MpgeelHjoqR5iOwwRPOuwKzLbNszrOQ==}
+ '@uiw/react-color-shade-slider@2.9.6':
+ resolution: {integrity: sha512-8WJQfqA1tenocgkHyO1AERDK7DLkvLhymNPxau42X0qaAGy5MgqvK9+sI6lbp+NpNrmC1g6ltta7PmVUMWBsgg==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-sketch@2.9.5':
- resolution: {integrity: sha512-+NGJ6M69Kai+j+5Hkx9NWfqr/D+lzrLws15WDRu7l/mw7ygpfT9kRbZemaeKXxnmVVIuOYf71vVpGny67n4Y5A==}
+ '@uiw/react-color-sketch@2.9.6':
+ resolution: {integrity: sha512-yEB14Q2dYYldiHBfnKpotPSa9DaxI3QnTswA6zFBl7b+mfJxmGl77YOIjd6kl90wodl+EdrkjnyE8HquiuJC3w==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-slider@2.9.5':
- resolution: {integrity: sha512-IrmcwH37H4Pz2p8C3eGBUAQ26+/go471/OIryKLw6xBGP67BnfGEyyXqKnmKkrYR0xkYk/X4Nf1jhAQGN331Qw==}
+ '@uiw/react-color-slider@2.9.6':
+ resolution: {integrity: sha512-Jc6/YqL5A09t6l0iMTcy/ZRY4Rutq0Zj87JGz0Vg8erEtlowgnLIKt/SUPd/Kpbt4AcNEHKnA9N6SZW1rLMvPw==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-swatch@2.9.5':
- resolution: {integrity: sha512-Jp5sUR0WsKZmNo7A/DAZe7TER8cjEjMffTD+UPWVYWbj59wzEiEKMGy2VtdD9RGE1RKAXla9Qd2gXxVVXiOZBg==}
+ '@uiw/react-color-swatch@2.9.6':
+ resolution: {integrity: sha512-ekhCz55GdB+Al/na2tj3GxjaoMd6NRtqosYNFZA3axXxhnREG5TfaaOvR8r96yZswo/sKSSFuX2gpmro7BcBSA==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color-wheel@2.9.5':
- resolution: {integrity: sha512-vR7zYfJeFsNd+BCd2LBvbvqUF2V84WawoQPIt1MMTt4lz+EC9YUbLTRVe5QP+jngr5FfXU1TC9n/91UtqYypsQ==}
+ '@uiw/react-color-wheel@2.9.6':
+ resolution: {integrity: sha512-a2qw544xrdVBfl2TY1VlmhLM4PMAN/pl1FLdAlSSy8u1xl1f851n9C3lze/9myQwnPO500NfQ8gcXq40nPEqPw==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-color@2.9.5':
- resolution: {integrity: sha512-MlpX8KHCuBmq5U+rE6Ty/SHZRTeNmyixeP192PP2Np6Qxox+LuagFm9cjAvtQVf4Nx/qeFNlTrr6IhqOe7JBnw==}
+ '@uiw/react-color@2.9.6':
+ resolution: {integrity: sha512-+0k2m6H7M/KSQcUGY/GaR9Gi3NgW45refRSJGg2yWHsMUN+Z8NZhxuZv3J8d6mQaiMijnNStLTgIxikKvfA2xw==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@uiw/react-drag-event-interactive@2.9.5':
- resolution: {integrity: sha512-2LK/lsWsNLG9is1uJ/p14JVOR+YfCu8gpHFJ+2m+I/DPXVOln7VGoYPzcS6hwYOt9tPPJF4uqonnIUCBQ4Xa2w==}
+ '@uiw/react-drag-event-interactive@2.9.6':
+ resolution: {integrity: sha512-jXzt3Xis/BIYap2Hj2++gB3aEUD0mZoVNGfckurrwjAwxasxNiwkmTGxV5er3due0ZgaVKdOAfTRoYKlgZukSg==}
peerDependencies:
'@babel/runtime': '>=7.19.0'
react: '>=16.9.0'
react-dom: '>=16.9.0'
- '@unrs/resolver-binding-android-arm-eabi@1.11.1':
- resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==}
- cpu: [arm]
- os: [android]
-
- '@unrs/resolver-binding-android-arm64@1.11.1':
- resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==}
- cpu: [arm64]
- os: [android]
-
- '@unrs/resolver-binding-darwin-arm64@1.11.1':
- resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==}
- cpu: [arm64]
- os: [darwin]
-
- '@unrs/resolver-binding-darwin-x64@1.11.1':
- resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==}
- cpu: [x64]
- os: [darwin]
-
- '@unrs/resolver-binding-freebsd-x64@1.11.1':
- resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==}
- cpu: [x64]
- os: [freebsd]
-
- '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
- resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==}
- cpu: [arm]
- os: [linux]
-
- '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
- resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==}
- cpu: [arm]
- os: [linux]
-
- '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
- resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
- resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
- resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==}
- cpu: [ppc64]
- os: [linux]
- libc: [glibc]
-
- '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
- resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==}
- cpu: [riscv64]
- os: [linux]
- libc: [glibc]
-
- '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
- resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==}
- cpu: [riscv64]
- os: [linux]
- libc: [musl]
-
- '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
- resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==}
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
- '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
- resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- '@unrs/resolver-binding-linux-x64-musl@1.11.1':
- resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- '@unrs/resolver-binding-wasm32-wasi@1.11.1':
- resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==}
- engines: {node: '>=14.0.0'}
- cpu: [wasm32]
-
- '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
- resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==}
- cpu: [arm64]
- os: [win32]
-
- '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
- resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==}
- cpu: [ia32]
- os: [win32]
-
- '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
- resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==}
- cpu: [x64]
- os: [win32]
-
'@vercel/analytics@1.6.1':
resolution: {integrity: sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==}
peerDependencies:
@@ -2233,49 +2196,56 @@ packages:
vue-router:
optional: true
- '@vitejs/plugin-react@5.1.4':
- resolution: {integrity: sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==}
+ '@vitejs/plugin-react@6.0.1':
+ resolution: {integrity: sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==}
engines: {node: ^20.19.0 || >=22.12.0}
peerDependencies:
- vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+ '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0
+ babel-plugin-react-compiler: ^1.0.0
+ vite: ^8.0.0
+ peerDependenciesMeta:
+ '@rolldown/plugin-babel':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
- '@vitest/coverage-v8@4.0.18':
- resolution: {integrity: sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==}
+ '@vitest/coverage-v8@4.1.0':
+ resolution: {integrity: sha512-nDWulKeik2bL2Va/Wl4x7DLuTKAXa906iRFooIRPR+huHkcvp9QDkPQ2RJdmjOFrqOqvNfoSQLF68deE3xC3CQ==}
peerDependencies:
- '@vitest/browser': 4.0.18
- vitest: 4.0.18
+ '@vitest/browser': 4.1.0
+ vitest: 4.1.0
peerDependenciesMeta:
'@vitest/browser':
optional: true
- '@vitest/expect@4.0.18':
- resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==}
+ '@vitest/expect@4.1.0':
+ resolution: {integrity: sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==}
- '@vitest/mocker@4.0.18':
- resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==}
+ '@vitest/mocker@4.1.0':
+ resolution: {integrity: sha512-evxREh+Hork43+Y4IOhTo+h5lGmVRyjqI739Rz4RlUPqwrkFFDF6EMvOOYjTx4E8Tl6gyCLRL8Mu7Ry12a13Tw==}
peerDependencies:
msw: ^2.4.9
- vite: ^6.0.0 || ^7.0.0-0
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0
peerDependenciesMeta:
msw:
optional: true
vite:
optional: true
- '@vitest/pretty-format@4.0.18':
- resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==}
+ '@vitest/pretty-format@4.1.0':
+ resolution: {integrity: sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==}
- '@vitest/runner@4.0.18':
- resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==}
+ '@vitest/runner@4.1.0':
+ resolution: {integrity: sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==}
- '@vitest/snapshot@4.0.18':
- resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==}
+ '@vitest/snapshot@4.1.0':
+ resolution: {integrity: sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==}
- '@vitest/spy@4.0.18':
- resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==}
+ '@vitest/spy@4.1.0':
+ resolution: {integrity: sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==}
- '@vitest/utils@4.0.18':
- resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==}
+ '@vitest/utils@4.1.0':
+ resolution: {integrity: sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==}
'@volar/language-core@2.4.28':
resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==}
@@ -2338,11 +2308,6 @@ packages:
'@vue/shared@3.5.27':
resolution: {integrity: sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==}
- acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
-
acorn@8.15.0:
resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
@@ -2353,10 +2318,6 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
- agent-base@7.1.4:
- resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
- engines: {node: '>= 14'}
-
ajv-draft-04@1.0.0:
resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==}
peerDependencies:
@@ -2373,12 +2334,6 @@ packages:
ajv:
optional: true
- ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
-
- ajv@6.14.0:
- resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==}
-
ajv@8.12.0:
resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
@@ -2392,8 +2347,8 @@ packages:
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
engines: {node: '>=6'}
- ansi-escapes@7.2.0:
- resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==}
+ ansi-escapes@7.3.0:
+ resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==}
engines: {node: '>=18'}
ansi-regex@5.0.1:
@@ -2433,67 +2388,16 @@ packages:
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
engines: {node: '>= 0.4'}
- array-buffer-byte-length@1.0.2:
- resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
- engines: {node: '>= 0.4'}
-
- array-includes@3.1.9:
- resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
- engines: {node: '>= 0.4'}
-
array-union@2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'}
- array.prototype.findlast@1.2.5:
- resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
- engines: {node: '>= 0.4'}
-
- array.prototype.findlastindex@1.2.6:
- resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==}
- engines: {node: '>= 0.4'}
-
- array.prototype.flat@1.3.3:
- resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
- engines: {node: '>= 0.4'}
-
- array.prototype.flatmap@1.3.3:
- resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
- engines: {node: '>= 0.4'}
-
- array.prototype.tosorted@1.1.4:
- resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
- engines: {node: '>= 0.4'}
-
- arraybuffer.prototype.slice@1.0.4:
- resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
- engines: {node: '>= 0.4'}
-
assertion-error@2.0.1:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
- ast-types-flow@0.0.8:
- resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
-
- ast-v8-to-istanbul@0.3.10:
- resolution: {integrity: sha512-p4K7vMz2ZSk3wN8l5o3y2bJAoZXT3VuJI5OLTATY/01CYWumWvwkUw0SqDBnNq6IiTO3qDa1eSQDibAV8g7XOQ==}
-
- async-function@1.0.0:
- resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
- engines: {node: '>= 0.4'}
-
- available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
-
- axe-core@4.11.1:
- resolution: {integrity: sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==}
- engines: {node: '>=4'}
-
- axobject-query@4.1.0:
- resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
- engines: {node: '>= 0.4'}
+ ast-v8-to-istanbul@1.0.0:
+ resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==}
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@@ -2510,9 +2414,6 @@ packages:
bidi-js@1.0.3:
resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
- brace-expansion@1.1.12:
- resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
-
brace-expansion@2.0.2:
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
@@ -2520,30 +2421,9 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.28.1:
- resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- call-bind-apply-helpers@1.0.2:
- resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
- engines: {node: '>= 0.4'}
-
- call-bind@1.0.8:
- resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
- engines: {node: '>= 0.4'}
-
- call-bound@1.0.4:
- resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
- engines: {node: '>= 0.4'}
-
- callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
-
caniuse-lite@1.0.30001780:
resolution: {integrity: sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==}
@@ -2558,10 +2438,6 @@ packages:
chardet@2.1.1:
resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==}
- ci-info@3.9.0:
- resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
- engines: {node: '>=8'}
-
class-variance-authority@0.7.1:
resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
@@ -2569,8 +2445,8 @@ packages:
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
engines: {node: '>=18'}
- cli-truncate@5.1.1:
- resolution: {integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==}
+ cli-truncate@5.2.0:
+ resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==}
engines: {node: '>=20'}
client-only@0.0.1:
@@ -2612,9 +2488,6 @@ packages:
compare-versions@6.1.1:
resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==}
- concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
concurrently@9.2.1:
resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==}
engines: {node: '>=18'}
@@ -2637,35 +2510,20 @@ packages:
resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ css-tree@3.2.1:
+ resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
css.escape@1.5.1:
resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
- cssstyle@6.0.1:
- resolution: {integrity: sha512-IoJs7La+oFp/AB033wBStxNOJt4+9hHMxsXUPANcoXL2b3W4DZKghlJ2cI/eyeRZIQ9ysvYEorVhjrcYctWbog==}
- engines: {node: '>=20'}
-
csstype@3.2.3:
resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
- damerau-levenshtein@1.0.8:
- resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
-
data-urls@7.0.0:
resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
- data-view-buffer@1.0.2:
- resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
- engines: {node: '>= 0.4'}
-
- data-view-byte-length@1.0.2:
- resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
- engines: {node: '>= 0.4'}
-
- data-view-byte-offset@1.0.1:
- resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
- engines: {node: '>= 0.4'}
-
dataloader@1.4.0:
resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==}
@@ -2675,14 +2533,6 @@ packages:
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
- debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
engines: {node: '>=6.0'}
@@ -2695,17 +2545,6 @@ packages:
decimal.js@10.6.0:
resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
- deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
-
- define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
-
- define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
-
dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@@ -2729,10 +2568,6 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
- doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
-
dom-accessibility-api@0.5.16:
resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
@@ -2743,22 +2578,12 @@ packages:
resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==}
engines: {node: '>=10'}
- dunder-proto@1.0.1:
- resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
- engines: {node: '>= 0.4'}
-
- electron-to-chromium@1.5.286:
- resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==}
-
emoji-regex@10.6.0:
resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
enhanced-resolve@5.19.0:
resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==}
engines: {node: '>=10.13.0'}
@@ -2783,200 +2608,29 @@ packages:
resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
engines: {node: '>=18'}
- es-abstract@1.24.1:
- resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==}
- engines: {node: '>= 0.4'}
-
- es-define-property@1.0.1:
- resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
- engines: {node: '>= 0.4'}
-
- es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
+ es-module-lexer@2.0.0:
+ resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==}
- es-iterator-helpers@1.2.2:
- resolution: {integrity: sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==}
- engines: {node: '>= 0.4'}
+ esbuild@0.27.2:
+ resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==}
+ engines: {node: '>=18'}
+ hasBin: true
- es-module-lexer@1.7.0:
- resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
-
- es-object-atoms@1.1.1:
- resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
- engines: {node: '>= 0.4'}
-
- es-set-tostringtag@2.1.0:
- resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
- engines: {node: '>= 0.4'}
-
- es-shim-unscopables@1.1.0:
- resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==}
- engines: {node: '>= 0.4'}
-
- es-to-primitive@1.3.0:
- resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
- engines: {node: '>= 0.4'}
-
- esbuild@0.27.2:
- resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==}
- engines: {node: '>=18'}
- hasBin: true
-
- escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
-
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
-
- eslint-config-next@16.1.6:
- resolution: {integrity: sha512-vKq40io2B0XtkkNDYyleATwblNt8xuh3FWp8SpSz3pt7P01OkBFlKsJZ2mWt5WsCySlDQLckb1zMY9yE9Qy0LA==}
- peerDependencies:
- eslint: '>=9.0.0'
- typescript: '>=3.3.1'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
-
- eslint-import-resolver-typescript@3.10.1:
- resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- eslint: '*'
- eslint-plugin-import: '*'
- eslint-plugin-import-x: '*'
- peerDependenciesMeta:
- eslint-plugin-import:
- optional: true
- eslint-plugin-import-x:
- optional: true
-
- eslint-module-utils@2.12.1:
- resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==}
- engines: {node: '>=4'}
- peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: '*'
- eslint-import-resolver-node: '*'
- eslint-import-resolver-typescript: '*'
- eslint-import-resolver-webpack: '*'
- peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
- eslint:
- optional: true
- eslint-import-resolver-node:
- optional: true
- eslint-import-resolver-typescript:
- optional: true
- eslint-import-resolver-webpack:
- optional: true
-
- eslint-plugin-import@2.32.0:
- resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==}
- engines: {node: '>=4'}
- peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
- peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
-
- eslint-plugin-jsx-a11y@6.10.2:
- resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==}
- engines: {node: '>=4.0'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
-
- eslint-plugin-react-hooks@7.0.1:
- resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==}
- engines: {node: '>=18'}
- peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
-
- eslint-plugin-react-refresh@0.5.0:
- resolution: {integrity: sha512-ZYvmh7VfVgqR/7wR71I3Zl6hK/C5CcxdWYKZSpHawS5JCNgE4efhQWg/+/WPpgGAp9Ngp/rRZYyaIwmPQBq/lA==}
- peerDependencies:
- eslint: '>=9'
-
- eslint-plugin-react@7.37.5:
- resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==}
- engines: {node: '>=4'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
-
- eslint-scope@8.4.0:
- resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- eslint-visitor-keys@4.2.1:
- resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- eslint-visitor-keys@5.0.0:
- resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==}
- engines: {node: ^20.19.0 || ^22.13.0 || >=24}
-
- eslint@9.39.2:
- resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
- peerDependencies:
- jiti: '*'
- peerDependenciesMeta:
- jiti:
- optional: true
-
- eslint@9.39.4:
- resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
- peerDependencies:
- jiti: '*'
- peerDependenciesMeta:
- jiti:
- optional: true
-
- espree@10.4.0:
- resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
- esquery@1.7.0:
- resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
- engines: {node: '>=0.10'}
-
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
-
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
-
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
- esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
-
eventemitter3@5.0.4:
resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
@@ -2993,20 +2647,10 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-glob@3.3.1:
- resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
- engines: {node: '>=8.6.0'}
-
fast-glob@3.3.3:
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
- fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
-
- fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
-
fastq@1.20.1:
resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
@@ -3019,10 +2663,6 @@ packages:
picomatch:
optional: true
- file-entry-cache@8.0.0:
- resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
- engines: {node: '>=16.0.0'}
-
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -3031,23 +2671,8 @@ packages:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
- find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
-
- flat-cache@4.0.1:
- resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
- engines: {node: '>=16'}
-
- flatted@3.3.3:
- resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
-
- for-each@0.3.5:
- resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
- engines: {node: '>= 0.4'}
-
- fs-extra@11.3.3:
- resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==}
+ fs-extra@11.3.4:
+ resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==}
engines: {node: '>=14.14'}
fs-extra@7.0.1:
@@ -3066,80 +2691,30 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- function.prototype.name@1.1.8:
- resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
- engines: {node: '>= 0.4'}
-
- functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
-
- generator-function@2.0.1:
- resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==}
- engines: {node: '>= 0.4'}
-
- gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
-
get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
- get-east-asian-width@1.4.0:
- resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
+ get-east-asian-width@1.5.0:
+ resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
engines: {node: '>=18'}
- get-intrinsic@1.3.0:
- resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
- engines: {node: '>= 0.4'}
-
get-nonce@1.0.1:
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
engines: {node: '>=6'}
- get-proto@1.0.1:
- resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
- engines: {node: '>= 0.4'}
-
- get-symbol-description@1.1.0:
- resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
- engines: {node: '>= 0.4'}
-
- get-tsconfig@4.13.1:
- resolution: {integrity: sha512-EoY1N2xCn44xU6750Sx7OjOIT59FkmstNc3X6y5xpz7D5cBtZRe/3pSlTkDJgqsOk3WwZPkWfonhhUJfttQo3w==}
-
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
- globals@14.0.0:
- resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
- engines: {node: '>=18'}
-
- globals@16.4.0:
- resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==}
- engines: {node: '>=18'}
-
- globals@17.3.0:
- resolution: {integrity: sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==}
+ globals@17.4.0:
+ resolution: {integrity: sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==}
engines: {node: '>=18'}
- globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
- engines: {node: '>= 0.4'}
-
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
- gopd@1.2.0:
- resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
- engines: {node: '>= 0.4'}
-
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
@@ -3147,29 +2722,10 @@ packages:
resolution: {integrity: sha512-n0QrmT9lD81rbpKsyhnlz3DgnMZlaOkJPpgi746doA+HvaMC79bdWkwjrNnGJRvDrWTI8iOcJiVTJ5CdT/AZRw==}
engines: {node: '>=18.0.0'}
- has-bigints@1.1.0:
- resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
- engines: {node: '>= 0.4'}
-
has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
- has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
-
- has-proto@1.2.0:
- resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
- engines: {node: '>= 0.4'}
-
- has-symbols@1.1.0:
- resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
- engines: {node: '>= 0.4'}
-
- has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
-
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -3178,12 +2734,6 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
- hermes-estree@0.25.1:
- resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==}
-
- hermes-parser@0.25.1:
- resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==}
-
html-encoding-sniffer@6.0.0:
resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
@@ -3191,14 +2741,6 @@ packages:
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
- http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
-
- https-proxy-agent@7.0.6:
- resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
- engines: {node: '>= 14'}
-
human-id@4.1.3:
resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==}
hasBin: true
@@ -3216,73 +2758,22 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
- ignore@7.0.5:
- resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
- engines: {node: '>= 4'}
-
- import-fresh@3.3.1:
- resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
- engines: {node: '>=6'}
-
import-lazy@4.0.0:
resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
engines: {node: '>=8'}
- imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
-
indent-string@4.0.0:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
engines: {node: '>=8'}
- internal-slot@1.1.0:
- resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
- engines: {node: '>= 0.4'}
-
- is-array-buffer@3.0.5:
- resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
- engines: {node: '>= 0.4'}
-
- is-async-function@2.1.1:
- resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
- engines: {node: '>= 0.4'}
-
- is-bigint@1.1.0:
- resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
- engines: {node: '>= 0.4'}
-
- is-boolean-object@1.2.2:
- resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
- engines: {node: '>= 0.4'}
-
- is-bun-module@2.0.0:
- resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==}
-
- is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
-
is-core-module@2.16.1:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
- is-data-view@1.0.2:
- resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
- engines: {node: '>= 0.4'}
-
- is-date-object@1.1.0:
- resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
- engines: {node: '>= 0.4'}
-
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
- is-finalizationregistry@1.1.1:
- resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
- engines: {node: '>= 0.4'}
-
is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
@@ -3291,26 +2782,10 @@ packages:
resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
engines: {node: '>=18'}
- is-generator-function@1.1.2:
- resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
- engines: {node: '>= 0.4'}
-
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
- is-map@2.0.3:
- resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
- engines: {node: '>= 0.4'}
-
- is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
-
- is-number-object@1.1.1:
- resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
- engines: {node: '>= 0.4'}
-
is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
@@ -3318,53 +2793,14 @@ packages:
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
- is-regex@1.2.1:
- resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
- engines: {node: '>= 0.4'}
-
- is-set@2.0.3:
- resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
- engines: {node: '>= 0.4'}
-
- is-shared-array-buffer@1.0.4:
- resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
- engines: {node: '>= 0.4'}
-
- is-string@1.1.1:
- resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
- engines: {node: '>= 0.4'}
-
is-subdir@1.2.0:
resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
engines: {node: '>=4'}
- is-symbol@1.1.1:
- resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
- engines: {node: '>= 0.4'}
-
- is-typed-array@1.1.15:
- resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
- engines: {node: '>= 0.4'}
-
- is-weakmap@2.0.2:
- resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
- engines: {node: '>= 0.4'}
-
- is-weakref@1.1.1:
- resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
- engines: {node: '>= 0.4'}
-
- is-weakset@2.0.4:
- resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
- engines: {node: '>= 0.4'}
-
is-windows@1.0.2:
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
engines: {node: '>=0.10.0'}
- isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
-
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
@@ -3380,13 +2816,6 @@ packages:
resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==}
engines: {node: '>=8'}
- iterator.prototype@1.1.5:
- resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
- engines: {node: '>= 0.4'}
-
- javascript-natural-sort@0.7.1:
- resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
-
jiti@2.6.1:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
@@ -3394,12 +2823,12 @@ packages:
jju@1.4.0:
resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
+ js-tokens@10.0.0:
+ resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==}
+
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- js-tokens@9.0.1:
- resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
-
js-yaml@3.14.2:
resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==}
hasBin: true
@@ -3408,98 +2837,87 @@ packages:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
- jsdom@28.1.0:
- resolution: {integrity: sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ jsdom@29.0.0:
+ resolution: {integrity: sha512-9FshNB6OepopZ08unmmGpsF7/qCjxGPbo3NbgfJAnPeHXnsODE9WWffXZtRFRFe0ntzaAOcSKNJFz8wiyvF1jQ==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
peerDependencies:
canvas: ^3.0.0
peerDependenciesMeta:
canvas:
optional: true
- jsesc@3.1.0:
- resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
- engines: {node: '>=6'}
- hasBin: true
-
- json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
-
- json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
-
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
- json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
-
- json5@1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
- hasBin: true
-
- json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
-
jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
jsonfile@6.2.0:
resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
- jsx-ast-utils@3.3.5:
- resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
- engines: {node: '>=4.0'}
-
- keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
-
kolorist@1.8.0:
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
- language-subtag-registry@0.3.23:
- resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
-
- language-tags@1.0.9:
- resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
- engines: {node: '>=0.10'}
-
- levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
-
lightningcss-android-arm64@1.31.1:
resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [android]
+ lightningcss-android-arm64@1.32.0:
+ resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [android]
+
lightningcss-darwin-arm64@1.31.1:
resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
+ lightningcss-darwin-arm64@1.32.0:
+ resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
lightningcss-darwin-x64@1.31.1:
resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
+ lightningcss-darwin-x64@1.32.0:
+ resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
lightningcss-freebsd-x64@1.31.1:
resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
+ lightningcss-freebsd-x64@1.32.0:
+ resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
lightningcss-linux-arm-gnueabihf@1.31.1:
resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
lightningcss-linux-arm64-gnu@1.31.1:
resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==}
engines: {node: '>= 12.0.0'}
@@ -3507,6 +2925,13 @@ packages:
os: [linux]
libc: [glibc]
+ lightningcss-linux-arm64-gnu@1.32.0:
+ resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
lightningcss-linux-arm64-musl@1.31.1:
resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==}
engines: {node: '>= 12.0.0'}
@@ -3514,6 +2939,13 @@ packages:
os: [linux]
libc: [musl]
+ lightningcss-linux-arm64-musl@1.32.0:
+ resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
lightningcss-linux-x64-gnu@1.31.1:
resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==}
engines: {node: '>= 12.0.0'}
@@ -3521,6 +2953,13 @@ packages:
os: [linux]
libc: [glibc]
+ lightningcss-linux-x64-gnu@1.32.0:
+ resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
lightningcss-linux-x64-musl@1.31.1:
resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==}
engines: {node: '>= 12.0.0'}
@@ -3528,24 +2967,47 @@ packages:
os: [linux]
libc: [musl]
+ lightningcss-linux-x64-musl@1.32.0:
+ resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
lightningcss-win32-arm64-msvc@1.31.1:
resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
+ lightningcss-win32-arm64-msvc@1.32.0:
+ resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
lightningcss-win32-x64-msvc@1.31.1:
resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
+ lightningcss-win32-x64-msvc@1.32.0:
+ resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
lightningcss@1.31.1:
resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==}
engines: {node: '>= 12.0.0'}
- lint-staged@16.2.7:
- resolution: {integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==}
+ lightningcss@1.32.0:
+ resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
+ engines: {node: '>= 12.0.0'}
+
+ lint-staged@16.4.0:
+ resolution: {integrity: sha512-lBWt8hujh/Cjysw5GYVmZpFHXDCgZzhrOm8vbcUdobADZNOK/bRshr2kM3DfgrrtR1DQhfupW9gnIXOfiFi+bw==}
engines: {node: '>=20.17'}
hasBin: true
@@ -3561,16 +3023,6 @@ packages:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
engines: {node: '>=8'}
- locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
-
- lodash-es@4.17.23:
- resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==}
-
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
-
lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
@@ -3581,23 +3033,16 @@ packages:
resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
engines: {node: '>=18'}
- loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
-
- lru-cache@11.2.6:
- resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==}
+ lru-cache@11.2.7:
+ resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==}
engines: {node: 20 || >=22}
- lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
-
lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
- lucide-react@0.575.0:
- resolution: {integrity: sha512-VuXgKZrk0uiDlWjGGXmKV6MSk9Yy4l10qgVvzGn2AWBx1Ylt0iBexKOAoA6I7JO3m+M9oeovJd3yYENfkUbOeg==}
+ lucide-react@0.577.0:
+ resolution: {integrity: sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A==}
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -3608,20 +3053,19 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
- magicast@0.5.1:
- resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==}
+ magicast@0.5.2:
+ resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==}
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
engines: {node: '>=10'}
- math-intrinsics@1.1.0:
- resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
- engines: {node: '>= 0.4'}
-
mdn-data@2.12.2:
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
+ mdn-data@2.27.1:
+ resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==}
+
merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
@@ -3642,19 +3086,10 @@ packages:
resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
engines: {node: 20 || >=22}
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
-
- minimatch@3.1.5:
- resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
-
- minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ minimatch@9.0.9:
+ resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==}
engines: {node: '>=16 || 14 >=14.17'}
- minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
-
mlly@1.8.0:
resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
@@ -3668,23 +3103,11 @@ packages:
muggle-string@0.4.1:
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
- nano-spawn@2.0.0:
- resolution: {integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==}
- engines: {node: '>=20.17'}
-
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- napi-postinstall@0.3.4:
- resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==}
- engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- hasBin: true
-
- natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
-
next-themes@0.4.6:
resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
peerDependencies:
@@ -3721,41 +3144,6 @@ packages:
encoding:
optional: true
- node-releases@2.0.27:
- resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
-
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- object-inspect@1.13.4:
- resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
- engines: {node: '>= 0.4'}
-
- object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
-
- object.assign@4.1.7:
- resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
- engines: {node: '>= 0.4'}
-
- object.entries@1.1.9:
- resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==}
- engines: {node: '>= 0.4'}
-
- object.fromentries@2.0.8:
- resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
- engines: {node: '>= 0.4'}
-
- object.groupby@1.0.3:
- resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
- engines: {node: '>= 0.4'}
-
- object.values@1.2.1:
- resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
- engines: {node: '>= 0.4'}
-
obug@2.1.1:
resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
@@ -3763,16 +3151,23 @@ packages:
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
engines: {node: '>=18'}
- optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
-
outdent@0.5.0:
resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
- own-keys@1.0.1:
- resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
- engines: {node: '>= 0.4'}
+ oxfmt@0.41.0:
+ resolution: {integrity: sha512-sKLdJZdQ3bw6x9qKiT7+eID4MNEXlDHf5ZacfIircrq6Qwjk0L6t2/JQlZZrVHTXJawK3KaMuBoJnEJPcqCEdg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
+ oxlint@1.56.0:
+ resolution: {integrity: sha512-Q+5Mj5PVaH/R6/fhMMFzw4dT+KPB+kQW4kaL8FOIq7tfhlnEVp6+3lcWqFruuTNlUo9srZUW3qH7Id4pskeR6g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ oxlint-tsgolint: '>=0.15.0'
+ peerDependenciesMeta:
+ oxlint-tsgolint:
+ optional: true
p-filter@2.1.0:
resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
@@ -3782,18 +3177,10 @@ packages:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
- p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
-
p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
- p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
-
p-map@2.1.0:
resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
engines: {node: '>=6'}
@@ -3805,16 +3192,6 @@ packages:
package-manager-detector@0.2.11:
resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==}
- parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
-
- parse-imports-exports@0.2.4:
- resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==}
-
- parse-statements@1.0.11:
- resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==}
-
parse5@7.3.0:
resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
@@ -3853,11 +3230,6 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
- pidtree@0.6.0:
- resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
- engines: {node: '>=0.10'}
- hasBin: true
-
pify@4.0.1:
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
engines: {node: '>=6'}
@@ -3868,36 +3240,19 @@ packages:
pkg-types@2.3.0:
resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
- possible-typed-array-names@1.1.0:
- resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
- engines: {node: '>= 0.4'}
-
postcss@8.4.31:
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
- postcss@8.5.6:
- resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
- engines: {node: ^10 || ^12 || >=14}
-
postcss@8.5.8:
resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
engines: {node: ^10 || ^12 || >=14}
- prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
-
prettier@2.8.8:
resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
engines: {node: '>=10.13.0'}
hasBin: true
- prettier@3.8.1:
- resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
- engines: {node: '>=14'}
- hasBin: true
-
pretty-format@27.5.1:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -3907,9 +3262,6 @@ packages:
peerDependencies:
react: '>=16.0.0'
- prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
-
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@@ -3931,21 +3283,14 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17 || ^18 || ^19
- react-icons@5.5.0:
- resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==}
+ react-icons@5.6.0:
+ resolution: {integrity: sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA==}
peerDependencies:
react: '*'
- react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
-
react-is@17.0.2:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
- react-refresh@0.18.0:
- resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==}
- engines: {node: '>=0.10.0'}
-
react-remove-scroll-bar@2.3.8:
resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
engines: {node: '>=10'}
@@ -3988,14 +3333,6 @@ packages:
resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
engines: {node: '>=8'}
- reflect.getprototypeof@1.0.10:
- resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
- engines: {node: '>= 0.4'}
-
- regexp.prototype.flags@1.5.4:
- resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
- engines: {node: '>= 0.4'}
-
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
@@ -4004,26 +3341,15 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
- resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
-
resolve-from@5.0.0:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
- resolve-pkg-maps@1.0.0:
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
-
resolve@1.22.11:
resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
engines: {node: '>= 0.4'}
hasBin: true
- resolve@2.0.0-next.5:
- resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
- hasBin: true
-
restore-cursor@5.1.0:
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
engines: {node: '>=18'}
@@ -4035,6 +3361,11 @@ packages:
rfdc@1.4.1:
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+ rolldown@1.0.0-rc.9:
+ resolution: {integrity: sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
rollup@4.57.1:
resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -4046,18 +3377,6 @@ packages:
rxjs@7.8.2:
resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
- safe-array-concat@1.1.3:
- resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
- engines: {node: '>=0.4'}
-
- safe-push-apply@1.0.0:
- resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
- engines: {node: '>= 0.4'}
-
- safe-regex-test@1.1.0:
- resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
- engines: {node: '>= 0.4'}
-
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
@@ -4068,37 +3387,16 @@ packages:
scheduler@0.27.0:
resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
- semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
-
semver@7.5.4:
resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
engines: {node: '>=10'}
hasBin: true
- semver@7.7.3:
- resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
- engines: {node: '>=10'}
- hasBin: true
-
semver@7.7.4:
resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
- set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
-
- set-function-name@2.0.2:
- resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
- engines: {node: '>= 0.4'}
-
- set-proto@1.0.0:
- resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
- engines: {node: '>= 0.4'}
-
sharp@0.34.5:
resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
@@ -4115,22 +3413,6 @@ packages:
resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==}
engines: {node: '>= 0.4'}
- side-channel-list@1.0.0:
- resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
- engines: {node: '>= 0.4'}
-
- side-channel-map@1.0.1:
- resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
- engines: {node: '>= 0.4'}
-
- side-channel-weakmap@1.0.2:
- resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
- engines: {node: '>= 0.4'}
-
- side-channel@1.1.0:
- resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
- engines: {node: '>= 0.4'}
-
siginfo@2.0.0:
resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
@@ -4146,6 +3428,10 @@ packages:
resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
engines: {node: '>=18'}
+ slice-ansi@8.0.0:
+ resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==}
+ engines: {node: '>=20'}
+
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
@@ -4163,18 +3449,11 @@ packages:
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- stable-hash@0.0.5:
- resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==}
-
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
- std-env@3.10.0:
- resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
-
- stop-iteration-iterator@1.1.0:
- resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
- engines: {node: '>= 0.4'}
+ std-env@4.0.0:
+ resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==}
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
@@ -4188,39 +3467,16 @@ packages:
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
engines: {node: '>=18'}
- string-width@8.1.1:
- resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==}
+ string-width@8.2.0:
+ resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==}
engines: {node: '>=20'}
- string.prototype.includes@2.0.1:
- resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==}
- engines: {node: '>= 0.4'}
-
- string.prototype.matchall@4.0.12:
- resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
- engines: {node: '>= 0.4'}
-
- string.prototype.repeat@1.0.0:
- resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
-
- string.prototype.trim@1.2.10:
- resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
- engines: {node: '>= 0.4'}
-
- string.prototype.trimend@1.0.9:
- resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
- engines: {node: '>= 0.4'}
-
- string.prototype.trimstart@1.0.8:
- resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
- engines: {node: '>= 0.4'}
-
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
- strip-ansi@7.1.2:
- resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
+ strip-ansi@7.2.0:
+ resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
engines: {node: '>=12'}
strip-bom@3.0.0:
@@ -4290,31 +3546,35 @@ packages:
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
- tinyexec@1.0.2:
- resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
+ tinyexec@1.0.4:
+ resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==}
engines: {node: '>=18'}
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
- tinyrainbow@3.0.3:
- resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==}
+ tinypool@2.1.0:
+ resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==}
+ engines: {node: ^20.0.0 || >=22.0.0}
+
+ tinyrainbow@3.1.0:
+ resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==}
engines: {node: '>=14.0.0'}
- tldts-core@7.0.23:
- resolution: {integrity: sha512-0g9vrtDQLrNIiCj22HSe9d4mLVG3g5ph5DZ8zCKBr4OtrspmNB6ss7hVyzArAeE88ceZocIEGkyW1Ime7fxPtQ==}
+ tldts-core@7.0.26:
+ resolution: {integrity: sha512-5WJ2SqFsv4G2Dwi7ZFVRnz6b2H1od39QME1lc2y5Ew3eWiZMAeqOAfWpRP9jHvhUl881406QtZTODvjttJs+ew==}
- tldts@7.0.23:
- resolution: {integrity: sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw==}
+ tldts@7.0.26:
+ resolution: {integrity: sha512-WiGwQjr0qYdNNG8KpMKlSvpxz652lqa3Rd+/hSaDcY4Uo6SKWZq2LAF+hsAhUewTtYhXlorBKgNF3Kk8hnjGoQ==}
hasBin: true
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
- tough-cookie@6.0.0:
- resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==}
+ tough-cookie@6.0.1:
+ resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==}
engines: {node: '>=16'}
tr46@0.0.3:
@@ -4328,45 +3588,9 @@ packages:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true
- ts-api-utils@2.4.0:
- resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==}
- engines: {node: '>=18.12'}
- peerDependencies:
- typescript: '>=4.8.4'
-
- tsconfig-paths@3.15.0:
- resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
-
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
-
- typed-array-buffer@1.0.3:
- resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
- engines: {node: '>= 0.4'}
-
- typed-array-byte-length@1.0.3:
- resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
- engines: {node: '>= 0.4'}
-
- typed-array-byte-offset@1.0.4:
- resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
- engines: {node: '>= 0.4'}
-
- typed-array-length@1.0.7:
- resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
- engines: {node: '>= 0.4'}
-
- typescript-eslint@8.56.0:
- resolution: {integrity: sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- peerDependencies:
- eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
- typescript: '>=4.8.4 <6.0.0'
-
typescript@5.8.2:
resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
engines: {node: '>=14.17'}
@@ -4380,15 +3604,14 @@ packages:
ufo@1.6.3:
resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==}
- unbox-primitive@1.1.0:
- resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
- engines: {node: '>= 0.4'}
-
undici-types@7.18.2:
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
- undici@7.22.0:
- resolution: {integrity: sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==}
+ undici-types@7.24.4:
+ resolution: {integrity: sha512-cRaY9PagdEZoRmcwzk3tUV3SVGrVQkR6bcSilav/A0vXsfpW4Lvd0BvgRMwTEDTLLGN+QdyBTG+nnvTgJhdt6w==}
+
+ undici@7.24.4:
+ resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==}
engines: {node: '>=20.18.1'}
universalify@0.1.2:
@@ -4399,15 +3622,6 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
- unrs-resolver@1.11.1:
- resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==}
-
- update-browserslist-db@1.2.3:
- resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@@ -4440,15 +3654,16 @@ packages:
vite:
optional: true
- vite@7.3.1:
- resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==}
+ vite@8.0.0:
+ resolution: {integrity: sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
'@types/node': ^20.19.0 || >=22.12.0
+ '@vitejs/devtools': ^0.0.0-alpha.31
+ esbuild: ^0.27.0
jiti: '>=1.21.0'
less: ^4.0.0
- lightningcss: ^1.21.0
sass: ^1.70.0
sass-embedded: ^1.70.0
stylus: '>=0.54.8'
@@ -4459,12 +3674,14 @@ packages:
peerDependenciesMeta:
'@types/node':
optional: true
+ '@vitejs/devtools':
+ optional: true
+ esbuild:
+ optional: true
jiti:
optional: true
less:
optional: true
- lightningcss:
- optional: true
sass:
optional: true
sass-embedded:
@@ -4480,20 +3697,21 @@ packages:
yaml:
optional: true
- vitest@4.0.18:
- resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==}
+ vitest@4.1.0:
+ resolution: {integrity: sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==}
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@opentelemetry/api': ^1.9.0
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
- '@vitest/browser-playwright': 4.0.18
- '@vitest/browser-preview': 4.0.18
- '@vitest/browser-webdriverio': 4.0.18
- '@vitest/ui': 4.0.18
+ '@vitest/browser-playwright': 4.1.0
+ '@vitest/browser-preview': 4.1.0
+ '@vitest/browser-webdriverio': 4.1.0
+ '@vitest/ui': 4.1.0
happy-dom: '*'
jsdom: '*'
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
@@ -4557,25 +3775,13 @@ packages:
resolution: {integrity: sha512-9CcxtEKsf53UFwkSUZjG+9vydAsFO4lFHBpJUtjBcoJOCJpKnSJNwCw813zrYJHpCJ7sgfbtOe0V5Ku7Pa1XMQ==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ whatwg-url@16.0.1:
+ resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
- which-boxed-primitive@1.1.1:
- resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
- engines: {node: '>= 0.4'}
-
- which-builtin-type@1.2.1:
- resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
- engines: {node: '>= 0.4'}
-
- which-collection@1.0.2:
- resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
- engines: {node: '>= 0.4'}
-
- which-typed-array@1.1.20:
- resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==}
- engines: {node: '>= 0.4'}
-
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -4586,10 +3792,6 @@ packages:
engines: {node: '>=8'}
hasBin: true
- word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
-
wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
@@ -4609,9 +3811,6 @@ packages:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
- yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
-
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
@@ -4628,167 +3827,40 @@ packages:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'}
- yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
-
- zod-validation-error@4.0.2:
- resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==}
- engines: {node: '>=18.0.0'}
- peerDependencies:
- zod: ^3.25.0 || ^4.0.0
-
- zod@4.3.6:
- resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
-
snapshots:
- '@acemir/cssom@0.9.31': {}
-
'@adobe/css-tools@4.4.4': {}
'@alloc/quick-lru@5.2.0': {}
- '@asamuzakjp/css-color@4.1.2':
+ '@asamuzakjp/css-color@5.0.1':
dependencies:
'@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
- '@csstools/css-color-parser': 4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-color-parser': 4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
- lru-cache: 11.2.6
+ lru-cache: 11.2.7
- '@asamuzakjp/dom-selector@6.8.1':
+ '@asamuzakjp/dom-selector@7.0.3':
dependencies:
'@asamuzakjp/nwsapi': 2.3.9
bidi-js: 1.0.3
- css-tree: 3.1.0
+ css-tree: 3.2.1
is-potential-custom-element-name: 1.0.1
- lru-cache: 11.2.6
+ lru-cache: 11.2.7
'@asamuzakjp/nwsapi@2.3.9': {}
- '@babel/code-frame@7.28.6':
- dependencies:
- '@babel/helper-validator-identifier': 7.28.5
- js-tokens: 4.0.0
- picocolors: 1.1.1
-
'@babel/code-frame@7.29.0':
dependencies:
'@babel/helper-validator-identifier': 7.28.5
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.29.0': {}
-
- '@babel/core@7.28.6':
- dependencies:
- '@babel/code-frame': 7.28.6
- '@babel/generator': 7.28.6
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.6)
- '@babel/helpers': 7.28.6
- '@babel/parser': 7.28.6
- '@babel/template': 7.28.6
- '@babel/traverse': 7.28.6
- '@babel/types': 7.28.6
- '@jridgewell/remapping': 2.3.5
- convert-source-map: 2.0.0
- debug: 4.4.3
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/core@7.29.0':
- dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
- '@babel/helpers': 7.28.6
- '@babel/parser': 7.29.0
- '@babel/template': 7.28.6
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
- '@jridgewell/remapping': 2.3.5
- convert-source-map: 2.0.0
- debug: 4.4.3
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/generator@7.28.6':
- dependencies:
- '@babel/parser': 7.28.6
- '@babel/types': 7.28.6
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
- jsesc: 3.1.0
-
- '@babel/generator@7.29.1':
- dependencies:
- '@babel/parser': 7.29.0
- '@babel/types': 7.29.0
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
- jsesc: 3.1.0
-
- '@babel/helper-compilation-targets@7.28.6':
- dependencies:
- '@babel/compat-data': 7.29.0
- '@babel/helper-validator-option': 7.27.1
- browserslist: 4.28.1
- lru-cache: 5.1.1
- semver: 6.3.1
-
- '@babel/helper-globals@7.28.0': {}
-
- '@babel/helper-module-imports@7.28.6':
- dependencies:
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-module-transforms@7.28.6(@babel/core@7.28.6)':
- dependencies:
- '@babel/core': 7.28.6
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.29.0
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-plugin-utils@7.28.6': {}
-
'@babel/helper-string-parser@7.27.1': {}
'@babel/helper-validator-identifier@7.28.5': {}
- '@babel/helper-validator-option@7.27.1': {}
-
- '@babel/helpers@7.28.6':
- dependencies:
- '@babel/template': 7.28.6
- '@babel/types': 7.29.0
-
- '@babel/parser@7.28.6':
- dependencies:
- '@babel/types': 7.28.6
-
'@babel/parser@7.29.0':
dependencies:
'@babel/types': 7.29.0
@@ -4796,57 +3868,11 @@ snapshots:
'@babel/parser@7.29.2':
dependencies:
'@babel/types': 7.29.0
- optional: true
-
- '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
'@babel/runtime@7.28.6': {}
'@babel/runtime@7.29.2': {}
- '@babel/template@7.28.6':
- dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/parser': 7.29.0
- '@babel/types': 7.29.0
-
- '@babel/traverse@7.28.6':
- dependencies:
- '@babel/code-frame': 7.28.6
- '@babel/generator': 7.28.6
- '@babel/helper-globals': 7.28.0
- '@babel/parser': 7.28.6
- '@babel/template': 7.28.6
- '@babel/types': 7.28.6
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- '@babel/traverse@7.29.0':
- dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/helper-globals': 7.28.0
- '@babel/parser': 7.29.0
- '@babel/template': 7.28.6
- '@babel/types': 7.29.0
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- '@babel/types@7.28.6':
- dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.28.5
-
'@babel/types@7.29.0':
dependencies:
'@babel/helper-string-parser': 7.27.1
@@ -4858,9 +3884,9 @@ snapshots:
dependencies:
css-tree: 3.1.0
- '@changesets/apply-release-plan@7.0.14':
+ '@changesets/apply-release-plan@7.1.0':
dependencies:
- '@changesets/config': 3.1.2
+ '@changesets/config': 3.1.3
'@changesets/get-version-range-type': 0.4.0
'@changesets/git': 3.0.4
'@changesets/should-skip-package': 0.1.2
@@ -4872,7 +3898,7 @@ snapshots:
outdent: 0.5.0
prettier: 2.8.8
resolve-from: 5.0.0
- semver: 7.7.3
+ semver: 7.7.4
'@changesets/assemble-release-plan@6.0.9':
dependencies:
@@ -4881,58 +3907,57 @@ snapshots:
'@changesets/should-skip-package': 0.1.2
'@changesets/types': 6.1.0
'@manypkg/get-packages': 1.1.3
- semver: 7.7.3
+ semver: 7.7.4
'@changesets/changelog-git@0.2.1':
dependencies:
'@changesets/types': 6.1.0
- '@changesets/changelog-github@0.5.2':
+ '@changesets/changelog-github@0.6.0':
dependencies:
- '@changesets/get-github-info': 0.7.0
+ '@changesets/get-github-info': 0.8.0
'@changesets/types': 6.1.0
dotenv: 8.6.0
transitivePeerDependencies:
- encoding
- '@changesets/cli@2.29.8(@types/node@25.3.0)':
+ '@changesets/cli@2.30.0(@types/node@25.5.0)':
dependencies:
- '@changesets/apply-release-plan': 7.0.14
+ '@changesets/apply-release-plan': 7.1.0
'@changesets/assemble-release-plan': 6.0.9
'@changesets/changelog-git': 0.2.1
- '@changesets/config': 3.1.2
+ '@changesets/config': 3.1.3
'@changesets/errors': 0.2.0
'@changesets/get-dependents-graph': 2.1.3
- '@changesets/get-release-plan': 4.0.14
+ '@changesets/get-release-plan': 4.0.15
'@changesets/git': 3.0.4
'@changesets/logger': 0.1.1
'@changesets/pre': 2.0.2
- '@changesets/read': 0.6.6
+ '@changesets/read': 0.6.7
'@changesets/should-skip-package': 0.1.2
'@changesets/types': 6.1.0
'@changesets/write': 0.4.0
- '@inquirer/external-editor': 1.0.3(@types/node@25.3.0)
+ '@inquirer/external-editor': 1.0.3(@types/node@25.5.0)
'@manypkg/get-packages': 1.1.3
ansi-colors: 4.1.3
- ci-info: 3.9.0
enquirer: 2.4.1
fs-extra: 7.0.1
mri: 1.2.0
- p-limit: 2.3.0
package-manager-detector: 0.2.11
picocolors: 1.1.1
resolve-from: 5.0.0
- semver: 7.7.3
+ semver: 7.7.4
spawndamnit: 3.0.1
term-size: 2.2.1
transitivePeerDependencies:
- '@types/node'
- '@changesets/config@3.1.2':
+ '@changesets/config@3.1.3':
dependencies:
'@changesets/errors': 0.2.0
'@changesets/get-dependents-graph': 2.1.3
'@changesets/logger': 0.1.1
+ '@changesets/should-skip-package': 0.1.2
'@changesets/types': 6.1.0
'@manypkg/get-packages': 1.1.3
fs-extra: 7.0.1
@@ -4947,21 +3972,21 @@ snapshots:
'@changesets/types': 6.1.0
'@manypkg/get-packages': 1.1.3
picocolors: 1.1.1
- semver: 7.7.3
+ semver: 7.7.4
- '@changesets/get-github-info@0.7.0':
+ '@changesets/get-github-info@0.8.0':
dependencies:
dataloader: 1.4.0
node-fetch: 2.7.0
transitivePeerDependencies:
- encoding
- '@changesets/get-release-plan@4.0.14':
+ '@changesets/get-release-plan@4.0.15':
dependencies:
'@changesets/assemble-release-plan': 6.0.9
- '@changesets/config': 3.1.2
+ '@changesets/config': 3.1.3
'@changesets/pre': 2.0.2
- '@changesets/read': 0.6.6
+ '@changesets/read': 0.6.7
'@changesets/types': 6.1.0
'@manypkg/get-packages': 1.1.3
@@ -4979,7 +4004,7 @@ snapshots:
dependencies:
picocolors: 1.1.1
- '@changesets/parse@0.4.2':
+ '@changesets/parse@0.4.3':
dependencies:
'@changesets/types': 6.1.0
js-yaml: 4.1.1
@@ -4991,11 +4016,11 @@ snapshots:
'@manypkg/get-packages': 1.1.3
fs-extra: 7.0.1
- '@changesets/read@0.6.6':
+ '@changesets/read@0.6.7':
dependencies:
'@changesets/git': 3.0.4
'@changesets/logger': 0.1.1
- '@changesets/parse': 0.4.2
+ '@changesets/parse': 0.4.3
'@changesets/types': 6.1.0
fs-extra: 7.0.1
p-filter: 2.1.0
@@ -5017,16 +4042,16 @@ snapshots:
human-id: 4.1.3
prettier: 2.8.8
- '@csstools/color-helpers@6.0.1': {}
+ '@csstools/color-helpers@6.0.2': {}
'@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
- '@csstools/css-color-parser@4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ '@csstools/css-color-parser@4.0.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
- '@csstools/color-helpers': 6.0.1
+ '@csstools/color-helpers': 6.0.2
'@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
@@ -5035,13 +4060,15 @@ snapshots:
dependencies:
'@csstools/css-tokenizer': 4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.0.27': {}
+ '@csstools/css-syntax-patches-for-csstree@1.1.1(css-tree@3.2.1)':
+ optionalDependencies:
+ css-tree: 3.2.1
'@csstools/css-tokenizer@4.0.0': {}
- '@emnapi/core@1.8.1':
+ '@emnapi/core@1.9.0':
dependencies:
- '@emnapi/wasi-threads': 1.1.0
+ '@emnapi/wasi-threads': 1.2.0
tslib: 2.8.1
optional: true
@@ -5050,7 +4077,7 @@ snapshots:
tslib: 2.8.1
optional: true
- '@emnapi/wasi-threads@1.1.0':
+ '@emnapi/wasi-threads@1.2.0':
dependencies:
tslib: 2.8.1
optional: true
@@ -5133,88 +4160,15 @@ snapshots:
'@esbuild/win32-x64@0.27.2':
optional: true
- '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))':
- dependencies:
- eslint: 9.39.2(jiti@2.6.1)
- eslint-visitor-keys: 3.4.3
+ '@exodus/bytes@1.14.1': {}
- '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.6.1))':
- dependencies:
- eslint: 9.39.4(jiti@2.6.1)
- eslint-visitor-keys: 3.4.3
+ '@exodus/bytes@1.15.0': {}
- '@eslint-community/regexpp@4.12.2': {}
+ '@floating-ui/core@1.7.4':
+ dependencies:
+ '@floating-ui/utils': 0.2.10
- '@eslint/config-array@0.21.1':
- dependencies:
- '@eslint/object-schema': 2.1.7
- debug: 4.4.3
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/config-array@0.21.2':
- dependencies:
- '@eslint/object-schema': 2.1.7
- debug: 4.4.3
- minimatch: 3.1.5
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/config-helpers@0.4.2':
- dependencies:
- '@eslint/core': 0.17.0
-
- '@eslint/core@0.17.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/eslintrc@3.3.3':
- dependencies:
- ajv: 6.12.6
- debug: 4.4.3
- espree: 10.4.0
- globals: 14.0.0
- ignore: 5.3.2
- import-fresh: 3.3.1
- js-yaml: 4.1.1
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/eslintrc@3.3.5':
- dependencies:
- ajv: 6.14.0
- debug: 4.4.3
- espree: 10.4.0
- globals: 14.0.0
- ignore: 5.3.2
- import-fresh: 3.3.1
- js-yaml: 4.1.1
- minimatch: 3.1.5
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/js@9.39.2': {}
-
- '@eslint/js@9.39.4': {}
-
- '@eslint/object-schema@2.1.7': {}
-
- '@eslint/plugin-kit@0.4.1':
- dependencies:
- '@eslint/core': 0.17.0
- levn: 0.4.1
-
- '@exodus/bytes@1.14.1': {}
-
- '@floating-ui/core@1.7.4':
- dependencies:
- '@floating-ui/utils': 0.2.10
-
- '@floating-ui/dom@1.7.5':
+ '@floating-ui/dom@1.7.5':
dependencies:
'@floating-ui/core': 1.7.4
'@floating-ui/utils': 0.2.10
@@ -5232,17 +4186,6 @@ snapshots:
'@standard-schema/utils': 0.3.0
react-hook-form: 7.71.2(react@19.2.4)
- '@humanfs/core@0.19.1': {}
-
- '@humanfs/node@0.16.7':
- dependencies:
- '@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.4.3
-
- '@humanwhocodes/module-importer@1.0.1': {}
-
- '@humanwhocodes/retry@0.4.3': {}
-
'@img/colour@1.1.0':
optional: true
@@ -5340,12 +4283,12 @@ snapshots:
'@img/sharp-win32-x64@0.34.5':
optional: true
- '@inquirer/external-editor@1.0.3(@types/node@25.3.0)':
+ '@inquirer/external-editor@1.0.3(@types/node@25.5.0)':
dependencies:
chardet: 2.1.1
iconv-lite: 0.7.2
optionalDependencies:
- '@types/node': 25.3.0
+ '@types/node': 25.5.0
'@isaacs/balanced-match@4.0.1': {}
@@ -5394,23 +4337,23 @@ snapshots:
globby: 11.1.0
read-yaml-file: 1.1.0
- '@microsoft/api-extractor-model@7.32.2(@types/node@25.3.0)':
+ '@microsoft/api-extractor-model@7.32.2(@types/node@25.5.0)':
dependencies:
'@microsoft/tsdoc': 0.16.0
'@microsoft/tsdoc-config': 0.18.0
- '@rushstack/node-core-library': 5.19.1(@types/node@25.3.0)
+ '@rushstack/node-core-library': 5.19.1(@types/node@25.5.0)
transitivePeerDependencies:
- '@types/node'
- '@microsoft/api-extractor@7.56.0(@types/node@25.3.0)':
+ '@microsoft/api-extractor@7.56.0(@types/node@25.5.0)':
dependencies:
- '@microsoft/api-extractor-model': 7.32.2(@types/node@25.3.0)
+ '@microsoft/api-extractor-model': 7.32.2(@types/node@25.5.0)
'@microsoft/tsdoc': 0.16.0
'@microsoft/tsdoc-config': 0.18.0
- '@rushstack/node-core-library': 5.19.1(@types/node@25.3.0)
+ '@rushstack/node-core-library': 5.19.1(@types/node@25.5.0)
'@rushstack/rig-package': 0.6.0
- '@rushstack/terminal': 0.21.0(@types/node@25.3.0)
- '@rushstack/ts-command-line': 5.1.7(@types/node@25.3.0)
+ '@rushstack/terminal': 0.21.0(@types/node@25.5.0)
+ '@rushstack/ts-command-line': 5.1.7(@types/node@25.5.0)
diff: 8.0.3
lodash: 4.17.23
minimatch: 10.0.3
@@ -5430,19 +4373,15 @@ snapshots:
'@microsoft/tsdoc@0.16.0': {}
- '@napi-rs/wasm-runtime@0.2.12':
+ '@napi-rs/wasm-runtime@1.1.1':
dependencies:
- '@emnapi/core': 1.8.1
+ '@emnapi/core': 1.9.0
'@emnapi/runtime': 1.9.0
'@tybys/wasm-util': 0.10.1
optional: true
'@next/env@16.1.7': {}
- '@next/eslint-plugin-next@16.1.6':
- dependencies:
- fast-glob: 3.3.1
-
'@next/swc-darwin-arm64@16.1.7':
optional: true
@@ -5479,7 +4418,123 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.20.1
- '@nolyfill/is-core-module@1.0.39': {}
+ '@oxc-project/runtime@0.115.0': {}
+
+ '@oxc-project/types@0.115.0': {}
+
+ '@oxfmt/binding-android-arm-eabi@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-android-arm64@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-darwin-arm64@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-darwin-x64@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-freebsd-x64@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-arm-gnueabihf@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-arm-musleabihf@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-arm64-gnu@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-arm64-musl@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-ppc64-gnu@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-riscv64-gnu@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-riscv64-musl@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-s390x-gnu@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-x64-gnu@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-linux-x64-musl@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-openharmony-arm64@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-win32-arm64-msvc@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-win32-ia32-msvc@0.41.0':
+ optional: true
+
+ '@oxfmt/binding-win32-x64-msvc@0.41.0':
+ optional: true
+
+ '@oxlint/binding-android-arm-eabi@1.56.0':
+ optional: true
+
+ '@oxlint/binding-android-arm64@1.56.0':
+ optional: true
+
+ '@oxlint/binding-darwin-arm64@1.56.0':
+ optional: true
+
+ '@oxlint/binding-darwin-x64@1.56.0':
+ optional: true
+
+ '@oxlint/binding-freebsd-x64@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-arm-gnueabihf@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-arm-musleabihf@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-arm64-gnu@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-arm64-musl@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-ppc64-gnu@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-riscv64-gnu@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-riscv64-musl@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-s390x-gnu@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-x64-gnu@1.56.0':
+ optional: true
+
+ '@oxlint/binding-linux-x64-musl@1.56.0':
+ optional: true
+
+ '@oxlint/binding-openharmony-arm64@1.56.0':
+ optional: true
+
+ '@oxlint/binding-win32-arm64-msvc@1.56.0':
+ optional: true
+
+ '@oxlint/binding-win32-ia32-msvc@1.56.0':
+ optional: true
+
+ '@oxlint/binding-win32-x64-msvc@1.56.0':
+ optional: true
'@radix-ui/number@1.1.1': {}
@@ -5955,7 +5010,56 @@ snapshots:
'@radix-ui/rect@1.1.1': {}
- '@rolldown/pluginutils@1.0.0-rc.3': {}
+ '@rolldown/binding-android-arm64@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-darwin-arm64@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-darwin-x64@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-freebsd-x64@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.9':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.1.1
+ optional: true
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9':
+ optional: true
+
+ '@rolldown/pluginutils@1.0.0-rc.7': {}
+
+ '@rolldown/pluginutils@1.0.0-rc.9': {}
'@rollup/pluginutils@5.3.0(rollup@4.57.1)':
dependencies:
@@ -6040,41 +5144,39 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.57.1':
optional: true
- '@rtsao/scc@1.1.0': {}
-
- '@rushstack/node-core-library@5.19.1(@types/node@25.3.0)':
+ '@rushstack/node-core-library@5.19.1(@types/node@25.5.0)':
dependencies:
ajv: 8.13.0
ajv-draft-04: 1.0.0(ajv@8.13.0)
ajv-formats: 3.0.1(ajv@8.13.0)
- fs-extra: 11.3.3
+ fs-extra: 11.3.4
import-lazy: 4.0.0
jju: 1.4.0
resolve: 1.22.11
semver: 7.5.4
optionalDependencies:
- '@types/node': 25.3.0
+ '@types/node': 25.5.0
- '@rushstack/problem-matcher@0.1.1(@types/node@25.3.0)':
+ '@rushstack/problem-matcher@0.1.1(@types/node@25.5.0)':
optionalDependencies:
- '@types/node': 25.3.0
+ '@types/node': 25.5.0
'@rushstack/rig-package@0.6.0':
dependencies:
resolve: 1.22.11
strip-json-comments: 3.1.1
- '@rushstack/terminal@0.21.0(@types/node@25.3.0)':
+ '@rushstack/terminal@0.21.0(@types/node@25.5.0)':
dependencies:
- '@rushstack/node-core-library': 5.19.1(@types/node@25.3.0)
- '@rushstack/problem-matcher': 0.1.1(@types/node@25.3.0)
+ '@rushstack/node-core-library': 5.19.1(@types/node@25.5.0)
+ '@rushstack/problem-matcher': 0.1.1(@types/node@25.5.0)
supports-color: 8.1.1
optionalDependencies:
- '@types/node': 25.3.0
+ '@types/node': 25.5.0
- '@rushstack/ts-command-line@5.1.7(@types/node@25.3.0)':
+ '@rushstack/ts-command-line@5.1.7(@types/node@25.5.0)':
dependencies:
- '@rushstack/terminal': 0.21.0(@types/node@25.3.0)
+ '@rushstack/terminal': 0.21.0(@types/node@25.5.0)
'@types/argparse': 1.0.38
argparse: 1.0.10
string-argv: 0.3.2
@@ -6155,7 +5257,7 @@ snapshots:
'@alloc/quick-lru': 5.2.0
'@tailwindcss/node': 4.2.1
'@tailwindcss/oxide': 4.2.1
- postcss: 8.5.6
+ postcss: 8.5.8
tailwindcss: 4.2.1
'@testing-library/dom@10.4.0':
@@ -6188,22 +5290,6 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
- '@trivago/prettier-plugin-sort-imports@6.0.2(@vue/compiler-sfc@3.5.25)(prettier@3.8.1)':
- dependencies:
- '@babel/generator': 7.28.6
- '@babel/parser': 7.28.6
- '@babel/traverse': 7.28.6
- '@babel/types': 7.28.6
- javascript-natural-sort: 0.7.1
- lodash-es: 4.17.23
- minimatch: 9.0.5
- parse-imports-exports: 0.2.4
- prettier: 3.8.1
- optionalDependencies:
- '@vue/compiler-sfc': 3.5.25
- transitivePeerDependencies:
- - supports-color
-
'@tybys/wasm-util@0.10.1':
dependencies:
tslib: 2.8.1
@@ -6213,27 +5299,6 @@ snapshots:
'@types/aria-query@5.0.4': {}
- '@types/babel__core@7.20.5':
- dependencies:
- '@babel/parser': 7.29.0
- '@babel/types': 7.29.0
- '@types/babel__generator': 7.27.0
- '@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.28.0
-
- '@types/babel__generator@7.27.0':
- dependencies:
- '@babel/types': 7.29.0
-
- '@types/babel__template@7.4.4':
- dependencies:
- '@babel/parser': 7.29.0
- '@babel/types': 7.29.0
-
- '@types/babel__traverse@7.28.0':
- dependencies:
- '@babel/types': 7.29.0
-
'@types/chai@5.2.3':
dependencies:
'@types/deep-eql': 4.0.2
@@ -6243,19 +5308,16 @@ snapshots:
'@types/estree@1.0.8': {}
- '@types/jsdom@27.0.0':
+ '@types/jsdom@28.0.0':
dependencies:
- '@types/node': 25.3.0
+ '@types/node': 25.5.0
'@types/tough-cookie': 4.0.5
parse5: 7.3.0
-
- '@types/json-schema@7.0.15': {}
-
- '@types/json5@0.0.29': {}
+ undici-types: 7.24.4
'@types/node@12.20.55': {}
- '@types/node@25.3.0':
+ '@types/node@25.5.0':
dependencies:
undici-types: 7.18.2
@@ -6271,478 +5333,272 @@ snapshots:
'@types/tough-cookie@4.0.5': {}
- '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
- dependencies:
- '@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/type-utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.56.0
- eslint: 9.39.2(jiti@2.6.1)
- ignore: 7.0.5
- natural-compare: 1.4.0
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
- dependencies:
- '@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/type-utils': 8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.56.0
- eslint: 9.39.4(jiti@2.6.1)
- ignore: 7.0.5
- natural-compare: 1.4.0
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.56.0
- debug: 4.4.3
- eslint: 9.39.2(jiti@2.6.1)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.56.0
- debug: 4.4.3
- eslint: 9.39.4(jiti@2.6.1)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.56.0
- debug: 4.4.3
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/scope-manager@8.56.0':
- dependencies:
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/visitor-keys': 8.56.0
-
- '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)':
- dependencies:
- typescript: 5.9.3
-
- '@typescript-eslint/type-utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- debug: 4.4.3
- eslint: 9.39.2(jiti@2.6.1)
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/type-utils@8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
- debug: 4.4.3
- eslint: 9.39.4(jiti@2.6.1)
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/types@8.56.0': {}
-
- '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/visitor-keys': 8.56.0
- debug: 4.4.3
- minimatch: 9.0.5
- semver: 7.7.4
- tinyglobby: 0.2.15
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- eslint: 9.39.2(jiti@2.6.1)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/utils@8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1))
- '@typescript-eslint/scope-manager': 8.56.0
- '@typescript-eslint/types': 8.56.0
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- eslint: 9.39.4(jiti@2.6.1)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/visitor-keys@8.56.0':
- dependencies:
- '@typescript-eslint/types': 8.56.0
- eslint-visitor-keys: 5.0.0
-
- '@uiw/color-convert@2.9.5(@babel/runtime@7.29.2)':
+ '@uiw/color-convert@2.9.6(@babel/runtime@7.29.2)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/react-color-alpha@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-alpha@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-drag-event-interactive': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-drag-event-interactive': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-block@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-block@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-editable-input': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-swatch': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-editable-input': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-swatch': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-chrome@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-chrome@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-alpha': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input-hsla': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input-rgba': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-github': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-hue': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-saturation': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input-hsla': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input-rgba': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-github': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-hue': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-saturation': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-circle@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-circle@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-swatch': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-swatch': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-colorful@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-colorful@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-alpha': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-hue': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-saturation': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-hue': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-saturation': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-compact@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-compact@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-editable-input': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input-rgba': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-swatch': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-editable-input': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input-rgba': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-swatch': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-editable-input-hsla@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-editable-input-hsla@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-editable-input-rgba': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-editable-input-rgba': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-editable-input-rgba@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-editable-input-rgba@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-editable-input': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-editable-input': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-editable-input@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-editable-input@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-github@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-github@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-swatch': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-swatch': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-hue@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-hue@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-alpha': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-material@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-material@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-editable-input': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input-rgba': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-editable-input': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input-rgba': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-name@2.9.5(@babel/runtime@7.29.2)':
+ '@uiw/react-color-name@2.9.6(@babel/runtime@7.29.2)':
dependencies:
'@babel/runtime': 7.29.2
colors-named: 1.0.4
colors-named-hex: 1.0.3
- '@uiw/react-color-saturation@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-saturation@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-drag-event-interactive': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-drag-event-interactive': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-shade-slider@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-shade-slider@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-alpha': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-sketch@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-sketch@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-alpha': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input-rgba': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-hue': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-saturation': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-swatch': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input-rgba': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-hue': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-saturation': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-swatch': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-slider@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-slider@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-alpha': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-swatch@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-swatch@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color-wheel@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color-wheel@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-drag-event-interactive': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-drag-event-interactive': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-color@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-color@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
- '@uiw/color-convert': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-alpha': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-block': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-chrome': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-circle': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-colorful': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-compact': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input-hsla': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-editable-input-rgba': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-github': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-hue': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-material': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-name': 2.9.5(@babel/runtime@7.29.2)
- '@uiw/react-color-saturation': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-shade-slider': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-sketch': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-slider': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-swatch': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@uiw/react-color-wheel': 2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/color-convert': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-alpha': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-block': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-chrome': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-circle': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-colorful': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-compact': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input-hsla': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-editable-input-rgba': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-github': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-hue': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-material': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-name': 2.9.6(@babel/runtime@7.29.2)
+ '@uiw/react-color-saturation': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-shade-slider': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-sketch': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-slider': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-swatch': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@uiw/react-color-wheel': 2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@uiw/react-drag-event-interactive@2.9.5(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@uiw/react-drag-event-interactive@2.9.6(@babel/runtime@7.29.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
'@babel/runtime': 7.29.2
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@unrs/resolver-binding-android-arm-eabi@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-android-arm64@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-darwin-arm64@1.11.1':
- optional: true
+ '@vercel/analytics@1.6.1(next@16.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(vue-router@4.6.3(vue@3.5.25(typescript@5.9.3)))(vue@3.5.25(typescript@5.9.3))':
+ optionalDependencies:
+ next: 16.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react: 19.2.4
+ vue: 3.5.25(typescript@5.9.3)
+ vue-router: 4.6.3(vue@3.5.25(typescript@5.9.3))
- '@unrs/resolver-binding-darwin-x64@1.11.1':
- optional: true
+ '@vitejs/plugin-react@6.0.1(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2))':
+ dependencies:
+ '@rolldown/pluginutils': 1.0.0-rc.7
+ vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)
- '@unrs/resolver-binding-freebsd-x64@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-linux-x64-musl@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-wasm32-wasi@1.11.1':
- dependencies:
- '@napi-rs/wasm-runtime': 0.2.12
- optional: true
-
- '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
- optional: true
-
- '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
- optional: true
-
- '@vercel/analytics@1.6.1(next@16.1.7(@babel/core@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)(vue-router@4.6.3(vue@3.5.25(typescript@5.9.3)))(vue@3.5.25(typescript@5.9.3))':
- optionalDependencies:
- next: 16.1.7(@babel/core@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- react: 19.2.4
- vue: 3.5.25(typescript@5.9.3)
- vue-router: 4.6.3(vue@3.5.25(typescript@5.9.3))
-
- '@vitejs/plugin-react@5.1.4(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2))':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0)
- '@rolldown/pluginutils': 1.0.0-rc.3
- '@types/babel__core': 7.20.5
- react-refresh: 0.18.0
- vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)
- transitivePeerDependencies:
- - supports-color
-
- '@vitest/coverage-v8@4.0.18(vitest@4.0.18(@types/node@25.3.0)(happy-dom@16.8.1)(jiti@2.6.1)(jsdom@28.1.0)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2))':
+ '@vitest/coverage-v8@4.1.0(vitest@4.1.0(@types/node@25.5.0)(happy-dom@16.8.1)(jsdom@29.0.0)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)))':
dependencies:
'@bcoe/v8-coverage': 1.0.2
- '@vitest/utils': 4.0.18
- ast-v8-to-istanbul: 0.3.10
+ '@vitest/utils': 4.1.0
+ ast-v8-to-istanbul: 1.0.0
istanbul-lib-coverage: 3.2.2
istanbul-lib-report: 3.0.1
istanbul-reports: 3.2.0
- magicast: 0.5.1
+ magicast: 0.5.2
obug: 2.1.1
- std-env: 3.10.0
- tinyrainbow: 3.0.3
- vitest: 4.0.18(@types/node@25.3.0)(happy-dom@16.8.1)(jiti@2.6.1)(jsdom@28.1.0)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)
+ std-env: 4.0.0
+ tinyrainbow: 3.1.0
+ vitest: 4.1.0(@types/node@25.5.0)(happy-dom@16.8.1)(jsdom@29.0.0)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2))
- '@vitest/expect@4.0.18':
+ '@vitest/expect@4.1.0':
dependencies:
'@standard-schema/spec': 1.1.0
'@types/chai': 5.2.3
- '@vitest/spy': 4.0.18
- '@vitest/utils': 4.0.18
+ '@vitest/spy': 4.1.0
+ '@vitest/utils': 4.1.0
chai: 6.2.2
- tinyrainbow: 3.0.3
+ tinyrainbow: 3.1.0
- '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2))':
+ '@vitest/mocker@4.1.0(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2))':
dependencies:
- '@vitest/spy': 4.0.18
+ '@vitest/spy': 4.1.0
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)
+ vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)
- '@vitest/pretty-format@4.0.18':
+ '@vitest/pretty-format@4.1.0':
dependencies:
- tinyrainbow: 3.0.3
+ tinyrainbow: 3.1.0
- '@vitest/runner@4.0.18':
+ '@vitest/runner@4.1.0':
dependencies:
- '@vitest/utils': 4.0.18
+ '@vitest/utils': 4.1.0
pathe: 2.0.3
- '@vitest/snapshot@4.0.18':
+ '@vitest/snapshot@4.1.0':
dependencies:
- '@vitest/pretty-format': 4.0.18
+ '@vitest/pretty-format': 4.1.0
+ '@vitest/utils': 4.1.0
magic-string: 0.30.21
pathe: 2.0.3
- '@vitest/spy@4.0.18': {}
+ '@vitest/spy@4.1.0': {}
- '@vitest/utils@4.0.18':
+ '@vitest/utils@4.1.0':
dependencies:
- '@vitest/pretty-format': 4.0.18
- tinyrainbow: 3.0.3
+ '@vitest/pretty-format': 4.1.0
+ convert-source-map: 2.0.0
+ tinyrainbow: 3.1.0
'@volar/language-core@2.4.28':
dependencies:
@@ -6818,7 +5674,7 @@ snapshots:
'@vue/compiler-vue2': 2.7.16
'@vue/shared': 3.5.27
alien-signals: 0.4.14
- minimatch: 9.0.5
+ minimatch: 9.0.9
muggle-string: 0.4.1
path-browserify: 1.0.1
optionalDependencies:
@@ -6855,17 +5711,11 @@ snapshots:
'@vue/shared@3.5.27': {}
- acorn-jsx@5.3.2(acorn@8.15.0):
- dependencies:
- acorn: 8.15.0
-
acorn@8.15.0: {}
acorn@8.16.0:
optional: true
- agent-base@7.1.4: {}
-
ajv-draft-04@1.0.0(ajv@8.13.0):
optionalDependencies:
ajv: 8.13.0
@@ -6874,20 +5724,6 @@ snapshots:
optionalDependencies:
ajv: 8.13.0
- ajv@6.12.6:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
-
- ajv@6.14.0:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
-
ajv@8.12.0:
dependencies:
fast-deep-equal: 3.1.3
@@ -6906,7 +5742,7 @@ snapshots:
ansi-colors@4.1.3: {}
- ansi-escapes@7.2.0:
+ ansi-escapes@7.3.0:
dependencies:
environment: 1.1.0
@@ -6938,94 +5774,15 @@ snapshots:
aria-query@5.3.2: {}
- array-buffer-byte-length@1.0.2:
- dependencies:
- call-bound: 1.0.4
- is-array-buffer: 3.0.5
-
- array-includes@3.1.9:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-object-atoms: 1.1.1
- get-intrinsic: 1.3.0
- is-string: 1.1.1
- math-intrinsics: 1.1.0
-
array-union@2.1.0: {}
- array.prototype.findlast@1.2.5:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- es-shim-unscopables: 1.1.0
-
- array.prototype.findlastindex@1.2.6:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- es-shim-unscopables: 1.1.0
-
- array.prototype.flat@1.3.3:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-shim-unscopables: 1.1.0
-
- array.prototype.flatmap@1.3.3:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-shim-unscopables: 1.1.0
-
- array.prototype.tosorted@1.1.4:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-errors: 1.3.0
- es-shim-unscopables: 1.1.0
-
- arraybuffer.prototype.slice@1.0.4:
- dependencies:
- array-buffer-byte-length: 1.0.2
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- is-array-buffer: 3.0.5
-
assertion-error@2.0.1: {}
- ast-types-flow@0.0.8: {}
-
- ast-v8-to-istanbul@0.3.10:
+ ast-v8-to-istanbul@1.0.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.31
estree-walker: 3.0.3
- js-tokens: 9.0.1
-
- async-function@1.0.0: {}
-
- available-typed-arrays@1.0.7:
- dependencies:
- possible-typed-array-names: 1.1.0
-
- axe-core@4.11.1: {}
-
- axobject-query@4.1.0: {}
+ js-tokens: 10.0.0
balanced-match@1.0.2: {}
@@ -7039,11 +5796,6 @@ snapshots:
dependencies:
require-from-string: 2.0.2
- brace-expansion@1.1.12:
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
-
brace-expansion@2.0.2:
dependencies:
balanced-match: 1.0.2
@@ -7052,36 +5804,9 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browserslist@4.28.1:
- dependencies:
- baseline-browser-mapping: 2.10.8
- caniuse-lite: 1.0.30001780
- electron-to-chromium: 1.5.286
- node-releases: 2.0.27
- update-browserslist-db: 1.2.3(browserslist@4.28.1)
-
buffer-from@1.1.2:
optional: true
- call-bind-apply-helpers@1.0.2:
- dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
-
- call-bind@1.0.8:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-define-property: 1.0.1
- get-intrinsic: 1.3.0
- set-function-length: 1.2.2
-
- call-bound@1.0.4:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- get-intrinsic: 1.3.0
-
- callsites@3.1.0: {}
-
caniuse-lite@1.0.30001780: {}
chai@6.2.2: {}
@@ -7093,8 +5818,6 @@ snapshots:
chardet@2.1.1: {}
- ci-info@3.9.0: {}
-
class-variance-authority@0.7.1:
dependencies:
clsx: 2.1.1
@@ -7103,10 +5826,10 @@ snapshots:
dependencies:
restore-cursor: 5.1.0
- cli-truncate@5.1.1:
+ cli-truncate@5.2.0:
dependencies:
- slice-ansi: 7.1.2
- string-width: 8.1.1
+ slice-ansi: 8.0.0
+ string-width: 8.2.0
client-only@0.0.1: {}
@@ -7137,8 +5860,6 @@ snapshots:
compare-versions@6.1.1: {}
- concat-map@0.0.1: {}
-
concurrently@9.2.1:
dependencies:
chalk: 4.1.2
@@ -7165,18 +5886,14 @@ snapshots:
mdn-data: 2.12.2
source-map-js: 1.2.1
- css.escape@1.5.1: {}
-
- cssstyle@6.0.1:
+ css-tree@3.2.1:
dependencies:
- '@asamuzakjp/css-color': 4.1.2
- '@csstools/css-syntax-patches-for-csstree': 1.0.27
- css-tree: 3.1.0
- lru-cache: 11.2.6
+ mdn-data: 2.27.1
+ source-map-js: 1.2.1
- csstype@3.2.3: {}
+ css.escape@1.5.1: {}
- damerau-levenshtein@1.0.8: {}
+ csstype@3.2.3: {}
data-urls@7.0.0:
dependencies:
@@ -7185,54 +5902,18 @@ snapshots:
transitivePeerDependencies:
- '@noble/hashes'
- data-view-buffer@1.0.2:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-data-view: 1.0.2
-
- data-view-byte-length@1.0.2:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-data-view: 1.0.2
-
- data-view-byte-offset@1.0.1:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-data-view: 1.0.2
-
dataloader@1.4.0: {}
date-fns@4.1.0: {}
de-indent@1.0.2: {}
- debug@3.2.7:
- dependencies:
- ms: 2.1.3
-
debug@4.4.3:
dependencies:
ms: 2.1.3
decimal.js@10.6.0: {}
- deep-is@0.1.4: {}
-
- define-data-property@1.1.4:
- dependencies:
- es-define-property: 1.0.1
- es-errors: 1.3.0
- gopd: 1.2.0
-
- define-properties@1.2.1:
- dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
-
dequal@2.0.3: {}
detect-indent@6.1.0: {}
@@ -7247,30 +5928,16 @@ snapshots:
dependencies:
path-type: 4.0.0
- doctrine@2.1.0:
- dependencies:
- esutils: 2.0.3
-
dom-accessibility-api@0.5.16: {}
dom-accessibility-api@0.6.3: {}
dotenv@8.6.0: {}
- dunder-proto@1.0.1:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-errors: 1.3.0
- gopd: 1.2.0
-
- electron-to-chromium@1.5.286: {}
-
emoji-regex@10.6.0: {}
emoji-regex@8.0.0: {}
- emoji-regex@9.2.2: {}
-
enhanced-resolve@5.19.0:
dependencies:
graceful-fs: 4.2.11
@@ -7290,108 +5957,7 @@ snapshots:
environment@1.1.0: {}
- es-abstract@1.24.1:
- dependencies:
- array-buffer-byte-length: 1.0.2
- arraybuffer.prototype.slice: 1.0.4
- available-typed-arrays: 1.0.7
- call-bind: 1.0.8
- call-bound: 1.0.4
- data-view-buffer: 1.0.2
- data-view-byte-length: 1.0.2
- data-view-byte-offset: 1.0.1
- es-define-property: 1.0.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- es-set-tostringtag: 2.1.0
- es-to-primitive: 1.3.0
- function.prototype.name: 1.1.8
- get-intrinsic: 1.3.0
- get-proto: 1.0.1
- get-symbol-description: 1.1.0
- globalthis: 1.0.4
- gopd: 1.2.0
- has-property-descriptors: 1.0.2
- has-proto: 1.2.0
- has-symbols: 1.1.0
- hasown: 2.0.2
- internal-slot: 1.1.0
- is-array-buffer: 3.0.5
- is-callable: 1.2.7
- is-data-view: 1.0.2
- is-negative-zero: 2.0.3
- is-regex: 1.2.1
- is-set: 2.0.3
- is-shared-array-buffer: 1.0.4
- is-string: 1.1.1
- is-typed-array: 1.1.15
- is-weakref: 1.1.1
- math-intrinsics: 1.1.0
- object-inspect: 1.13.4
- object-keys: 1.1.1
- object.assign: 4.1.7
- own-keys: 1.0.1
- regexp.prototype.flags: 1.5.4
- safe-array-concat: 1.1.3
- safe-push-apply: 1.0.0
- safe-regex-test: 1.1.0
- set-proto: 1.0.0
- stop-iteration-iterator: 1.1.0
- string.prototype.trim: 1.2.10
- string.prototype.trimend: 1.0.9
- string.prototype.trimstart: 1.0.8
- typed-array-buffer: 1.0.3
- typed-array-byte-length: 1.0.3
- typed-array-byte-offset: 1.0.4
- typed-array-length: 1.0.7
- unbox-primitive: 1.1.0
- which-typed-array: 1.1.20
-
- es-define-property@1.0.1: {}
-
- es-errors@1.3.0: {}
-
- es-iterator-helpers@1.2.2:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-errors: 1.3.0
- es-set-tostringtag: 2.1.0
- function-bind: 1.1.2
- get-intrinsic: 1.3.0
- globalthis: 1.0.4
- gopd: 1.2.0
- has-property-descriptors: 1.0.2
- has-proto: 1.2.0
- has-symbols: 1.1.0
- internal-slot: 1.1.0
- iterator.prototype: 1.1.5
- safe-array-concat: 1.1.3
-
- es-module-lexer@1.7.0: {}
-
- es-object-atoms@1.1.1:
- dependencies:
- es-errors: 1.3.0
-
- es-set-tostringtag@2.1.0:
- dependencies:
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- has-tostringtag: 1.0.2
- hasown: 2.0.2
-
- es-shim-unscopables@1.1.0:
- dependencies:
- hasown: 2.0.2
-
- es-to-primitive@1.3.0:
- dependencies:
- is-callable: 1.2.7
- is-date-object: 1.1.0
- is-symbol: 1.1.1
+ es-module-lexer@2.0.0: {}
esbuild@0.27.2:
optionalDependencies:
@@ -7421,390 +5987,18 @@ snapshots:
'@esbuild/win32-arm64': 0.27.2
'@esbuild/win32-ia32': 0.27.2
'@esbuild/win32-x64': 0.27.2
+ optional: true
escalade@3.2.0: {}
- escape-string-regexp@4.0.0: {}
-
- eslint-config-next@16.1.6(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3):
- dependencies:
- '@next/eslint-plugin-next': 16.1.6
- eslint: 9.39.2(jiti@2.6.1)
- eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-react: 7.37.5(eslint@9.39.2(jiti@2.6.1))
- eslint-plugin-react-hooks: 7.0.1(eslint@9.39.2(jiti@2.6.1))
- globals: 16.4.0
- typescript-eslint: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- optionalDependencies:
- typescript: 5.9.3
- transitivePeerDependencies:
- - '@typescript-eslint/parser'
- - eslint-import-resolver-webpack
- - eslint-plugin-import-x
- - supports-color
-
- eslint-config-next@16.1.6(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
- dependencies:
- '@next/eslint-plugin-next': 16.1.6
- eslint: 9.39.4(jiti@2.6.1)
- eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1))
- eslint-plugin-import: 2.32.0(eslint@9.39.4(jiti@2.6.1))
- eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.6.1))
- eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.6.1))
- eslint-plugin-react-hooks: 7.0.1(eslint@9.39.4(jiti@2.6.1))
- globals: 16.4.0
- typescript-eslint: 8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
- optionalDependencies:
- typescript: 5.9.3
- transitivePeerDependencies:
- - '@typescript-eslint/parser'
- - eslint-import-resolver-webpack
- - eslint-plugin-import-x
- - supports-color
-
- eslint-import-resolver-node@0.3.9:
- dependencies:
- debug: 3.2.7
- is-core-module: 2.16.1
- resolve: 1.22.11
- transitivePeerDependencies:
- - supports-color
-
- eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)):
- dependencies:
- '@nolyfill/is-core-module': 1.0.39
- debug: 4.4.3
- eslint: 9.39.2(jiti@2.6.1)
- get-tsconfig: 4.13.1
- is-bun-module: 2.0.0
- stable-hash: 0.0.5
- tinyglobby: 0.2.15
- unrs-resolver: 1.11.1
- optionalDependencies:
- eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1))
- transitivePeerDependencies:
- - supports-color
-
- eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1)):
- dependencies:
- '@nolyfill/is-core-module': 1.0.39
- debug: 4.4.3
- eslint: 9.39.4(jiti@2.6.1)
- get-tsconfig: 4.13.1
- is-bun-module: 2.0.0
- stable-hash: 0.0.5
- tinyglobby: 0.2.15
- unrs-resolver: 1.11.1
- optionalDependencies:
- eslint-plugin-import: 2.32.0(eslint@9.39.4(jiti@2.6.1))
- transitivePeerDependencies:
- - supports-color
-
- eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1)):
- dependencies:
- debug: 3.2.7
- optionalDependencies:
- eslint: 9.39.2(jiti@2.6.1)
- eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1))
- transitivePeerDependencies:
- - supports-color
-
- eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1)):
- dependencies:
- debug: 3.2.7
- optionalDependencies:
- eslint: 9.39.4(jiti@2.6.1)
- eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.6.1))
- transitivePeerDependencies:
- - supports-color
-
- eslint-plugin-import@2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1)):
- dependencies:
- '@rtsao/scc': 1.1.0
- array-includes: 3.1.9
- array.prototype.findlastindex: 1.2.6
- array.prototype.flat: 1.3.3
- array.prototype.flatmap: 1.3.3
- debug: 3.2.7
- doctrine: 2.1.0
- eslint: 9.39.2(jiti@2.6.1)
- eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1))
- hasown: 2.0.2
- is-core-module: 2.16.1
- is-glob: 4.0.3
- minimatch: 3.1.2
- object.fromentries: 2.0.8
- object.groupby: 1.0.3
- object.values: 1.2.1
- semver: 6.3.1
- string.prototype.trimend: 1.0.9
- tsconfig-paths: 3.15.0
- transitivePeerDependencies:
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- - supports-color
-
- eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.6.1)):
- dependencies:
- '@rtsao/scc': 1.1.0
- array-includes: 3.1.9
- array.prototype.findlastindex: 1.2.6
- array.prototype.flat: 1.3.3
- array.prototype.flatmap: 1.3.3
- debug: 3.2.7
- doctrine: 2.1.0
- eslint: 9.39.4(jiti@2.6.1)
- eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1))
- hasown: 2.0.2
- is-core-module: 2.16.1
- is-glob: 4.0.3
- minimatch: 3.1.2
- object.fromentries: 2.0.8
- object.groupby: 1.0.3
- object.values: 1.2.1
- semver: 6.3.1
- string.prototype.trimend: 1.0.9
- tsconfig-paths: 3.15.0
- transitivePeerDependencies:
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- - supports-color
-
- eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.2(jiti@2.6.1)):
- dependencies:
- aria-query: 5.3.2
- array-includes: 3.1.9
- array.prototype.flatmap: 1.3.3
- ast-types-flow: 0.0.8
- axe-core: 4.11.1
- axobject-query: 4.1.0
- damerau-levenshtein: 1.0.8
- emoji-regex: 9.2.2
- eslint: 9.39.2(jiti@2.6.1)
- hasown: 2.0.2
- jsx-ast-utils: 3.3.5
- language-tags: 1.0.9
- minimatch: 3.1.2
- object.fromentries: 2.0.8
- safe-regex-test: 1.1.0
- string.prototype.includes: 2.0.1
-
- eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.4(jiti@2.6.1)):
- dependencies:
- aria-query: 5.3.2
- array-includes: 3.1.9
- array.prototype.flatmap: 1.3.3
- ast-types-flow: 0.0.8
- axe-core: 4.11.1
- axobject-query: 4.1.0
- damerau-levenshtein: 1.0.8
- emoji-regex: 9.2.2
- eslint: 9.39.4(jiti@2.6.1)
- hasown: 2.0.2
- jsx-ast-utils: 3.3.5
- language-tags: 1.0.9
- minimatch: 3.1.2
- object.fromentries: 2.0.8
- safe-regex-test: 1.1.0
- string.prototype.includes: 2.0.1
-
- eslint-plugin-react-hooks@7.0.1(eslint@9.39.2(jiti@2.6.1)):
- dependencies:
- '@babel/core': 7.28.6
- '@babel/parser': 7.28.6
- eslint: 9.39.2(jiti@2.6.1)
- hermes-parser: 0.25.1
- zod: 4.3.6
- zod-validation-error: 4.0.2(zod@4.3.6)
- transitivePeerDependencies:
- - supports-color
-
- eslint-plugin-react-hooks@7.0.1(eslint@9.39.4(jiti@2.6.1)):
- dependencies:
- '@babel/core': 7.28.6
- '@babel/parser': 7.28.6
- eslint: 9.39.4(jiti@2.6.1)
- hermes-parser: 0.25.1
- zod: 4.3.6
- zod-validation-error: 4.0.2(zod@4.3.6)
- transitivePeerDependencies:
- - supports-color
-
- eslint-plugin-react-refresh@0.5.0(eslint@9.39.2(jiti@2.6.1)):
- dependencies:
- eslint: 9.39.2(jiti@2.6.1)
-
- eslint-plugin-react@7.37.5(eslint@9.39.2(jiti@2.6.1)):
- dependencies:
- array-includes: 3.1.9
- array.prototype.findlast: 1.2.5
- array.prototype.flatmap: 1.3.3
- array.prototype.tosorted: 1.1.4
- doctrine: 2.1.0
- es-iterator-helpers: 1.2.2
- eslint: 9.39.2(jiti@2.6.1)
- estraverse: 5.3.0
- hasown: 2.0.2
- jsx-ast-utils: 3.3.5
- minimatch: 3.1.2
- object.entries: 1.1.9
- object.fromentries: 2.0.8
- object.values: 1.2.1
- prop-types: 15.8.1
- resolve: 2.0.0-next.5
- semver: 6.3.1
- string.prototype.matchall: 4.0.12
- string.prototype.repeat: 1.0.0
-
- eslint-plugin-react@7.37.5(eslint@9.39.4(jiti@2.6.1)):
- dependencies:
- array-includes: 3.1.9
- array.prototype.findlast: 1.2.5
- array.prototype.flatmap: 1.3.3
- array.prototype.tosorted: 1.1.4
- doctrine: 2.1.0
- es-iterator-helpers: 1.2.2
- eslint: 9.39.4(jiti@2.6.1)
- estraverse: 5.3.0
- hasown: 2.0.2
- jsx-ast-utils: 3.3.5
- minimatch: 3.1.2
- object.entries: 1.1.9
- object.fromentries: 2.0.8
- object.values: 1.2.1
- prop-types: 15.8.1
- resolve: 2.0.0-next.5
- semver: 6.3.1
- string.prototype.matchall: 4.0.12
- string.prototype.repeat: 1.0.0
-
- eslint-scope@8.4.0:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
-
- eslint-visitor-keys@3.4.3: {}
-
- eslint-visitor-keys@4.2.1: {}
-
- eslint-visitor-keys@5.0.0: {}
-
- eslint@9.39.2(jiti@2.6.1):
- dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
- '@eslint-community/regexpp': 4.12.2
- '@eslint/config-array': 0.21.1
- '@eslint/config-helpers': 0.4.2
- '@eslint/core': 0.17.0
- '@eslint/eslintrc': 3.3.3
- '@eslint/js': 9.39.2
- '@eslint/plugin-kit': 0.4.1
- '@humanfs/node': 0.16.7
- '@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.3
- '@types/estree': 1.0.8
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.6
- debug: 4.4.3
- escape-string-regexp: 4.0.0
- eslint-scope: 8.4.0
- eslint-visitor-keys: 4.2.1
- espree: 10.4.0
- esquery: 1.7.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 8.0.0
- find-up: 5.0.0
- glob-parent: 6.0.2
- ignore: 5.3.2
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- json-stable-stringify-without-jsonify: 1.0.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.4
- optionalDependencies:
- jiti: 2.6.1
- transitivePeerDependencies:
- - supports-color
-
- eslint@9.39.4(jiti@2.6.1):
- dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1))
- '@eslint-community/regexpp': 4.12.2
- '@eslint/config-array': 0.21.2
- '@eslint/config-helpers': 0.4.2
- '@eslint/core': 0.17.0
- '@eslint/eslintrc': 3.3.5
- '@eslint/js': 9.39.4
- '@eslint/plugin-kit': 0.4.1
- '@humanfs/node': 0.16.7
- '@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.3
- '@types/estree': 1.0.8
- ajv: 6.14.0
- chalk: 4.1.2
- cross-spawn: 7.0.6
- debug: 4.4.3
- escape-string-regexp: 4.0.0
- eslint-scope: 8.4.0
- eslint-visitor-keys: 4.2.1
- espree: 10.4.0
- esquery: 1.7.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 8.0.0
- find-up: 5.0.0
- glob-parent: 6.0.2
- ignore: 5.3.2
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- json-stable-stringify-without-jsonify: 1.0.1
- lodash.merge: 4.6.2
- minimatch: 3.1.5
- natural-compare: 1.4.0
- optionator: 0.9.4
- optionalDependencies:
- jiti: 2.6.1
- transitivePeerDependencies:
- - supports-color
-
- espree@10.4.0:
- dependencies:
- acorn: 8.15.0
- acorn-jsx: 5.3.2(acorn@8.15.0)
- eslint-visitor-keys: 4.2.1
-
esprima@4.0.1: {}
- esquery@1.7.0:
- dependencies:
- estraverse: 5.3.0
-
- esrecurse@4.3.0:
- dependencies:
- estraverse: 5.3.0
-
- estraverse@5.3.0: {}
-
estree-walker@2.0.2: {}
estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.8
- esutils@2.0.3: {}
-
eventemitter3@5.0.4: {}
expect-type@1.3.0: {}
@@ -7815,14 +6009,6 @@ snapshots:
fast-deep-equal@3.1.3: {}
- fast-glob@3.3.1:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
-
fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -7831,10 +6017,6 @@ snapshots:
merge2: 1.4.1
micromatch: 4.0.8
- fast-json-stable-stringify@2.1.0: {}
-
- fast-levenshtein@2.0.6: {}
-
fastq@1.20.1:
dependencies:
reusify: 1.1.0
@@ -7843,10 +6025,6 @@ snapshots:
optionalDependencies:
picomatch: 4.0.3
- file-entry-cache@8.0.0:
- dependencies:
- flat-cache: 4.0.1
-
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
@@ -7856,23 +6034,7 @@ snapshots:
locate-path: 5.0.0
path-exists: 4.0.0
- find-up@5.0.0:
- dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
-
- flat-cache@4.0.1:
- dependencies:
- flatted: 3.3.3
- keyv: 4.5.4
-
- flatted@3.3.3: {}
-
- for-each@0.3.5:
- dependencies:
- is-callable: 1.2.7
-
- fs-extra@11.3.3:
+ fs-extra@11.3.4:
dependencies:
graceful-fs: 4.2.11
jsonfile: 6.2.0
@@ -7895,73 +6057,17 @@ snapshots:
function-bind@1.1.2: {}
- function.prototype.name@1.1.8:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- functions-have-names: 1.2.3
- hasown: 2.0.2
- is-callable: 1.2.7
-
- functions-have-names@1.2.3: {}
-
- generator-function@2.0.1: {}
-
- gensync@1.0.0-beta.2: {}
-
get-caller-file@2.0.5: {}
- get-east-asian-width@1.4.0: {}
-
- get-intrinsic@1.3.0:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-define-property: 1.0.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- function-bind: 1.1.2
- get-proto: 1.0.1
- gopd: 1.2.0
- has-symbols: 1.1.0
- hasown: 2.0.2
- math-intrinsics: 1.1.0
+ get-east-asian-width@1.5.0: {}
get-nonce@1.0.1: {}
- get-proto@1.0.1:
- dependencies:
- dunder-proto: 1.0.1
- es-object-atoms: 1.1.1
-
- get-symbol-description@1.1.0:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
-
- get-tsconfig@4.13.1:
- dependencies:
- resolve-pkg-maps: 1.0.0
-
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
- globals@14.0.0: {}
-
- globals@16.4.0: {}
-
- globals@17.3.0: {}
-
- globalthis@1.0.4:
- dependencies:
- define-properties: 1.2.1
- gopd: 1.2.0
+ globals@17.4.0: {}
globby@11.1.0:
dependencies:
@@ -7972,8 +6078,6 @@ snapshots:
merge2: 1.4.1
slash: 3.0.0
- gopd@1.2.0: {}
-
graceful-fs@4.2.11: {}
happy-dom@16.8.1:
@@ -7982,36 +6086,14 @@ snapshots:
whatwg-mimetype: 3.0.0
optional: true
- has-bigints@1.1.0: {}
-
has-flag@4.0.0: {}
- has-property-descriptors@1.0.2:
- dependencies:
- es-define-property: 1.0.1
-
- has-proto@1.2.0:
- dependencies:
- dunder-proto: 1.0.1
-
- has-symbols@1.1.0: {}
-
- has-tostringtag@1.0.2:
- dependencies:
- has-symbols: 1.1.0
-
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
he@1.2.0: {}
- hermes-estree@0.25.1: {}
-
- hermes-parser@0.25.1:
- dependencies:
- hermes-estree: 0.25.1
-
html-encoding-sniffer@6.0.0:
dependencies:
'@exodus/bytes': 1.14.1
@@ -8020,20 +6102,6 @@ snapshots:
html-escaper@2.0.2: {}
- http-proxy-agent@7.0.2:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- https-proxy-agent@7.0.6:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
human-id@4.1.3: {}
husky@9.1.7: {}
@@ -8044,153 +6112,36 @@ snapshots:
ignore@5.3.2: {}
- ignore@7.0.5: {}
-
- import-fresh@3.3.1:
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
-
import-lazy@4.0.0: {}
- imurmurhash@0.1.4: {}
-
- indent-string@4.0.0: {}
-
- internal-slot@1.1.0:
- dependencies:
- es-errors: 1.3.0
- hasown: 2.0.2
- side-channel: 1.1.0
-
- is-array-buffer@3.0.5:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
-
- is-async-function@2.1.1:
- dependencies:
- async-function: 1.0.0
- call-bound: 1.0.4
- get-proto: 1.0.1
- has-tostringtag: 1.0.2
- safe-regex-test: 1.1.0
-
- is-bigint@1.1.0:
- dependencies:
- has-bigints: 1.1.0
-
- is-boolean-object@1.2.2:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
-
- is-bun-module@2.0.0:
- dependencies:
- semver: 7.7.4
-
- is-callable@1.2.7: {}
+ indent-string@4.0.0: {}
is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
- is-data-view@1.0.2:
- dependencies:
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
- is-typed-array: 1.1.15
-
- is-date-object@1.1.0:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
-
is-extglob@2.1.1: {}
- is-finalizationregistry@1.1.1:
- dependencies:
- call-bound: 1.0.4
-
is-fullwidth-code-point@3.0.0: {}
is-fullwidth-code-point@5.1.0:
dependencies:
- get-east-asian-width: 1.4.0
-
- is-generator-function@1.1.2:
- dependencies:
- call-bound: 1.0.4
- generator-function: 2.0.1
- get-proto: 1.0.1
- has-tostringtag: 1.0.2
- safe-regex-test: 1.1.0
+ get-east-asian-width: 1.5.0
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
- is-map@2.0.3: {}
-
- is-negative-zero@2.0.3: {}
-
- is-number-object@1.1.1:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
-
is-number@7.0.0: {}
is-potential-custom-element-name@1.0.1: {}
- is-regex@1.2.1:
- dependencies:
- call-bound: 1.0.4
- gopd: 1.2.0
- has-tostringtag: 1.0.2
- hasown: 2.0.2
-
- is-set@2.0.3: {}
-
- is-shared-array-buffer@1.0.4:
- dependencies:
- call-bound: 1.0.4
-
- is-string@1.1.1:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
-
is-subdir@1.2.0:
dependencies:
better-path-resolve: 1.0.0
- is-symbol@1.1.1:
- dependencies:
- call-bound: 1.0.4
- has-symbols: 1.1.0
- safe-regex-test: 1.1.0
-
- is-typed-array@1.1.15:
- dependencies:
- which-typed-array: 1.1.20
-
- is-weakmap@2.0.2: {}
-
- is-weakref@1.1.1:
- dependencies:
- call-bound: 1.0.4
-
- is-weakset@2.0.4:
- dependencies:
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
-
is-windows@1.0.2: {}
- isarray@2.0.5: {}
-
isexe@2.0.0: {}
istanbul-lib-coverage@3.2.2: {}
@@ -8206,24 +6157,13 @@ snapshots:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.1
- iterator.prototype@1.1.5:
- dependencies:
- define-data-property: 1.1.4
- es-object-atoms: 1.1.1
- get-intrinsic: 1.3.0
- get-proto: 1.0.1
- has-symbols: 1.1.0
- set-function-name: 2.0.2
-
- javascript-natural-sort@0.7.1: {}
-
jiti@2.6.1: {}
jju@1.4.0: {}
- js-tokens@4.0.0: {}
+ js-tokens@10.0.0: {}
- js-tokens@9.0.1: {}
+ js-tokens@4.0.0: {}
js-yaml@3.14.2:
dependencies:
@@ -8234,49 +6174,34 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsdom@28.1.0:
+ jsdom@29.0.0:
dependencies:
- '@acemir/cssom': 0.9.31
- '@asamuzakjp/dom-selector': 6.8.1
+ '@asamuzakjp/css-color': 5.0.1
+ '@asamuzakjp/dom-selector': 7.0.3
'@bramus/specificity': 2.4.2
- '@exodus/bytes': 1.14.1
- cssstyle: 6.0.1
+ '@csstools/css-syntax-patches-for-csstree': 1.1.1(css-tree@3.2.1)
+ '@exodus/bytes': 1.15.0
+ css-tree: 3.2.1
data-urls: 7.0.0
decimal.js: 10.6.0
html-encoding-sniffer: 6.0.0
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
is-potential-custom-element-name: 1.0.1
+ lru-cache: 11.2.7
parse5: 8.0.0
saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 6.0.0
- undici: 7.22.0
+ tough-cookie: 6.0.1
+ undici: 7.24.4
w3c-xmlserializer: 5.0.0
webidl-conversions: 8.0.1
whatwg-mimetype: 5.0.0
- whatwg-url: 16.0.0
+ whatwg-url: 16.0.1
xml-name-validator: 5.0.0
transitivePeerDependencies:
- '@noble/hashes'
- - supports-color
-
- jsesc@3.1.0: {}
-
- json-buffer@3.0.1: {}
-
- json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
- json-stable-stringify-without-jsonify@1.0.1: {}
-
- json5@1.0.2:
- dependencies:
- minimist: 1.2.8
-
- json5@2.2.3: {}
-
jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
@@ -8287,63 +6212,74 @@ snapshots:
optionalDependencies:
graceful-fs: 4.2.11
- jsx-ast-utils@3.3.5:
- dependencies:
- array-includes: 3.1.9
- array.prototype.flat: 1.3.3
- object.assign: 4.1.7
- object.values: 1.2.1
-
- keyv@4.5.4:
- dependencies:
- json-buffer: 3.0.1
-
kolorist@1.8.0: {}
- language-subtag-registry@0.3.23: {}
-
- language-tags@1.0.9:
- dependencies:
- language-subtag-registry: 0.3.23
-
- levn@0.4.1:
- dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
-
lightningcss-android-arm64@1.31.1:
optional: true
+ lightningcss-android-arm64@1.32.0:
+ optional: true
+
lightningcss-darwin-arm64@1.31.1:
optional: true
+ lightningcss-darwin-arm64@1.32.0:
+ optional: true
+
lightningcss-darwin-x64@1.31.1:
optional: true
+ lightningcss-darwin-x64@1.32.0:
+ optional: true
+
lightningcss-freebsd-x64@1.31.1:
optional: true
+ lightningcss-freebsd-x64@1.32.0:
+ optional: true
+
lightningcss-linux-arm-gnueabihf@1.31.1:
optional: true
+ lightningcss-linux-arm-gnueabihf@1.32.0:
+ optional: true
+
lightningcss-linux-arm64-gnu@1.31.1:
optional: true
+ lightningcss-linux-arm64-gnu@1.32.0:
+ optional: true
+
lightningcss-linux-arm64-musl@1.31.1:
optional: true
+ lightningcss-linux-arm64-musl@1.32.0:
+ optional: true
+
lightningcss-linux-x64-gnu@1.31.1:
optional: true
+ lightningcss-linux-x64-gnu@1.32.0:
+ optional: true
+
lightningcss-linux-x64-musl@1.31.1:
optional: true
+ lightningcss-linux-x64-musl@1.32.0:
+ optional: true
+
lightningcss-win32-arm64-msvc@1.31.1:
optional: true
+ lightningcss-win32-arm64-msvc@1.32.0:
+ optional: true
+
lightningcss-win32-x64-msvc@1.31.1:
optional: true
+ lightningcss-win32-x64-msvc@1.32.0:
+ optional: true
+
lightningcss@1.31.1:
dependencies:
detect-libc: 2.1.2
@@ -8360,19 +6296,34 @@ snapshots:
lightningcss-win32-arm64-msvc: 1.31.1
lightningcss-win32-x64-msvc: 1.31.1
- lint-staged@16.2.7:
+ lightningcss@1.32.0:
+ dependencies:
+ detect-libc: 2.1.2
+ optionalDependencies:
+ lightningcss-android-arm64: 1.32.0
+ lightningcss-darwin-arm64: 1.32.0
+ lightningcss-darwin-x64: 1.32.0
+ lightningcss-freebsd-x64: 1.32.0
+ lightningcss-linux-arm-gnueabihf: 1.32.0
+ lightningcss-linux-arm64-gnu: 1.32.0
+ lightningcss-linux-arm64-musl: 1.32.0
+ lightningcss-linux-x64-gnu: 1.32.0
+ lightningcss-linux-x64-musl: 1.32.0
+ lightningcss-win32-arm64-msvc: 1.32.0
+ lightningcss-win32-x64-msvc: 1.32.0
+
+ lint-staged@16.4.0:
dependencies:
commander: 14.0.3
listr2: 9.0.5
- micromatch: 4.0.8
- nano-spawn: 2.0.0
- pidtree: 0.6.0
+ picomatch: 4.0.3
string-argv: 0.3.2
+ tinyexec: 1.0.4
yaml: 2.8.2
listr2@9.0.5:
dependencies:
- cli-truncate: 5.1.1
+ cli-truncate: 5.2.0
colorette: 2.0.20
eventemitter3: 5.0.4
log-update: 6.1.0
@@ -8389,41 +6340,25 @@ snapshots:
dependencies:
p-locate: 4.1.0
- locate-path@6.0.0:
- dependencies:
- p-locate: 5.0.0
-
- lodash-es@4.17.23: {}
-
- lodash.merge@4.6.2: {}
-
lodash.startcase@4.4.0: {}
lodash@4.17.23: {}
log-update@6.1.0:
dependencies:
- ansi-escapes: 7.2.0
+ ansi-escapes: 7.3.0
cli-cursor: 5.0.0
slice-ansi: 7.1.2
- strip-ansi: 7.1.2
+ strip-ansi: 7.2.0
wrap-ansi: 9.0.2
- loose-envify@1.4.0:
- dependencies:
- js-tokens: 4.0.0
-
- lru-cache@11.2.6: {}
-
- lru-cache@5.1.1:
- dependencies:
- yallist: 3.1.1
+ lru-cache@11.2.7: {}
lru-cache@6.0.0:
dependencies:
yallist: 4.0.0
- lucide-react@0.575.0(react@19.2.4):
+ lucide-react@0.577.0(react@19.2.4):
dependencies:
react: 19.2.4
@@ -8433,20 +6368,20 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
- magicast@0.5.1:
+ magicast@0.5.2:
dependencies:
- '@babel/parser': 7.28.6
- '@babel/types': 7.28.6
+ '@babel/parser': 7.29.2
+ '@babel/types': 7.29.0
source-map-js: 1.2.1
make-dir@4.0.0:
dependencies:
semver: 7.7.4
- math-intrinsics@1.1.0: {}
-
mdn-data@2.12.2: {}
+ mdn-data@2.27.1: {}
+
merge2@1.4.1: {}
micromatch@4.0.8:
@@ -8462,20 +6397,10 @@ snapshots:
dependencies:
'@isaacs/brace-expansion': 5.0.0
- minimatch@3.1.2:
- dependencies:
- brace-expansion: 1.1.12
-
- minimatch@3.1.5:
- dependencies:
- brace-expansion: 1.1.12
-
- minimatch@9.0.5:
+ minimatch@9.0.9:
dependencies:
brace-expansion: 2.0.2
- minimist@1.2.8: {}
-
mlly@1.8.0:
dependencies:
acorn: 8.15.0
@@ -8489,20 +6414,14 @@ snapshots:
muggle-string@0.4.1: {}
- nano-spawn@2.0.0: {}
-
nanoid@3.3.11: {}
- napi-postinstall@0.3.4: {}
-
- natural-compare@1.4.0: {}
-
next-themes@0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- next@16.1.7(@babel/core@7.28.6)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ next@16.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
'@next/env': 16.1.7
'@swc/helpers': 0.5.15
@@ -8511,7 +6430,7 @@ snapshots:
postcss: 8.4.31
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- styled-jsx: 5.1.6(@babel/core@7.28.6)(react@19.2.4)
+ styled-jsx: 5.1.6(react@19.2.4)
optionalDependencies:
'@next/swc-darwin-arm64': 16.1.7
'@next/swc-darwin-x64': 16.1.7
@@ -8530,72 +6449,59 @@ snapshots:
dependencies:
whatwg-url: 5.0.0
- node-releases@2.0.27: {}
-
- object-assign@4.1.1: {}
-
- object-inspect@1.13.4: {}
-
- object-keys@1.1.1: {}
-
- object.assign@4.1.7:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-object-atoms: 1.1.1
- has-symbols: 1.1.0
- object-keys: 1.1.1
-
- object.entries@1.1.9:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-object-atoms: 1.1.1
-
- object.fromentries@2.0.8:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-object-atoms: 1.1.1
-
- object.groupby@1.0.3:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
-
- object.values@1.2.1:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-object-atoms: 1.1.1
-
obug@2.1.1: {}
onetime@7.0.0:
dependencies:
mimic-function: 5.0.1
- optionator@0.9.4:
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- word-wrap: 1.2.5
-
outdent@0.5.0: {}
- own-keys@1.0.1:
+ oxfmt@0.41.0:
dependencies:
- get-intrinsic: 1.3.0
- object-keys: 1.1.1
- safe-push-apply: 1.0.0
+ tinypool: 2.1.0
+ optionalDependencies:
+ '@oxfmt/binding-android-arm-eabi': 0.41.0
+ '@oxfmt/binding-android-arm64': 0.41.0
+ '@oxfmt/binding-darwin-arm64': 0.41.0
+ '@oxfmt/binding-darwin-x64': 0.41.0
+ '@oxfmt/binding-freebsd-x64': 0.41.0
+ '@oxfmt/binding-linux-arm-gnueabihf': 0.41.0
+ '@oxfmt/binding-linux-arm-musleabihf': 0.41.0
+ '@oxfmt/binding-linux-arm64-gnu': 0.41.0
+ '@oxfmt/binding-linux-arm64-musl': 0.41.0
+ '@oxfmt/binding-linux-ppc64-gnu': 0.41.0
+ '@oxfmt/binding-linux-riscv64-gnu': 0.41.0
+ '@oxfmt/binding-linux-riscv64-musl': 0.41.0
+ '@oxfmt/binding-linux-s390x-gnu': 0.41.0
+ '@oxfmt/binding-linux-x64-gnu': 0.41.0
+ '@oxfmt/binding-linux-x64-musl': 0.41.0
+ '@oxfmt/binding-openharmony-arm64': 0.41.0
+ '@oxfmt/binding-win32-arm64-msvc': 0.41.0
+ '@oxfmt/binding-win32-ia32-msvc': 0.41.0
+ '@oxfmt/binding-win32-x64-msvc': 0.41.0
+
+ oxlint@1.56.0:
+ optionalDependencies:
+ '@oxlint/binding-android-arm-eabi': 1.56.0
+ '@oxlint/binding-android-arm64': 1.56.0
+ '@oxlint/binding-darwin-arm64': 1.56.0
+ '@oxlint/binding-darwin-x64': 1.56.0
+ '@oxlint/binding-freebsd-x64': 1.56.0
+ '@oxlint/binding-linux-arm-gnueabihf': 1.56.0
+ '@oxlint/binding-linux-arm-musleabihf': 1.56.0
+ '@oxlint/binding-linux-arm64-gnu': 1.56.0
+ '@oxlint/binding-linux-arm64-musl': 1.56.0
+ '@oxlint/binding-linux-ppc64-gnu': 1.56.0
+ '@oxlint/binding-linux-riscv64-gnu': 1.56.0
+ '@oxlint/binding-linux-riscv64-musl': 1.56.0
+ '@oxlint/binding-linux-s390x-gnu': 1.56.0
+ '@oxlint/binding-linux-x64-gnu': 1.56.0
+ '@oxlint/binding-linux-x64-musl': 1.56.0
+ '@oxlint/binding-openharmony-arm64': 1.56.0
+ '@oxlint/binding-win32-arm64-msvc': 1.56.0
+ '@oxlint/binding-win32-ia32-msvc': 1.56.0
+ '@oxlint/binding-win32-x64-msvc': 1.56.0
p-filter@2.1.0:
dependencies:
@@ -8605,18 +6511,10 @@ snapshots:
dependencies:
p-try: 2.2.0
- p-limit@3.1.0:
- dependencies:
- yocto-queue: 0.1.0
-
p-locate@4.1.0:
dependencies:
p-limit: 2.3.0
- p-locate@5.0.0:
- dependencies:
- p-limit: 3.1.0
-
p-map@2.1.0: {}
p-try@2.2.0: {}
@@ -8625,16 +6523,6 @@ snapshots:
dependencies:
quansync: 0.2.11
- parent-module@1.0.1:
- dependencies:
- callsites: 3.1.0
-
- parse-imports-exports@0.2.4:
- dependencies:
- parse-statements: 1.0.11
-
- parse-statements@1.0.11: {}
-
parse5@7.3.0:
dependencies:
entities: 6.0.1
@@ -8661,8 +6549,6 @@ snapshots:
picomatch@4.0.3: {}
- pidtree@0.6.0: {}
-
pify@4.0.1: {}
pkg-types@1.3.1:
@@ -8677,33 +6563,20 @@ snapshots:
exsolve: 1.0.8
pathe: 2.0.3
- possible-typed-array-names@1.1.0: {}
-
postcss@8.4.31:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
- postcss@8.5.6:
- dependencies:
- nanoid: 3.3.11
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
postcss@8.5.8:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
- optional: true
-
- prelude-ls@1.2.1: {}
prettier@2.8.8: {}
- prettier@3.8.1: {}
-
pretty-format@27.5.1:
dependencies:
ansi-regex: 5.0.1
@@ -8716,12 +6589,6 @@ snapshots:
clsx: 2.1.1
react: 19.2.4
- prop-types@15.8.1:
- dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- react-is: 16.13.1
-
punycode@2.3.1: {}
quansync@0.2.11: {}
@@ -8737,16 +6604,12 @@ snapshots:
dependencies:
react: 19.2.4
- react-icons@5.5.0(react@19.2.4):
+ react-icons@5.6.0(react@19.2.4):
dependencies:
react: 19.2.4
- react-is@16.13.1: {}
-
react-is@17.0.2: {}
- react-refresh@0.18.0: {}
-
react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.4):
dependencies:
react: 19.2.4
@@ -8788,48 +6651,18 @@ snapshots:
indent-string: 4.0.0
strip-indent: 3.0.0
- reflect.getprototypeof@1.0.10:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- get-intrinsic: 1.3.0
- get-proto: 1.0.1
- which-builtin-type: 1.2.1
-
- regexp.prototype.flags@1.5.4:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-errors: 1.3.0
- get-proto: 1.0.1
- gopd: 1.2.0
- set-function-name: 2.0.2
-
require-directory@2.1.1: {}
require-from-string@2.0.2: {}
- resolve-from@4.0.0: {}
-
resolve-from@5.0.0: {}
- resolve-pkg-maps@1.0.0: {}
-
resolve@1.22.11:
dependencies:
is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- resolve@2.0.0-next.5:
- dependencies:
- is-core-module: 2.16.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
restore-cursor@5.1.0:
dependencies:
onetime: 7.0.0
@@ -8839,6 +6672,27 @@ snapshots:
rfdc@1.4.1: {}
+ rolldown@1.0.0-rc.9:
+ dependencies:
+ '@oxc-project/types': 0.115.0
+ '@rolldown/pluginutils': 1.0.0-rc.9
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.0.0-rc.9
+ '@rolldown/binding-darwin-arm64': 1.0.0-rc.9
+ '@rolldown/binding-darwin-x64': 1.0.0-rc.9
+ '@rolldown/binding-freebsd-x64': 1.0.0-rc.9
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.9
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.9
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.9
+ '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.9
+ '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.9
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.9
+ '@rolldown/binding-linux-x64-musl': 1.0.0-rc.9
+ '@rolldown/binding-openharmony-arm64': 1.0.0-rc.9
+ '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.9
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.9
+
rollup@4.57.1:
dependencies:
'@types/estree': 1.0.8
@@ -8869,6 +6723,7 @@ snapshots:
'@rollup/rollup-win32-x64-gnu': 4.57.1
'@rollup/rollup-win32-x64-msvc': 4.57.1
fsevents: 2.3.3
+ optional: true
run-parallel@1.2.0:
dependencies:
@@ -8878,25 +6733,6 @@ snapshots:
dependencies:
tslib: 2.8.1
- safe-array-concat@1.1.3:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- get-intrinsic: 1.3.0
- has-symbols: 1.1.0
- isarray: 2.0.5
-
- safe-push-apply@1.0.0:
- dependencies:
- es-errors: 1.3.0
- isarray: 2.0.5
-
- safe-regex-test@1.1.0:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-regex: 1.2.1
-
safer-buffer@2.1.2: {}
saxes@6.0.0:
@@ -8905,38 +6741,12 @@ snapshots:
scheduler@0.27.0: {}
- semver@6.3.1: {}
-
semver@7.5.4:
dependencies:
lru-cache: 6.0.0
- semver@7.7.3: {}
-
semver@7.7.4: {}
- set-function-length@1.2.2:
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.3.0
- gopd: 1.2.0
- has-property-descriptors: 1.0.2
-
- set-function-name@2.0.2:
- dependencies:
- define-data-property: 1.1.4
- es-errors: 1.3.0
- functions-have-names: 1.2.3
- has-property-descriptors: 1.0.2
-
- set-proto@1.0.0:
- dependencies:
- dunder-proto: 1.0.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
-
sharp@0.34.5:
dependencies:
'@img/colour': 1.1.0
@@ -8977,34 +6787,6 @@ snapshots:
shell-quote@1.8.3: {}
- side-channel-list@1.0.0:
- dependencies:
- es-errors: 1.3.0
- object-inspect: 1.13.4
-
- side-channel-map@1.0.1:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- object-inspect: 1.13.4
-
- side-channel-weakmap@1.0.2:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- object-inspect: 1.13.4
- side-channel-map: 1.0.1
-
- side-channel@1.1.0:
- dependencies:
- es-errors: 1.3.0
- object-inspect: 1.13.4
- side-channel-list: 1.0.0
- side-channel-map: 1.0.1
- side-channel-weakmap: 1.0.2
-
siginfo@2.0.0: {}
signal-exit@4.1.0: {}
@@ -9016,6 +6798,11 @@ snapshots:
ansi-styles: 6.2.3
is-fullwidth-code-point: 5.1.0
+ slice-ansi@8.0.0:
+ dependencies:
+ ansi-styles: 6.2.3
+ is-fullwidth-code-point: 5.1.0
+
source-map-js@1.2.1: {}
source-map-support@0.5.21:
@@ -9033,16 +6820,9 @@ snapshots:
sprintf-js@1.0.3: {}
- stable-hash@0.0.5: {}
-
stackback@0.0.2: {}
- std-env@3.10.0: {}
-
- stop-iteration-iterator@1.1.0:
- dependencies:
- es-errors: 1.3.0
- internal-slot: 1.1.0
+ std-env@4.0.0: {}
string-argv@0.3.2: {}
@@ -9055,69 +6835,19 @@ snapshots:
string-width@7.2.0:
dependencies:
emoji-regex: 10.6.0
- get-east-asian-width: 1.4.0
- strip-ansi: 7.1.2
-
- string-width@8.1.1:
- dependencies:
- get-east-asian-width: 1.4.0
- strip-ansi: 7.1.2
-
- string.prototype.includes@2.0.1:
- dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-abstract: 1.24.1
-
- string.prototype.matchall@4.0.12:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- get-intrinsic: 1.3.0
- gopd: 1.2.0
- has-symbols: 1.1.0
- internal-slot: 1.1.0
- regexp.prototype.flags: 1.5.4
- set-function-name: 2.0.2
- side-channel: 1.1.0
-
- string.prototype.repeat@1.0.0:
- dependencies:
- define-properties: 1.2.1
- es-abstract: 1.24.1
-
- string.prototype.trim@1.2.10:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-data-property: 1.1.4
- define-properties: 1.2.1
- es-abstract: 1.24.1
- es-object-atoms: 1.1.1
- has-property-descriptors: 1.0.2
-
- string.prototype.trimend@1.0.9:
- dependencies:
- call-bind: 1.0.8
- call-bound: 1.0.4
- define-properties: 1.2.1
- es-object-atoms: 1.1.1
+ get-east-asian-width: 1.5.0
+ strip-ansi: 7.2.0
- string.prototype.trimstart@1.0.8:
+ string-width@8.2.0:
dependencies:
- call-bind: 1.0.8
- define-properties: 1.2.1
- es-object-atoms: 1.1.1
+ get-east-asian-width: 1.5.0
+ strip-ansi: 7.2.0
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
- strip-ansi@7.1.2:
+ strip-ansi@7.2.0:
dependencies:
ansi-regex: 6.2.2
@@ -9129,12 +6859,10 @@ snapshots:
strip-json-comments@3.1.1: {}
- styled-jsx@5.1.6(@babel/core@7.28.6)(react@19.2.4):
+ styled-jsx@5.1.6(react@19.2.4):
dependencies:
client-only: 0.0.1
react: 19.2.4
- optionalDependencies:
- '@babel/core': 7.28.6
supports-color@7.2.0:
dependencies:
@@ -9170,28 +6898,30 @@ snapshots:
tinybench@2.9.0: {}
- tinyexec@1.0.2: {}
+ tinyexec@1.0.4: {}
tinyglobby@0.2.15:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
- tinyrainbow@3.0.3: {}
+ tinypool@2.1.0: {}
- tldts-core@7.0.23: {}
+ tinyrainbow@3.1.0: {}
- tldts@7.0.23:
+ tldts-core@7.0.26: {}
+
+ tldts@7.0.26:
dependencies:
- tldts-core: 7.0.23
+ tldts-core: 7.0.26
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
- tough-cookie@6.0.0:
+ tough-cookie@6.0.1:
dependencies:
- tldts: 7.0.23
+ tldts: 7.0.26
tr46@0.0.3: {}
@@ -9201,129 +6931,24 @@ snapshots:
tree-kill@1.2.2: {}
- ts-api-utils@2.4.0(typescript@5.9.3):
- dependencies:
- typescript: 5.9.3
-
- tsconfig-paths@3.15.0:
- dependencies:
- '@types/json5': 0.0.29
- json5: 1.0.2
- minimist: 1.2.8
- strip-bom: 3.0.0
-
tslib@2.8.1: {}
- type-check@0.4.0:
- dependencies:
- prelude-ls: 1.2.1
-
- typed-array-buffer@1.0.3:
- dependencies:
- call-bound: 1.0.4
- es-errors: 1.3.0
- is-typed-array: 1.1.15
-
- typed-array-byte-length@1.0.3:
- dependencies:
- call-bind: 1.0.8
- for-each: 0.3.5
- gopd: 1.2.0
- has-proto: 1.2.0
- is-typed-array: 1.1.15
-
- typed-array-byte-offset@1.0.4:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.8
- for-each: 0.3.5
- gopd: 1.2.0
- has-proto: 1.2.0
- is-typed-array: 1.1.15
- reflect.getprototypeof: 1.0.10
-
- typed-array-length@1.0.7:
- dependencies:
- call-bind: 1.0.8
- for-each: 0.3.5
- gopd: 1.2.0
- is-typed-array: 1.1.15
- possible-typed-array-names: 1.1.0
- reflect.getprototypeof: 1.0.10
-
- typescript-eslint@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3):
- dependencies:
- '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- eslint: 9.39.2(jiti@2.6.1)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- typescript-eslint@8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3):
- dependencies:
- '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)
- eslint: 9.39.4(jiti@2.6.1)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
typescript@5.8.2: {}
typescript@5.9.3: {}
ufo@1.6.3: {}
- unbox-primitive@1.1.0:
- dependencies:
- call-bound: 1.0.4
- has-bigints: 1.1.0
- has-symbols: 1.1.0
- which-boxed-primitive: 1.1.1
-
undici-types@7.18.2: {}
- undici@7.22.0: {}
+ undici-types@7.24.4: {}
+
+ undici@7.24.4: {}
universalify@0.1.2: {}
universalify@2.0.1: {}
- unrs-resolver@1.11.1:
- dependencies:
- napi-postinstall: 0.3.4
- optionalDependencies:
- '@unrs/resolver-binding-android-arm-eabi': 1.11.1
- '@unrs/resolver-binding-android-arm64': 1.11.1
- '@unrs/resolver-binding-darwin-arm64': 1.11.1
- '@unrs/resolver-binding-darwin-x64': 1.11.1
- '@unrs/resolver-binding-freebsd-x64': 1.11.1
- '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1
- '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1
- '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1
- '@unrs/resolver-binding-linux-arm64-musl': 1.11.1
- '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1
- '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1
- '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1
- '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1
- '@unrs/resolver-binding-linux-x64-gnu': 1.11.1
- '@unrs/resolver-binding-linux-x64-musl': 1.11.1
- '@unrs/resolver-binding-wasm32-wasi': 1.11.1
- '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1
- '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1
- '@unrs/resolver-binding-win32-x64-msvc': 1.11.1
-
- update-browserslist-db@1.2.3(browserslist@4.28.1):
- dependencies:
- browserslist: 4.28.1
- escalade: 3.2.0
- picocolors: 1.1.1
-
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
@@ -9343,9 +6968,9 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
- vite-plugin-dts@4.5.4(@types/node@25.3.0)(rollup@4.57.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)):
+ vite-plugin-dts@4.5.4(@types/node@25.5.0)(rollup@4.57.1)(typescript@5.9.3)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)):
dependencies:
- '@microsoft/api-extractor': 7.56.0(@types/node@25.3.0)
+ '@microsoft/api-extractor': 7.56.0(@types/node@25.5.0)
'@rollup/pluginutils': 5.3.0(rollup@4.57.1)
'@volar/typescript': 2.4.28
'@vue/language-core': 2.2.0(typescript@5.9.3)
@@ -9356,66 +6981,56 @@ snapshots:
magic-string: 0.30.21
typescript: 5.9.3
optionalDependencies:
- vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)
+ vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)
transitivePeerDependencies:
- '@types/node'
- rollup
- supports-color
- vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2):
+ vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2):
dependencies:
- esbuild: 0.27.2
- fdir: 6.5.0(picomatch@4.0.3)
+ '@oxc-project/runtime': 0.115.0
+ lightningcss: 1.32.0
picomatch: 4.0.3
- postcss: 8.5.6
- rollup: 4.57.1
+ postcss: 8.5.8
+ rolldown: 1.0.0-rc.9
tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 25.3.0
+ '@types/node': 25.5.0
+ esbuild: 0.27.2
fsevents: 2.3.3
jiti: 2.6.1
- lightningcss: 1.31.1
terser: 5.44.1
yaml: 2.8.2
- vitest@4.0.18(@types/node@25.3.0)(happy-dom@16.8.1)(jiti@2.6.1)(jsdom@28.1.0)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2):
+ vitest@4.1.0(@types/node@25.5.0)(happy-dom@16.8.1)(jsdom@29.0.0)(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)):
dependencies:
- '@vitest/expect': 4.0.18
- '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2))
- '@vitest/pretty-format': 4.0.18
- '@vitest/runner': 4.0.18
- '@vitest/snapshot': 4.0.18
- '@vitest/spy': 4.0.18
- '@vitest/utils': 4.0.18
- es-module-lexer: 1.7.0
+ '@vitest/expect': 4.1.0
+ '@vitest/mocker': 4.1.0(vite@8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2))
+ '@vitest/pretty-format': 4.1.0
+ '@vitest/runner': 4.1.0
+ '@vitest/snapshot': 4.1.0
+ '@vitest/spy': 4.1.0
+ '@vitest/utils': 4.1.0
+ es-module-lexer: 2.0.0
expect-type: 1.3.0
magic-string: 0.30.21
obug: 2.1.1
pathe: 2.0.3
picomatch: 4.0.3
- std-env: 3.10.0
+ std-env: 4.0.0
tinybench: 2.9.0
- tinyexec: 1.0.2
+ tinyexec: 1.0.4
tinyglobby: 0.2.15
- tinyrainbow: 3.0.3
- vite: 7.3.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.44.1)(yaml@2.8.2)
+ tinyrainbow: 3.1.0
+ vite: 8.0.0(@types/node@25.5.0)(esbuild@0.27.2)(jiti@2.6.1)(terser@5.44.1)(yaml@2.8.2)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 25.3.0
+ '@types/node': 25.5.0
happy-dom: 16.8.1
- jsdom: 28.1.0
+ jsdom: 29.0.0
transitivePeerDependencies:
- - jiti
- - less
- - lightningcss
- msw
- - sass
- - sass-embedded
- - stylus
- - sugarss
- - terser
- - tsx
- - yaml
vscode-uri@3.1.0: {}
@@ -9460,52 +7075,19 @@ snapshots:
transitivePeerDependencies:
- '@noble/hashes'
+ whatwg-url@16.0.1:
+ dependencies:
+ '@exodus/bytes': 1.15.0
+ tr46: 6.0.0
+ webidl-conversions: 8.0.1
+ transitivePeerDependencies:
+ - '@noble/hashes'
+
whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1
- which-boxed-primitive@1.1.1:
- dependencies:
- is-bigint: 1.1.0
- is-boolean-object: 1.2.2
- is-number-object: 1.1.1
- is-string: 1.1.1
- is-symbol: 1.1.1
-
- which-builtin-type@1.2.1:
- dependencies:
- call-bound: 1.0.4
- function.prototype.name: 1.1.8
- has-tostringtag: 1.0.2
- is-async-function: 2.1.1
- is-date-object: 1.1.0
- is-finalizationregistry: 1.1.1
- is-generator-function: 1.1.2
- is-regex: 1.2.1
- is-weakref: 1.1.1
- isarray: 2.0.5
- which-boxed-primitive: 1.1.1
- which-collection: 1.0.2
- which-typed-array: 1.1.20
-
- which-collection@1.0.2:
- dependencies:
- is-map: 2.0.3
- is-set: 2.0.3
- is-weakmap: 2.0.2
- is-weakset: 2.0.4
-
- which-typed-array@1.1.20:
- dependencies:
- available-typed-arrays: 1.0.7
- call-bind: 1.0.8
- call-bound: 1.0.4
- for-each: 0.3.5
- get-proto: 1.0.1
- gopd: 1.2.0
- has-tostringtag: 1.0.2
-
which@2.0.2:
dependencies:
isexe: 2.0.0
@@ -9515,8 +7097,6 @@ snapshots:
siginfo: 2.0.0
stackback: 0.0.2
- word-wrap@1.2.5: {}
-
wrap-ansi@7.0.0:
dependencies:
ansi-styles: 4.3.0
@@ -9527,7 +7107,7 @@ snapshots:
dependencies:
ansi-styles: 6.2.3
string-width: 7.2.0
- strip-ansi: 7.1.2
+ strip-ansi: 7.2.0
xml-name-validator@5.0.0: {}
@@ -9535,8 +7115,6 @@ snapshots:
y18n@5.0.8: {}
- yallist@3.1.1: {}
-
yallist@4.0.0: {}
yaml@2.8.2: {}
@@ -9552,11 +7130,3 @@ snapshots:
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 21.1.1
-
- yocto-queue@0.1.0: {}
-
- zod-validation-error@4.0.2(zod@4.3.6):
- dependencies:
- zod: 4.3.6
-
- zod@4.3.6: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index a00e53e0..5aaff2ef 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -4,3 +4,4 @@ packages:
onlyBuiltDependencies:
- esbuild
+ - sharp