diff --git a/packages/kida-react/.eslintrc.json b/packages/kida-react/.eslintrc.json new file mode 100644 index 0000000..151f1e3 --- /dev/null +++ b/packages/kida-react/.eslintrc.json @@ -0,0 +1,19 @@ +{ + "extends": [ + "@trigen/eslint-config/react", + "@trigen/eslint-config/typescript", + "@trigen/eslint-config/typescript-requiring-type-checking", + "@trigen/eslint-config/jest" + ], + "env": { + "browser": true, + "node": true + }, + "parserOptions": { + "tsconfigRootDir": "./packages/kida-react", + "project": ["./tsconfig.json"] + }, + "rules": { + "react/react-in-jsx-scope": "off" + } +} diff --git a/packages/kida-react/.size-limit.json b/packages/kida-react/.size-limit.json new file mode 100644 index 0000000..55acea8 --- /dev/null +++ b/packages/kida-react/.size-limit.json @@ -0,0 +1,8 @@ +[ + { + "name": "All publics", + "path": "dist/index.js", + "import": "*", + "limit": "340 B" + } +] diff --git a/packages/kida-react/README.md b/packages/kida-react/README.md new file mode 100644 index 0000000..9c98616 --- /dev/null +++ b/packages/kida-react/README.md @@ -0,0 +1,140 @@ +# @kida/react + +[![ESM-only package][package]][package-url] +[![NPM version][npm]][npm-url] +[![Dependencies status][deps]][deps-url] +[![Install size][size]][size-url] +[![Build status][build]][build-url] +[![Coverage status][coverage]][coverage-url] + +[package]: https://img.shields.io/badge/package-ESM--only-ffe536.svg +[package-url]: https://nodejs.org/api/esm.html + +[npm]: https://img.shields.io/npm/v/%40kida%2Freact.svg +[npm-url]: https://npmjs.com/package/@kida/react + +[deps]: https://img.shields.io/librariesio/release/npm/%40kida%2Freact +[deps-url]: https://libraries.io/npm/%40kida%2Freact/tree + +[size]: https://deno.bundlejs.com/badge?q=%40kida%2Freact +[size-url]: https://bundlejs.com/?q=%40kida%2Freact + +[build]: https://img.shields.io/github/actions/workflow/status/TrigenSoftware/nanoviews/tests.yml?branch=main +[build-url]: https://github.com/TrigenSoftware/nanoviews/actions + +[coverage]: https://img.shields.io/codecov/c/github/TrigenSoftware/nanoviews.svg +[coverage-url]: https://app.codecov.io/gh/TrigenSoftware/nanoviews + +[Kida](packages/kida#readme) integration for React. + +```tsx +import { signal } from 'kida' +import { useSignal } from '@kida/react' + +const $user = signal(null) + +export function UserProfile() { + const user = useSignal($user) + + return
{user?.name}
+} +``` + +
+Install +  •   +Exports +
+
+ +## Install + +```bash +pnpm add -D kida +# or +npm i -D kida +# or +yarn add -D kida +``` + +## Exports + +### useSignal + +`useSignal` hook returns the current value of the signal store and subscribes to changes. + +```tsx +import { signal } from 'kida' +import { useSignal } from '@kida/react' + +const $user = signal(null) + +export function UserProfile() { + const user = useSignal($user) + + return
{user?.name}
+} +``` + +### InjectionContext + +`InjectionContext` is a component to initialize injection context and provide dependencies to the children. + +```tsx +import { InjectionContext, useInject } from '@kida/react' + +function Theme(): 'light' | 'dark' { + return 'light' +} + +function App() { + return ( + + + + ) +} +``` + +### useInject + +`useInject` hook returns the value of the dependency. + +```tsx +import { useInject } from '@kida/react' + +function TopBar() { + const theme = useInject(Theme) + + return
Current theme: {theme}
+} +``` + +### useAction + +`useAction` hook creates an action that runs within the current injection context. + +```tsx +import { signal } from 'kida' +import { useInject, useAction } from '@kida/react' + +function Theme() { + return signal<'light' | 'dark'>('light') +} + +function setThemeAction(theme: 'light' | 'dark') { + const $theme = useInject(Theme) + + $theme.set(theme) +} + +function TopBar() { + const setTheme = useAction(setThemeAction) + + return ( + + ) +} +``` diff --git a/packages/kida-react/package.json b/packages/kida-react/package.json new file mode 100644 index 0000000..d157246 --- /dev/null +++ b/packages/kida-react/package.json @@ -0,0 +1,85 @@ +{ + "name": "@kida/react", + "type": "module", + "version": "1.0.0-alpha.1", + "description": "Kida integration for React.", + "author": "dangreen", + "license": "MIT", + "homepage": "https://github.com/TrigenSoftware/nanoviews/tree/main/packages/kida-react#readme", + "funding": "https://ko-fi.com/dangreen", + "repository": { + "type": "git", + "url": "https://github.com/TrigenSoftware/nanoviews.git", + "directory": "packages/kida-react" + }, + "bugs": { + "url": "https://github.com/TrigenSoftware/nanoviews/issues" + }, + "keywords": [ + "store", + "state", + "state manager", + "atom", + "signal", + "react" + ], + "engines": { + "node": ">=16" + }, + "sideEffects": false, + "exports": { + "./package.json": "./package.json", + ".": "./src/index.tsx" + }, + "publishConfig": { + "exports": { + "./package.json": "./package.json", + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + }, + "directory": "package", + "linkDirectory": false + }, + "files": [ + "dist" + ], + "scripts": { + "clear:package": "del ./package", + "clear:dist": "del ./dist", + "clear": "del ./package ./dist ./coverage", + "prepublishOnly": "run build clear:package clean-publish", + "postpublish": "pnpm clear:package", + "emitDeclarations": "tsc -p ./tsconfig.build.json --emitDeclarationOnly", + "build:dist": "run -p emitDeclarations [ vite build ]", + "build": "run clear:dist build:dist", + "lint": "eslint --parser-options tsconfigRootDir:. '**/*.{js,ts}'", + "test:unit": "vitest run --coverage", + "test:unit:watch": "vitest watch", + "test:size": "size-limit", + "test:types": "tsc --noEmit", + "test": "run -p lint test:unit test:types" + }, + "peerDependencies": { + "kida": "workspace:^", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "devDependencies": { + "@size-limit/preset-small-lib": "^11.1.6", + "@testing-library/dom": "^10.0.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.1.0", + "@types/react": "^19.0.2", + "@vitejs/plugin-react": "^4.3.4", + "@vitest/coverage-v8": "^2.1.8", + "happy-dom": "^16.0.0", + "kida": "workspace:^", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "size-limit": "^11.1.6", + "typescript": "^5.7.2", + "vite": "^6.0.7", + "vitest": "^2.1.8" + } +} diff --git a/packages/kida-react/src/index.spec.tsx b/packages/kida-react/src/index.spec.tsx new file mode 100644 index 0000000..06d5107 --- /dev/null +++ b/packages/kida-react/src/index.spec.tsx @@ -0,0 +1,112 @@ +import { + describe, + it, + expect +} from 'vitest' +import { + render, + act +} from '@testing-library/react' +import { + type ReadableSignal, + signal +} from 'kida' +import { + useSignal, + InjectionContext, + useInject +} from './index.js' + +describe('@kida/react', () => { + describe('useSignal', () => { + it('should use signal store', () => { + const $count = signal(0) + + function Test() { + const count = useSignal($count) + + return ( +
+ {count} +
+ ) + } + + const { container } = render() + + expect(container.innerHTML).toBe('
0
') + + act(() => $count.set(1)) + + expect(container.innerHTML).toBe('
1
') + }) + }) + + describe('InjectionContext', () => { + it('should provide dependency', () => { + const $count = signal(0) + + function Factory(): ReadableSignal | null { + return null + } + + function Test() { + const $count = useInject(Factory)! + const count = useSignal($count) + + return ( +
+ {count} +
+ ) + } + + const { container } = render( + + + + ) + + expect(container.innerHTML).toBe('
0
') + + act(() => $count.set(1)) + + expect(container.innerHTML).toBe('
1
') + }) + }) + + describe('useInject', () => { + it('should inject dependency', () => { + const $count = signal(0) + + function Factory() { + return $count + } + + function Test() { + const $count = useInject(Factory) + const count = useSignal($count) + + return ( +
+ {count} +
+ ) + } + + const { container } = render( + + + + ) + + expect(container.innerHTML).toBe('
0
') + + act(() => $count.set(1)) + + expect(container.innerHTML).toBe('
1
') + }) + }) +}) diff --git a/packages/kida-react/src/index.tsx b/packages/kida-react/src/index.tsx new file mode 100644 index 0000000..9003358 --- /dev/null +++ b/packages/kida-react/src/index.tsx @@ -0,0 +1,121 @@ +import { + type AnyFn, + type ReadableSignal, + type InjectionProvider, + type InjectionFactory, + InjectionContext as KidaInjectionContext, + inject, + action, + subscribe +} from 'kida' +import { + type ReactNode, + useCallback, + useMemo, + useRef, + useSyncExternalStore, + createContext, + useContext +} from 'react' + +/** + * Get signal store value and subscribe to changes. + * @param $signal - The signal store. + * @returns The signal store value. + */ +export function useSignal($signal: ReadableSignal) { + const snapshotRef = useRef(undefined as T) + const sub = useCallback( + (emit: () => void) => subscribe($signal, (value) => { + if (snapshotRef.current !== value) { + snapshotRef.current = value + emit() + } + }), + [$signal] + ) + const get = () => snapshotRef.current + + snapshotRef.current = $signal.get() + + return useSyncExternalStore(sub, get, get) +} + +export const ReactInjectionContext = /* @__PURE__ */ createContext(undefined) + +/** + * Inject a dependency. + * @param factory - The factory function to create or get the dependency. + * @returns The dependency. + */ +export function useInject(factory: InjectionFactory): T { + const currentContext = useContext(ReactInjectionContext) + const dependency = useMemo( + () => inject(factory, currentContext), + [currentContext, factory] + ) + + return dependency +} + +/** + * Create an action that runs within the current injection context. + * @param fn - The function to run. + * @returns The action. + */ +export function useAction(fn: T): T { + const currentContext = useContext(ReactInjectionContext) + const actionFn = useMemo( + () => action(fn, currentContext), + [currentContext, fn] + ) + + return actionFn +} + +export interface InjectionContextProps { + provide?: InjectionProvider[] + children: ReactNode +} + +/** + * Provide dependencies to children. + * @param props + * @param props.provide - The dependencies to provide. + * @param props.children - The children to provide the dependencies to. + * @returns The component. + */ +export function InjectionContext({ + provide, + children +}: InjectionContextProps) { + const currentContext = useContext(ReactInjectionContext) + + if (!provide && currentContext) { + return children + } + + return ( + + {children} + + ) +} + +export interface IsolateProps { + children: ReactNode +} + +/** + * Isolate children to new isolated injection context. + * @param props + * @param props.children - The children to isolate. + * @returns The component. + */ +export function Isolate({ children }: IsolateProps) { + return ( + + {children} + + ) +} diff --git a/packages/kida-react/src/vite-env.d.ts b/packages/kida-react/src/vite-env.d.ts new file mode 100644 index 0000000..083a5ec --- /dev/null +++ b/packages/kida-react/src/vite-env.d.ts @@ -0,0 +1,2 @@ +// eslint-disable-next-line spaced-comment +/// diff --git a/packages/kida-react/tsconfig.build.json b/packages/kida-react/tsconfig.build.json new file mode 100644 index 0000000..e203eb1 --- /dev/null +++ b/packages/kida-react/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "jsx": "preserve" + }, + "include": [ + "src" + ], + "exclude": [ + "**/*.spec.ts", + "**/*.spec.tsx" + ] +} diff --git a/packages/kida-react/tsconfig.json b/packages/kida-react/tsconfig.json new file mode 100644 index 0000000..8b528d3 --- /dev/null +++ b/packages/kida-react/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": { + "rootDir": "." + }, + "include": [ + "src" + ], + "exclude": [] +} diff --git a/packages/kida-react/vite.config.js b/packages/kida-react/vite.config.js new file mode 100644 index 0000000..e4e4bb1 --- /dev/null +++ b/packages/kida-react/vite.config.js @@ -0,0 +1,35 @@ +import { defineConfig } from 'vite' +import { configDefaults } from 'vitest/config' +import react from '@vitejs/plugin-react' + +export default defineConfig({ + plugins: [react()], + build: { + target: 'esnext', + lib: { + formats: ['es'], + entry: { + index: './src/index.tsx' + } + }, + rollupOptions: { + external: [ + 'react', + 'react/jsx-runtime', + 'kida' + ] + }, + sourcemap: true, + minify: false, + emptyOutDir: false + }, + test: { + environment: 'happy-dom', + setupFiles: ['@testing-library/jest-dom/vitest'], + exclude: [...configDefaults.exclude, './package'], + coverage: { + reporter: ['lcovonly', 'text'], + include: ['src/**/*'] + } + } +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 576cecf..3bf250d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -80,7 +80,7 @@ importers: version: 16.3.0 vite: specifier: ^6.0.0 - version: 6.0.6(@types/node@20.11.25)(jiti@1.21.0) + version: 6.0.6(@types/node@20.11.25)(jiti@2.4.2) vite-node: specifier: ^2.1.2 version: 2.1.2(@types/node@20.11.25) @@ -101,12 +101,61 @@ importers: version: 5.3.3 vite: specifier: ^6.0.0 - version: 6.0.6(@types/node@20.11.25)(jiti@1.21.0) + version: 6.0.6(@types/node@20.11.25)(jiti@2.4.2) vitest: specifier: ^2.0.0 version: 2.0.5(@types/node@20.11.25)(happy-dom@16.3.0) publishDirectory: package + packages/kida-react: + devDependencies: + '@size-limit/preset-small-lib': + specifier: ^11.1.6 + version: 11.1.6(size-limit@11.1.6) + '@testing-library/dom': + specifier: ^10.0.0 + version: 10.4.0 + '@testing-library/jest-dom': + specifier: ^6.6.3 + version: 6.6.3 + '@testing-library/react': + specifier: ^16.1.0 + version: 16.1.0(@testing-library/dom@10.4.0)(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@types/react': + specifier: ^19.0.2 + version: 19.0.2 + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.3.4(vite@6.0.7(@types/node@20.11.25)(jiti@2.4.2)) + '@vitest/coverage-v8': + specifier: ^2.1.8 + version: 2.1.8(vitest@2.1.8(@types/node@20.11.25)(happy-dom@16.3.0)) + happy-dom: + specifier: ^16.0.0 + version: 16.3.0 + kida: + specifier: workspace:^ + version: link:../kida + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + size-limit: + specifier: ^11.1.6 + version: 11.1.6 + typescript: + specifier: ^5.7.2 + version: 5.7.2 + vite: + specifier: ^6.0.7 + version: 6.0.7(@types/node@20.11.25)(jiti@2.4.2) + vitest: + specifier: ^2.1.8 + version: 2.1.8(@types/node@20.11.25)(happy-dom@16.3.0) + publishDirectory: package + packages/nanoviews: dependencies: kida: @@ -127,7 +176,7 @@ importers: version: 11.1.2(size-limit@11.1.2) '@storybook/addon-essentials': specifier: ^7.6.17 - version: 7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/test': specifier: ^7.0.0 version: 7.6.17 @@ -166,7 +215,7 @@ importers: version: 5.3.3 vite: specifier: ^6.0.0 - version: 6.0.6(@types/node@20.11.25)(jiti@1.21.0) + version: 6.0.6(@types/node@20.11.25)(jiti@2.4.2) vitest: specifier: ^2.0.0 version: 2.0.5(@types/node@20.11.25)(happy-dom@16.3.0) @@ -199,7 +248,7 @@ importers: dependencies: '@storybook/builder-vite': specifier: ^7.6.17 - version: 7.6.17(typescript@5.3.3)(vite@6.0.6(@types/node@20.11.25)(jiti@1.21.0)) + version: 7.6.17(typescript@5.7.2)(vite@6.0.6(@types/node@20.11.25)(jiti@2.4.2)) '@storybook/types': specifier: ^7.6.17 version: 7.6.17 @@ -209,7 +258,7 @@ importers: version: link:../storybook vite: specifier: ^6.0.0 - version: 6.0.6(@types/node@20.11.25)(jiti@1.21.0) + version: 6.0.6(@types/node@20.11.25)(jiti@2.4.2) publishDirectory: package packages/testing-library: @@ -222,7 +271,7 @@ importers: version: link:../nanoviews vite: specifier: ^6.0.0 - version: 6.0.6(@types/node@20.11.25)(jiti@1.21.0) + version: 6.0.6(@types/node@20.11.25)(jiti@2.4.2) vitest: specifier: ^2.0.0 version: 2.0.5(@types/node@20.11.25)(happy-dom@16.3.0) @@ -249,18 +298,34 @@ packages: resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.23.5': resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + engines: {node: '>=6.9.0'} + '@babel/core@7.24.0': resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} engines: {node: '>=6.9.0'} + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.23.6': resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.22.5': resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -273,6 +338,10 @@ packages: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.24.0': resolution: {integrity: sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==} engines: {node: '>=6.9.0'} @@ -315,12 +384,22 @@ packages: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-transforms@7.23.3': resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.22.5': resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} @@ -329,6 +408,10 @@ packages: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.22.20': resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} @@ -361,6 +444,10 @@ packages: resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} @@ -369,10 +456,18 @@ packages: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + '@babel/helper-wrap-function@7.22.20': resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} @@ -381,6 +476,10 @@ packages: resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.23.4': resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} @@ -395,6 +494,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3': resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} @@ -761,6 +865,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx-self@7.25.9': + resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.25.9': + resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-regenerator@7.23.3': resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} @@ -873,10 +989,18 @@ packages: resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.24.0': resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + engines: {node: '>=6.9.0'} + '@babel/types@7.24.0': resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} @@ -885,6 +1009,10 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -2197,17 +2325,34 @@ packages: peerDependencies: size-limit: 11.1.2 + '@size-limit/esbuild@11.1.6': + resolution: {integrity: sha512-0nBKYSxeRjUVCVoCkWZbmGkGBwpm0HdwHedWgxksBGxTKU0PjOMSHc3XTjKOrXBKXQzw90Ue0mgOd4n6zct9SA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + size-limit: 11.1.6 + '@size-limit/file@11.1.2': resolution: {integrity: sha512-zktWwhO7MxVwQXbrZzy0VKfM5mZK3Aza1G3XbWRP8q+/3+irPKCz2fmyYJqJAJVwC9U1jAs6xEPlTJzxKgEAmw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: size-limit: 11.1.2 + '@size-limit/file@11.1.6': + resolution: {integrity: sha512-ojzzJMrTfcSECRnaTjGy0wNIolTCRdyqZTSWG9sG5XEoXG6PNgHXDDS6gf6YNxnqb+rWfCfVe93u6aKi3wEocQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + size-limit: 11.1.6 + '@size-limit/preset-small-lib@11.1.2': resolution: {integrity: sha512-fxZW3woI6SOYyvq44QhlnYdcYfOfiW7zqFCPf+1Ox0OHbrug7YuMz74JNFlHJcnvB4Z6aErED+afkoYJ7vxohQ==} peerDependencies: size-limit: 11.1.2 + '@size-limit/preset-small-lib@11.1.6': + resolution: {integrity: sha512-hlmkBlOryJIsKlGpS61Ti7/EEZomygAzOabpo2htdxUbkCkvtVoUQpGWHUfWuxdhheDVF6rtZZ6lPGftMKlaQg==} + peerDependencies: + size-limit: 11.1.6 + '@storybook/addon-actions@7.6.17': resolution: {integrity: sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==} @@ -2374,6 +2519,25 @@ packages: resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + '@testing-library/jest-dom@6.6.3': + resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/react@16.1.0': + resolution: {integrity: sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg==} + engines: {node: '>=18'} + peerDependencies: + '@testing-library/dom': ^10.0.0 + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@testing-library/user-event@14.3.0': resolution: {integrity: sha512-P02xtBBa8yMaLhK8CzJCIns8rqwnF6FxhR9zs810flHOBXUYCFjLd8Io1rQrAkQRWEmW2PGdZIEdMxf/KLsqFA==} engines: {node: '>=12', npm: '>=6'} @@ -2512,20 +2676,14 @@ packages: '@types/pretty-hrtime@1.0.3': resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} - '@types/prop-types@15.7.11': - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - '@types/qs@6.9.12': resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react@18.2.64': - resolution: {integrity: sha512-MlmPvHgjj2p3vZaxbQgFUQFvD8QiZwACfGqEdDSWou5yISWxDQ4/74nCAwsUiX7UFLKZz3BbVSPj+YxeoGGCfg==} - - '@types/scheduler@0.16.8': - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + '@types/react@19.0.2': + resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -2636,38 +2794,82 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@vitejs/plugin-react@4.3.4': + resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + '@vitest/coverage-v8@2.0.5': resolution: {integrity: sha512-qeFcySCg5FLO2bHHSa0tAZAOnAUbp4L6/A5JDuj9+bt53JREl8hpLjLHEWF0e/gWc8INVpJaqA7+Ene2rclpZg==} peerDependencies: vitest: 2.0.5 + '@vitest/coverage-v8@2.1.8': + resolution: {integrity: sha512-2Y7BPlKH18mAZYAW1tYByudlCYrQyl5RGvnnDYJKW5tCiO5qg3KSAy3XAxcxKz900a0ZXxWtKrMuZLe3lKBpJw==} + peerDependencies: + '@vitest/browser': 2.1.8 + vitest: 2.1.8 + peerDependenciesMeta: + '@vitest/browser': + optional: true + '@vitest/expect@0.34.6': resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==} '@vitest/expect@2.0.5': resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + '@vitest/expect@2.1.8': + resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} + + '@vitest/mocker@2.1.8': + resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + '@vitest/pretty-format@2.0.5': resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + '@vitest/pretty-format@2.1.8': + resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} + '@vitest/runner@2.0.5': resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} + '@vitest/runner@2.1.8': + resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} + '@vitest/snapshot@2.0.5': resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} + '@vitest/snapshot@2.1.8': + resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} + '@vitest/spy@0.34.6': resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} '@vitest/spy@2.0.5': resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + '@vitest/spy@2.1.8': + resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} + '@vitest/utils@0.34.6': resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + '@vitest/utils@2.1.8': + resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} + '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15': resolution: {integrity: sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==} engines: {node: '>=14.15.0'} @@ -2940,6 +3142,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.3: + resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -2995,6 +3202,9 @@ packages: caniuse-lite@1.0.30001596: resolution: {integrity: sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==} + caniuse-lite@1.0.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} @@ -3003,6 +3213,10 @@ packages: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} engines: {node: '>=12'} + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -3033,6 +3247,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -3261,6 +3479,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -3408,6 +3635,9 @@ packages: electron-to-chromium@1.4.699: resolution: {integrity: sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==} + electron-to-chromium@1.5.76: + resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3458,6 +3688,9 @@ packages: es-module-lexer@0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + es-module-lexer@1.6.0: + resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + es-set-tostringtag@2.0.3: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} @@ -3501,6 +3734,10 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -3659,6 +3896,10 @@ packages: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} + expect-type@1.1.0: + resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + engines: {node: '>=12.0.0'} + express@4.18.3: resolution: {integrity: sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==} engines: {node: '>= 0.10.0'} @@ -3696,6 +3937,14 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fdir@6.4.2: + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fetch-retry@5.0.6: resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==} @@ -4339,6 +4588,10 @@ packages: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4372,6 +4625,11 @@ packages: engines: {node: '>=4'} hasBin: 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==} @@ -4434,6 +4692,10 @@ packages: resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -4506,6 +4768,9 @@ packages: loupe@3.1.1: resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + lru-cache@10.2.0: resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} @@ -4524,6 +4789,9 @@ packages: magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} @@ -4723,6 +4991,11 @@ packages: engines: {node: ^18 || >=20} hasBin: true + nanoid@5.0.9: + resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==} + engines: {node: ^18 || >=20} + hasBin: true + nanospinner@1.1.0: resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==} @@ -4762,6 +5035,9 @@ packages: node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -4987,6 +5263,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -5123,6 +5403,11 @@ packages: peerDependencies: react: ^18.2.0 + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + peerDependencies: + react: ^19.0.0 + react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -5132,6 +5417,10 @@ packages: react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + react-remove-scroll-bar@2.3.5: resolution: {integrity: sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==} engines: {node: '>=10'} @@ -5167,6 +5456,10 @@ packages: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -5190,6 +5483,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + recast@0.23.6: resolution: {integrity: sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==} engines: {node: '>= 4'} @@ -5337,6 +5634,9 @@ packages: scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -5407,6 +5707,11 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + size-limit@11.1.6: + resolution: {integrity: sha512-S5ux2IB8rU26xwVgMskmknGMFkieaIAqDLuwgKiypk6oa4lFsie8yFPrzRFV+yrLDY2GddjXuCaVk5PveVOHiQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -5476,6 +5781,9 @@ packages: std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} @@ -5627,6 +5935,13 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + tinypool@1.0.1: resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5643,6 +5958,10 @@ packages: resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} engines: {node: '>=14.0.0'} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -5768,6 +6087,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + ufo@1.4.0: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} @@ -5837,6 +6161,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -5897,6 +6227,11 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-node@2.1.8: + resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + vite@5.0.11: resolution: {integrity: sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5965,6 +6300,46 @@ packages: yaml: optional: true + vite@6.0.7: + resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vitest@2.0.5: resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5990,6 +6365,31 @@ packages: jsdom: optional: true + vitest@2.1.8: + resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.8 + '@vitest/ui': 2.1.8 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -6165,8 +6565,16 @@ snapshots: '@babel/highlight': 7.23.4 chalk: 2.4.2 + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/compat-data@7.23.5': {} + '@babel/compat-data@7.26.3': {} + '@babel/core@7.24.0': dependencies: '@ampproject/remapping': 2.3.0 @@ -6187,6 +6595,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + convert-source-map: 2.0.0 + debug: 4.3.6 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.23.6': dependencies: '@babel/types': 7.24.0 @@ -6194,6 +6622,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + '@babel/generator@7.26.3': + dependencies: + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + '@babel/helper-annotate-as-pure@7.22.5': dependencies: '@babel/types': 7.24.0 @@ -6210,6 +6646,14 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.3 + lru-cache: 5.1.1 + semver: 6.3.1 + '@babel/helper-create-class-features-plugin@7.24.0(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 @@ -6271,6 +6715,13 @@ snapshots: dependencies: '@babel/types': 7.24.0 + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 @@ -6280,12 +6731,23 @@ snapshots: '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-optimise-call-expression@7.22.5': dependencies: '@babel/types': 7.24.0 '@babel/helper-plugin-utils@7.24.0': {} + '@babel/helper-plugin-utils@7.25.9': {} + '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 @@ -6316,12 +6778,18 @@ snapshots: '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-validator-identifier@7.22.20': {} '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-option@7.23.5': {} + '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-wrap-function@7.22.20': dependencies: '@babel/helper-function-name': 7.23.0 @@ -6336,6 +6804,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + '@babel/highlight@7.23.4': dependencies: '@babel/helper-validator-identifier': 7.22.20 @@ -6350,6 +6823,10 @@ snapshots: dependencies: '@babel/types': 7.25.6 + '@babel/parser@7.26.3': + dependencies: + '@babel/types': 7.26.3 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 @@ -6716,6 +7193,16 @@ snapshots: '@babel/core': 7.24.0 '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 @@ -6914,6 +7401,12 @@ snapshots: '@babel/parser': 7.24.0 '@babel/types': 7.24.0 + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@babel/traverse@7.24.0': dependencies: '@babel/code-frame': 7.23.5 @@ -6929,6 +7422,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.26.4': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + debug: 4.3.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.24.0': dependencies: '@babel/helper-string-parser': 7.23.4 @@ -6941,6 +7446,11 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 + '@babel/types@7.26.3': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@bcoe/v8-coverage@0.2.3': {} '@colors/colors@1.5.0': @@ -7544,7 +8054,7 @@ snapshots: '@mdx-js/react@2.3.0(react@18.2.0)': dependencies: '@types/mdx': 2.0.11 - '@types/react': 18.2.64 + '@types/react': 19.0.2 react: 18.2.0 '@ndelangen/get-tarball@3.0.9': @@ -7616,288 +8126,234 @@ snapshots: dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-arrow@1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-arrow@1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-collection@1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-collection@1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) + '@radix-ui/react-context': 1.0.1(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-compose-refs@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-context@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-context@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-direction@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-direction@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-dismissable-layer@1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-dismissable-layer@1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-focus-guards@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-focus-scope@1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-focus-scope@1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-id@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-id@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-popper@1.1.2(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-popper@1.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) + '@radix-ui/react-context': 1.0.1(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(react@18.2.0) '@radix-ui/rect': 1.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-portal@1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-portal@1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-primitive@1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-primitive@1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-roving-focus@1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-roving-focus@1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) + '@radix-ui/react-context': 1.0.1(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(react@18.2.0) + '@radix-ui/react-id': 1.0.1(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-select@1.2.2(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-select@1.2.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) + '@radix-ui/react-context': 1.0.1(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.64)(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 + react-remove-scroll: 2.5.5(react@18.2.0) - '@radix-ui/react-separator@1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-separator@1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-slot@1.0.2(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-slot@1.0.2(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-toggle-group@1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-toggle-group@1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-toggle@1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-toggle@1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-toolbar@1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-toolbar@1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.64)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-separator': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-context': 1.0.1(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-separator': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-use-callback-ref@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-use-controllable-state@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-use-escape-keydown@1.0.3(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-use-layout-effect@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-use-previous@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-use-previous@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-use-rect@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-use-rect@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 '@radix-ui/rect': 1.0.1 react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-use-size@1.0.1(@types/react@18.2.64)(react@18.2.0)': + '@radix-ui/react-use-size@1.0.1(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.64)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) react: 18.2.0 - optionalDependencies: - '@types/react': 18.2.64 - '@radix-ui/react-visually-hidden@1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-visually-hidden@1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.0 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 '@radix-ui/rect@1.0.1': dependencies: @@ -8009,16 +8465,32 @@ snapshots: nanoid: 5.0.6 size-limit: 11.1.2 + '@size-limit/esbuild@11.1.6(size-limit@11.1.6)': + dependencies: + esbuild: 0.24.2 + nanoid: 5.0.9 + size-limit: 11.1.6 + '@size-limit/file@11.1.2(size-limit@11.1.2)': dependencies: size-limit: 11.1.2 + '@size-limit/file@11.1.6(size-limit@11.1.6)': + dependencies: + size-limit: 11.1.6 + '@size-limit/preset-small-lib@11.1.2(size-limit@11.1.2)': dependencies: '@size-limit/esbuild': 11.1.2(size-limit@11.1.2) '@size-limit/file': 11.1.2(size-limit@11.1.2) size-limit: 11.1.2 + '@size-limit/preset-small-lib@11.1.6(size-limit@11.1.6)': + dependencies: + '@size-limit/esbuild': 11.1.6(size-limit@11.1.6) + '@size-limit/file': 11.1.6(size-limit@11.1.6) + size-limit: 11.1.6 + '@storybook/addon-actions@7.6.17': dependencies: '@storybook/core-events': 7.6.17 @@ -8034,9 +8506,9 @@ snapshots: memoizerific: 1.11.3 ts-dedent: 2.2.0 - '@storybook/addon-controls@7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-controls@7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@storybook/blocks': 7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/blocks': 7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) lodash: 4.17.21 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -8047,13 +8519,13 @@ snapshots: - react-dom - supports-color - '@storybook/addon-docs@7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-docs@7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@jest/transform': 29.7.0 '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/blocks': 7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 7.6.17 - '@storybook/components': 7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/components': 7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/csf-plugin': 7.6.17 '@storybook/csf-tools': 7.6.17 '@storybook/global': 5.0.0 @@ -8076,12 +8548,12 @@ snapshots: - encoding - supports-color - '@storybook/addon-essentials@7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/addon-essentials@7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/addon-actions': 7.6.17 '@storybook/addon-backgrounds': 7.6.17 - '@storybook/addon-controls': 7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/addon-docs': 7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-controls': 7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/addon-docs': 7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/addon-highlight': 7.6.17 '@storybook/addon-measure': 7.6.17 '@storybook/addon-outline': 7.6.17 @@ -8120,11 +8592,11 @@ snapshots: dependencies: memoizerific: 1.11.3 - '@storybook/blocks@7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/blocks@7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@storybook/channels': 7.6.17 '@storybook/client-logger': 7.6.17 - '@storybook/components': 7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/components': 7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/core-events': 7.6.17 '@storybook/csf': 0.1.2 '@storybook/docs-tools': 7.6.17 @@ -8175,7 +8647,7 @@ snapshots: - encoding - supports-color - '@storybook/builder-vite@7.6.17(typescript@5.3.3)(vite@6.0.6(@types/node@20.11.25)(jiti@1.21.0))': + '@storybook/builder-vite@7.6.17(typescript@5.7.2)(vite@6.0.6(@types/node@20.11.25)(jiti@2.4.2))': dependencies: '@storybook/channels': 7.6.17 '@storybook/client-logger': 7.6.17 @@ -8193,9 +8665,9 @@ snapshots: fs-extra: 11.1.1 magic-string: 0.30.8 rollup: 3.29.4 - vite: 6.0.6(@types/node@20.11.25)(jiti@1.21.0) + vite: 6.0.6(@types/node@20.11.25)(jiti@2.4.2) optionalDependencies: - typescript: 5.3.3 + typescript: 5.7.2 transitivePeerDependencies: - encoding - supports-color @@ -8280,10 +8752,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/components@7.6.17(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@storybook/components@7.6.17(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/react-select': 1.2.2(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toolbar': 1.0.4(@types/react@18.2.64)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-select': 1.2.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toolbar': 1.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@storybook/client-logger': 7.6.17 '@storybook/csf': 0.1.2 '@storybook/global': 5.0.0 @@ -8511,7 +8983,7 @@ snapshots: '@storybook/instrumenter': 7.6.17 '@storybook/preview-api': 7.6.17 '@testing-library/dom': 9.3.4 - '@testing-library/jest-dom': 6.5.0 + '@testing-library/jest-dom': 6.6.3 '@testing-library/user-event': 14.3.0(@testing-library/dom@9.3.4) '@types/chai': 4.3.12 '@vitest/expect': 0.34.6 @@ -8567,6 +9039,25 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 + '@testing-library/jest-dom@6.6.3': + dependencies: + '@adobe/css-tools': 4.4.0 + aria-query: 5.3.0 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + + '@testing-library/react@16.1.0(@testing-library/dom@10.4.0)(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@babel/runtime': 7.24.0 + '@testing-library/dom': 10.4.0 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.2 + '@testing-library/user-event@14.3.0(@testing-library/dom@9.3.4)': dependencies: '@testing-library/dom': 9.3.4 @@ -8722,20 +9213,14 @@ snapshots: '@types/pretty-hrtime@1.0.3': {} - '@types/prop-types@15.7.11': {} - '@types/qs@6.9.12': {} '@types/range-parser@1.2.7': {} - '@types/react@18.2.64': + '@types/react@19.0.2': dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 csstype: 3.1.3 - '@types/scheduler@0.16.8': {} - '@types/semver@7.5.8': {} '@types/send@0.17.4': @@ -8888,6 +9373,17 @@ snapshots: '@ungap/structured-clone@1.2.0': {} + '@vitejs/plugin-react@4.3.4(vite@6.0.7(@types/node@20.11.25)(jiti@2.4.2))': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 6.0.7(@types/node@20.11.25)(jiti@2.4.2) + transitivePeerDependencies: + - supports-color + '@vitest/coverage-v8@2.0.5(vitest@2.0.5(@types/node@20.11.25)(happy-dom@16.3.0))': dependencies: '@ampproject/remapping': 2.3.0 @@ -8906,6 +9402,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@20.11.25)(happy-dom@16.3.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.4.0 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.1.7 + magic-string: 0.30.17 + magicast: 0.3.5 + std-env: 3.8.0 + test-exclude: 7.0.1 + tinyrainbow: 1.2.0 + vitest: 2.1.8(@types/node@20.11.25)(happy-dom@16.3.0) + transitivePeerDependencies: + - supports-color + '@vitest/expect@0.34.6': dependencies: '@vitest/spy': 0.34.6 @@ -8919,21 +9433,51 @@ snapshots: chai: 5.1.1 tinyrainbow: 1.2.0 + '@vitest/expect@2.1.8': + dependencies: + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 + chai: 5.1.2 + tinyrainbow: 1.2.0 + + '@vitest/mocker@2.1.8(vite@5.0.11(@types/node@20.11.25))': + dependencies: + '@vitest/spy': 2.1.8 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + vite: 5.0.11(@types/node@20.11.25) + '@vitest/pretty-format@2.0.5': dependencies: tinyrainbow: 1.2.0 + '@vitest/pretty-format@2.1.8': + dependencies: + tinyrainbow: 1.2.0 + '@vitest/runner@2.0.5': dependencies: '@vitest/utils': 2.0.5 pathe: 1.1.2 + '@vitest/runner@2.1.8': + dependencies: + '@vitest/utils': 2.1.8 + pathe: 1.1.2 + '@vitest/snapshot@2.0.5': dependencies: '@vitest/pretty-format': 2.0.5 magic-string: 0.30.11 pathe: 1.1.2 + '@vitest/snapshot@2.1.8': + dependencies: + '@vitest/pretty-format': 2.1.8 + magic-string: 0.30.17 + pathe: 1.1.2 + '@vitest/spy@0.34.6': dependencies: tinyspy: 2.2.1 @@ -8942,6 +9486,10 @@ snapshots: dependencies: tinyspy: 3.0.0 + '@vitest/spy@2.1.8': + dependencies: + tinyspy: 3.0.2 + '@vitest/utils@0.34.6': dependencies: diff-sequences: 29.6.3 @@ -8955,6 +9503,12 @@ snapshots: loupe: 3.1.1 tinyrainbow: 1.2.0 + '@vitest/utils@2.1.8': + dependencies: + '@vitest/pretty-format': 2.1.8 + loupe: 3.1.2 + tinyrainbow: 1.2.0 + '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.18.20)': dependencies: esbuild: 0.18.20 @@ -9280,6 +9834,13 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) + browserslist@4.24.3: + dependencies: + caniuse-lite: 1.0.30001690 + electron-to-chromium: 1.5.76 + node-releases: 2.0.19 + update-browserslist-db: 1.1.1(browserslist@4.24.3) + bser@2.1.1: dependencies: node-int64: 0.4.0 @@ -9325,6 +9886,8 @@ snapshots: caniuse-lite@1.0.30001596: {} + caniuse-lite@1.0.30001690: {} + chai@4.4.1: dependencies: assertion-error: 1.1.0 @@ -9343,6 +9906,14 @@ snapshots: loupe: 3.1.1 pathval: 2.0.0 + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.1 + pathval: 2.0.0 + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -9382,6 +9953,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.0.2 + chownr@1.1.4: {} chownr@2.0.0: {} @@ -9616,6 +10191,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -9772,6 +10351,8 @@ snapshots: electron-to-chromium@1.4.699: {} + electron-to-chromium@1.5.76: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -9875,6 +10456,8 @@ snapshots: es-module-lexer@0.9.3: {} + es-module-lexer@1.6.0: {} + es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 @@ -10007,6 +10590,8 @@ snapshots: escalade@3.1.2: {} + escalade@3.2.0: {} + escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -10236,6 +10821,8 @@ snapshots: dependencies: homedir-polyfill: 1.0.3 + expect-type@1.1.0: {} + express@4.18.3: dependencies: accepts: 1.3.8 @@ -10315,6 +10902,10 @@ snapshots: dependencies: pend: 1.2.0 + fdir@6.4.2(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + fetch-retry@5.0.6: {} figures@3.2.0: @@ -11011,6 +11602,8 @@ snapshots: jiti@1.21.0: {} + jiti@2.4.2: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -11055,6 +11648,8 @@ snapshots: jsesc@2.5.2: {} + jsesc@3.1.0: {} + json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} @@ -11109,6 +11704,8 @@ snapshots: lilconfig@3.1.1: {} + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} locate-path@3.0.0: @@ -11169,6 +11766,8 @@ snapshots: dependencies: get-func-name: 2.0.2 + loupe@3.1.2: {} + lru-cache@10.2.0: {} lru-cache@5.1.1: @@ -11185,6 +11784,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.8: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -11348,6 +11951,8 @@ snapshots: nanoid@5.0.6: {} + nanoid@5.0.9: {} + nanospinner@1.1.0: dependencies: picocolors: 1.0.0 @@ -11374,6 +11979,8 @@ snapshots: node-releases@2.0.14: {} + node-releases@2.0.19: {} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -11603,6 +12210,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: {} + pify@4.0.1: {} pirates@4.0.6: {} @@ -11628,7 +12237,7 @@ snapshots: postcss@8.4.33: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 + picocolors: 1.1.1 source-map-js: 1.0.2 postcss@8.4.49: @@ -11748,44 +12357,47 @@ snapshots: react: 18.2.0 scheduler: 0.23.0 + react-dom@19.0.0(react@19.0.0): + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + react-is@16.13.1: {} react-is@17.0.2: {} react-is@18.2.0: {} - react-remove-scroll-bar@2.3.5(@types/react@18.2.64)(react@18.2.0): + react-refresh@0.14.2: {} + + react-remove-scroll-bar@2.3.5(react@18.2.0): dependencies: react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.64)(react@18.2.0) + react-style-singleton: 2.2.1(react@18.2.0) tslib: 2.6.2 - optionalDependencies: - '@types/react': 18.2.64 - react-remove-scroll@2.5.5(@types/react@18.2.64)(react@18.2.0): + react-remove-scroll@2.5.5(react@18.2.0): dependencies: react: 18.2.0 - react-remove-scroll-bar: 2.3.5(@types/react@18.2.64)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.64)(react@18.2.0) + react-remove-scroll-bar: 2.3.5(react@18.2.0) + react-style-singleton: 2.2.1(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.1(@types/react@18.2.64)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.64)(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.64 + use-callback-ref: 1.3.1(react@18.2.0) + use-sidecar: 1.1.2(react@18.2.0) - react-style-singleton@2.2.1(@types/react@18.2.64)(react@18.2.0): + react-style-singleton@2.2.1(react@18.2.0): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 tslib: 2.6.2 - optionalDependencies: - '@types/react': 18.2.64 react@18.2.0: dependencies: loose-envify: 1.4.0 + react@19.0.0: {} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -11824,6 +12436,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.2: {} + recast@0.23.6: dependencies: ast-types: 0.16.1 @@ -12024,6 +12638,8 @@ snapshots: dependencies: loose-envify: 1.4.0 + scheduler@0.25.0: {} + semver@5.7.2: {} semver@6.3.1: {} @@ -12114,6 +12730,16 @@ snapshots: nanospinner: 1.1.0 picocolors: 1.0.0 + size-limit@11.1.6: + dependencies: + bytes-iec: 3.1.1 + chokidar: 4.0.3 + jiti: 2.4.2 + lilconfig: 3.1.3 + nanospinner: 1.1.0 + picocolors: 1.1.1 + tinyglobby: 0.2.10 + slash@3.0.0: {} slash@5.1.0: {} @@ -12170,6 +12796,8 @@ snapshots: std-env@3.7.0: {} + std-env@3.8.0: {} + stop-iteration-iterator@1.0.0: dependencies: internal-slot: 1.0.7 @@ -12350,6 +12978,13 @@ snapshots: tinybench@2.9.0: {} + tinyexec@0.3.2: {} + + tinyglobby@0.2.10: + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@1.0.1: {} tinyrainbow@1.2.0: {} @@ -12358,6 +12993,8 @@ snapshots: tinyspy@3.0.0: {} + tinyspy@3.0.2: {} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -12467,6 +13104,8 @@ snapshots: typescript@5.3.3: {} + typescript@5.7.2: {} + ufo@1.4.0: {} uglify-js@3.17.4: @@ -12528,18 +13167,22 @@ snapshots: dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.1.1 + + update-browserslist-db@1.1.1(browserslist@4.24.3): + dependencies: + browserslist: 4.24.3 + escalade: 3.2.0 + picocolors: 1.1.1 uri-js@4.4.1: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.1(@types/react@18.2.64)(react@18.2.0): + use-callback-ref@1.3.1(react@18.2.0): dependencies: react: 18.2.0 tslib: 2.6.2 - optionalDependencies: - '@types/react': 18.2.64 use-resize-observer@9.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: @@ -12547,13 +13190,11 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - use-sidecar@1.1.2(@types/react@18.2.64)(react@18.2.0): + use-sidecar@1.1.2(react@18.2.0): dependencies: detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 - optionalDependencies: - '@types/react': 18.2.64 util-deprecate@1.0.2: {} @@ -12609,6 +13250,23 @@ snapshots: - supports-color - terser + vite-node@2.1.8(@types/node@20.11.25): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 1.1.2 + vite: 5.0.11(@types/node@20.11.25) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + vite@5.0.11(@types/node@20.11.25): dependencies: esbuild: 0.19.11 @@ -12618,7 +13276,7 @@ snapshots: '@types/node': 20.11.25 fsevents: 2.3.3 - vite@6.0.6(@types/node@20.11.25)(jiti@1.21.0): + vite@6.0.6(@types/node@20.11.25)(jiti@2.4.2): dependencies: esbuild: 0.24.2 postcss: 8.4.49 @@ -12626,7 +13284,17 @@ snapshots: optionalDependencies: '@types/node': 20.11.25 fsevents: 2.3.3 - jiti: 1.21.0 + jiti: 2.4.2 + + vite@6.0.7(@types/node@20.11.25)(jiti@2.4.2): + dependencies: + esbuild: 0.24.2 + postcss: 8.4.49 + rollup: 4.29.1 + optionalDependencies: + '@types/node': 20.11.25 + fsevents: 2.3.3 + jiti: 2.4.2 vitest@2.0.5(@types/node@20.11.25)(happy-dom@16.3.0): dependencies: @@ -12661,6 +13329,41 @@ snapshots: - supports-color - terser + vitest@2.1.8(@types/node@20.11.25)(happy-dom@16.3.0): + dependencies: + '@vitest/expect': 2.1.8 + '@vitest/mocker': 2.1.8(vite@5.0.11(@types/node@20.11.25)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.8 + '@vitest/snapshot': 2.1.8 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.17 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.0.11(@types/node@20.11.25) + vite-node: 2.1.8(@types/node@20.11.25) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 20.11.25 + happy-dom: 16.3.0 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - stylus + - sugarss + - supports-color + - terser + walker@1.0.8: dependencies: makeerror: 1.0.12 diff --git a/todo.txt b/todo.txt index 24c3661..2b89749 100644 --- a/todo.txt +++ b/todo.txt @@ -5,17 +5,14 @@ - Reflect.get is slow - arr.length = 0 is slower than arr = [] -- @kida/react - - useSignal - - useInject - - context - - alien-signals - runner arg for lifecycles? - restore object arg for record? -- additional arg for record in for$? +- additional arg for record in for$? as$ - batch to debounce? - atIndex$ atKey$ ? +- static index for untracked loop +- predefined trackers - serialize - start all marked stores? - html + head components