diff --git a/README.md b/README.md index 9b8c02c0..6e35bc9d 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,37 @@ -> ⚠️ dotUI is still in development, [follow me on X](https://x.com/mehdibha_) to stay updated. -
- -
- - Logo - -

dotUI

-

- Scaffold, implement, ship unique. -

-

- - Visit site - · - Report Bug - · - Request Feature -

-
- - - -## About The Project - -dotUI is here to solve a problem every React developer knows all too well: **standing out**. -You're not just getting a collection of components, you're gaining a toolkit that lets you craft a unique, robust design system for your project. - -If you want to join this journey, i'm streaming everyday at our discord channel - - + +> Each time a component library gets popular, all apps start looking the... same. + +# dotUI + + +Build your component library with a unique style. + +![dotUI](https://github.com/user-attachments/assets/90de89e9-a1dd-47ec-8da5-5b577a109fd5) + +## Requirements + +* React 19 +* Tailwind CSS 4.0 +* Typescript + +## FAQ + +### What's different from shadcn-ui + +shadcn-ui gives you a starting point to create your component library, but this starting point is the same for everyone.
+dotUI gives you a custom starting point based on the theme you've chosen or created. + +### Why react-aria? + +Because react-aria has a lot more features than radix, primitive components are reusable, has more flexibility, is actively maintained by Adobe, it's just better. ## Contributing -See the [contribution guide](CONTRIBUTING.md) and join our amazing list of [contributors](https://github.com/mehdibha/dotUI/graphs/contributors)! +See the [contribution guide](CONTRIBUTING.md), We’d love to see your ideas, refinements, and innovations—let’s build the future of UI development. + +Join our [discord channel](https://discord.gg/DXpj5V2fU8) diff --git a/package.json b/package.json index a2f53820..472d00aa 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "build": "turbo run build", "build:cli": "turbo --filter=dotui-cli build", "build:www": "pnpm --filter=www build", + "build:internal-registry": "pnpm --filter=www build:internal-registry", "build:registry": "pnpm --filter=www build:registry", "build:docs": "pnpm --filter=www build:docs", "dev": "turbo run dev --parallel", @@ -42,15 +43,17 @@ "@changesets/cli": "^2.26.1", "@commitlint/cli": "^17.6.3", "@commitlint/config-conventional": "^17.6.3", + "@dotui/eslint-config": "workspace:*", "@manypkg/cli": "^0.21.4", "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "eslint": "^8", - "eslint-config-next": "^14.0.4", - "eslint-config-prettier": "^9.1.0", - "eslint-config-turbo": "^2.1.3", - "prettier": "^3.3.3", - "prettier-plugin-tailwindcss": "^0.6.8", - "turbo": "^2.0.12" + "prettier": "^3.4.2", + "prettier-plugin-tailwindcss": "^0.6.11", + "turbo": "^2.4.0" }, - "packageManager": "pnpm@9.5.0" + "packageManager": "pnpm@9.5.0", + "pnpm": { + "patchedDependencies": { + "tailwind-variants": "patches/tailwind-variants.patch" + } + } } diff --git a/packages/cli/.eslintrc.cjs b/packages/cli/.eslintrc.cjs deleted file mode 100644 index d44f6018..00000000 --- a/packages/cli/.eslintrc.cjs +++ /dev/null @@ -1,12 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: ["@dotui/eslint-config/library.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: true, - }, - rules: { - "@next/next/no-img-element": "off", - }, -}; \ No newline at end of file diff --git a/packages/cli/eslint.config.mjs b/packages/cli/eslint.config.mjs new file mode 100644 index 00000000..8ee4fb70 --- /dev/null +++ b/packages/cli/eslint.config.mjs @@ -0,0 +1,4 @@ +import { config } from "@dotui/eslint-config/base"; + +/** @type {import("eslint").Linter.Config} */ +export default config; diff --git a/packages/cli/package.json b/packages/cli/package.json index 64b49c24..45ab608e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -8,7 +8,7 @@ "license": "MIT", "author": { "name": "mehdibha", - "url": "https://twitter.com/mehdibha_" + "url": "https://x.com/mehdibha_" }, "repository": { "type": "git", @@ -34,8 +34,11 @@ "clean": "rimraf dist && rimraf components", "start:dev": "cross-env REGISTRY_URL=http://localhost:3000/registry node dist/index.js", "start": "node dist/index.js", + "lint": "eslint . --fix", + "lint:check": "eslint . --max-warnings 0", "format": "prettier --write \"**/*.{ts,tsx,mdx}\" --cache --log-level warn", "format:check": "prettier --check \"**/*.{ts,tsx,mdx}\" --cache --log-level warn", + "typecheck": "tsc --noEmit", "release": "changeset version", "pub:beta": "pnpm build && pnpm publish --no-git-checks --access public --tag beta", "pub:next": "pnpm build && pnpm publish --no-git-checks --access public --tag next", @@ -44,50 +47,26 @@ "test:dev": "REGISTRY_URL=http://localhost:3000/registry vitest run" }, "dependencies": { - "@antfu/ni": "^0.21.4", - "@babel/core": "^7.22.1", - "@babel/parser": "^7.22.6", - "@babel/plugin-transform-typescript": "^7.22.5", - "async-retry": "^1.3.3", - "ci-info": "^4.0.0", + "@clack/prompts": "^0.9.1", + "@dotui/schemas": "workspace:*", + "@types/fs-extra": "^11.0.4", "commander": "^10.0.0", - "conf": "^13.0.1", - "cosmiconfig": "^8.1.3", - "cross-spawn": "^7.0.3", + "cosmiconfig": "^9.0.0", "deepmerge": "^4.3.1", - "diff": "^5.1.0", - "execa": "^7.0.0", - "fast-glob": "^3.3.2", - "fs-extra": "^11.1.0", - "https-proxy-agent": "^6.2.0", - "kleur": "^4.1.5", - "lodash.template": "^4.5.0", - "node-fetch": "^3.3.0", - "ora": "^6.1.2", + "execa": "^9.5.2", + "fast-glob": "^3.3.3", + "fs-extra": "^11.3.0", + "package-manager-detector": "^0.2.9", "picocolors": "^1.1.0", - "postcss": "^8.4.31", - "prompts": "^2.4.2", - "recast": "^0.23.2", - "stringify-object": "^5.0.0", - "tar": "^7.4.3", - "ts-morph": "^18.0.0", + "ts-morph": "^25.0.0", "tsconfig-paths": "^4.2.0", + "type-fest": "^4.33.0", "zod": "^3.22.4" }, "devDependencies": { - "@dotui/registry": "workspace:*", - "@types/async-retry": "^1.4.8", - "@types/babel__core": "^7.20.1", - "@types/diff": "^5.0.3", - "@types/fs-extra": "^11.0.1", - "@types/lodash.template": "^4.5.1", - "@types/prompts": "^2.4.2", - "@types/stringify-object": "^4.0.5", - "@types/validate-npm-package-name": "^4.0.2", - "rimraf": "^6.0.1", - "tailwindcss": "^3.4.3", - "tsup": "^6.6.3", - "type-fest": "^3.8.0", + "@dotui/eslint-config": "workspace:*", + "@types/node": "^18.17.0", + "tsup": "^8.3.6", "typescript": "^5" } } diff --git a/packages/cli/src/commands/add.ts b/packages/cli/src/commands/add.ts index 18edf079..ff6587fa 100644 --- a/packages/cli/src/commands/add.ts +++ b/packages/cli/src/commands/add.ts @@ -1,204 +1,49 @@ -import { Command } from "commander"; -import path from "path"; -import prompts from "prompts"; -import { z } from "zod"; -import { addComponents } from "@/helpers/add-components"; -import { getConfig } from "@/helpers/get-config"; -import { handleError } from "@/helpers/handle-error"; -import { getRegistryIndex } from "@/helpers/registry"; -import { highlight, logger } from "@/utils"; - -export const addOptionsSchema = z.object({ - components: z.array(z.string()).optional(), - yes: z.boolean(), - overwrite: z.boolean(), - cwd: z.string(), - all: z.boolean(), - path: z.string().optional(), - silent: z.boolean(), - srcDir: z.boolean().optional(), -}); - -export const addCommand = new Command() - .name("add") - .description("add a component to your project") - .argument( - "[components...]", - "the components to add or a url to the component." - ) - .option("-y, --yes", "skip confirmation prompt.", false) - .option("-o, --overwrite", "overwrite existing files.", false) - .option( - "-c, --cwd ", - "the working directory. defaults to the current directory.", - process.cwd() - ) - .option("-a, --all", "add all available components", false) - .option("-p, --path ", "the path to add the component to.") - .option("-s, --silent", "mute output.", false) - .option( - "--src-dir", - "use the src directory when creating a new project.", - false - ) - .action(async (components, opts) => { - try { - logger.log(`${highlight.warn("⚠️ dotui-cli is under development.")}`); - logger.log(`You can follow the progress on https://x.com/mehdibha_.`); - logger.break(); - return; - const options = addOptionsSchema.parse({ - components, - cwd: path.resolve(opts.cwd), - ...opts, - }); - - // Confirm if user is installing themes. - // For now, we assume a theme is prefixed with "theme-". - const isTheme = options.components?.some((component) => - component.includes("theme-") - ); - if (!options.yes && isTheme) { - logger.break(); - const { confirm } = await prompts({ - type: "confirm", - name: "confirm", - message: highlight.warn( - "You are about to install a new theme. \nExisting CSS variables will be overwritten. Continue?" - ), - }); - if (!confirm) { - logger.break(); - logger.log("Theme installation cancelled."); - logger.break(); - process.exit(1); - } - } - - if (!options.components?.length) { - options.components = await promptForRegistryComponents(options); - } - - // let { errors, config } = await preFlightAdd(options) - - // // No component.json file. Prompt the user to run init. - // if (errors[ERRORS.MISSING_CONFIG]) { - // const { proceed } = await prompts({ - // type: "confirm", - // name: "proceed", - // message: `You need to create a ${highlight.info( - // "component.json" - // )} file to add components. Proceed?`, - // initial: true, - // }) - - // if (!proceed) { - // logger.break() - // process.exit(1) - // } - - // config = await runInit({ - // cwd: options.cwd, - // yes: true, - // force: true, - // defaults: false, - // skipPreflight: false, - // silent: true, - // isNewProject: false, - // srcDir: options.srcDir, - // }) - // } - - // if (errors[ERRORS.MISSING_DIR_OR_EMPTY_PROJECT]) { - // const { projectPath } = await createProject({ - // cwd: options.cwd, - // force: options.overwrite, - // srcDir: options.srcDir, - // }); - // if (!projectPath) { - // logger.break(); - // process.exit(1); - // } - // options.cwd = projectPath; - - // config = await runInit({ - // cwd: options.cwd, - // yes: true, - // force: true, - // defaults: false, - // skipPreflight: true, - // silent: true, - // isNewProject: true, - // srcDir: options.srcDir, - // }); - - // shouldUpdateAppIndex = - // options.components?.length === 1 && - // !!options.components[0].match(/\/chat\/b\//); - // } - - // if (!config) { - // throw new Error( - // `Failed to read config at ${highlight.info(options.cwd)}.` - // ); - // } - const config = await getConfig(options.cwd); - if (!config) { - throw new Error( - `Failed to read config at ${highlight.info(options.cwd)}.` - ); - } - await addComponents(options.components, config, options); - } catch (error) { - logger.break(); - handleError(error); - } - }); - -async function promptForRegistryComponents( - options: z.infer -) { - const registryIndex = await getRegistryIndex(); - if (!registryIndex) { - logger.break(); - handleError(new Error("Failed to fetch registry index.")); - return []; - } - - if (options.all) { - return registryIndex.map((entry) => entry.name); - } - - if (options.components?.length) { - return options.components; - } - - const { components } = await prompts({ - type: "multiselect", - name: "components", - message: "Which components would you like to add?", - hint: "Space to select. A to toggle all. Enter to submit.", - instructions: false, - choices: registryIndex - .filter((entry) => entry.type === "registry:core") - .map((entry) => ({ - title: entry.name, - value: entry.name, - selected: options.all ? true : options.components?.includes(entry.name), - })), - }); - - if (!components?.length) { - logger.warn("No components selected. Exiting."); - logger.info(""); - process.exit(1); - } - - const result = z.array(z.string()).safeParse(components); - if (!result.success) { - logger.error(""); - handleError(new Error("Something went wrong. Please try again.")); - return []; - } - return result.data; -} +import * as p from "@clack/prompts"; +import { Command } from "commander"; +import { addChecks } from "@/helpers/add-checks"; +import { addPrimitives } from "@/helpers/add-primitives"; +import { handleError } from "@/helpers/handle-error"; +import { c } from "@/utils"; + +export const addCommand = new Command() + .name("add") + .description( + "add primitives to your project and install required dependencies" + ) + .argument( + "[primitives...]", + "the primitives to add wheather components, hoooks, themes." + ) + .helpOption("-h, --help", "show all available options") + .option("-o, --overwrite", "overwrite existing files.", true) + .option("-a, --all", "add all available core components.", false) + .option( + "-d --dir", + "the working directory. defaults to the current directory.", + process.cwd() + ) + .action( + async ( + primitives: string[], + options: { overwrite: boolean; all: boolean; dir: string } + ) => { + try { + p.intro("Adding primitives."); + const { config } = await addChecks(options.dir); + await addPrimitives(primitives, config, { + overwrite: options.overwrite, + message: "Updating your project", + }); + p.outro( + `Successfully added ${c.info("button, text-field, and 21 other components.")}` + ); + } catch (error) { + p.outro( + c.error( + "Someting went wrong. If the problem persists, please open an issue on GitHub." + ) + ); + handleError(error); + } + } + ); diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index c76a5fe8..445f4193 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -1,277 +1,174 @@ -import { Command } from "commander"; -import fs from "fs-extra"; -import path from "path"; -import prompts from "prompts"; -import { z } from "zod"; -import { BASE_URL } from "@/constants/config"; -import { - DEFAULT_COMPONENTS_ALIAS, - DEFAULT_CORE_ALIAS, - DEFAULT_HOOKS_ALIAS, - DEFAULT_UTILS_ALIAS, -} from "@/constants/default-config"; -import { addComponents } from "@/helpers/add-components"; -import { - Config, - rawConfigSchema, - resolveConfigPaths, -} from "@/helpers/get-config"; -import { getProjectInfo } from "@/helpers/get-project-info"; -import { handleError } from "@/helpers/handle-error"; -import { isEmptyProject } from "@/helpers/is-empty-project"; -import { onPromptState } from "@/helpers/on-prompt-state"; -import { - getRegistryColorSystems, - getRegistryIconLibrairies, - getRegistryStyles, - getRegistryThemes, -} from "@/helpers/registry"; -import { logger, highlight, spinner } from "@/utils"; - -const initOptionsSchema = z.object({ - projectDir: z.string().optional(), - yes: z.boolean(), - skipInstall: z.boolean(), -}); - -export const init = new Command() - .name("init") - .description("initialize your project and install required dependencies") - .argument("[projectDir]") - .usage("[projectDir] [options]") - .helpOption("-h, --help", "Display this help message.") - .option("-y --yes", "use default options", false) - .option("--skip-install", "skip install", false) - .action(async (projectDir, opts) => { - try { - logger.log( - `${highlight.warn("⚠️ dotui-cli is still under development.")}` - ); - logger.log(`You can follow the progress on https://x.com/mehdibha_.`); - logger.break(); - return; - const options = initOptionsSchema.parse({ projectDir, ...opts }); - await runInit(options); - logger.log( - `${highlight.success("Success!")} Project initialization completed.` - ); - logger.break(); - logger.log( - `You may now add components, hooks, and more using the \`add\` command.` - ); - logger.break(); - logger.log(`We suggest that you begin by typing:`); - logger.break(); - logger.success(" npx dotui-cli@latest add button"); - } catch (error) { - logger.break(); - handleError(error); - } - }); - -export async function runInit(options: z.infer) { - let projectDir = options.projectDir ?? process.cwd(); - const emptyProject = isEmptyProject(projectDir); - if (emptyProject) { - logger.log( - `We could not find a project at ${highlight.error(projectDir)}.` - ); - logger.break(); - process.exit(1); - } - - // We check if a config file already exists - const configPath = path.resolve(projectDir, "dotui.config.json"); - const checkConfigSpinner = spinner(`Verifying your project config.`).start(); - if (fs.existsSync(configPath) && !options.yes) { - { - checkConfigSpinner?.fail(); - const { proceed } = await prompts({ - onState: onPromptState, - type: "confirm", - name: "proceed", - message: `A ${highlight.info( - "dotui.config.json" - )} file already exists.\nDo you want to overwrite it?`, - initial: false, - }); - if (!proceed) { - process.exit(1); - } - fs.removeSync(configPath); - } - } - checkConfigSpinner?.succeed(); - - // We check the framework - const frameworkSpinner = spinner(`Verifying framework.`).start(); - const projectInfo = await getProjectInfo(projectDir); - if (!projectInfo || projectInfo?.framework.name === "manual") { - frameworkSpinner?.fail(); - logger.break(); - logger.error( - `We could not detect a supported framework at ${highlight.info( - projectDir - )}.` - ); - logger.break(); - process.exit(1); - } - frameworkSpinner?.succeed( - `Verifying framework. Found ${highlight.info(projectInfo.framework.label)}.` - ); - - // We check the tailwind configuration - const tailwindSpinner = spinner(`Validating Tailwind CSS.`).start(); - if (!projectInfo?.tailwindConfigFile || !projectInfo?.tailwindCssFile) { - tailwindSpinner?.fail(); - logger.break(); - logger.error( - `No Tailwind CSS configuration found at ${highlight.info(projectDir)}.` - ); - logger.error( - `It is likely you do not have Tailwind CSS installed or have an invalid configuration.` - ); - logger.error(`Install Tailwind CSS then try again.`); - logger.break(); - process.exit(1); - } else { - tailwindSpinner?.succeed(); - } - - // We check the import alias - const tsConfigSpinner = spinner(`Validating import alias.`).start(); - if (!projectInfo?.aliasPrefix) { - tsConfigSpinner?.fail(); - logger.break(); - logger.error(`No import alias found in your tsconfig.json file.`); - logger.break(); - process.exit(1); - } else { - tsConfigSpinner?.succeed(); - } - - logger.break(); - - // const { config, theme } = await promptForConfig({ - // projectDir, - // yes: options.yes, - // skipInstall: options.skipInstall, - // }); - - // // Write dotui.config.json. - // const configSpinner = spinner(`Writing dotui.config.json.`).start(); - // const targetPath = path.resolve(projectDir, "dotui.config.json"); - // await fs.writeFile(targetPath, JSON.stringify(config, null, 2), "utf8"); - // configSpinner.succeed(); - - // const fullConfig = await resolveConfigPaths(projectDir, config); - // await addComponents(["index", theme.name], fullConfig, {}); -} - -const promptForConfig = async (opts: { - projectDir: string; - yes: boolean; - skipInstall: boolean; -}) => { - const [ - styles, - // iconLibraries, - // themes, - // colorSystems - ] = await Promise.all([ - getRegistryStyles(), - getRegistryIconLibrairies(), - // getRegistryThemes(), - // getRegistryColorSystems(), - ]); - - // const projectInfo = await getProjectInfo(opts.projectDir); - - // const options = await prompts([ - // { - // type: "select", - // name: "style", - // message: `Which ${highlight.info("style")} would you like to use?`, - // choices: styles.map((style) => ({ - // title: style.label ?? style.name, - // value: style.name, - // })), - // onState: onPromptState, - // }, - // { - // type: "select", - // name: "theme", - // message: `Which ${highlight.info("theme")} whould you like to install?`, - // choices: themes.map((theme) => ({ - // title: theme.name, - // value: theme.label, - // })), - // onState: onPromptState, - // }, - // { - // type: "select", - // name: "iconLibrary", - // message: `Which ${highlight.info( - // "icon library" - // )} whould you like to use?`, - // choices: iconLibraries.map((iconLibrary) => ({ - // title: iconLibrary.name, - // value: iconLibrary.label, - // })), - // onState: onPromptState, - // }, - // { - // type: "select", - // name: "colorSystem", - // message: `Which ${highlight.info( - // "color system" - // )} would you like to use for theming?`, - // choices: colorSystems.map((style) => ({ - // title: style.label, - // value: style.name, - // })), - // onState: onPromptState, - // }, - // ]); - - // logger.info(""); - - // const config : Config = { - // $schema: `${BASE_URL}/schema.json`, - // style: options.style, - // iconLibrary: options.iconLibrary, - // colorSystem: options.colorSystem, - // rsc: projectInfo?.isRSC, - // tsx: projectInfo?.isTsx ?? true, - // tailwind: { - // config: projectInfo?.tailwindConfigFile, - // css: projectInfo?.tailwindCssFile, - // prefix: "", - // }, - // aliases: { - // core: projectInfo?.aliasPrefix - // ? `${projectInfo.aliasPrefix}/components/core` - // : DEFAULT_CORE_ALIAS, - // components: projectInfo?.aliasPrefix - // ? `${projectInfo.aliasPrefix}/components` - // : DEFAULT_COMPONENTS_ALIAS, - // utils: projectInfo?.aliasPrefix - // ? `${projectInfo.aliasPrefix}/utils` - // : DEFAULT_UTILS_ALIAS, - // lib: projectInfo?.aliasPrefix - // ? `${projectInfo.aliasPrefix}/lib` - // : DEFAULT_COMPONENTS_ALIAS, - // hooks: projectInfo?.aliasPrefix - // ? `${projectInfo.aliasPrefix}/hooks` - // : DEFAULT_HOOKS_ALIAS, - // }, - // } - - // console.log(config) - - // return { - // config: rawConfigSchema.parse(config), - // theme: options.theme, - // }; -}; +import * as p from "@clack/prompts"; +import type { + Aliases, + ExtendedConfig, + RawConfig, + RegistryTheme, +} from "@dotui/schemas"; +import { Command } from "commander"; +import fs from "fs-extra"; +import path from "path"; +import { addPrimitives } from "@/helpers/add-primitives"; +import { resolveConfigPaths } from "@/helpers/get-config"; +import { handleError } from "@/helpers/handle-error"; +import { initChecks } from "@/helpers/init-checks"; +import { getRegistryTheme, getRegistryThemes } from "@/helpers/registry-api"; +import { c } from "@/utils"; + +export const initCommand = new Command() + .name("init") + .description("initialize your project and install required dependencies") + .argument("[themeId]") + .usage("[themeId] [options]") + .helpOption("-h, --help", "show all available options") + .option("-y --yes", "use default options", false) + .option( + "-d --dir", + "the working directory. defaults to the current directory.", + process.cwd() + ) + .action( + async ( + themeId: string | undefined, + options: { yes: boolean; dir: string } + ) => { + try { + p.intro("Initializing dotUI in your project."); + await initChecks(options); + const aliases = await getOrPromptForAlias(); + themeId = await getOrPromptForThemeId(themeId); + const theme = await getRegistryTheme(themeId); + const config = await createConfigFile(options.dir, aliases, theme); + await addPrimitives(["base", theme.iconLibrary], config, { + overwrite: true, + message: "Updating your project", + }); + p.outro( + `${c.success("Project initialized successfully.")}\n\nYou may know add components: ${c.info("npx dotui-cli add button")}` + ); + } catch (error) { + p.outro( + c.error( + "Someting went wrong. If the problem persists, please open an issue on GitHub." + ) + ); + handleError(error); + } + } + ); + +const getOrPromptForAlias = async () => { + const customizeAlias = await p.confirm({ + message: "Would you like to customize the import alias?", + initialValue: false, + }); + + if (p.isCancel(customizeAlias)) { + p.cancel("Project init cancelled."); + process.exit(0); + } + + let alias = { + components: "@/components", + core: "@/components/core", + hooks: "@/hooks", + lib: "@/lib", + utils: "@/lib/utils", + }; + + if (customizeAlias) { + alias = await p.group( + { + components: () => + p.text({ + message: `Configure the import alias for ${c.info("components")}:`, + placeholder: "@/components", + }), + core: () => + p.text({ + message: `Configure the import alias for ${c.info("core components")}:`, + placeholder: "@/components/core", + }), + hooks: () => + p.text({ + message: `Configure the import alias for ${c.info("hooks")}:`, + placeholder: "@/hooks", + }), + lib: () => + p.text({ + message: `Configure the import alias for ${c.info("lib")}:`, + placeholder: "@/lib", + }), + utils: () => + p.text({ + message: `Configure the import alias for ${c.info("utils")}:`, + placeholder: "@/lib/utils", + }), + }, + { + onCancel: () => { + p.cancel("Project init cancelled."); + process.exit(0); + }, + } + ); + } + + return alias; +}; + +async function getOrPromptForThemeId(argumentThemeId: string | undefined) { + if (argumentThemeId) return argumentThemeId; + + const themes = await getRegistryThemes(); + + const themeId = await p.select({ + message: "Select a theme:", + options: themes.map((theme) => ({ + value: theme.id, + label: theme.label, + })), + }); + + if (p.isCancel(themeId)) { + p.cancel("Project init cancelled."); + process.exit(1); + } + + return themeId; +} + +async function createConfigFile( + cwd: string, + aliases: Aliases, + theme: RegistryTheme +): Promise { + const proceed = await p.confirm({ + message: `Write configuration to ${c.info("dotui.json")}. Proceed?`, + }); + + if (p.isCancel(proceed)) { + p.cancel("Project init cancelled."); + process.exit(0); + } + + // Write config file + const createConfigSpinner = p.spinner(); + createConfigSpinner.start("Creating configuration file"); + const targetPath = path.resolve(cwd, "dotui.json"); + const rawConfig: RawConfig = { + $schema: "http://localhost:3000/schema.json", + css: "app/globals.css", // TODO FIX THIS + aliases: aliases, + iconLibrary: theme.iconLibrary, + primitives: theme.primitives, + }; + if (fs.existsSync(targetPath)) { + await fs.remove(targetPath); + } + await fs.writeFile(targetPath, JSON.stringify(rawConfig, null, 2), "utf8"); + + const config = await resolveConfigPaths(cwd, rawConfig); + createConfigSpinner.stop("Created configuration file"); + return config; +} diff --git a/packages/cli/src/constants.ts b/packages/cli/src/constants.ts new file mode 100644 index 00000000..cf78885a --- /dev/null +++ b/packages/cli/src/constants.ts @@ -0,0 +1,9 @@ +export const REGISTRY_URL = "http://localhost:3000/registry"; + +export const defaultConfig = { + primitives: { + button: "basic", + "toggle-button": "basic", + input: "basic", + }, +}; diff --git a/packages/cli/src/constants/config.ts b/packages/cli/src/constants/config.ts deleted file mode 100644 index afc9a720..00000000 --- a/packages/cli/src/constants/config.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const BASE_URL = true ? "http://localhost:3000" : "https://dotui.org"; - -export const REGISTRY_URL = "http://localhost:3000/registry"; diff --git a/packages/cli/src/constants/default-config.ts b/packages/cli/src/constants/default-config.ts deleted file mode 100644 index a29ce275..00000000 --- a/packages/cli/src/constants/default-config.ts +++ /dev/null @@ -1,15 +0,0 @@ -export const DEFAULT_STYLE = "default"; -export const DEFAULT_COLOR_SYSTEM = "default"; - -export const DEFAULT_COMPONENTS_ALIAS = "@/components"; -export const DEFAULT_CORE_ALIAS = "@/components/core"; -export const DEFAULT_UTILS_ALIAS = "@/lib/utils"; -export const DEFAULT_LIB_ALIAS = "@/lib"; -export const DEFAULT_HOOKS_ALIAS = "@/hooks"; - -export const DEFAULT_TAILWIND_CSS = "app/globals.css"; -export const DEFAULT_TAILWIND_CONFIG = "tailwind.config.js"; -export const DEFAULT_TAILWIND_BASE_COLOR = "slate"; -export const DEFAULT_TAILWIND_PREFIX = ""; - -export const DEFAULT_RSC = true; diff --git a/packages/cli/src/constants/frameworks.ts b/packages/cli/src/constants/frameworks.ts deleted file mode 100644 index 98dbbadd..00000000 --- a/packages/cli/src/constants/frameworks.ts +++ /dev/null @@ -1,68 +0,0 @@ -export const FRAMEWORKS = { - "next-app": { - name: "next-app", - label: "Next.js", - links: { - installation: "https://dotui.org/docs/installation/next", - tailwind: "https://tailwindcss.com/docs/guides/nextjs", - }, - }, - "next-pages": { - name: "next-pages", - label: "Next.js", - links: { - installation: "https://dotui.org/docs/installation/next", - tailwind: "https://tailwindcss.com/docs/guides/nextjs", - }, - }, - remix: { - name: "remix", - label: "Remix", - links: { - installation: "https://dotui.org/docs/installation/remix", - tailwind: "https://tailwindcss.com/docs/guides/remix", - }, - }, - vite: { - name: "vite", - label: "Vite", - links: { - installation: "https://dotui.org/docs/installation/vite", - tailwind: "https://tailwindcss.com/docs/guides/vite", - }, - }, - astro: { - name: "astro", - label: "Astro", - links: { - installation: "https://dotui.org/docs/installation/astro", - tailwind: "https://tailwindcss.com/docs/guides/astro", - }, - }, - laravel: { - name: "laravel", - label: "Laravel", - links: { - installation: "https://dotui.org/docs/installation/laravel", - tailwind: "https://tailwindcss.com/docs/guides/laravel", - }, - }, - gatsby: { - name: "gatsby", - label: "Gatsby", - links: { - installation: "https://dotui.org/docs/installation/gatsby", - tailwind: "https://tailwindcss.com/docs/guides/gatsby", - }, - }, - manual: { - name: "manual", - label: "Manual", - links: { - installation: "https://dotui.org/docs/installation/manual", - tailwind: "https://tailwindcss.com/docs/installation", - }, - }, -} as const; - -export type Framework = (typeof FRAMEWORKS)[keyof typeof FRAMEWORKS]; diff --git a/packages/cli/src/helpers/add-checks.ts b/packages/cli/src/helpers/add-checks.ts new file mode 100644 index 00000000..8014884b --- /dev/null +++ b/packages/cli/src/helpers/add-checks.ts @@ -0,0 +1,7 @@ +import { getConfig } from "./get-config"; + +export async function addChecks(cwd: string) { + const config = await getConfig(cwd); + if (!config) throw new Error("Failed to load config."); + return { config }; +} diff --git a/packages/cli/src/helpers/add-components.ts b/packages/cli/src/helpers/add-components.ts deleted file mode 100644 index de0aebb4..00000000 --- a/packages/cli/src/helpers/add-components.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { type Config } from "@/helpers/get-config"; -import { handleError } from "@/helpers/handle-error"; -import { registryResolveItemsTree } from "@/helpers/registry"; -import { updateCssVars } from "@/helpers/updaters/update-css-vars"; -import { updateDependencies } from "@/helpers/updaters/update-dependencies"; -import { updateFiles } from "@/helpers/updaters/update-files"; -import { updateTailwindConfig } from "@/helpers/updaters/update-tailwind-config"; -import { spinner } from "@/utils/spinner"; - -export async function addComponents( - components: string[], - config: Config, - options: { - overwrite?: boolean; - } -) { - options = { - overwrite: false, - ...options, - }; - - const registrySpinner = spinner(`Checking registry.`)?.start(); - const tree = await registryResolveItemsTree(components, config); - if (!tree) { - registrySpinner?.fail(); - return handleError(new Error("Failed to fetch components from registry.")); - } - registrySpinner?.succeed(); - - await updateTailwindConfig(tree.tailwind?.config, config); - await updateCssVars(tree.cssVars, config); - await updateDependencies(tree.dependencies, config); - await updateFiles(tree.files, config, { - overwrite: options.overwrite, - }); -} diff --git a/packages/cli/src/helpers/add-primitives.ts b/packages/cli/src/helpers/add-primitives.ts new file mode 100644 index 00000000..426bda04 --- /dev/null +++ b/packages/cli/src/helpers/add-primitives.ts @@ -0,0 +1,35 @@ +import { spinner } from "@clack/prompts"; +import { ExtendedConfig } from "@dotui/schemas"; +import { resolvePrimitives } from "@/registry/api"; +import { updateDeps, updateFiles } from "@/helpers/updaters"; + +export async function addPrimitives( + primitives: string[], + config: ExtendedConfig, + options?: { + overwrite?: boolean; + message?: string; + } +) { + options = { + overwrite: false, + message: "Adding primitives.", + ...options, + }; + + const addPrimitivesSpinner = spinner(); + + addPrimitivesSpinner.start(options.message); + addPrimitivesSpinner.message("Cheking registry"); + const { files, deps } = await resolvePrimitives(primitives, config); + + addPrimitivesSpinner.message("Updating your CSS."); + + addPrimitivesSpinner.message("Updating dependencies."); + await updateDeps(deps, config); + + addPrimitivesSpinner.message("Updating files."); + await updateFiles(files ?? [], config, { overwrite: options.overwrite }); + + addPrimitivesSpinner.stop(options.message); +} diff --git a/packages/cli/src/helpers/get-config-paths.ts b/packages/cli/src/helpers/get-config-paths.ts new file mode 100644 index 00000000..04d50592 --- /dev/null +++ b/packages/cli/src/helpers/get-config-paths.ts @@ -0,0 +1,12 @@ +// import { z } from "zod"; + +// export const configSchema = z.object({ +// cwd: z.string(), +// tailwindConfig: z.string(), +// tailwindCss: z.string(), +// utils: z.string(), +// components: z.string(), +// lib: z.string(), +// hooks: z.string(), +// core: z.string(), +// }); diff --git a/packages/cli/src/helpers/get-config.ts b/packages/cli/src/helpers/get-config.ts index 780401dc..2903e376 100644 --- a/packages/cli/src/helpers/get-config.ts +++ b/packages/cli/src/helpers/get-config.ts @@ -1,131 +1,58 @@ -import { cosmiconfig } from "cosmiconfig"; -import path from "path"; -import { loadConfig } from "tsconfig-paths"; -import { z } from "zod"; -import { resolveImport, highlight } from "@/utils"; - -export const DEFAULT_STYLE = "default"; -export const DEFAULT_COMPONENTS = "@/components"; -export const DEFAULT_UTILS = "@/lib/utils"; -export const DEFAULT_TAILWIND_CSS = "app/globals.css"; -export const DEFAULT_TAILWIND_CONFIG = "tailwind.config.js"; -export const DEFAULT_TAILWIND_BASE_COLOR = "slate"; - -// TODO: Figure out if we want to support all cosmiconfig formats. -// A simple components.json file would be nice. -const explorer = cosmiconfig("dotui.config", { - searchPlaces: ["dotui.config.json"], -}); - -export const rawConfigSchema = z - .object({ - $schema: z.string().optional(), - style: z.string(), - iconLibrary: z.string(), - colorSystem: z.string(), - rsc: z.coerce.boolean().default(false), - tsx: z.coerce.boolean().default(true), - tailwind: z.object({ - config: z.string(), - css: z.string(), - prefix: z.string().default("").optional(), - }), - aliases: z.object({ - components: z.string(), - utils: z.string(), - core: z.string().optional(), - lib: z.string().optional(), - hooks: z.string().optional(), - }), - }) - .strict(); - -export type RawConfig = z.infer; - -export const configSchema = rawConfigSchema.extend({ - resolvedPaths: z.object({ - cwd: z.string(), - tailwindConfig: z.string(), - tailwindCss: z.string(), - utils: z.string(), - components: z.string(), - lib: z.string(), - hooks: z.string(), - core: z.string(), - }), -}); - -export type Config = z.infer; - -export async function getConfig(cwd: string) { - const config = await getRawConfig(cwd); - - if (!config) { - return null; - } - - return await resolveConfigPaths(cwd, config); -} - -export async function resolveConfigPaths(cwd: string, config: RawConfig) { - // Read tsconfig.json. - const tsConfig = await loadConfig(cwd); - - if (tsConfig.resultType === "failed") { - throw new Error( - `Failed to load ${config.tsx ? "tsconfig" : "jsconfig"}.json. ${ - tsConfig.message ?? "" - }`.trim() - ); - } - - return configSchema.parse({ - ...config, - resolvedPaths: { - cwd, - tailwindConfig: path.resolve(cwd, config.tailwind.config), - tailwindCss: path.resolve(cwd, config.tailwind.css), - utils: await resolveImport(config.aliases["utils"], tsConfig), - components: await resolveImport(config.aliases["components"], tsConfig), - core: config.aliases["core"] - ? await resolveImport(config.aliases["core"], tsConfig) - : path.resolve( - (await resolveImport(config.aliases["components"], tsConfig)) ?? - cwd, - "core" - ), - // TODO: Make this configurable. - // For now, we assume the lib and hooks directories are one level up from the components directory. - lib: config.aliases["lib"] - ? await resolveImport(config.aliases["lib"], tsConfig) - : path.resolve( - (await resolveImport(config.aliases["utils"], tsConfig)) ?? cwd, - ".." - ), - hooks: config.aliases["hooks"] - ? await resolveImport(config.aliases["hooks"], tsConfig) - : path.resolve( - (await resolveImport(config.aliases["components"], tsConfig)) ?? - cwd, - "..", - "hooks" - ), - }, - }); -} - -export async function getRawConfig(cwd: string): Promise { - try { - const configResult = await explorer.search(cwd); - if (!configResult) { - return null; - } - - return rawConfigSchema.parse(configResult.config); - } catch (error) { - const componentPath = `${cwd}/component.json`; - throw new Error( - `Invalid configuration found in ${highlight.info(componentPath)}.` - ); - } -} +import { + ExtendedConfig, + extendedConfigSchema, + RawConfig, + rawConfigSchema, +} from "@dotui/schemas"; +import { cosmiconfig } from "cosmiconfig"; +import path from "path"; +import { loadConfig } from "tsconfig-paths"; +import { resolveImport } from "@/utils"; + +export const DEFAULT_STYLE = "default"; +export const DEFAULT_COMPONENTS = "@/components"; +export const DEFAULT_UTILS = "@/lib/utils"; +export const DEFAULT_TAILWIND_CSS = "app/globals.css"; +export const DEFAULT_TAILWIND_CONFIG = "tailwind.config.js"; +export const DEFAULT_TAILWIND_BASE_COLOR = "slate"; + +const explorer = cosmiconfig("config", { + searchPlaces: ["dotui.json"], +}); + +export async function getConfig(cwd: string): Promise { + const configResult = await explorer.search(cwd); + + if (!configResult) { + throw new Error("Failed to load config."); + } + + rawConfigSchema.parse(configResult.config); + + return await resolveConfigPaths(cwd, configResult.config); +} + +export async function resolveConfigPaths( + cwd: string, + config: RawConfig +): Promise { + const tsConfig = loadConfig(cwd); + + if (tsConfig.resultType === "failed") { + throw new Error( + `Failed to load tsconfig.json. ${tsConfig.message ?? ""}`.trim() + ); + } + + return extendedConfigSchema.parse({ + ...config, + resolvedPaths: { + cwd, + css: path.resolve(cwd, config.css), + core: await resolveImport(config.aliases["core"], tsConfig), + components: await resolveImport(config.aliases["components"], tsConfig), + hooks: await resolveImport(config.aliases["hooks"], tsConfig), + lib: await resolveImport(config.aliases["lib"], tsConfig), + }, + }); +} diff --git a/packages/cli/src/helpers/get-package-info.ts b/packages/cli/src/helpers/get-package-info.ts new file mode 100644 index 00000000..059c3bc7 --- /dev/null +++ b/packages/cli/src/helpers/get-package-info.ts @@ -0,0 +1,14 @@ +import fs from "fs-extra"; +import path from "path"; +import { type PackageJson } from "type-fest"; + +export function getPackageJson( + cwd: string = "", + shouldThrow: boolean = true +): PackageJson | null { + const packageJsonPath = path.join(cwd, "package.json"); + + return fs.readJSONSync(packageJsonPath, { + throws: shouldThrow, + }) as PackageJson; +} diff --git a/packages/cli/src/helpers/get-pkg-manager.ts b/packages/cli/src/helpers/get-pkg-manager.ts deleted file mode 100644 index 00936e33..00000000 --- a/packages/cli/src/helpers/get-pkg-manager.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { detect } from "@antfu/ni"; - -export type PackageManager = "yarn" | "pnpm" | "bun" | "npm"; - -export async function getPackageManager( - targetDir: string, - { withFallback }: { withFallback?: boolean } = { - withFallback: false, - } -): Promise<"yarn" | "pnpm" | "bun" | "npm"> { - const packageManager = await detect({ programmatic: true, cwd: targetDir }); - - if (packageManager === "yarn@berry") return "yarn"; - if (packageManager === "pnpm@6") return "pnpm"; - if (packageManager === "bun") return "bun"; - - if (!withFallback) { - return packageManager ?? "npm"; - } - - // Fallback to user agent if not detected. - const userAgent = process.env.npm_config_user_agent || ""; - - if (userAgent.startsWith("yarn")) { - return "yarn"; - } - - if (userAgent.startsWith("pnpm")) { - return "pnpm"; - } - - if (userAgent.startsWith("bun")) { - return "bun"; - } - - return "npm"; -} - -export async function getPackageRunner(cwd: string) { - const packageManager = await getPackageManager(cwd); - - if (packageManager === "pnpm") return "pnpm dlx"; - - if (packageManager === "bun") return "bunx"; - - return "npx"; -} diff --git a/packages/cli/src/helpers/get-project-info.ts b/packages/cli/src/helpers/get-project-info.ts index bf4cf781..73b5bd64 100644 --- a/packages/cli/src/helpers/get-project-info.ts +++ b/packages/cli/src/helpers/get-project-info.ts @@ -1,185 +1,157 @@ -import fg from "fast-glob"; -import fs from "fs-extra"; -import path from "path"; -import { loadConfig } from "tsconfig-paths"; -import { FRAMEWORKS, Framework } from "@/constants/frameworks"; - -type ProjectInfo = { - framework: Framework; - isSrcDir: boolean; - isRSC: boolean; - isTsx: boolean; - tailwindConfigFile: string | null; - tailwindCssFile: string | null; - aliasPrefix: string | null; -}; - -const PROJECT_SHARED_IGNORE = [ - "**/node_modules/**", - ".next", - "public", - "dist", - "build", -]; - -export async function getProjectInfo(cwd: string): Promise { - const [ - configFiles, - isSrcDir, - isTsx, - tailwindConfigFile, - tailwindCssFile, - aliasPrefix, - ] = await Promise.all([ - fg.glob("**/{next,vite,astro}.config.*|gatsby-config.*|composer.json", { - cwd, - deep: 3, - ignore: PROJECT_SHARED_IGNORE, - }), - fs.pathExists(path.resolve(cwd, "src")), - isTypeScriptProject(cwd), - getTailwindConfigFile(cwd), - getTailwindCssFile(cwd), - getTsConfigAliasPrefix(cwd), - ]); - - const isUsingAppDir = await fs.pathExists( - path.resolve(cwd, `${isSrcDir ? "src/" : ""}app`) - ); - - const type: ProjectInfo = { - framework: FRAMEWORKS["manual"], - isSrcDir, - isRSC: false, - isTsx, - tailwindConfigFile, - tailwindCssFile, - aliasPrefix, - }; - - if (!configFiles.length) { - return type; - } - - // Next.js. - if (configFiles.find((file) => file.startsWith("next.config."))?.length) { - type.framework = isUsingAppDir - ? FRAMEWORKS["next-app"] - : FRAMEWORKS["next-pages"]; - type.isRSC = isUsingAppDir; - return type; - } - - // Astro. - if (configFiles.find((file) => file.startsWith("astro.config."))?.length) { - type.framework = FRAMEWORKS["astro"]; - return type; - } - - // Gatsby. - if (configFiles.find((file) => file.startsWith("gatsby-config."))?.length) { - type.framework = FRAMEWORKS["gatsby"]; - return type; - } - - // Laravel. - if (configFiles.find((file) => file.startsWith("composer.json"))?.length) { - type.framework = FRAMEWORKS["laravel"]; - return type; - } - - // Vite and Remix. - // They both have a vite.config.* file. - if (configFiles.find((file) => file.startsWith("vite.config."))?.length) { - // We'll assume that if the project has an app dir, it's a Remix project. - // Otherwise, it's a Vite project. - // TODO: Maybe check for `@remix-run/react` in package.json? - type.framework = isUsingAppDir ? FRAMEWORKS["remix"] : FRAMEWORKS["vite"]; - return type; - } - - return type; -} - -export async function getTailwindCssFile(cwd: string) { - const files = await fg.glob("**/*.css", { - cwd, - deep: 5, - ignore: PROJECT_SHARED_IGNORE, - }); - - if (!files.length) { - return null; - } - - for (const file of files) { - const contents = await fs.readFile(path.resolve(cwd, file), "utf8"); - // Assume that if the file contains `@tailwind base` it's the main css file. - if (contents.includes("@tailwind base")) { - return file; - } - } - - return null; -} - -export async function getTailwindConfigFile(cwd: string) { - const files = await fg.glob("tailwind.config.*", { - cwd, - deep: 3, - ignore: PROJECT_SHARED_IGNORE, - }); - - if (!files.length) { - return null; - } - - return files[0]; -} - -export async function getTsConfigAliasPrefix(cwd: string) { - const tsConfig = await loadConfig(cwd); - - if (tsConfig?.resultType === "failed" || !tsConfig?.paths) { - return null; - } - - // This assume that the first alias is the prefix. - for (const [alias, paths] of Object.entries(tsConfig.paths)) { - if ( - paths.includes("./*") || - paths.includes("./src/*") || - paths.includes("./app/*") || - paths.includes("./resources/js/*") // Laravel. - ) { - return alias.at(0) ?? null; - } - } - - return null; -} - -export async function isTypeScriptProject(cwd: string) { - const files = await fg.glob("tsconfig.*", { - cwd, - deep: 1, - ignore: PROJECT_SHARED_IGNORE, - }); - - return files.length > 0; -} - -export async function getTsConfig() { - try { - const tsconfigPath = path.join("tsconfig.json"); - const tsconfig = await fs.readJSON(tsconfigPath); - - if (!tsconfig) { - throw new Error("tsconfig.json is missing"); - } - - return tsconfig; - } catch (error) { - return null; - } -} +import fg from "fast-glob"; +import fs from "fs-extra"; +import path from "path"; +import { loadConfig as loadTsConfig } from "tsconfig-paths"; +import { getPackageJson } from "./get-package-info"; + +const PROJECT_SHARED_IGNORE = [ + "**/node_modules/**", + ".next", + "public", + "dist", + "build", +]; + +export async function getTailwindVersion( + cwd: string +): Promise<"v3" | "v4" | null> { + const packageInfo = getPackageJson(cwd); + + const twVersion = packageInfo?.dependencies?.tailwindcss; + const twDevVersion = packageInfo?.devDependencies?.tailwindcss; + + if (!twVersion && !twDevVersion) { + return null; + } + + if (/^(?:\^|~)?3(?:\.\d+)*(?:-.*)?$/.test(twVersion || twDevVersion || "")) { + return "v3"; + } + + if (/^(?:\^|~)?4(?:\.\d+)*(?:-.*)?$/.test(twVersion || twDevVersion || "")) { + return "v4"; + } + + return null; +} + +export async function isTypescriptProject(cwd: string) { + const files = await fg.glob("tsconfig.*", { + cwd, + deep: 1, + ignore: PROJECT_SHARED_IGNORE, + }); + + return files.length > 0; +} + +export async function getReactVersion( + cwd: string +): Promise<"v19" | "older" | null> { + const packageInfo = getPackageJson(cwd); + + const reactVersion = packageInfo?.dependencies?.react; + + if (!reactVersion) { + return null; + } + + if (/^(?:\^|~)?19(?:\.\d+)*(?:-.*)?$/.test(reactVersion || "")) { + return "v19"; + } + + return "older"; +} + +export async function getTailwindCssFile(cwd: string) { + const files = await fg.glob(["**/*.css", "**/*.scss"], { + cwd, + deep: 5, + ignore: PROJECT_SHARED_IGNORE, + }); + + if (!files.length) { + return null; + } + + for (const file of files) { + const content = await fs.readFile(path.resolve(cwd, file), "utf8"); + if ( + content.includes(`@import "tailwindcss"`) || + content.includes(`@import 'tailwindcss'`) + ) { + return file; + } + } + + return null; +} + +export function getTsConfigAliasPrefix(cwd: string) { + const tsConfig = loadTsConfig(cwd); + + if ( + tsConfig?.resultType === "failed" || + !Object.entries(tsConfig?.paths).length + ) { + return null; + } + + // This assume that the first alias is the prefix. + for (const [alias, paths] of Object.entries(tsConfig.paths)) { + if ( + paths.includes("./*") || + paths.includes("./src/*") || + paths.includes("./app/*") || + paths.includes("./resources/js/*") // Laravel. + ) { + return alias.replace(/\/\*$/, "") ?? null; + } + } + + // Use the first alias as the prefix. + return Object.keys(tsConfig?.paths)?.[0].replace(/\/\*$/, "") ?? null; +} + +export async function getProjectFramework(cwd: string) { + const configFiles = await fg.glob( + "**/{next,vite,astro}.config.*|gatsby-config.*|composer.json", + { + cwd, + deep: 3, + ignore: PROJECT_SHARED_IGNORE, + } + ); + + if (configFiles.find((file) => file.startsWith("next.config."))?.length) { + return "next.js"; + } + + if (configFiles.find((file) => file.startsWith("astro.config."))?.length) { + return "astro"; + } + + if (configFiles.find((file) => file.startsWith("gatsby-config."))?.length) { + return "gatsby"; + } + + if (configFiles.find((file) => file.startsWith("composer.json"))?.length) { + return "laravel"; + } + + const packageJson = getPackageJson(cwd, false); + + if ( + Object.keys(packageJson?.dependencies ?? {}).find((dep) => + dep.startsWith("@remix-run/") + ) + ) { + return "remix"; + } + + if (configFiles.find((file) => file.startsWith("vite.config."))?.length) { + return "vite"; + } + + return null; +} diff --git a/packages/cli/src/helpers/handle-error.ts b/packages/cli/src/helpers/handle-error.ts index bb8abd48..35424d67 100644 --- a/packages/cli/src/helpers/handle-error.ts +++ b/packages/cli/src/helpers/handle-error.ts @@ -1,33 +1,25 @@ -import { z } from "zod"; -import { logger, highlight } from "@/utils"; - -export function handleError(error: unknown) { - logger.error( - `Something went wrong. Please check the error below for more details.` - ); - logger.error(`If the problem persists, please open an issue on GitHub.`); - logger.error(""); - if (typeof error === "string") { - logger.error(error); - logger.break(); - process.exit(1); - } - - if (error instanceof z.ZodError) { - logger.error("Validation failed:"); - for (const [key, value] of Object.entries(error.flatten().fieldErrors)) { - logger.error(`- ${highlight.info(key)}: ${value}`); - } - logger.break(); - process.exit(1); - } - - if (error instanceof Error) { - logger.error(error.message); - logger.break(); - process.exit(1); - } - - logger.break(); - process.exit(1); -} +import { z } from "zod"; +import { c, logger } from "@/utils"; + +export function handleError(error: unknown) { + if (typeof error === "string") { + logger.error(`Error: ${error}`); + process.exit(1); + } + + if (error instanceof z.ZodError) { + logger.error("Validation failed:"); + for (const [key, value] of Object.entries(error.flatten().fieldErrors)) { + logger.error(`- ${c.info(key)}: ${value}`); + } + logger.break(); + process.exit(1); + } + + if (error instanceof Error) { + logger.error(`Error: ${error.message}`); + process.exit(1); + } + + process.exit(1); +} diff --git a/packages/cli/src/helpers/init-checks.ts b/packages/cli/src/helpers/init-checks.ts new file mode 100644 index 00000000..30923254 --- /dev/null +++ b/packages/cli/src/helpers/init-checks.ts @@ -0,0 +1,111 @@ +import { spinner, confirm, isCancel, outro } from "@clack/prompts"; +import fs from "fs-extra"; +import path from "node:path"; +import { c } from "@/utils"; +import { + getProjectFramework, + getReactVersion, + getTailwindCssFile, + getTailwindVersion, + getTsConfigAliasPrefix, + isTypescriptProject, +} from "./get-project-info"; + +interface Options { + dir: string; +} + +export async function initChecks(options: Options) { + const checkSpinner = spinner(); + checkSpinner.start("Verifying project config"); + + const exit = (message: string, error: boolean = true) => { + checkSpinner.stop("Verifying project config"); + if (error) { + outro(c.error(message)); + process.exit(1); + } + outro(message); + process.exit(1); + }; + + if ( + !fs.existsSync(options.dir) || + !fs.existsSync(path.resolve(options.dir, "package.json")) + ) { + exit(`❌ ${options.dir} does not contain a package.json file.`); + } + + checkSpinner.message("Verifying framework"); + const framework = getProjectFramework(options.dir); + if (!framework) { + exit( + `❌ Could not determine the framework of your project. Please make sure it is a React project.` + ); + } + + checkSpinner.message("Verifying React version."); + const reactVersion = await getReactVersion(options.dir); + if (!reactVersion) { + exit( + `❌ Could not determine the version of React. Please make sure it is installed in ${options.dir}.` + ); + } + if (reactVersion === "older") { + exit( + `❌ You are using an older version of React. Please upgrade to React 19.` + ); + } + + checkSpinner.message("Verifying Tailwind config."); + const tailwindVersion = await getTailwindVersion(options.dir); + if (!tailwindVersion) { + exit( + `${c.error(`❌ Could not determine the version of Tailwind CSS. Please make sure it is installed in ${options.dir}.`)} See ${c.info("https://tailwindcss.com/docs/installation")}`, + false + ); + } + if (tailwindVersion === "v3") { + exit( + `${c.error("❌ You are using Tailwind CSS v3. Please upgrade to v4.")} See ${c.info("https://tailwindcss.com/docs/installation")}`, + false + ); + } + const tailwindCssFile = await getTailwindCssFile(options.dir); + if (!tailwindCssFile) { + exit( + `❌ It is likely you didn't configure Tailwind CSS correctly. Please make sure you have a css file that imports Tailwind CSS in your project.` + ); + } + + checkSpinner.message("Verifying typescript config"); + const isTypescript = await isTypescriptProject(options.dir); + if (!isTypescript) { + exit( + `❌ ${options.dir} is not a TypeScript project. Please make sure it has a tsconfig.json file.` + ); + } + + checkSpinner.message("Verifying import alias"); + const aliasPrefix = getTsConfigAliasPrefix(options.dir); + if (!aliasPrefix) { + exit( + `❌ Could not determine the alias prefix in your tsconfig.json file. Please make sure it is set correctly.` + ); + } + + checkSpinner.message("Verifying configuration file"); + if (fs.existsSync(path.resolve(options.dir, "dotui.json"))) { + checkSpinner.stop("Verifying project config."); + + const override = await confirm({ + message: `${c.warn("A dotui.json file already exists. Do you want to override it?")}`, + }); + + if (isCancel(override)) { + exit("Project init cancelled."); + } + } else { + checkSpinner.stop("Verifying project config."); + } +} diff --git a/packages/cli/src/helpers/install-deps.ts b/packages/cli/src/helpers/install-deps.ts deleted file mode 100644 index ffb46d7c..00000000 --- a/packages/cli/src/helpers/install-deps.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { execa } from "execa"; -import type { PackageManager } from "./get-pkg-manager"; - -export async function installDeps( - /** Indicate which package manager to use. */ - packageManager: PackageManager -): Promise { - const args: string[] = ["install"]; - - try { - await execa(packageManager, args, { - stdio: "inherit", - env: { - ...process.env, - ADBLOCK: "1", - // we set NODE_ENV to development as pnpm skips dev - // dependencies when production - NODE_ENV: "development", - DISABLE_OPENCOLLECTIVE: "1", - }, - }); - } catch (error) { - throw new Error(`Failed to run ${packageManager} ${args.join(" ")}`); - } -} diff --git a/packages/cli/src/helpers/is-empty-project.ts b/packages/cli/src/helpers/is-empty-project.ts deleted file mode 100644 index 3aabee21..00000000 --- a/packages/cli/src/helpers/is-empty-project.ts +++ /dev/null @@ -1,8 +0,0 @@ -import fs from "fs-extra"; -import path from "path"; - -export const isEmptyProject = (cwd: string) => { - return ( - !fs.existsSync(cwd) || !fs.existsSync(path.resolve(cwd, "package.json")) - ); -}; diff --git a/packages/cli/src/helpers/is-folder-empty.ts b/packages/cli/src/helpers/is-folder-empty.ts deleted file mode 100644 index 6aa96f34..00000000 --- a/packages/cli/src/helpers/is-folder-empty.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { readdirSync } from "node:fs"; - -export const isFolderEmpty = (folderPath: string): boolean => { - const files = readdirSync(folderPath); - return files.length === 0; -}; diff --git a/packages/cli/src/helpers/is-url.ts b/packages/cli/src/helpers/is-url.ts deleted file mode 100644 index 06880abe..00000000 --- a/packages/cli/src/helpers/is-url.ts +++ /dev/null @@ -1,8 +0,0 @@ -export function isUrl(path: string) { - try { - new URL(path); - return true; - } catch (error) { - return false; - } -} diff --git a/packages/cli/src/helpers/is-writable.ts b/packages/cli/src/helpers/is-writable.ts deleted file mode 100644 index e51cb431..00000000 --- a/packages/cli/src/helpers/is-writable.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { W_OK } from "constants"; -import { access } from "fs/promises"; - -export async function isWriteable(directory: string): Promise { - try { - await access(directory, W_OK); - return true; - } catch (err) { - return false; - } -} diff --git a/packages/cli/src/helpers/on-prompt-state.ts b/packages/cli/src/helpers/on-prompt-state.ts deleted file mode 100644 index bbe90ec9..00000000 --- a/packages/cli/src/helpers/on-prompt-state.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { InitialReturnValue } from "prompts"; - -export const onPromptState = (state: { - value: InitialReturnValue; - aborted: boolean; - exited: boolean; -}) => { - if (state.aborted) { - // If we don't re-enable the terminal cursor before exiting - // the program, the cursor will remain hidden - process.stdout.write("\x1B[?25h"); - process.stdout.write("\n"); - process.exit(1); - } -}; diff --git a/packages/cli/src/helpers/registry-api.ts b/packages/cli/src/helpers/registry-api.ts new file mode 100644 index 00000000..60c7b592 --- /dev/null +++ b/packages/cli/src/helpers/registry-api.ts @@ -0,0 +1,27 @@ +import type { RegistryTheme } from "@dotui/schemas"; + +export const getRegistryThemes = async () => { + return [ + { id: "darky", label: "Darky" }, + { id: "versel", label: "Versel" }, + { id: "githoub", label: "Githoub" }, + ]; +}; + +export const getRegistryTheme = async ( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + themeId: string +): Promise => { + return { + name: "darky", + label: "Darky", + iconLibrary: "lucide-icons", + primitives: { + button: "basic", + "toggle-button": "basic", + input: "basic", + modal: "basic", + }, + css: {}, // TODO + }; +}; diff --git a/packages/cli/src/helpers/registry/index.ts b/packages/cli/src/helpers/registry/index.ts deleted file mode 100644 index cd738d0e..00000000 --- a/packages/cli/src/helpers/registry/index.ts +++ /dev/null @@ -1,242 +0,0 @@ -import { - registryItemSchema, - registrySchema, - registryTemplatesSchema, - registryIconLibrariesSchema, - registryResolvedItemsTreeSchema, -} from "@dotui/registry/schema"; -import { RegistryItemFile, RegistryItemType } from "@dotui/registry/types"; -import deepmerge from "deepmerge"; -import { z } from "zod"; -import { Config } from "@/helpers/get-config"; -import { handleError } from "@/helpers/handle-error"; -import { isUrl } from "@/helpers/is-url"; -import { logger } from "@/utils"; -import { fetchRegistry } from "./utils"; - -export async function getRegistryIndex() { - try { - const [result] = await fetchRegistry(["index.json"]); - return registrySchema.parse(result); - } catch (error) { - logger.error("\n"); - handleError(error); - } -} - -export async function getRegistryStyles() { - try { - const [result] = await fetchRegistry(["styles/index.json"]); - console.log(result); - return registrySchema.parse(result); - } catch (error) { - logger.error("\n"); - handleError(error); - return []; - } -} - -export async function getRegistryColorSystems() { - return [ - { - name: "default", - label: "Default", - }, - { - name: "color-scales", - label: "With color scales (recommended)", - }, - { - name: "minimal", - label: "Minimal (shadcn color system)", - }, - ]; -} - -export async function getRegistryIconLibrairies() { - try { - const [result] = await fetchRegistry(["icons/index.json"]); - return registryIconLibrariesSchema.parse(result); - } catch (error) { - logger.error("\n"); - handleError(error); - return []; - } -} - -export async function getRegistryThemes() { - try { - const [result] = await fetchRegistry(["themes/index.json"]); - return registrySchema.parse(result); - } catch (error) { - logger.error("\n"); - handleError(error); - return []; - } -} - -export async function getRegistryTemplate(name: string) { - try { - const [result] = await fetchRegistry([`templates/${name}.json`]); - return registryTemplatesSchema.parse(result); - } catch (error) { - logger.error("\n"); - handleError(error); - } -} - -export async function getRegistryItem(path: string) { - try { - const [result] = await fetchRegistry([path]); - return registryItemSchema.parse(result); - } catch (error) { - logger.break(); - handleError(error); - return null; - } -} - -const getRegistryItemPath = ( - name: string, - type: RegistryItemType, - style: string -) => { - if (isUrl(name)) { - return name; - } - switch (type) { - case "registry:style": - return `styles/${style}/index.json`; - case "registry:core": - return `styles/${style}/${name}.json`; - case "registry:hook": - return `hooks/${name}.json`; - case "registry:theme": - return `themes/${name}.json`; - default: - return `styles/${style}/${name}.json`; - } -}; - -export async function registryResolveItemsTree( - names: z.infer["name"][], - config: Config -) { - try { - const index = await getRegistryIndex(); - if (!index) { - return null; - } - - let items = ( - await Promise.all( - names - .map(async (name) => { - const indexedItem = index.find((elem) => elem.name === name); - if (!indexedItem) return null; - const path = getRegistryItemPath( - name, - indexedItem.type, - config.style - ); - const item = await getRegistryItem(path); - return item; - }) - .filter((item): item is NonNullable => item !== null) - ) - ).filter((item): item is NonNullable => item !== null); - - if (!items.length) { - return null; - } - - const registryDependencies: string[] = items - .map((item) => item.registryDependencies ?? []) - .flat(); - - const uniqueDependencies = Array.from(new Set(registryDependencies)); - const urls = Array.from([...names, ...uniqueDependencies]) - .map((name) => { - const indexedItem = index.find((elem) => elem.name === name); - if (!indexedItem) return null; - return getRegistryItemPath(name, indexedItem.type, config.style); - }) - .filter((item): item is NonNullable => item !== null); - - let result = await fetchRegistry(urls); - const payload = z.array(registryItemSchema).parse(result); - - if (!payload) { - return null; - } - - // If we're resolving the index, we want it to go first. - if (names.includes("index")) { - const indexStylePath = getRegistryItemPath( - "index", - "registry:style", - config.style - ); - const indexStyle = await getRegistryItem(indexStylePath); - if (indexStyle) { - payload.unshift(indexStyle); - } - } - - let tailwind = {}; - payload.forEach((item) => { - tailwind = deepmerge(tailwind, item.tailwind ?? {}); - }); - - let cssVars = {}; - payload.forEach((item) => { - cssVars = deepmerge(cssVars, item.cssVars ?? {}); - }); - - let docs = ""; - payload.forEach((item) => { - if (item.docs) { - docs += `${item.docs}\n`; - } - }); - - return registryResolvedItemsTreeSchema.parse({ - dependencies: deepmerge.all( - payload.map((item) => item.dependencies ?? []) - ), - devDependencies: deepmerge.all( - payload.map((item) => item.devDependencies ?? []) - ), - files: deepmerge.all(payload.map((item) => item.files ?? [])), - tailwind, - cssVars, - docs, - }); - } catch (error) { - handleError(error); - return null; - } -} - -export function getRegistryItemFileTargetPath( - file: RegistryItemFile, - config: Config, - override?: string -) { - if (override) { - return override; - } - - switch (file.type) { - case "registry:core": - return config.resolvedPaths.core; - case "registry:lib": - return config.resolvedPaths.lib; - case "registry:component": - return config.resolvedPaths.components; - case "registry:hook": - return config.resolvedPaths.hooks; - default: - return config.resolvedPaths.components; - } -} diff --git a/packages/cli/src/helpers/registry/utils.ts b/packages/cli/src/helpers/registry/utils.ts deleted file mode 100644 index 2d0283d3..00000000 --- a/packages/cli/src/helpers/registry/utils.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { HttpsProxyAgent } from "https-proxy-agent"; -import fetch from "node-fetch"; -import { REGISTRY_URL } from "@/constants/config"; -import { handleError } from "@/helpers/handle-error"; -import { isUrl } from "@/helpers/is-url"; -import { logger, highlight } from "@/utils"; - -const agent = process.env.https_proxy - ? new HttpsProxyAgent(process.env.https_proxy) - : undefined; - -export async function fetchRegistry(paths: string[]) { - try { - const results = await Promise.all( - paths.map(async (path) => { - const url = getRegistryUrl(path); - const response = await fetch(url, { agent }); - - if (!response.ok) { - const errorMessages: { [key: number]: string } = { - 400: "Bad request", - 401: "Unauthorized", - 403: "Forbidden", - 404: "Not found", - 500: "Internal server error", - }; - const result = await response.json(); - const message = - result && typeof result === "object" && "error" in result - ? result.error - : response.statusText || errorMessages[response.status]; - throw new Error( - `Failed to fetch from ${highlight.info(url)}.\n${message}` - ); - } - - return response.json(); - }) - ); - - return results; - } catch (error) { - logger.error("\n"); - handleError(error); - return []; - } -} - -function getRegistryUrl(path: string) { - if (isUrl(path)) { - const url = new URL(path); - return url.toString(); - } - return `${REGISTRY_URL}/${path}`; -} diff --git a/packages/cli/src/helpers/transformers/index.ts b/packages/cli/src/helpers/transformers/index.ts index fb716a8c..6e545224 100644 --- a/packages/cli/src/helpers/transformers/index.ts +++ b/packages/cli/src/helpers/transformers/index.ts @@ -1,61 +1,43 @@ -import { promises as fs } from "node:fs"; -import { tmpdir } from "os"; -import path from "path"; -import { Project, ScriptKind, type SourceFile } from "ts-morph"; -import { z } from "zod"; -import { Config } from "@/helpers/get-config"; -import { transformCssVars } from "@/helpers/transformers/transform-css-vars"; -import { transformImport } from "@/helpers/transformers/transform-import"; -import { transformJsx } from "@/helpers/transformers/transform-jsx"; -import { transformRsc } from "@/helpers/transformers/transform-rsc"; -import { transformTwPrefixes } from "./transform-tw-prefix"; - -export type TransformOpts = { - filename: string; - raw: string; - config: Config; - transformJsx?: boolean; -}; - -export type Transformer = ( - opts: TransformOpts & { - sourceFile: SourceFile; - } -) => Promise; - -const project = new Project({ - compilerOptions: {}, -}); - -async function createTempSourceFile(filename: string) { - const dir = await fs.mkdtemp(path.join(tmpdir(), "shadcn-")); - return path.join(dir, filename); -} - -export async function transform( - opts: TransformOpts, - transformers: Transformer[] = [ - transformImport, - transformRsc, - transformCssVars, - transformTwPrefixes, - ] -) { - const tempFile = await createTempSourceFile(opts.filename); - const sourceFile = project.createSourceFile(tempFile, opts.raw, { - scriptKind: ScriptKind.TSX, - }); - - for (const transformer of transformers) { - transformer({ sourceFile, ...opts }); - } - - if (opts.transformJsx) { - return await transformJsx({ - sourceFile, - ...opts, - }); - } - - return sourceFile.getText(); -} +import { ExtendedConfig } from "@dotui/schemas"; +import { promises as fs } from "fs"; +import { tmpdir } from "os"; +import path from "path"; +import { Project, ScriptKind, type SourceFile } from "ts-morph"; +import { transformImport } from "./transform-import"; + +export type TransformOptions = { + filename: string; + raw: string; + config: ExtendedConfig; +}; + +export type Transformer = ( + opts: TransformOptions & { + sourceFile: SourceFile; + } +) => Promise; + +const project = new Project({ + compilerOptions: {}, +}); + +export async function transform( + options: TransformOptions, + transformers: Transformer[] = [transformImport] +) { + const tempFile = await createTempSourceFile(options.filename); + const sourceFile = project.createSourceFile(tempFile, options.raw, { + scriptKind: ScriptKind.TSX, + }); + + for (const transformer of transformers) { + await transformer({ sourceFile, ...options }); + } + + return sourceFile.getText(); +} + +async function createTempSourceFile(filename: string) { + const dir = await fs.mkdtemp(path.join(tmpdir(), "shadcn-")); + return path.join(dir, filename); +} diff --git a/packages/cli/src/helpers/transformers/transform-css-vars.ts b/packages/cli/src/helpers/transformers/transform-css-vars.ts deleted file mode 100644 index 2e14b893..00000000 --- a/packages/cli/src/helpers/transformers/transform-css-vars.ts +++ /dev/null @@ -1,186 +0,0 @@ -import { ScriptKind, SyntaxKind } from "ts-morph"; -import { z } from "zod"; -import { registryBaseColorSchema } from "@/helpers/registry/schema"; -import { Transformer } from "@/helpers/transformers"; - -export const transformCssVars: Transformer = async ({ - sourceFile, - config, - baseColor, -}) => { - // No transform if using css variables. - // if (config.tailwind?.cssVariables || !baseColor?.inlineColors) { - // return sourceFile - // } - return sourceFile; - - // Find jsx attributes with the name className. - // const openingElements = sourceFile.getDescendantsOfKind(SyntaxKind.JsxElement) - // console.log(openingElements) - // const jsxAttributes = sourceFile - // .getDescendantsOfKind(SyntaxKind.JsxAttribute) - // .filter((node) => node.getName() === "className") - - // for (const jsxAttribute of jsxAttributes) { - // const value = jsxAttribute.getInitializer()?.getText() - // if (value) { - // const valueWithColorMapping = applyColorMapping( - // value.replace(/"/g, ""), - // baseColor.inlineColors - // ) - // jsxAttribute.setInitializer(`"${valueWithColorMapping}"`) - // } - // } - - // TODO: old - // sourceFile.getDescendantsOfKind(SyntaxKind.StringLiteral).forEach((node) => { - // const value = node.getText(); - // if (value) { - // const valueWithColorMapping = applyColorMapping( - // value.replace(/"/g, ""), - // baseColor.inlineColors - // ); - // node.replaceWithText(`"${valueWithColorMapping.trim()}"`); - // } - // }); - - // return sourceFile; -}; - -// export default function transformer(file: FileInfo, api: API) { -// const j = api.jscodeshift.withParser("tsx") - -// // Replace bg-background with "bg-white dark:bg-slate-950" -// const $j = j(file.source) -// return $j -// .find(j.JSXAttribute, { -// name: { -// name: "className", -// }, -// }) -// .forEach((path) => { -// const { node } = path -// if (node?.value?.type) { -// if (node.value.type === "StringLiteral") { -// node.value.value = applyColorMapping(node.value.value) -// console.log(node.value.value) -// } - -// if ( -// node.value.type === "JSXExpressionContainer" && -// node.value.expression.type === "CallExpression" -// ) { -// const callee = node.value.expression.callee -// if (callee.type === "Identifier" && callee.name === "cn") { -// node.value.expression.arguments.forEach((arg) => { -// if (arg.type === "StringLiteral") { -// arg.value = applyColorMapping(arg.value) -// } - -// if ( -// arg.type === "LogicalExpression" && -// arg.right.type === "StringLiteral" -// ) { -// arg.right.value = applyColorMapping(arg.right.value) -// } -// }) -// } -// } -// } -// }) -// .toSource() -// } - -// // export function splitClassName(input: string): (string | null)[] { -// // const parts = input.split(":") -// // const classNames = parts.map((part) => { -// // const match = part.match(/^\[?(.+)\]$/) -// // if (match) { -// // return match[1] -// // } else { -// // return null -// // } -// // }) - -// // return classNames -// // } - -// Splits a className into variant-name-alpha. -// eg. hover:bg-primary-100 -> [hover, bg-primary, 100] -export function splitClassName(className: string): (string | null)[] { - if (!className.includes("/") && !className.includes(":")) { - return [null, className, null]; - } - - const parts: (string | null)[] = []; - // First we split to find the alpha. - let [rest, alpha] = className.split("/"); - - // Check if rest has a colon. - if (!rest.includes(":")) { - return [null, rest, alpha]; - } - - // Next we split the rest by the colon. - const split = rest.split(":"); - - // We take the last item from the split as the name. - const name = split.pop(); - - // We glue back the rest of the split. - const variant = split.join(":"); - - // Finally we push the variant, name and alpha. - parts.push(variant ?? null, name ?? null, alpha ?? null); - - return parts; -} - -const PREFIXES = ["bg-", "text-", "border-", "ring-offset-", "ring-"]; - -export function applyColorMapping( - input: string, - mapping: z.infer["inlineColors"] -) { - // Handle border classes. - if (input.includes(" border ")) { - input = input.replace(" border ", " border border-border "); - } - - // Build color mappings. - const classNames = input.split(" "); - const lightMode = new Set(); - const darkMode = new Set(); - for (let className of classNames) { - const [variant, value, modifier] = splitClassName(className); - const prefix = PREFIXES.find((prefix) => value?.startsWith(prefix)); - if (!prefix) { - if (!lightMode.has(className)) { - lightMode.add(className); - } - continue; - } - - const needle = value?.replace(prefix, ""); - if (needle && needle in mapping.light) { - lightMode.add( - [variant, `${prefix}${mapping.light[needle]}`] - .filter(Boolean) - .join(":") + (modifier ? `/${modifier}` : "") - ); - - darkMode.add( - ["dark", variant, `${prefix}${mapping.dark[needle]}`] - .filter(Boolean) - .join(":") + (modifier ? `/${modifier}` : "") - ); - continue; - } - - if (!lightMode.has(className)) { - lightMode.add(className); - } - } - - return [...Array.from(lightMode), ...Array.from(darkMode)].join(" ").trim(); -} diff --git a/packages/cli/src/helpers/transformers/transform-import.ts b/packages/cli/src/helpers/transformers/transform-import.ts index f41965da..e8649d2e 100644 --- a/packages/cli/src/helpers/transformers/transform-import.ts +++ b/packages/cli/src/helpers/transformers/transform-import.ts @@ -1,81 +1,58 @@ -import { Config } from "@/helpers/get-config"; -import { Transformer } from "@/helpers/transformers"; - -export const transformImport: Transformer = async ({ sourceFile, config }) => { - const importDeclarations = sourceFile.getImportDeclarations(); - - for (const importDeclaration of importDeclarations) { - const moduleSpecifier = updateImportAliases( - importDeclaration.getModuleSpecifierValue(), - config - ); - - importDeclaration.setModuleSpecifier(moduleSpecifier); - - // Replace `import { cn } from "@/lib/utils"` - if (moduleSpecifier == "@/lib/utils") { - const namedImports = importDeclaration.getNamedImports(); - const cnImport = namedImports.find((i) => i.getName() === "cn"); - if (cnImport) { - importDeclaration.setModuleSpecifier( - moduleSpecifier.replace(/^@\/lib\/utils/, config.aliases.utils) - ); - } - } - } - - return sourceFile; -}; - -function updateImportAliases(moduleSpecifier: string, config: Config) { - // Not a local import. - if (!moduleSpecifier.startsWith("@/")) { - return moduleSpecifier; - } - - // Not a registry import. - if (!moduleSpecifier.startsWith("@/registry/")) { - // We fix the alias an return. - const alias = config.aliases.components.charAt(0); - return moduleSpecifier.replace(/^@\//, `${alias}/`); - } - - if (moduleSpecifier.match(/^@\/registry\/(.+)\/core/)) { - return moduleSpecifier.replace( - /^@\/registry\/(.+)\/core/, - config.aliases.core ?? `${config.aliases.components}/core` - ); - } - - if ( - config.aliases.components && - moduleSpecifier.match(/^@\/registry\/(.+)\/components/) - ) { - return moduleSpecifier.replace( - /^@\/registry\/(.+)\/components/, - config.aliases.components - ); - } - - if (config.aliases.lib && moduleSpecifier.match(/^@\/registry\/(.+)\/lib/)) { - return moduleSpecifier.replace( - /^@\/registry\/(.+)\/lib/, - config.aliases.lib - ); - } - - if ( - config.aliases.hooks && - moduleSpecifier.match(/^@\/registry\/(.+)\/hooks/) - ) { - return moduleSpecifier.replace( - /^@\/registry\/(.+)\/hooks/, - config.aliases.hooks - ); - } - - return moduleSpecifier.replace( - /^@\/registry\/[^/]+/, - config.aliases.components - ); -} +import { ExtendedConfig } from "@dotui/schemas"; +import { Transformer } from "@/helpers/transformers"; + +export const transformImport: Transformer = async ({ sourceFile, config }) => { + const importDeclarations = sourceFile.getImportDeclarations(); + for (const importDeclaration of importDeclarations) { + const moduleSpecifier = updateImportAliases( + importDeclaration.getModuleSpecifierValue(), + config + ); + importDeclaration.setModuleSpecifier(moduleSpecifier); + } + + return sourceFile; +}; + +function updateImportAliases(moduleSpecifier: string, config: ExtendedConfig) { + // Not a local import. + if (!moduleSpecifier.startsWith("@/")) { + return moduleSpecifier; + } + + // Not a registry import. + if (!moduleSpecifier.startsWith("@/registry/")) { + // We fix the alias and return. + const alias = config.aliases.components.split("/")[0]; + return moduleSpecifier.replace(/^@\//, `${alias}/`); + } + + if (moduleSpecifier.match(/^@\/registry\/core/)) { + return moduleSpecifier + .replace(/^@\/registry\/core/, config.aliases.core) + .replace(/_[^/_]+$/, ""); + } + + if ( + config.aliases.components && + moduleSpecifier.match(/^@\/registry\/components/) + ) { + return moduleSpecifier.replace( + /^@\/registry\/components/, + config.aliases.components + ); + } + + if (config.aliases.lib && moduleSpecifier.match(/^@\/registry\/lib/)) { + return moduleSpecifier.replace(/^@\/registry\/lib/, config.aliases.lib); + } + + if (config.aliases.hooks && moduleSpecifier.match(/^@\/registry\/hooks/)) { + return moduleSpecifier.replace(/^@\/registry\/hooks/, config.aliases.hooks); + } + + return moduleSpecifier.replace( + /^@\/registry\/[^/]+/, + config.aliases.components + ); +} diff --git a/packages/cli/src/helpers/transformers/transform-jsx.ts b/packages/cli/src/helpers/transformers/transform-jsx.ts deleted file mode 100644 index 71fdf9ff..00000000 --- a/packages/cli/src/helpers/transformers/transform-jsx.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { transformFromAstSync } from "@babel/core"; -import { ParserOptions, parse } from "@babel/parser"; -// @ts-ignore -import transformTypescript from "@babel/plugin-transform-typescript"; -import * as recast from "recast"; -import { type Transformer } from "@/helpers/transformers"; - -// TODO. -// I'm using recast for the AST here. -// Figure out if ts-morph AST is compatible with Babel. - -// This is a copy of the babel options from recast/parser. -// The goal here is to tolerate as much syntax as possible. -// We want to be able to parse any valid tsx code. -// See https://github.com/benjamn/recast/blob/master/parsers/_babel_options.ts. -const PARSE_OPTIONS: ParserOptions = { - sourceType: "module", - allowImportExportEverywhere: true, - allowReturnOutsideFunction: true, - startLine: 1, - tokens: true, - plugins: [ - "asyncGenerators", - "bigInt", - "classPrivateMethods", - "classPrivateProperties", - "classProperties", - "classStaticBlock", - "decimal", - "decorators-legacy", - "doExpressions", - "dynamicImport", - "exportDefaultFrom", - "exportNamespaceFrom", - "functionBind", - "functionSent", - "importAssertions", - "importMeta", - "nullishCoalescingOperator", - "numericSeparator", - "objectRestSpread", - "optionalCatchBinding", - "optionalChaining", - [ - "pipelineOperator", - { - proposal: "minimal", - }, - ], - [ - "recordAndTuple", - { - syntaxType: "hash", - }, - ], - "throwExpressions", - "topLevelAwait", - "v8intrinsic", - "typescript", - "jsx", - ], -}; - -export const transformJsx: Transformer = async ({ - sourceFile, - config, -}) => { - const output = sourceFile.getFullText(); - - if (config.tsx) { - return output; - } - - const ast = recast.parse(output, { - parser: { - parse: (code: string) => { - return parse(code, PARSE_OPTIONS); - }, - }, - }); - - const result = transformFromAstSync(ast, output, { - cloneInputAst: false, - code: false, - ast: true, - plugins: [transformTypescript], - configFile: false, - }); - - if (!result || !result.ast) { - throw new Error("Failed to transform JSX"); - } - - return recast.print(result.ast).code; -}; diff --git a/packages/cli/src/helpers/transformers/transform-rsc.ts b/packages/cli/src/helpers/transformers/transform-rsc.ts deleted file mode 100644 index 77818966..00000000 --- a/packages/cli/src/helpers/transformers/transform-rsc.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SyntaxKind } from "ts-morph"; -import { Transformer } from "@/helpers/transformers"; - -export const transformRsc: Transformer = async ({ sourceFile, config }) => { - if (config.rsc) { - return sourceFile; - } - - // Remove "use client" from the top of the file. - const first = sourceFile.getFirstChildByKind(SyntaxKind.ExpressionStatement); - if (first?.getText() === `"use client"`) { - first.remove(); - } - - return sourceFile; -}; diff --git a/packages/cli/src/helpers/transformers/transform-tw-prefix.ts b/packages/cli/src/helpers/transformers/transform-tw-prefix.ts deleted file mode 100644 index adf460c8..00000000 --- a/packages/cli/src/helpers/transformers/transform-tw-prefix.ts +++ /dev/null @@ -1,200 +0,0 @@ -import { SyntaxKind } from "ts-morph"; -import { Transformer } from "@/helpers/transformers"; -import { splitClassName } from "./transform-css-vars"; - -export const transformTwPrefixes: Transformer = async ({ - sourceFile, - config, -}) => { - if (!config.tailwind?.prefix) { - return sourceFile; - } - - // Find the cva function calls. - sourceFile - .getDescendantsOfKind(SyntaxKind.CallExpression) - .filter((node) => node.getExpression().getText() === "cva") - .forEach((node) => { - // cva(base, ...) - if (node.getArguments()[0]?.isKind(SyntaxKind.StringLiteral)) { - const defaultClassNames = node.getArguments()[0]; - if (defaultClassNames) { - defaultClassNames.replaceWithText( - `"${applyPrefix( - defaultClassNames.getText()?.replace(/"/g, ""), - config.tailwind.prefix - )}"` - ); - } - } - - // cva(..., { variants: { ... } }) - if (node.getArguments()[1]?.isKind(SyntaxKind.ObjectLiteralExpression)) { - node - .getArguments()[1] - ?.getDescendantsOfKind(SyntaxKind.PropertyAssignment) - .find((node) => node.getName() === "variants") - ?.getDescendantsOfKind(SyntaxKind.PropertyAssignment) - .forEach((node) => { - node - .getDescendantsOfKind(SyntaxKind.PropertyAssignment) - .forEach((node) => { - const classNames = node.getInitializerIfKind( - SyntaxKind.StringLiteral - ); - if (classNames) { - classNames?.replaceWithText( - `"${applyPrefix( - classNames.getText()?.replace(/"/g, ""), - config.tailwind.prefix - )}"` - ); - } - }); - }); - } - }); - - // Find all jsx attributes with the name className. - sourceFile.getDescendantsOfKind(SyntaxKind.JsxAttribute).forEach((node) => { - if (node.getName() === "className") { - // className="..." - if (node.getInitializer()?.isKind(SyntaxKind.StringLiteral)) { - const value = node.getInitializer(); - if (value) { - value.replaceWithText( - `"${applyPrefix( - value.getText()?.replace(/"/g, ""), - config.tailwind.prefix - )}"` - ); - } - } - - // className={...} - if (node.getInitializer()?.isKind(SyntaxKind.JsxExpression)) { - // Check if it's a call to cn(). - const callExpression = node - .getInitializer() - ?.getDescendantsOfKind(SyntaxKind.CallExpression) - .find((node) => node.getExpression().getText() === "cn"); - if (callExpression) { - // Loop through the arguments. - callExpression.getArguments().forEach((node) => { - if ( - node.isKind(SyntaxKind.ConditionalExpression) || - node.isKind(SyntaxKind.BinaryExpression) - ) { - node - .getChildrenOfKind(SyntaxKind.StringLiteral) - .forEach((node) => { - node.replaceWithText( - `"${applyPrefix( - node.getText()?.replace(/"/g, ""), - config.tailwind.prefix - )}"` - ); - }); - } - - if (node.isKind(SyntaxKind.StringLiteral)) { - node.replaceWithText( - `"${applyPrefix( - node.getText()?.replace(/"/g, ""), - config.tailwind.prefix - )}"` - ); - } - }); - } - } - } - - // classNames={...} - if (node.getName() === "classNames") { - if (node.getInitializer()?.isKind(SyntaxKind.JsxExpression)) { - node - .getDescendantsOfKind(SyntaxKind.PropertyAssignment) - .forEach((node) => { - if (node.getInitializer()?.isKind(SyntaxKind.CallExpression)) { - const callExpression = node.getInitializerIfKind( - SyntaxKind.CallExpression - ); - if (callExpression) { - // Loop through the arguments. - callExpression.getArguments().forEach((arg) => { - if (arg.isKind(SyntaxKind.ConditionalExpression)) { - arg - .getChildrenOfKind(SyntaxKind.StringLiteral) - .forEach((node) => { - node.replaceWithText( - `"${applyPrefix( - node.getText()?.replace(/"/g, ""), - config.tailwind.prefix - )}"` - ); - }); - } - - if (arg.isKind(SyntaxKind.StringLiteral)) { - arg.replaceWithText( - `"${applyPrefix( - arg.getText()?.replace(/"/g, ""), - config.tailwind.prefix - )}"` - ); - } - }); - } - } - - if (node.getInitializer()?.isKind(SyntaxKind.StringLiteral)) { - if (node.getName() !== "variant") { - const classNames = node.getInitializer(); - if (classNames) { - classNames.replaceWithText( - `"${applyPrefix( - classNames.getText()?.replace(/"/g, ""), - config.tailwind.prefix - )}"` - ); - } - } - } - }); - } - } - }); - - return sourceFile; -}; - -export function applyPrefix(input: string, prefix: string = "") { - const classNames = input.split(" "); - const prefixed: string[] = []; - for (let className of classNames) { - const [variant, value, modifier] = splitClassName(className); - if (variant) { - modifier - ? prefixed.push(`${variant}:${prefix}${value}/${modifier}`) - : prefixed.push(`${variant}:${prefix}${value}`); - } else { - modifier - ? prefixed.push(`${prefix}${value}/${modifier}`) - : prefixed.push(`${prefix}${value}`); - } - } - return prefixed.join(" "); -} - -export function applyPrefixesCss(css: string, prefix: string) { - const lines = css.split("\n"); - for (let line of lines) { - if (line.includes("@apply")) { - const originalTWCls = line.replace("@apply", "").trim(); - const prefixedTwCls = applyPrefix(originalTWCls, prefix); - css = css.replace(originalTWCls, prefixedTwCls); - } - } - return css; -} diff --git a/packages/cli/src/helpers/updaters/index.ts b/packages/cli/src/helpers/updaters/index.ts new file mode 100644 index 00000000..6cb97e28 --- /dev/null +++ b/packages/cli/src/helpers/updaters/index.ts @@ -0,0 +1,2 @@ +export * from "./update-deps"; +export * from "./update-files"; diff --git a/packages/cli/src/helpers/updaters/update-css-vars.ts b/packages/cli/src/helpers/updaters/update-css-vars.ts deleted file mode 100644 index 507507b6..00000000 --- a/packages/cli/src/helpers/updaters/update-css-vars.ts +++ /dev/null @@ -1,240 +0,0 @@ -import { registryItemCssVarsSchema } from "@dotui/registry/schema"; -import { promises as fs } from "node:fs"; -import path from "path"; -import postcss from "postcss"; -import AtRule from "postcss/lib/at-rule"; -import Root from "postcss/lib/root"; -import Rule from "postcss/lib/rule"; -import { z } from "zod"; -import { Config } from "@/helpers/get-config"; -import { spinner, highlight } from "@/utils"; - -export async function updateCssVars( - cssVars: z.infer | undefined, - config: Config -) { - if ( - !cssVars || - !Object.keys(cssVars).length || - !config.resolvedPaths.tailwindCss - ) { - return; - } - - const cssFilepath = config.resolvedPaths.tailwindCss; - const cssFilepathRelative = path.relative( - config.resolvedPaths.cwd, - cssFilepath - ); - const cssVarsSpinner = spinner( - `Updating ${highlight.info(cssFilepathRelative)}` - ).start(); - const raw = await fs.readFile(cssFilepath, "utf8"); - let output = await transformCssVars(raw, cssVars, config); - await fs.writeFile(cssFilepath, output, "utf8"); - cssVarsSpinner.succeed(); -} - -export async function transformCssVars( - input: string, - cssVars: z.infer, - config: Config -) { - const plugins = [updateCssVarsPlugin(cssVars)]; - // const cleanupDefaultNextStyles = false - // if (options.cleanupDefaultNextStyles) { - // plugins.push(cleanupDefaultNextStylesPlugin()); - // } - - // TODO - // Only add the base layer plugin if we're using css variables. - // if (config.tailwind.cssVariables) { - plugins.push(updateBaseLayerPlugin()); - // } - - const result = await postcss(plugins).process(input, { - from: undefined, - }); - - return result.css; -} - -function updateBaseLayerPlugin() { - return { - postcssPlugin: "update-base-layer", - Once(root: Root) { - const requiredRules = [ - { selector: "*", apply: "border-border" }, - { selector: "body", apply: "bg-background text-foreground" }, - ]; - - let baseLayer = root.nodes.find( - (node): node is AtRule => - node.type === "atrule" && - node.name === "layer" && - node.params === "base" && - requiredRules.every(({ selector, apply }) => - node.nodes?.some( - (rule): rule is Rule => - rule.type === "rule" && - rule.selector === selector && - rule.nodes.some( - (applyRule): applyRule is AtRule => - applyRule.type === "atrule" && - applyRule.name === "apply" && - applyRule.params === apply - ) - ) - ) - ) as AtRule | undefined; - - if (!baseLayer) { - baseLayer = postcss.atRule({ - name: "layer", - params: "base", - raws: { semicolon: true, between: " ", before: "\n" }, - }); - root.append(baseLayer); - } - - requiredRules.forEach(({ selector, apply }) => { - const existingRule = baseLayer?.nodes?.find( - (node): node is Rule => - node.type === "rule" && node.selector === selector - ); - - if (!existingRule) { - baseLayer?.append( - postcss.rule({ - selector, - nodes: [ - postcss.atRule({ - name: "apply", - params: apply, - raws: { semicolon: true, before: "\n " }, - }), - ], - raws: { semicolon: true, between: " ", before: "\n " }, - }) - ); - } - }); - }, - }; -} - -function updateCssVarsPlugin( - cssVars: z.infer -) { - return { - postcssPlugin: "update-css-vars", - Once(root: Root) { - let baseLayer = root.nodes.find( - (node) => - node.type === "atrule" && - node.name === "layer" && - node.params === "base" - ) as AtRule | undefined; - - if (!(baseLayer instanceof AtRule)) { - baseLayer = postcss.atRule({ - name: "layer", - params: "base", - nodes: [], - raws: { - semicolon: true, - before: "\n", - between: " ", - }, - }); - root.append(baseLayer); - } - - if (baseLayer !== undefined) { - // Add variables for each key in cssVars - Object.entries(cssVars).forEach(([key, vars]) => { - const selector = key === "light" ? ":root" : `.${key}`; - // TODO: Fix typecheck. - addOrUpdateVars(baseLayer as AtRule, selector, vars); - }); - } - }, - }; -} - -function cleanupDefaultNextStylesPlugin() { - return { - postcssPlugin: "cleanup-default-next-styles", - Once(root: Root) { - const bodyRule = root.nodes.find( - (node): node is Rule => node.type === "rule" && node.selector === "body" - ); - if (bodyRule) { - // Remove color from the body node. - bodyRule.nodes - .find( - (node): node is postcss.Declaration => - node.type === "decl" && - node.prop === "color" && - node.value === "rgb(var(--foreground-rgb))" - ) - ?.remove(); - - // Remove background: linear-gradient. - bodyRule.nodes - .find((node): node is postcss.Declaration => { - return ( - node.type === "decl" && - node.prop === "background" && - // This is only going to run on create project, so all good. - node.value.startsWith("linear-gradient") - ); - }) - ?.remove(); - - // If the body rule is empty, remove it. - if (bodyRule.nodes.length === 0) { - bodyRule.remove(); - } - } - }, - }; -} - -function addOrUpdateVars( - baseLayer: AtRule, - selector: string, - vars: Record -) { - let ruleNode = baseLayer.nodes?.find( - (node): node is Rule => node.type === "rule" && node.selector === selector - ); - - if (!ruleNode) { - if (Object.keys(vars).length > 0) { - ruleNode = postcss.rule({ - selector, - raws: { between: " ", before: "\n " }, - }); - baseLayer.append(ruleNode); - } - } - - Object.entries(vars).forEach(([key, value]) => { - const prop = `--${key.replace(/^--/, "")}`; - const newDecl = postcss.decl({ - prop, - value, - raws: { semicolon: true }, - }); - - const existingDecl = ruleNode?.nodes.find( - (node): node is postcss.Declaration => - node.type === "decl" && node.prop === prop - ); - - existingDecl - ? existingDecl.replaceWith(newDecl) - : ruleNode?.append(newDecl); - }); -} diff --git a/packages/cli/src/helpers/updaters/update-dependencies.ts b/packages/cli/src/helpers/updaters/update-dependencies.ts deleted file mode 100644 index cf6c7544..00000000 --- a/packages/cli/src/helpers/updaters/update-dependencies.ts +++ /dev/null @@ -1,26 +0,0 @@ -import type { RegistryItem } from "@dotui/registry/types"; -import { execa } from "execa"; -import { Config } from "@/helpers/get-config"; -import { getPackageManager } from "@/helpers/get-pkg-manager"; -import { spinner } from "@/utils"; - -export async function updateDependencies( - dependencies: RegistryItem["dependencies"], - config: Config -) { - dependencies = Array.from(new Set(dependencies)); - if (!dependencies?.length) { - return; - } - - const dependenciesSpinner = spinner(`Installing dependencies.`)?.start(); - const packageManager = await getPackageManager(config.resolvedPaths.cwd); - await execa( - packageManager, - [packageManager === "npm" ? "install" : "add", ...dependencies], - { - cwd: config.resolvedPaths.cwd, - } - ); - dependenciesSpinner?.succeed(); -} diff --git a/packages/cli/src/helpers/updaters/update-deps.ts b/packages/cli/src/helpers/updaters/update-deps.ts new file mode 100644 index 00000000..1841511f --- /dev/null +++ b/packages/cli/src/helpers/updaters/update-deps.ts @@ -0,0 +1,23 @@ +import { ExtendedConfig, RegistryItem } from "@dotui/schemas"; +import { execa } from "execa"; +import { getPackageManager } from "@/utils"; + +export async function updateDeps( + dependencies: RegistryItem["deps"], + config: ExtendedConfig +) { + dependencies = Array.from(new Set(dependencies)); + if (!dependencies?.length) { + return; + } + + const packageManager = await getPackageManager(config.resolvedPaths.cwd); + + await execa( + packageManager, + [packageManager === "npm" ? "install" : "add", ...dependencies], + { + cwd: config.resolvedPaths.cwd, + } + ); +} diff --git a/packages/cli/src/helpers/updaters/update-files.ts b/packages/cli/src/helpers/updaters/update-files.ts index 0f13302d..02dc0d38 100644 --- a/packages/cli/src/helpers/updaters/update-files.ts +++ b/packages/cli/src/helpers/updaters/update-files.ts @@ -1,141 +1,120 @@ -import type { RegistryItem } from "@dotui/registry/types"; -import { existsSync, promises as fs } from "node:fs"; -import path, { basename } from "path"; -import prompts from "prompts"; -import { Config } from "@/helpers/get-config"; -import { getProjectInfo } from "@/helpers/get-project-info"; -import { getRegistryItemFileTargetPath } from "@/helpers/registry"; -import { transform } from "@/helpers/transformers"; -import { transformCssVars } from "@/helpers/transformers/transform-css-vars"; -import { transformImport } from "@/helpers/transformers/transform-import"; -import { transformRsc } from "@/helpers/transformers/transform-rsc"; -import { transformTwPrefixes } from "@/helpers/transformers/transform-tw-prefix"; -import { logger, highlight, spinner } from "@/utils"; - -export async function updateFiles( - files: RegistryItem["files"], - config: Config, - options: { - overwrite?: boolean; - } -) { - if (!files?.length) { - return; - } - options = { - overwrite: false, - ...options, - }; - const filesCreatedSpinner = spinner(`Updating files.`)?.start(); - - const projectInfo = await getProjectInfo(config.resolvedPaths.cwd); - - const filesCreated = []; - const filesUpdated = []; - const filesSkipped = []; - - for (const file of files) { - if (!file.content) { - continue; - } - - let targetDir = getRegistryItemFileTargetPath(file, config); - const fileName = basename(file.path); - let filePath = path.join(targetDir, fileName); - - if (file.target) { - filePath = projectInfo?.isSrcDir - ? path.join(config.resolvedPaths.cwd, "src", file.target) - : path.join(config.resolvedPaths.cwd, file.target); - targetDir = path.dirname(filePath); - } - - if (!config.tsx) { - filePath = filePath.replace(/\.tsx?$/, (match) => - match === ".tsx" ? ".jsx" : ".js" - ); - } - - const existingFile = existsSync(filePath); - if (existingFile && !options.overwrite) { - filesCreatedSpinner.stop(); - const { overwrite } = await prompts({ - type: "confirm", - name: "overwrite", - message: `The file ${highlight.info( - fileName - )} already exists. Would you like to overwrite?`, - initial: false, - }); - - if (!overwrite) { - filesSkipped.push(path.relative(config.resolvedPaths.cwd, filePath)); - continue; - } - filesCreatedSpinner?.start(); - } - - // Create the target directory if it doesn't exist. - if (!existsSync(targetDir)) { - await fs.mkdir(targetDir, { recursive: true }); - } - - // Run our transformers. - const content = await transform( - { - filename: file.path, - raw: file.content, - config, - transformJsx: !config.tsx, - }, - [transformImport, transformRsc, transformCssVars, transformTwPrefixes] - ); - - await fs.writeFile(filePath, content, "utf-8"); - existingFile - ? filesUpdated.push(path.relative(config.resolvedPaths.cwd, filePath)) - : filesCreated.push(path.relative(config.resolvedPaths.cwd, filePath)); - } - - const hasUpdatedFiles = filesCreated.length || filesUpdated.length; - if (!hasUpdatedFiles && !filesSkipped.length) { - filesCreatedSpinner?.info("No files updated."); - } - - if (filesCreated.length) { - filesCreatedSpinner?.succeed( - `Created ${filesCreated.length} ${ - filesCreated.length === 1 ? "file" : "files" - }:` - ); - for (const file of filesCreated) { - logger.log(` - ${file}`); - } - } else { - filesCreatedSpinner?.stop(); - } - - if (filesUpdated.length) { - spinner( - `Updated ${filesUpdated.length} ${ - filesUpdated.length === 1 ? "file" : "files" - }:` - )?.info(); - for (const file of filesUpdated) { - logger.log(` - ${file}`); - } - } - - if (filesSkipped.length) { - spinner( - `Skipped ${filesSkipped.length} ${ - filesUpdated.length === 1 ? "file" : "files" - }:` - )?.info(); - for (const file of filesSkipped) { - logger.log(` - ${file}`); - } - } - - logger.break(); -} +import { ExtendedConfig, RegistryItemFile } from "@dotui/schemas"; +import { existsSync, promises as fs } from "fs"; +import path from "path"; +import { transform } from "@/helpers/transformers"; + +interface Result { + filesCreated: string[]; + filesUpdated: string[]; + filesSkipped: string[]; +} + +export async function updateFiles( + files: RegistryItemFile[], + config: ExtendedConfig, + options: { overwrite?: boolean } = {} +): Promise { + options = { + overwrite: false, + ...options, + }; + + if (!files.length) + return { filesCreated: [], filesUpdated: [], filesSkipped: [] }; + + const filesCreated = []; + const filesUpdated = []; + const filesSkipped = []; + + for (const file of files) { + if (!file.content) continue; + + const filePath = resolveFilePath(file, config); + + const targetDir = path.dirname(filePath); + const existingFile = existsSync(filePath); + + if (existingFile && !options.overwrite) { + filesSkipped.push(path.relative(config.resolvedPaths.cwd, filePath)); + continue; + } + + // Create the target directory if it doesn't exist. + if (!existsSync(targetDir)) { + await fs.mkdir(targetDir, { recursive: true }); + } + + // Run our transformers. + const content = await transform({ + filename: file.path, + raw: file.content, + config, + }); + + await fs.writeFile(filePath, content, "utf-8"); + + if (existingFile) { + filesUpdated.push(path.relative(config.resolvedPaths.cwd, filePath)); + } else { + filesCreated.push(path.relative(config.resolvedPaths.cwd, filePath)); + } + } + + return { filesCreated, filesUpdated, filesSkipped }; +} + +function resolveFilePath(file: RegistryItemFile, config: ExtendedConfig) { + const targetDir = resolveFileTargetDirectory(file, config); + + const relativePath = resolveNestedFilePath(file.path, targetDir); + return path.join(targetDir, relativePath); +} + +function resolveFileTargetDirectory( + file: RegistryItemFile, + config: ExtendedConfig +) { + if (file.type === "component") { + return config.resolvedPaths.components; + } + if (file.type === "core") { + return config.resolvedPaths.core; + } + + if (file.type === "hook") { + return config.resolvedPaths.hooks; + } + + if (file.type === "lib") { + return config.resolvedPaths.lib; + } + + return config.resolvedPaths.components; +} + +export function resolveNestedFilePath( + filePath: string, + targetDir: string +): string { + // Normalize paths by removing leading/trailing slashes + const normalizedFilePath = filePath.replace(/^\/|\/$/g, ""); + const normalizedTargetDir = targetDir.replace(/^\/|\/$/g, ""); + + // Split paths into segments + const fileSegments = normalizedFilePath.split("/"); + const targetSegments = normalizedTargetDir.split("/"); + + // Find the last matching segment from targetDir in filePath + const lastTargetSegment = targetSegments[targetSegments.length - 1]; + const commonDirIndex = fileSegments.findIndex( + (segment) => segment === lastTargetSegment + ); + + if (commonDirIndex === -1) { + // Return just the filename if no common directory is found + return fileSegments[fileSegments.length - 1]; + } + + // Return everything after the common directory + return fileSegments.slice(commonDirIndex + 1).join("/"); +} diff --git a/packages/cli/src/helpers/updaters/update-tailwind-config.ts b/packages/cli/src/helpers/updaters/update-tailwind-config.ts deleted file mode 100644 index ce11b700..00000000 --- a/packages/cli/src/helpers/updaters/update-tailwind-config.ts +++ /dev/null @@ -1,418 +0,0 @@ -import { registryItemTailwindSchema } from "@dotui/registry/schema"; -import deepmerge from "deepmerge"; -import { promises as fs } from "node:fs"; -import { tmpdir } from "os"; -import path from "path"; -import objectToString from "stringify-object"; -import { type Config as TailwindConfig } from "tailwindcss"; -import { - ObjectLiteralExpression, - Project, - PropertyAssignment, - QuoteKind, - ScriptKind, - SyntaxKind, - VariableStatement, -} from "ts-morph"; -import { z } from "zod"; -import { Config } from "@/helpers/get-config"; -import { highlight } from "@/utils"; -import { spinner } from "@/utils/spinner"; - -export type UpdaterTailwindConfig = Omit & { - // We only want string plugins for now. - plugins?: string[]; -}; - -export async function updateTailwindConfig( - tailwindConfig: - | z.infer["config"] - | undefined, - config: Config -) { - if (!tailwindConfig) { - return; - } - - const tailwindFileRelativePath = path.relative( - config.resolvedPaths.cwd, - config.resolvedPaths.tailwindConfig - ); - const tailwindSpinner = spinner( - `Updating ${highlight.info(tailwindFileRelativePath)}` - ).start(); - const raw = await fs.readFile(config.resolvedPaths.tailwindConfig, "utf8"); - const output = await transformTailwindConfig(raw, tailwindConfig, config); - await fs.writeFile(config.resolvedPaths.tailwindConfig, output, "utf8"); - tailwindSpinner?.succeed(); -} - -export async function transformTailwindConfig( - input: string, - tailwindConfig: UpdaterTailwindConfig, - config: Config -) { - const sourceFile = await _createSourceFile(input, config); - // Find the object with content property. - // This is faster than traversing the default export. - // TODO: maybe we do need to traverse the default export? - const configObject = sourceFile - .getDescendantsOfKind(SyntaxKind.ObjectLiteralExpression) - .find((node) => - node - .getProperties() - .some( - (property) => - property.isKind(SyntaxKind.PropertyAssignment) && - property.getName() === "content" - ) - ); - - // We couldn't find the config object, so we return the input as is. - if (!configObject) { - return input; - } - - const quoteChar = _getQuoteChar(configObject); - - // Add darkMode. - addTailwindConfigProperty( - configObject, - { - name: "darkMode", - value: "class", - }, - { quoteChar } - ); - - // Add Tailwind config plugins. - tailwindConfig.plugins?.forEach((plugin) => { - addTailwindConfigPlugin(configObject, plugin); - }); - - // Add Tailwind config theme. - if (tailwindConfig.theme) { - await addTailwindConfigTheme(configObject, tailwindConfig.theme); - } - - return sourceFile.getFullText(); -} - -function addTailwindConfigProperty( - configObject: ObjectLiteralExpression, - property: { - name: string; - value: string; - }, - { - quoteChar, - }: { - quoteChar: string; - } -) { - const existingProperty = configObject.getProperty("darkMode"); - - if (!existingProperty) { - const newProperty = { - name: property.name, - initializer: `[${quoteChar}${property.value}${quoteChar}]`, - }; - - // We need to add darkMode as the first property. - if (property.name === "darkMode") { - configObject.insertPropertyAssignment(0, newProperty); - return configObject; - } - - configObject.addPropertyAssignment(newProperty); - - return configObject; - } - - if (existingProperty.isKind(SyntaxKind.PropertyAssignment)) { - const initializer = existingProperty.getInitializer(); - const newValue = `${quoteChar}${property.value}${quoteChar}`; - - // If property is a string, change it to an array and append. - if (initializer?.isKind(SyntaxKind.StringLiteral)) { - const initializerText = initializer.getText(); - initializer.replaceWithText(`[${initializerText}, ${newValue}]`); - return configObject; - } - - // If property is an array, append. - if (initializer?.isKind(SyntaxKind.ArrayLiteralExpression)) { - // Check if the array already contains the value. - if ( - initializer - .getElements() - .map((element) => element.getText()) - .includes(newValue) - ) { - return configObject; - } - initializer.addElement(newValue); - } - - return configObject; - } - - return configObject; -} - -async function addTailwindConfigTheme( - configObject: ObjectLiteralExpression, - theme: UpdaterTailwindConfig["theme"] -) { - // Ensure there is a theme property. - if (!configObject.getProperty("theme")) { - configObject.addPropertyAssignment({ - name: "theme", - initializer: "{}", - }); - } - - // Nest all spread properties. - nestSpreadProperties(configObject); - - const themeProperty = configObject - .getPropertyOrThrow("theme") - ?.asKindOrThrow(SyntaxKind.PropertyAssignment); - - const themeInitializer = themeProperty.getInitializer(); - if (themeInitializer?.isKind(SyntaxKind.ObjectLiteralExpression)) { - const themeObjectString = themeInitializer.getText(); - const themeObject = await parseObjectLiteral(themeObjectString); - const result = deepmerge(themeObject, theme); - const resultString = objectToString(result) - .replace(/\'\"/g, "'") // Replace `\" with " - .replace(/\"\'/g, "'") // Replace `\" with " - .replace(/\'\[/g, "[") // Replace `[ with [ - .replace(/\]\'/g, "]") // Replace `] with ] - .replace(/\'\\\'/g, "'") // Replace `\' with ' - .replace(/\\\'/g, "'") // Replace \' with ' - .replace(/\\\'\'/g, "'") - .replace(/\'\'/g, "'"); - themeInitializer.replaceWithText(resultString); - } - - // Unnest all spread properties. - unnestSpreadProperties(configObject); -} - -function addTailwindConfigPlugin( - configObject: ObjectLiteralExpression, - plugin: string -) { - const existingPlugins = configObject.getProperty("plugins"); - - if (!existingPlugins) { - configObject.addPropertyAssignment({ - name: "plugins", - initializer: `[${plugin}]`, - }); - - return configObject; - } - - if (existingPlugins.isKind(SyntaxKind.PropertyAssignment)) { - const initializer = existingPlugins.getInitializer(); - - if (initializer?.isKind(SyntaxKind.ArrayLiteralExpression)) { - if ( - initializer - .getElements() - .map((element) => { - return element.getText().replace(/["']/g, ""); - }) - .includes(plugin.replace(/["']/g, "")) - ) { - return configObject; - } - initializer.addElement(plugin); - } - - return configObject; - } - - return configObject; -} - -async function _createSourceFile(input: string, config: Config | null) { - const dir = await fs.mkdtemp(path.join(tmpdir(), "shadcn-")); - const resolvedPath = - config?.resolvedPaths?.tailwindConfig || "tailwind.config.ts"; - const tempFile = path.join(dir, `shadcn-${path.basename(resolvedPath)}`); - - const project = new Project({ - compilerOptions: {}, - }); - const sourceFile = project.createSourceFile(tempFile, input, { - // Note: .js and .mjs can still be valid for TS projects. - // We can't infer TypeScript from config.tsx. - scriptKind: - path.extname(resolvedPath) === ".ts" ? ScriptKind.TS : ScriptKind.JS, - }); - - return sourceFile; -} - -function _getQuoteChar(configObject: ObjectLiteralExpression) { - return configObject - .getFirstDescendantByKind(SyntaxKind.StringLiteral) - ?.getQuoteKind() === QuoteKind.Single - ? "'" - : '"'; -} - -export function nestSpreadProperties(obj: ObjectLiteralExpression) { - const properties = obj.getProperties(); - - for (let i = 0; i < properties.length; i++) { - const prop = properties[i]; - if (prop.isKind(SyntaxKind.SpreadAssignment)) { - const spreadAssignment = prop.asKindOrThrow(SyntaxKind.SpreadAssignment); - const spreadText = spreadAssignment.getExpression().getText(); - - // Replace spread with a property assignment - obj.insertPropertyAssignment(i, { - name: `___${spreadText.replace(/^\.\.\./, "")}`, - initializer: `"...${spreadText.replace(/^\.\.\./, "")}"`, - }); - - // Remove the original spread assignment - spreadAssignment.remove(); - } else if (prop.isKind(SyntaxKind.PropertyAssignment)) { - const propAssignment = prop.asKindOrThrow(SyntaxKind.PropertyAssignment); - const initializer = propAssignment.getInitializer(); - - if ( - initializer && - initializer.isKind(SyntaxKind.ObjectLiteralExpression) - ) { - // Recursively process nested object literals - nestSpreadProperties( - initializer.asKindOrThrow(SyntaxKind.ObjectLiteralExpression) - ); - } - } - } -} - -export function unnestSpreadProperties(obj: ObjectLiteralExpression) { - const properties = obj.getProperties(); - - for (let i = 0; i < properties.length; i++) { - const prop = properties[i]; - if (prop.isKind(SyntaxKind.PropertyAssignment)) { - const propAssignment = prop as PropertyAssignment; - const initializer = propAssignment.getInitializer(); - - if (initializer?.isKind(SyntaxKind.StringLiteral)) { - const value = initializer.getLiteralValue(); - if (value.startsWith("...")) { - obj.insertSpreadAssignment(i, { expression: value.slice(3) }); - propAssignment.remove(); - } - } else if (initializer?.isKind(SyntaxKind.ObjectLiteralExpression)) { - unnestSpreadProperties(initializer as ObjectLiteralExpression); - } - } - } -} - -async function parseObjectLiteral(objectLiteralString: string): Promise { - const sourceFile = await _createSourceFile( - `const theme = ${objectLiteralString}`, - null - ); - - const statement = sourceFile.getStatements()[0]; - if (statement?.getKind() === SyntaxKind.VariableStatement) { - const declaration = (statement as VariableStatement) - .getDeclarationList() - ?.getDeclarations()[0]; - const initializer = declaration.getInitializer(); - if (initializer?.isKind(SyntaxKind.ObjectLiteralExpression)) { - return await parseObjectLiteralExpression(initializer); - } - } - - throw new Error("Invalid input: not an object literal"); -} - -function parseObjectLiteralExpression(node: ObjectLiteralExpression): any { - const result: any = {}; - for (const property of node.getProperties()) { - if (property.isKind(SyntaxKind.PropertyAssignment)) { - const name = property.getName().replace(/\'/g, ""); - if ( - property.getInitializer()?.isKind(SyntaxKind.ObjectLiteralExpression) - ) { - result[name] = parseObjectLiteralExpression( - property.getInitializer() as ObjectLiteralExpression - ); - } else { - result[name] = parseValue(property.getInitializer()); - } - } - } - return result; -} - -function parseValue(node: any): any { - switch (node.kind) { - case SyntaxKind.StringLiteral: - return node.text; - case SyntaxKind.NumericLiteral: - return Number(node.text); - case SyntaxKind.TrueKeyword: - return true; - case SyntaxKind.FalseKeyword: - return false; - case SyntaxKind.NullKeyword: - return null; - case SyntaxKind.ArrayLiteralExpression: - return node.elements.map(parseValue); - default: - return node.getText(); - } -} - -export function buildTailwindThemeColorsFromCssVars( - cssVars: Record -) { - const result: Record = {}; - - for (const key of Object.keys(cssVars)) { - const parts = key.split("-"); - const colorName = parts[0]; - const subType = parts.slice(1).join("-"); - - if (subType === "") { - if (typeof result[colorName] === "object") { - result[colorName].DEFAULT = `hsl(var(--${key}))`; - } else { - result[colorName] = `hsl(var(--${key}))`; - } - } else { - if (typeof result[colorName] !== "object") { - result[colorName] = { DEFAULT: `hsl(var(--${colorName}))` }; - } - result[colorName][subType] = `hsl(var(--${key}))`; - } - } - - // Remove DEFAULT if it's not in the original cssVars - for (const [colorName, value] of Object.entries(result)) { - if ( - typeof value === "object" && - value.DEFAULT === `hsl(var(--${colorName}))` && - !(colorName in cssVars) - ) { - delete value.DEFAULT; - } - } - - return result; -} diff --git a/packages/cli/src/helpers/validate-project-name.ts b/packages/cli/src/helpers/validate-project-name.ts deleted file mode 100644 index 303e1ede..00000000 --- a/packages/cli/src/helpers/validate-project-name.ts +++ /dev/null @@ -1,136 +0,0 @@ -// source: https://github.com/npm/validate-npm-package-name/blob/main/index.js -import { builtinModules as builtins } from "module"; - -const scopedPackagePattern: RegExp = new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$"); -const blacklist: readonly string[] = ["node_modules", "favicon.ico"] as const; - -interface NpmValidationResult { - validForNewPackages: boolean; - validForOldPackages: boolean; - warnings?: string[]; - errors?: string[]; -} - -const validateNpmName = (name: unknown): NpmValidationResult => { - const warnings: string[] = []; - const errors: string[] = []; - - if (name === null) { - errors.push("name cannot be null"); - return done(warnings, errors); - } - - if (name === undefined) { - errors.push("name cannot be undefined"); - return done(warnings, errors); - } - - if (typeof name !== "string") { - errors.push("name must be a string"); - return done(warnings, errors); - } - - if (!name.length) { - errors.push("name length must be greater than zero"); - } - - if (name.match(/^\./)) { - errors.push("name cannot start with a period"); - } - - if (name.match(/^_/)) { - errors.push("name cannot start with an underscore"); - } - - if (name.trim() !== name) { - errors.push("name cannot contain leading or trailing spaces"); - } - - // No funny business - blacklist.forEach((blacklistedName) => { - if (name.toLowerCase() === blacklistedName) { - errors.push(`${blacklistedName} is a blacklisted name`); - } - }); - - // Generate warnings for stuff that used to be allowed - // core module names like http, events, util, etc - if (builtins.includes(name.toLowerCase())) { - warnings.push(`${name} is a core module name`); - } - - if (name.length > 214) { - warnings.push("name can no longer contain more than 214 characters"); - } - - // mIxeD CaSe nAMEs - if (name.toLowerCase() !== name) { - warnings.push("name can no longer contain capital letters"); - } - - if (/[~'!()*]/.test(name.split("/").slice(-1)[0])) { - warnings.push('name can no longer contain special characters ("~\'!()*")'); - } - - if (encodeURIComponent(name) !== name) { - // Maybe it's a scoped package name, like @user/package - const nameMatch = name.match(scopedPackagePattern); - if (nameMatch) { - const [, user, pkg] = nameMatch; - if ( - user && - pkg && - encodeURIComponent(user) === user && - encodeURIComponent(pkg) === pkg - ) { - return done(warnings, errors); - } - } - errors.push("name can only contain URL-friendly characters"); - } - - return done(warnings, errors); -}; - -const done = (warnings: string[], errors: string[]): NpmValidationResult => { - const result: NpmValidationResult = { - validForNewPackages: errors.length === 0 && warnings.length === 0, - validForOldPackages: errors.length === 0, - warnings, - errors, - }; - - if (!result.warnings?.length) { - delete result.warnings; - } - - if (!result.errors?.length) { - delete result.errors; - } - - return result; -}; - -type ValidationResult = - | { - valid: true; - } - | { - valid: false; - errors: string[]; - }; - -export const validateProjectName = (name: unknown): ValidationResult => { - const nameValidation = validateNpmName(name); - if (nameValidation.validForNewPackages) { - return { valid: true }; - } - - return { - valid: false, - errors: [ - ...(nameValidation.errors || []), - ...(nameValidation.warnings || []), - ], - }; -}; diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 6e4c2ded..41ddefa0 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1,25 +1,22 @@ #!/usr/bin/env node -// Inspired by: https://github.com/shadcn-ui/ui/blob/main/packages/shadcn import { Command } from "commander"; -import { addCommand } from "@/commands/add"; -import { init } from "@/commands/init"; import packageJson from "~/package.json"; - -process.on("SIGINT", () => process.exit(0)); -process.on("SIGTERM", () => process.exit(0)); +import { addCommand } from "./commands/add"; +import { initCommand } from "./commands/init"; async function main() { const program = new Command() .name("dotui") + .description("CLI to setup dotUI.") .helpOption("-h, --help", "Display this help message.") .usage("[command] [options]") .version( packageJson.version, "-v, --version", - "Output the current version of dotUI." + "Output the current version of dotui-cli." ); - program.addCommand(init).addCommand(addCommand); + program.addCommand(initCommand).addCommand(addCommand); program.parse(); } diff --git a/packages/cli/src/registry/api.ts b/packages/cli/src/registry/api.ts new file mode 100644 index 00000000..62a32760 --- /dev/null +++ b/packages/cli/src/registry/api.ts @@ -0,0 +1,95 @@ +import { + registryIndexSchema, + RegistryItem, + registryItemSchema, + registryResolvedItemsTreeSchema, + type RegistryItemType, +} from "@dotui/schemas"; +import deepmerge from "deepmerge"; +import { z } from "zod"; +import { fetchRegistry } from "./helpers"; + +interface Config { + primitives?: Record; +} + +export async function getRegistryIndex() { + const [result] = await fetchRegistry(["index.json"]); + return registryIndexSchema.parse(result); +} + +const getPrimitivePath = (name: string, type: RegistryItemType) => { + if (type === "base") return `base.json`; + if (type === "core") return `core/${name}.json`; + if (type === "component") return `components/${name}.json`; + if (type === "hook") return `hooks/${name}.json`; + if (type === "lib") return `lib/${name}.json`; + if (type === "theme") return `themes/${name}.json`; + throw new Error(`Invalid registry item type: ${type}`); +}; + +export async function resolvePrimitives(names: string[], config: Config) { + const index = await getRegistryIndex(); + + const iconLibraryDeps: string[] = []; + const getAllRegistryDeps = (name: string) => { + let registryDeps: string[] = [name]; + const item = index.find((item) => item.name === name); + if (!item) throw new Error(`${name} not found in registry`); + if (item.type === "icon-library") { + if (item.deps) { + iconLibraryDeps.push(item.deps[0]); + } + return []; + } + if (item.variants) { + // we check if the variant is defined in the config, if not we use the first one (supposed to be the default) + const variant = config.primitives?.[name] ?? item.variants[0]; + + registryDeps = [ + ...registryDeps, + ...getAllRegistryDeps(`${item.name}_${variant}`), + ]; + } + if (item.registryDeps) { + registryDeps = [ + ...registryDeps, + ...(item.registryDeps + .flatMap((dep) => getAllRegistryDeps(dep)) + .filter(Boolean) as string[]), + ]; + } + + return registryDeps; + }; + + const primitives: string[] = Array.from( + new Set(names.flatMap((name) => getAllRegistryDeps(name))) + ); + + const skipped: RegistryItem[] = []; + const primitivesPaths = primitives.map((name) => { + const item = index.find((item) => item.name === name); + if (!item) throw new Error(`${name} not found in registry`); + if (item.type === "icon-library") skipped.push(item); + return getPrimitivePath(name, item.type); + }); + + const result = await fetchRegistry(primitivesPaths); + const payload = z.array(registryItemSchema).parse([...result, ...skipped]); + + if (!payload) { + throw new Error("Failed to validate registry items"); // TODO: fix + } + + const deps = deepmerge.all([ + ...payload.map((item) => item.deps ?? []), + iconLibraryDeps, + ]); + const files = deepmerge.all(payload.map((item) => item.files ?? [])); + + return registryResolvedItemsTreeSchema.parse({ + files: files ?? [], + deps: deps ?? [], + }); +} diff --git a/packages/cli/src/registry/helpers.ts b/packages/cli/src/registry/helpers.ts new file mode 100644 index 00000000..e0e5a7b3 --- /dev/null +++ b/packages/cli/src/registry/helpers.ts @@ -0,0 +1,65 @@ +import { REGISTRY_URL } from "@/constants"; +import { isUrl, c } from "@/utils"; + +function getRegistryUrl(path: string) { + if (isUrl(path)) { + const url = new URL(path); + return url.toString(); + } + + return `${REGISTRY_URL}/${path}`; +} + +export async function fetchRegistry(paths: string[]) { + const results = await Promise.all( + paths.map(async (path) => { + const url = getRegistryUrl(path); + const response = await fetch(url); + + if (!response.ok) { + const errorMessages: { [key: number]: string } = { + 400: "Bad request", + 401: "Unauthorized", + 403: "Forbidden", + 404: "Not found", + 500: "Internal server error", + }; + + if (response.status === 401) { + throw new Error( + `You are not authorized to access the component at ${c.info( + url + )}.\nIf this is a remote registry, you may need to authenticate.` + ); + } + + if (response.status === 404) { + throw new Error( + `The component at ${c.info( + url + )} was not found.\nIt may not exist at the registry. Please make sure it is a valid component.` + ); + } + + if (response.status === 403) { + throw new Error( + `You do not have access to the component at ${c.info( + url + )}.\nIf this is a remote registry, you may need to authenticate or a token.` + ); + } + + const result = await response.json(); + const message = + result && typeof result === "object" && "error" in result + ? result.error + : response.statusText || errorMessages[response.status]; + throw new Error(`Failed to fetch from ${c.info(url)}.\n${message}`); + } + + return response.json(); + }) + ); + + return results; +} diff --git a/packages/cli/src/utils/get-package-manager.ts b/packages/cli/src/utils/get-package-manager.ts new file mode 100644 index 00000000..2cee7563 --- /dev/null +++ b/packages/cli/src/utils/get-package-manager.ts @@ -0,0 +1,22 @@ +import { detect, type AgentName } from "package-manager-detector"; + +export async function getPackageManager(cwd: string): Promise { + const detectResult = await detect({ cwd }); + if (detectResult) { + return detectResult.name; + } + // eslint-disable-next-line turbo/no-undeclared-env-vars + const userAgent = process.env.npm_config_user_agent; + if (userAgent) { + if (userAgent.startsWith("yarn")) { + return "yarn"; + } else if (userAgent.startsWith("pnpm")) { + return "pnpm"; + } else if (userAgent.startsWith("bun")) { + return "bun"; + } else { + return "npm"; + } + } + return "npm"; +} diff --git a/packages/cli/src/utils/highlight.ts b/packages/cli/src/utils/highlight.ts deleted file mode 100644 index 400e63a0..00000000 --- a/packages/cli/src/utils/highlight.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { blue, green, red, yellow } from "kleur/colors"; - -export const highlight = { - error: red, - warn: yellow, - info: blue, - success: green, -}; diff --git a/packages/cli/src/utils/index.ts b/packages/cli/src/utils/index.ts index 57778866..0f89e075 100644 --- a/packages/cli/src/utils/index.ts +++ b/packages/cli/src/utils/index.ts @@ -1,4 +1,5 @@ -export * from "./highlight"; -export * from "./logger"; -export * from "./spinner"; -export * from "./resolve-import"; +export * from "./spinner"; +export * from "./logger"; +export * from "./is-url"; +export * from "./resolve-import"; +export * from "./get-package-manager"; diff --git a/packages/cli/src/utils/is-url.ts b/packages/cli/src/utils/is-url.ts new file mode 100644 index 00000000..f81296ca --- /dev/null +++ b/packages/cli/src/utils/is-url.ts @@ -0,0 +1,9 @@ +export function isUrl(path: string) { + try { + new URL(path); + return true; + // eslint-disable-next-line @typescript-eslint/no-unused-vars + } catch (error) { + return false; + } +} diff --git a/packages/cli/src/utils/logger.ts b/packages/cli/src/utils/logger.ts index c80fe739..d4218ef3 100644 --- a/packages/cli/src/utils/logger.ts +++ b/packages/cli/src/utils/logger.ts @@ -1,22 +1,29 @@ -import { highlight } from "@/utils/highlight"; - -export const logger = { - error(...args: unknown[]) { - console.log(highlight.error(args.join(" "))); - }, - warn(...args: unknown[]) { - console.log(highlight.warn(args.join(" "))); - }, - info(...args: unknown[]) { - console.log(highlight.info(args.join(" "))); - }, - success(...args: unknown[]) { - console.log(highlight.success(args.join(" "))); - }, - log(...args: unknown[]) { - console.log(args.join(" ")); - }, - break() { - console.log(""); - }, -}; +import pc from "picocolors"; + +export const c = { + error: pc.red, + warn: pc.yellow, + info: pc.blue, + success: pc.green, +}; + +export const logger = { + error(...args: unknown[]) { + console.log(c.error(args.join(" "))); + }, + warn(...args: unknown[]) { + console.log(c.warn(args.join(" "))); + }, + info(...args: unknown[]) { + console.log(c.info(args.join(" "))); + }, + success(...args: unknown[]) { + console.log(c.success(args.join(" "))); + }, + log(...args: unknown[]) { + console.log(args.join(" ")); + }, + break() { + console.log(""); + }, +}; diff --git a/packages/cli/src/utils/resolve-import.ts b/packages/cli/src/utils/resolve-import.ts index d1916d91..bd5e92fa 100644 --- a/packages/cli/src/utils/resolve-import.ts +++ b/packages/cli/src/utils/resolve-import.ts @@ -1,16 +1,16 @@ -import { - createMatchPath, - type ConfigLoaderSuccessResult, -} from "tsconfig-paths"; - -export async function resolveImport( - importPath: string, - config: Pick -) { - return createMatchPath(config.absoluteBaseUrl, config.paths)( - importPath, - undefined, - () => true, - [".ts", ".tsx"] - ); -} +import { + createMatchPath, + type ConfigLoaderSuccessResult, +} from "tsconfig-paths"; + +export async function resolveImport( + importPath: string, + config: Pick +) { + return createMatchPath(config.absoluteBaseUrl, config.paths)( + importPath, + undefined, + () => true, + [".ts", ".tsx"] + ); +} diff --git a/packages/cli/src/utils/spinner.ts b/packages/cli/src/utils/spinner.ts index faeaed2e..78b4554c 100644 --- a/packages/cli/src/utils/spinner.ts +++ b/packages/cli/src/utils/spinner.ts @@ -1,13 +1,5 @@ -import ora, { type Options } from "ora"; - -export function spinner( - text: Options["text"], - options?: { - silent?: boolean; - } -) { - return ora({ - text, - isSilent: options?.silent, - }); -} +import { spinner as spinner_ } from "@clack/prompts"; + +export function spinner() { + return spinner_(); +} diff --git a/packages/cli/tsup.config.ts b/packages/cli/tsup.config.ts index 30e7a114..26983114 100644 --- a/packages/cli/tsup.config.ts +++ b/packages/cli/tsup.config.ts @@ -4,9 +4,10 @@ export default defineConfig({ clean: true, dts: true, entry: ["src/index.ts"], - format: ["esm"], + format: ["esm", "cjs"], sourcemap: true, - minify: true, + minify: false, target: "esnext", outDir: "dist", + noExternal: ["@dotui/schemas"], }); diff --git a/packages/config/eslint/README.md b/packages/config/eslint/README.md index 8b42d901..4a414ab1 100644 --- a/packages/config/eslint/README.md +++ b/packages/config/eslint/README.md @@ -1,3 +1,3 @@ -# `@turbo/eslint-config` +# `@workspace/eslint-config` -Collection of internal eslint configurations. +Shared eslint configuration for the workspace. diff --git a/packages/config/eslint/base.js b/packages/config/eslint/base.js new file mode 100644 index 00000000..31f5f43d --- /dev/null +++ b/packages/config/eslint/base.js @@ -0,0 +1,32 @@ +import js from "@eslint/js"; +import eslintConfigPrettier from "eslint-config-prettier"; +import turboPlugin from "eslint-plugin-turbo"; +import tseslint from "typescript-eslint"; +import onlyWarn from "eslint-plugin-only-warn"; + +/** + * A shared ESLint configuration for the repository. + * + * @type {import("eslint").Linter.Config} + * */ +export const config = [ + js.configs.recommended, + eslintConfigPrettier, + ...tseslint.configs.recommended, + { + plugins: { + turbo: turboPlugin, + }, + rules: { + "turbo/no-undeclared-env-vars": "warn", + }, + }, + { + plugins: { + onlyWarn, + }, + }, + { + ignores: ["dist/**"], + }, +]; diff --git a/packages/config/eslint/library.js b/packages/config/eslint/library.js deleted file mode 100644 index 876b078d..00000000 --- a/packages/config/eslint/library.js +++ /dev/null @@ -1,33 +0,0 @@ -const { resolve } = require("node:path"); - -const project = resolve(process.cwd(), "tsconfig.json"); - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["eslint:recommended", "prettier", "turbo"], - globals: { - React: true, - JSX: true, - }, - env: { - node: true, - }, - settings: { - "import/resolver": { - typescript: { - project, - }, - }, - }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - "dist/", - ], - overrides: [ - { - files: ["*.js?(x)", "*.ts?(x)"], - }, - ], -}; diff --git a/packages/config/eslint/next.js b/packages/config/eslint/next.js index 6db01832..9c2513aa 100644 --- a/packages/config/eslint/next.js +++ b/packages/config/eslint/next.js @@ -1,33 +1,52 @@ -const { resolve } = require("node:path"); +import js from "@eslint/js"; +import pluginNext from "@next/eslint-plugin-next"; +import eslintConfigPrettier from "eslint-config-prettier"; +import pluginReact from "eslint-plugin-react"; +import pluginReactHooks from "eslint-plugin-react-hooks"; +import globals from "globals"; +import tseslint from "typescript-eslint"; +import { config as baseConfig } from "./base.js"; -const project = resolve(process.cwd(), "tsconfig.json"); - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: [ - "prettier", - "next/core-web-vitals", - "turbo", - ], - globals: { - React: true, - JSX: true, +/** + * A custom ESLint configuration for libraries that use Next.js. + * + * @type {import("eslint").Linter.Config} + * */ +export const nextJsConfig = [ + ...baseConfig, + js.configs.recommended, + eslintConfigPrettier, + ...tseslint.configs.recommended, + { + ...pluginReact.configs.flat.recommended, + languageOptions: { + ...pluginReact.configs.flat.recommended.languageOptions, + globals: { + ...globals.serviceworker, + }, + }, }, - env: { - node: true, - browser: true, + { + plugins: { + "@next/next": pluginNext, + }, + rules: { + ...pluginNext.configs.recommended.rules, + ...pluginNext.configs["core-web-vitals"].rules, + }, }, - settings: { - "import/resolver": { - typescript: { - project, - }, + { + plugins: { + "react-hooks": pluginReactHooks, + }, + settings: { react: { version: "detect" } }, + rules: { + ...pluginReactHooks.configs.recommended.rules, + // React scope no longer necessary with new JSX transform. + "react/react-in-jsx-scope": "off", + "@typescript-eslint/no-empty-object-type": "off", + "react/prop-types": "off", + "@next/next/no-img-element": "off", }, }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - ], - overrides: [{ files: ["*.js?(x)", "*.ts?(x)"] }], -}; +]; diff --git a/packages/config/eslint/package.json b/packages/config/eslint/package.json index b62af8e0..7e0b0404 100644 --- a/packages/config/eslint/package.json +++ b/packages/config/eslint/package.json @@ -1,15 +1,24 @@ { "name": "@dotui/eslint-config", "version": "0.0.0", + "type": "module", "private": true, - "main": "next.js", - "files": [ - "./next.js" - ], - "license": "MIT", - "dependencies": { - "eslint-config-next": "^14.0.4", - "eslint-config-prettier": "^9.1.0", - "eslint-config-turbo": "^2.1.3" + "exports": { + "./base": "./base.js", + "./next-js": "./next.js", + "./react-internal": "./react-internal.js" + }, + "devDependencies": { + "@eslint/js": "^9.19.0", + "@next/eslint-plugin-next": "^15.1.6", + "eslint": "^9.19.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-only-warn": "^1.1.0", + "eslint-plugin-react": "^7.37.4", + "eslint-plugin-react-hooks": "^5.1.0", + "eslint-plugin-turbo": "^2.3.4", + "globals": "^15.14.0", + "typescript": "^5", + "typescript-eslint": "^8.22.0" } } diff --git a/packages/config/eslint/react-internal.js b/packages/config/eslint/react-internal.js index bfe05f09..0cc8b1d3 100644 --- a/packages/config/eslint/react-internal.js +++ b/packages/config/eslint/react-internal.js @@ -1,38 +1,39 @@ -const { resolve } = require("node:path"); +import js from "@eslint/js"; +import eslintConfigPrettier from "eslint-config-prettier"; +import tseslint from "typescript-eslint"; +import pluginReactHooks from "eslint-plugin-react-hooks"; +import pluginReact from "eslint-plugin-react"; +import globals from "globals"; +import { config as baseConfig } from "./base.js"; -const project = resolve(process.cwd(), "tsconfig.json"); - -/* - * This is a custom ESLint configuration for use with - * internal (bundled by their consumer) libraries - * that utilize React. - */ - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: ["eslint:recommended", "prettier", "turbo"], - globals: { - React: true, - JSX: true, - }, - env: { - browser: true, - }, - settings: { - "import/resolver": { - typescript: { - project, +/** + * A custom ESLint configuration for libraries that use React. + * + * @type {import("eslint").Linter.Config} */ +export const config = [ + ...baseConfig, + js.configs.recommended, + eslintConfigPrettier, + ...tseslint.configs.recommended, + pluginReact.configs.flat.recommended, + { + languageOptions: { + ...pluginReact.configs.flat.recommended.languageOptions, + globals: { + ...globals.serviceworker, + ...globals.browser, }, }, }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - "dist/", - ], - overrides: [ - // Force ESLint to detect .tsx files - { files: ["*.js?(x)", "*.ts?(x)"] }, - ], -}; + { + plugins: { + "react-hooks": pluginReactHooks, + }, + settings: { react: { version: "detect" } }, + rules: { + ...pluginReactHooks.configs.recommended.rules, + // React scope no longer necessary with new JSX transform. + "react/react-in-jsx-scope": "off", + }, + }, +]; diff --git a/packages/config/ts-config/README.md b/packages/config/ts-config/README.md new file mode 100644 index 00000000..3743e05d --- /dev/null +++ b/packages/config/ts-config/README.md @@ -0,0 +1,3 @@ +# `@dotui/ts-config` + +Shared typescript configuration for dotUI. diff --git a/packages/config/ts-config/base.json b/packages/config/ts-config/base.json new file mode 100644 index 00000000..5117f2a3 --- /dev/null +++ b/packages/config/ts-config/base.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "incremental": false, + "isolatedModules": true, + "lib": ["es2022", "DOM", "DOM.Iterable"], + "module": "NodeNext", + "moduleDetection": "force", + "moduleResolution": "NodeNext", + "noUncheckedIndexedAccess": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "target": "ES2022" + } +} diff --git a/packages/config/ts-config/nextjs.json b/packages/config/ts-config/nextjs.json new file mode 100644 index 00000000..e6defa48 --- /dev/null +++ b/packages/config/ts-config/nextjs.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "./base.json", + "compilerOptions": { + "plugins": [{ "name": "next" }], + "module": "ESNext", + "moduleResolution": "Bundler", + "allowJs": true, + "jsx": "preserve", + "noEmit": true + } +} diff --git a/packages/config/ts-config/package.json b/packages/config/ts-config/package.json new file mode 100644 index 00000000..efede6d4 --- /dev/null +++ b/packages/config/ts-config/package.json @@ -0,0 +1,8 @@ +{ + "name": "@dotui/ts-config", + "version": "0.0.0", + "private": true, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/config/ts-config/react-library.json b/packages/config/ts-config/react-library.json new file mode 100644 index 00000000..c3a1b26f --- /dev/null +++ b/packages/config/ts-config/react-library.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "./base.json", + "compilerOptions": { + "jsx": "react-jsx" + } +} diff --git a/packages/config/tsconfig/base.json b/packages/config/tsconfig/base.json deleted file mode 100644 index 2ad26914..00000000 --- a/packages/config/tsconfig/base.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "display": "Default", - "compilerOptions": { - "composite": false, - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "allowImportingTsExtensions": true, - "noEmit": true, - "inlineSources": false, - "isolatedModules": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "noUnusedLocals": false, - "noUnusedParameters": false, - "preserveWatchOutput": true, - "skipLibCheck": true, - "strict": true, - "strictNullChecks": true - }, - "exclude": ["node_modules"] -} \ No newline at end of file diff --git a/packages/config/tsconfig/nextjs.json b/packages/config/tsconfig/nextjs.json deleted file mode 100644 index d2580bd6..00000000 --- a/packages/config/tsconfig/nextjs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "display": "Next.js", - "extends": "./base.json", - "compilerOptions": { - "plugins": [{ "name": "next" }], - "allowJs": true, - "declaration": false, - "declarationMap": false, - "incremental": true, - "jsx": "preserve", - "lib": ["dom", "dom.iterable", "esnext"], - "module": "esnext", - "resolveJsonModule": true, - "strict": true, - "target": "es5" - }, - "include": ["src", "next-env.d.ts"], - "exclude": ["node_modules"] -} \ No newline at end of file diff --git a/packages/config/tsconfig/package.json b/packages/config/tsconfig/package.json deleted file mode 100644 index 5b6db17d..00000000 --- a/packages/config/tsconfig/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "@dotui/ts-config", - "sideEffects": false, - "version": "0.0.0", - "private": true, - "main": "index.js", - "files": [ - "base.json", - "nextjs.json", - "react-library.json" - ] -} diff --git a/packages/config/tsconfig/react-library.json b/packages/config/tsconfig/react-library.json deleted file mode 100644 index 7b64587b..00000000 --- a/packages/config/tsconfig/react-library.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "display": "React Library", - "extends": "./base.json", - "compilerOptions": { - "lib": ["ES2015", "DOM"], - "module": "ESNext", - "target": "ES6", - "jsx": "react-jsx", - "noEmit": true - } -} \ No newline at end of file diff --git a/packages/registry/package.json b/packages/registry/package.json deleted file mode 100644 index c348c6bd..00000000 --- a/packages/registry/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "@dotui/registry", - "version": "0.0.0", - "description": "The registry for dotui", - "main": "./index.ts", - "private": true, - "exports": { - ".": "./index.ts", - "./schema": "./schema.ts", - "./types": "./types.ts" - }, - "dependencies": { - "zod": "^3.22.4" - } -} diff --git a/packages/registry/schema.ts b/packages/registry/schema.ts deleted file mode 100644 index 66538e52..00000000 --- a/packages/registry/schema.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { z } from "zod"; - -export const registryItemTypeSchema = z.enum([ - "registry:style", - "registry:core", - "registry:component", - "registry:lib", - "registry:hook", - "registry:theme", -]); - -export const registryItemFileSchema = z.union([ - z.object({ - path: z.string(), - content: z.string().optional(), - type: registryItemTypeSchema, - target: z.string().optional(), - }), - z.string(), -]); - -export const registryItemTailwindSchema = z.object({ - config: z.object({ - content: z.array(z.string()).optional(), - theme: z.record(z.string(), z.any()).optional(), - plugins: z.array(z.string()).optional(), - }), -}); - -export const registryItemCssVarsSchema = z.object({ - light: z.record(z.string(), z.string()).optional(), - dark: z.record(z.string(), z.string()).optional(), -}); - -export const registryItemSchema = z.object({ - name: z.string(), - type: registryItemTypeSchema, - label: z.string().optional(), - description: z.string().optional(), - dependencies: z.array(z.string()).optional(), - devDependencies: z.array(z.string()).optional(), - registryDependencies: z.array(z.string()).optional(), - files: z.array(registryItemFileSchema).optional(), - tailwind: registryItemTailwindSchema.optional(), - cssVars: registryItemCssVarsSchema.optional(), - docs: z.string().optional(), - templateUrl: z.string().optional(), -}); - -export const registrySchema = z.array(registryItemSchema); - -export const registryIconLibrarySchema = z.object({ - name: z.string(), - label: z.string(), - dependency: z.string(), - import: z.string(), -}); - -export const registryIconLibrariesSchema = z.array(registryIconLibrarySchema); - -export const registryTemplateSchema = registryItemSchema.extend({ - type: z.literal("registry:template"), - templateUrl: z.string(), -}); - -export const registryTemplatesSchema = z.array(registryTemplateSchema); - -export const registryResolvedItemsTreeSchema = registryItemSchema.pick({ - dependencies: true, - devDependencies: true, - files: true, - tailwind: true, - cssVars: true, - docs: true, -}); diff --git a/packages/registry/types.ts b/packages/registry/types.ts deleted file mode 100644 index a081d7e8..00000000 --- a/packages/registry/types.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { z } from "zod"; -import { - registryItemFileSchema, - registryItemSchema, - registryItemTypeSchema, - registrySchema, -} from "./schema"; - -export type Registry = z.infer; - -export type RegistryItem = z.infer; - -export type RegistryItemType = z.infer; - -export type RegistryItemFile = z.infer; diff --git a/packages/registry/index.ts b/packages/schemas/index.ts similarity index 100% rename from packages/registry/index.ts rename to packages/schemas/index.ts diff --git a/packages/schemas/package.json b/packages/schemas/package.json new file mode 100644 index 00000000..e65708a9 --- /dev/null +++ b/packages/schemas/package.json @@ -0,0 +1,15 @@ +{ + "name": "@dotui/schemas", + "version": "0.0.0", + "description": "The registry for dotui", + "main": "./index.ts", + "private": true, + "exports": { + ".": "./index.ts", + "./schema": "./schema.ts", + "./types": "./types.ts" + }, + "dependencies": { + "zod": "^3.22.4" + } +} diff --git a/packages/schemas/schema.ts b/packages/schemas/schema.ts new file mode 100644 index 00000000..afe9dd6c --- /dev/null +++ b/packages/schemas/schema.ts @@ -0,0 +1,150 @@ +import { z } from "zod"; + +export const registryItemTypeSchema = z.enum([ + "base", + "core", + "component", + "lib", + "hook", + "theme", + "icon-library", +]); + +export const registryItemFileSchema = z.object({ + type: registryItemTypeSchema, + content: z.string(), + path: z.string(), +}); + +export const e = z.object({ + colors: z.object({}), +}); + +export const registryItemCssSchema = z.object({ + colors: z + .object({ + light: z.record(z.string(), z.string()).optional(), + dark: z.record(z.string(), z.string()).optional(), + }) + .optional(), + themeVars: z.record(z.string(), z.string()).optional(), + keyframes: z.record(z.string(), z.string()).optional(), +}); + +export const registryItemSchema = z.object({ + name: z.string(), + type: registryItemTypeSchema.optional(), + label: z.string().optional(), + variants: z.array(z.string()).optional(), + description: z.string().optional(), + deps: z.array(z.string()).optional(), + devDeps: z.array(z.string()).optional(), + registryDeps: z.array(z.string()).optional(), + files: z.array(registryItemFileSchema).optional(), + css: registryItemCssSchema.optional(), +}); + +export const registrySchema = z.array(registryItemSchema); + +export const registryResolvedItemsTreeSchema = registryItemSchema.pick({ + deps: true, + devDeps: true, + files: true, + css: true, +}); + +export const registryIndexSchema = z.array( + z.object({ + name: z.string(), + type: registryItemTypeSchema, + deps: z.array(z.string()).optional(), + registryDeps: z.array(z.string()).optional(), + variants: z.array(z.string()).optional(), + }) +); + +export const registryIconLibrarySchema = z.object({ + name: z.string(), + label: z.string(), + dependency: z.string(), + import: z.string(), +}); + +export const iconLibrarySchema = z.enum(["lucide-icons", "remix-icons"]); + +export const primitivesSchema = z.object({ + button: z.enum(["basic", "ripple", "brutalist"]).optional(), + "toggle-button": z.enum(["basic"]).optional(), + input: z.enum(["basic"]).optional(), + modal: z.enum(["basic"]).optional(), + popover: z.enum(["basic"]).optional(), + tooltip: z.enum(["basic"]).optional(), + calendar: z.enum(["basic", "cal"]).optional(), +}); + +export const registryThemeSchema = z.object({ + name: z.string(), + label: z.string(), + description: z.string().optional(), + css: registryItemCssSchema, + iconLibrary: iconLibrarySchema, + primitives: primitivesSchema.optional(), +}); + +// ---------------------------------------------- +// Config +// ---------------------------------------------- + +// we list all the possible primitives here so we can offer autocomplete in the config file + +export const aliasesSchema = z.object({ + core: z.string(), + components: z.string(), + hooks: z.string(), + lib: z.string(), +}); + +export const rawConfigSchema = z.object({ + $schema: z.string().optional(), + css: z.string(), + aliases: z.object({ + components: z.string(), + core: z.string(), + hooks: z.string(), + lib: z.string(), + }), + iconLibrary: z.string().optional(), + primitives: primitivesSchema.optional(), +}); + +export const extendedConfigSchema = rawConfigSchema.extend({ + resolvedPaths: z.object({ + cwd: z.string(), + css: z.string(), + core: z.string(), + components: z.string(), + hooks: z.string(), + lib: z.string(), + utils: z.string(), + }), +}); + +// ------------------------------------------------ +// Internal +// ------------------------------------------------ + +export const internalRegistryItemSchema = registryItemSchema + .omit({ + files: true, + }) + .extend({ + files: z.array( + z.object({ + type: registryItemTypeSchema, + source: z.string(), + target: z.string(), + }) + ), + }); + +export const internalRegistrySchema = z.array(internalRegistryItemSchema); diff --git a/packages/schemas/types.ts b/packages/schemas/types.ts new file mode 100644 index 00000000..89f3e0b3 --- /dev/null +++ b/packages/schemas/types.ts @@ -0,0 +1,23 @@ +import { z } from "zod"; +import * as schemas from "./schema"; + +export type RegistryItemType = z.infer; +export type RegistryItemFile = z.infer; +export type RegistryItemCss = z.infer; +export type RegistryItem = z.infer; +export type Registry = z.infer; +export type RegistryResolvedItemsTree = z.infer< + typeof schemas.registryResolvedItemsTreeSchema +>; +export type RegistryIndex = z.infer; +export type IconLibrary = z.infer; +export type Primitives = z.infer; +export type RegistryTheme = z.infer; +export type Aliases = z.infer; +export type RawConfig = z.infer; +export type ExtendedConfig = z.infer; + +export type InternalRegistryItem = z.infer< + typeof schemas.internalRegistryItemSchema +>; +export type InternalRegistry = z.infer; diff --git a/packages/tailwindcss-rac/index.d.ts b/packages/tailwindcss-rac/index.d.ts new file mode 100644 index 00000000..80afe6b2 --- /dev/null +++ b/packages/tailwindcss-rac/index.d.ts @@ -0,0 +1,9 @@ +declare function plugin(options?: Partial<{ prefix: string }>): { + handler: () => void +} + +declare namespace plugin { + const __isOptionsFunction: true; +} + +export = plugin \ No newline at end of file diff --git a/packages/tailwindcss-rac/index.js b/packages/tailwindcss-rac/index.js new file mode 100644 index 00000000..5e364b49 --- /dev/null +++ b/packages/tailwindcss-rac/index.js @@ -0,0 +1,151 @@ +const plugin = require("tailwindcss/plugin"); + +// Order of these is important because it determines which states win in a conflict. +// We mostly follow Tailwind's defaults, adding our additional states following the categories they define. +// https://github.com/tailwindlabs/tailwindcss/blob/304c2bad6cb5fcb62754a4580b1c8f4c16b946ea/src/corePlugins.js#L83 +const attributes = { + boolean: [ + // Conditions + "allows-removing", + "allows-sorting", + "allows-dragging", + "has-submenu", + + // States + "open", + "expanded", + "entering", + "exiting", + "indeterminate", + ["placeholder-shown", "placeholder"], + "current", + "required", + "unavailable", + "invalid", + ["read-only", "readonly"], + "outside-month", + "outside-visible-range", + "pending", + + // Content + "empty", + + // Interactive states + "focus-within", + ["hover", "hovered"], + ["focus", "focused"], + "focus-visible", + "pressed", + "selected", + "selection-start", + "selection-end", + "dragging", + "drop-target", + "resizing", + "disabled", + ], + enum: { + placement: ["left", "right", "top", "bottom"], + type: ["literal", "year", "month", "day"], + layout: ["grid", "stack"], + orientation: ["horizontal", "vertical"], + "selection-mode": ["single", "multiple"], + "resizable-direction": ["right", "left", "both"], + "sort-direction": ["ascending", "descending"], + }, +}; + +const shortNames = { + "selection-mode": "selection", + "resizable-direction": "resizable", + "sort-direction": "sort", +}; + +// Variants we use that are already defined by Tailwind: +// https://github.com/tailwindlabs/tailwindcss/blob/a2fa6932767ab328515f743d6188c2164ad2a5de/src/corePlugins.js#L84 +const nativeVariants = [ + "indeterminate", + "required", + "invalid", + "empty", + "focus-visible", + "focus-within", + "disabled", +]; +const nativeVariantSelectors = new Map([ + ...nativeVariants.map((variant) => [variant, `:${variant}`]), + ["hovered", ":hover"], + ["focused", ":focus"], + ["readonly", ":read-only"], + ["open", "[open]"], + ["expanded", "[expanded]"], +]); + +// Variants where both native and RAC attributes should apply. We don't override these. +const nativeMergeSelectors = new Map([["placeholder", ":placeholder-shown"]]); + +// If no prefix is specified, we want to avoid overriding native variants on non-RAC components, so we only target elements with the data-rac attribute for those variants. +let getSelector = (prefix, attributeName, attributeValue) => { + let baseSelector = attributeValue + ? `[data-${attributeName}="${attributeValue}"]` + : `[data-${attributeName}]`; + let nativeSelector = nativeVariantSelectors.get(attributeName); + if (prefix === "" && nativeSelector) { + let wrappedNativeSelector = `&:where(:not([data-rac]))${nativeSelector}`; + let nativeSelectorGenerator = wrappedNativeSelector; + if (nativeSelector === ":hover") { + nativeSelectorGenerator = (wrap) => + `@media (hover: hover) { ${wrap(wrappedNativeSelector)} }`; + } + return [`&:where([data-rac])${baseSelector}`, nativeSelectorGenerator]; + } else if (prefix === "" && nativeMergeSelectors.has(attributeName)) { + return [`&${baseSelector}`, `&${nativeMergeSelectors.get(attributeName)}`]; + } else { + return `&${baseSelector}`; + } +}; + +let mapSelector = (selector, fn) => { + if (Array.isArray(selector)) { + return selector.map(fn); + } else { + return fn(selector); + } +}; + +let wrapSelector = (selector, wrap) => { + if (typeof selector === "function") { + return selector(wrap); + } else { + return wrap(selector); + } +}; + +let addVariants = (variantName, selectors, addVariant) => { + addVariant( + variantName, + mapSelector(selectors, (selector) => wrapSelector(selector, (s) => s)) + ); +}; + +module.exports = plugin.withOptions((options) => ({ addVariant }) => { + let prefix = options?.prefix ? `${options.prefix}-` : ""; + + // Enum attributes go first because currently they are all non-interactive states. + Object.keys(attributes.enum).forEach((attributeName) => { + attributes.enum[attributeName].forEach((attributeValue, i) => { + let name = shortNames[attributeName] || attributeName; + let variantName = `${prefix}${name}-${attributeValue}`; + let selectors = getSelector(prefix, attributeName, attributeValue); + addVariants(variantName, selectors, addVariant, i); + }); + }); + + attributes.boolean.forEach((attribute, i) => { + let variantName = Array.isArray(attribute) ? attribute[0] : attribute; + variantName = `${prefix}${variantName}`; + let attributeName = Array.isArray(attribute) ? attribute[1] : attribute; + let selectors = getSelector(prefix, attributeName, null); + addVariants(variantName, selectors, addVariant, i); + }); +}); diff --git a/packages/tailwindcss-rac/package.json b/packages/tailwindcss-rac/package.json new file mode 100644 index 00000000..8541c154 --- /dev/null +++ b/packages/tailwindcss-rac/package.json @@ -0,0 +1,27 @@ +{ + "name": "tailwindcss-rac", + "version": "1.2.0", + "description": "A Tailwind plugin that adds variants for data attributes in React Aria Components compatible with tailwind v4", + "license": "Apache-2.0", + "main": "index.js", + "types": "index.d.ts", + "source": "index.js", + "files": [ + "dist", + "src" + ], + "sideEffects": false, + "repository": { + "type": "git", + "url": "https://github.com/mehdibha/dotUI" + }, + "peerDependencies": { + "tailwindcss": "*" + }, + "publishConfig": { + "access": "public" + }, + "devDependencies": { + "tailwindcss": "4.0.0" + } +} \ No newline at end of file diff --git a/patches/tailwind-variants.patch b/patches/tailwind-variants.patch new file mode 100644 index 00000000..64920e2d --- /dev/null +++ b/patches/tailwind-variants.patch @@ -0,0 +1,19 @@ +diff --git a/dist/transformer.d.ts b/dist/transformer.d.ts +index 508be4d8176486bfbbccd0b8cf297465c8efd15a..998c990a7c895c36ebc7e043cc5e324190670145 100644 +--- a/dist/transformer.d.ts ++++ b/dist/transformer.d.ts +@@ -1,10 +1,10 @@ +-import type {Config} from "tailwindcss/types/config"; +-import type {DefaultTheme} from "tailwindcss/types/generated/default-theme"; ++// import type {Config} from "tailwindcss/types/config"; ++// import type {DefaultTheme} from "tailwindcss/types/generated/default-theme"; + +-export type DefaultScreens = keyof DefaultTheme["screens"]; ++export type DefaultScreens = any + + export type WithTV = { +- (tvConfig: C, config?: TVTransformerConfig): C; ++ (tvConfig: C, config?: TVTransformerConfig): C; + }; + + export declare const withTV: WithTV; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cbbc7bef..c8b08a57 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + tailwind-variants: + hash: 3gftwx6tedpz3ddwa7homjsoma + path: patches/tailwind-variants.patch + importers: .: @@ -13,253 +18,196 @@ importers: version: 0.4.8 '@changesets/cli': specifier: ^2.26.1 - version: 2.27.8 + version: 2.27.11 '@commitlint/cli': specifier: ^17.6.3 version: 17.8.1 '@commitlint/config-conventional': specifier: ^17.6.3 version: 17.8.1 + '@dotui/eslint-config': + specifier: workspace:* + version: link:packages/config/eslint '@manypkg/cli': specifier: ^0.21.4 version: 0.21.4 '@trivago/prettier-plugin-sort-imports': specifier: ^4.3.0 - version: 4.3.0(prettier@3.3.3) - eslint: - specifier: ^8 - version: 8.57.1 - eslint-config-next: - specifier: ^14.0.4 - version: 14.2.13(eslint@8.57.1)(typescript@5.6.2) - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.1) - eslint-config-turbo: - specifier: ^2.1.3 - version: 2.1.3(eslint@8.57.1) + version: 4.3.0(prettier@3.4.2) prettier: - specifier: ^3.3.3 - version: 3.3.3 + specifier: ^3.4.2 + version: 3.4.2 prettier-plugin-tailwindcss: - specifier: ^0.6.8 - version: 0.6.8(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.3.3))(prettier@3.3.3) + specifier: ^0.6.11 + version: 0.6.11(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.4.2))(prettier@3.4.2) turbo: - specifier: ^2.0.12 - version: 2.1.3 + specifier: ^2.4.0 + version: 2.4.0 packages/cli: dependencies: - '@antfu/ni': - specifier: ^0.21.4 - version: 0.21.12 - '@babel/core': - specifier: ^7.22.1 - version: 7.25.2 - '@babel/parser': - specifier: ^7.22.6 - version: 7.25.6 - '@babel/plugin-transform-typescript': - specifier: ^7.22.5 - version: 7.25.2(@babel/core@7.25.2) - async-retry: - specifier: ^1.3.3 - version: 1.3.3 - ci-info: - specifier: ^4.0.0 - version: 4.0.0 + '@clack/prompts': + specifier: ^0.9.1 + version: 0.9.1 + '@dotui/schemas': + specifier: workspace:* + version: link:../schemas + '@types/fs-extra': + specifier: ^11.0.4 + version: 11.0.4 commander: specifier: ^10.0.0 version: 10.0.1 - conf: - specifier: ^13.0.1 - version: 13.0.1 cosmiconfig: - specifier: ^8.1.3 - version: 8.3.6(typescript@5.6.2) - cross-spawn: - specifier: ^7.0.3 - version: 7.0.3 + specifier: ^9.0.0 + version: 9.0.0(typescript@5.7.3) deepmerge: specifier: ^4.3.1 version: 4.3.1 - diff: - specifier: ^5.1.0 - version: 5.2.0 execa: - specifier: ^7.0.0 - version: 7.2.0 + specifier: ^9.5.2 + version: 9.5.2 fast-glob: - specifier: ^3.3.2 - version: 3.3.2 + specifier: ^3.3.3 + version: 3.3.3 fs-extra: - specifier: ^11.1.0 - version: 11.2.0 - https-proxy-agent: - specifier: ^6.2.0 - version: 6.2.1 - kleur: - specifier: ^4.1.5 - version: 4.1.5 - lodash.template: - specifier: ^4.5.0 - version: 4.5.0 - node-fetch: - specifier: ^3.3.0 - version: 3.3.2 - ora: - specifier: ^6.1.2 - version: 6.3.1 + specifier: ^11.3.0 + version: 11.3.0 + package-manager-detector: + specifier: ^0.2.9 + version: 0.2.9 picocolors: specifier: ^1.1.0 - version: 1.1.0 - postcss: - specifier: ^8.4.31 - version: 8.4.47 - prompts: - specifier: ^2.4.2 - version: 2.4.2 - recast: - specifier: ^0.23.2 - version: 0.23.9 - stringify-object: - specifier: ^5.0.0 - version: 5.0.0 - tar: - specifier: ^7.4.3 - version: 7.4.3 + version: 1.1.1 ts-morph: - specifier: ^18.0.0 - version: 18.0.0 + specifier: ^25.0.0 + version: 25.0.0 tsconfig-paths: specifier: ^4.2.0 version: 4.2.0 + type-fest: + specifier: ^4.33.0 + version: 4.33.0 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.24.1 devDependencies: - '@dotui/registry': + '@dotui/eslint-config': specifier: workspace:* - version: link:../registry - '@types/async-retry': - specifier: ^1.4.8 - version: 1.4.8 - '@types/babel__core': - specifier: ^7.20.1 - version: 7.20.5 - '@types/diff': - specifier: ^5.0.3 - version: 5.2.2 - '@types/fs-extra': - specifier: ^11.0.1 - version: 11.0.4 - '@types/lodash.template': - specifier: ^4.5.1 - version: 4.5.3 - '@types/prompts': - specifier: ^2.4.2 - version: 2.4.9 - '@types/stringify-object': - specifier: ^4.0.5 - version: 4.0.5 - '@types/validate-npm-package-name': - specifier: ^4.0.2 - version: 4.0.2 - rimraf: - specifier: ^6.0.1 - version: 6.0.1 - tailwindcss: - specifier: ^3.4.3 - version: 3.4.13(ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2)) + version: link:../config/eslint + '@types/node': + specifier: ^18.17.0 + version: 18.19.70 tsup: - specifier: ^6.6.3 - version: 6.7.0(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2))(typescript@5.6.2) - type-fest: - specifier: ^3.8.0 - version: 3.13.1 + specifier: ^8.3.6 + version: 8.3.6(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0) typescript: specifier: ^5 - version: 5.6.2 + version: 5.7.3 packages/config/eslint: - dependencies: - eslint-config-next: - specifier: ^14.0.4 - version: 14.2.13(eslint@8.57.1)(typescript@5.6.2) + devDependencies: + '@eslint/js': + specifier: ^9.19.0 + version: 9.19.0 + '@next/eslint-plugin-next': + specifier: ^15.1.6 + version: 15.1.6 + eslint: + specifier: ^9.19.0 + version: 9.19.0(jiti@2.4.2) eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.1) - eslint-config-turbo: - specifier: ^2.1.3 - version: 2.1.3(eslint@8.57.1) + specifier: ^10.0.1 + version: 10.0.1(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-only-warn: + specifier: ^1.1.0 + version: 1.1.0 + eslint-plugin-react: + specifier: ^7.37.4 + version: 7.37.4(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-react-hooks: + specifier: ^5.1.0 + version: 5.1.0(eslint@9.19.0(jiti@2.4.2)) + eslint-plugin-turbo: + specifier: ^2.3.4 + version: 2.4.0(eslint@9.19.0(jiti@2.4.2))(turbo@2.4.0) + globals: + specifier: ^15.14.0 + version: 15.14.0 + typescript: + specifier: ^5 + version: 5.7.3 + typescript-eslint: + specifier: ^8.22.0 + version: 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) - packages/config/tsconfig: {} + packages/config/ts-config: {} - packages/registry: + packages/schemas: dependencies: zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.24.1 + + packages/tailwindcss-rac: + devDependencies: + tailwindcss: + specifier: 4.0.0 + version: 4.0.0 www: dependencies: '@adobe/leonardo-contrast-colors': specifier: ^1.0.0 version: 1.0.0 + '@hookform/resolvers': + specifier: ^3.10.0 + version: 3.10.0(react-hook-form@7.54.2(react@19.0.0)) '@internationalized/date': - specifier: ^3.5.4 - version: 3.5.6 + specifier: ^3.7.0 + version: 3.7.0 '@radix-ui/react-aspect-ratio': specifier: ^1.0.3 - version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-collapsible': specifier: ^1.0.3 - version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.1.2(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@radix-ui/react-scroll-area': specifier: ^1.0.5 - version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': - specifier: ^1.0.1 - version: 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@react-aria/toolbar': - specifier: 3.0.0-beta.4 - version: 3.0.0-beta.4(react@18.3.1) + version: 1.2.2(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@react-aria/utils': specifier: ^3.24.0 - version: 3.25.3(react@18.3.1) + version: 3.26.0(react@19.0.0) '@react-stately/utils': specifier: ^3.10.1 - version: 3.10.4(react@18.3.1) + version: 3.10.5(react@19.0.0) '@remixicon/react': specifier: ^4.2.0 - version: 4.2.0(react@18.3.1) + version: 4.6.0(react@19.0.0) '@types/mdx': specifier: ^2.0.13 version: 2.0.13 '@vercel/analytics': specifier: ^1.1.1 - version: 1.3.1(next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 1.4.1(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) + babel-plugin-react-compiler: + specifier: 19.0.0-beta-63e3235-20250105 + version: 19.0.0-beta-63e3235-20250105 clsx: specifier: ^2.1.0 version: 2.1.1 cmdk: specifier: ^1.0.0 - version: 1.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - framer-motion: - specifier: ^11.11.8 - version: 11.11.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.0.4(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) fumadocs-core: - specifier: ^14.0.2 - version: 14.0.2(@types/react@18.3.10) + specifier: ^15.0.1 + version: 15.0.1(@types/react@19.0.4)(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) fumadocs-docgen: - specifier: ^1.3.0 - version: 1.3.0(typescript@5.6.2) + specifier: ^1.3.5 + version: 1.3.5(typescript@5.7.3) fumadocs-mdx: - specifier: ^11.1.0 - version: 11.1.0(acorn@8.12.1)(fumadocs-core@14.0.2(@types/react@18.3.10))(next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - geist: - specifier: ^1.2.2 - version: 1.3.1(next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: ^11.4.0 + version: 11.4.0(acorn@8.14.0)(fumadocs-core@15.0.1(@types/react@19.0.4)(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) hast-util-to-string: specifier: ^3.0.1 version: 3.0.1 @@ -267,47 +215,50 @@ importers: specifier: ^10.1.1 version: 10.1.1 jotai: - specifier: ^2.10.1 - version: 2.10.1(@types/react@18.3.10)(react@18.3.1) + specifier: 2.8.0 + version: 2.8.0(@types/react@19.0.4)(react@19.0.0) jotai-immer: specifier: ^0.4.1 - version: 0.4.1(immer@10.1.1)(jotai@2.10.1(@types/react@18.3.10)(react@18.3.1)) + version: 0.4.1(immer@10.1.1)(jotai@2.8.0(@types/react@19.0.4)(react@19.0.0)) lucide-react: - specifier: ^0.311.0 - version: 0.311.0(react@18.3.1) + specifier: ^0.469.0 + version: 0.469.0(react@19.0.0) + motion: + specifier: ^11.16.4 + version: 11.16.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nanoid: specifier: ^5.0.7 - version: 5.0.7 + version: 5.0.9 next: - specifier: 14.2.14 - version: 14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next-mdx-remote: - specifier: ^4.4.1 - version: 4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.1.6 + version: 15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next-themes: - specifier: ^0.2.1 - version: 0.2.1(next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.4.4 + version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) npm-to-yarn: specifier: ^3.0.0 - version: 3.0.0 + version: 3.0.1 react: - specifier: 18.3.1 - version: 18.3.1 + specifier: 19.0.0 + version: 19.0.0 react-aria: specifier: ^3.33.0 - version: 3.35.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.36.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-aria-components: - specifier: ^1.4.1 - version: 1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.6.0 + version: 1.6.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-dom: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) + specifier: 19.0.0 + version: 19.0.0(react@19.0.0) + react-hook-form: + specifier: ^7.54.2 + version: 7.54.2(react@19.0.0) react-resizable-panels: specifier: ^2.0.19 - version: 2.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-stately: specifier: ^3.31.0 - version: 3.33.0(react@18.3.1) + version: 3.34.0(react@19.0.0) remark-gfm: specifier: ^4.0.0 version: 4.0.0 @@ -315,17 +266,17 @@ importers: specifier: ^0.33.2 version: 0.33.5 shiki: - specifier: ^1.6.2 - version: 1.21.0 + specifier: ^2.2.0 + version: 2.2.0 tailwind-merge: specifier: ^2.2.0 - version: 2.5.2 + version: 2.6.0 tailwind-variants: - specifier: ^0.2.1 - version: 0.2.1(tailwindcss@3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2))) + specifier: ^0.3.1 + version: 0.3.1(patch_hash=3gftwx6tedpz3ddwa7homjsoma)(tailwindcss@4.0.0) tsx: specifier: ^4.7.1 - version: 4.19.1 + version: 4.19.2 unified: specifier: ^11.0.5 version: 11.0.5 @@ -334,20 +285,23 @@ importers: version: 5.0.0 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.24.1 zustand: specifier: ^4.5.2 - version: 4.5.5(@types/react@18.3.10)(immer@10.1.1)(react@18.3.1) + version: 4.5.6(@types/react@19.0.4)(immer@10.1.1)(react@19.0.0) devDependencies: '@dotui/eslint-config': specifier: workspace:* version: link:../packages/config/eslint - '@dotui/registry': + '@dotui/schemas': specifier: workspace:* - version: link:../packages/registry + version: link:../packages/schemas '@dotui/ts-config': specifier: workspace:* - version: link:../packages/config/tsconfig + version: link:../packages/config/ts-config + '@tailwindcss/postcss': + specifier: 4.0.0 + version: 4.0.0 '@types/estree': specifier: ^1.0.6 version: 1.0.6 @@ -356,34 +310,34 @@ importers: version: 4.0.4 '@types/node': specifier: ^18.17.0 - version: 18.19.54 + version: 18.19.70 '@types/react': - specifier: ^18.2.37 - version: 18.3.10 + specifier: 19.0.4 + version: 19.0.4 '@types/react-dom': - specifier: ^18.2.15 - version: 18.3.0 + specifier: 19.0.2 + version: 19.0.2(@types/react@19.0.4) autoprefixer: specifier: ^10.4.14 - version: 10.4.20(postcss@8.4.47) + version: 10.4.20(postcss@8.4.49) postcss: specifier: ^8.4.31 - version: 8.4.47 + version: 8.4.49 rimraf: specifier: ^6.0.1 version: 6.0.1 tailwindcss: - specifier: ^3.4.3 - version: 3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2)) + specifier: 4.0.0 + version: 4.0.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2))) - tailwindcss-react-aria-components: - specifier: 3.0.0-nightly-dcc0752f8-241031 - version: 3.0.0-nightly-dcc0752f8-241031(tailwindcss@3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2))) + version: 1.0.7(tailwindcss@4.0.0) + tailwindcss-rac: + specifier: workspace:* + version: link:../packages/tailwindcss-rac typescript: specifier: ^5 - version: 5.6.2 + version: 5.7.3 vfile: specifier: ^6.0.3 version: 6.0.3 @@ -393,96 +347,21 @@ packages: '@adobe/leonardo-contrast-colors@1.0.0': resolution: {integrity: sha512-a4mD0JZ1zNu2wIem/vWJqdaiuQZgxwOph/gpHA75mlXcs6iiIQx9G+W0jtssRFgdYYAi/ceQYOlYwiSQj1AUCw==} - '@algolia/cache-browser-local-storage@4.24.0': - resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==} - - '@algolia/cache-common@4.24.0': - resolution: {integrity: sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==} - - '@algolia/cache-in-memory@4.24.0': - resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==} - - '@algolia/client-account@4.24.0': - resolution: {integrity: sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==} - - '@algolia/client-analytics@4.24.0': - resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==} - - '@algolia/client-common@4.24.0': - resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==} - - '@algolia/client-personalization@4.24.0': - resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==} - - '@algolia/client-search@4.24.0': - resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==} - - '@algolia/logger-common@4.24.0': - resolution: {integrity: sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==} - - '@algolia/logger-console@4.24.0': - resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==} - - '@algolia/recommend@4.24.0': - resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==} - - '@algolia/requester-browser-xhr@4.24.0': - resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==} - - '@algolia/requester-common@4.24.0': - resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} - - '@algolia/requester-node-http@4.24.0': - resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==} - - '@algolia/transporter@4.24.0': - resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==} - '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@antfu/ni@0.21.12': - resolution: {integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==} - hasBin: true - - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.25.4': - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} '@babel/generator@7.17.7': resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.6': - resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.24.7': - resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.25.4': - resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 '@babel/helper-environment-visitor@7.24.7': resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} @@ -496,112 +375,48 @@ packages: resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.24.8': - resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.25.2': - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.24.7': - resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.24.8': - resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-replace-supers@7.25.0': - resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': - resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.25.6': - resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.6': - resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-syntax-typescript@7.25.4': - resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typescript@7.25.2': - resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/runtime@7.25.6': - resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} '@babel/traverse@7.23.2': resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.6': - resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} - engines: {node: '>=6.9.0'} - '@babel/types@7.17.0': resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': - resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} - '@changesets/apply-release-plan@7.0.5': - resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} + '@changesets/apply-release-plan@7.0.7': + resolution: {integrity: sha512-qnPOcmmmnD0MfMg9DjU1/onORFyRpDXkMMl2IJg9mECY6RnxL3wN0TCCc92b2sXt1jt8DgjAUUsZYGUGTdYIXA==} - '@changesets/assemble-release-plan@6.0.4': - resolution: {integrity: sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==} + '@changesets/assemble-release-plan@6.0.5': + resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} @@ -609,12 +424,12 @@ packages: '@changesets/changelog-github@0.4.8': resolution: {integrity: sha512-jR1DHibkMAb5v/8ym77E4AMNWZKB5NPzw5a5Wtqm1JepAuIF+hrKp2u04NKM14oBZhHglkCfrla9uq8ORnK/dw==} - '@changesets/cli@2.27.8': - resolution: {integrity: sha512-gZNyh+LdSsI82wBSHLQ3QN5J30P4uHKJ4fXgoGwQxfXwYFTJzDdvIJasZn8rYQtmKhyQuiBj4SSnLuKlxKWq4w==} + '@changesets/cli@2.27.11': + resolution: {integrity: sha512-1QislpE+nvJgSZZo9+Lj3Lno5pKBgN46dAV8IVxKJy9wX8AOrs9nn5pYVZuDpoxWJJCALmbfOsHkyxujgetQSg==} hasBin: true - '@changesets/config@3.0.3': - resolution: {integrity: sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==} + '@changesets/config@3.0.5': + resolution: {integrity: sha512-QyXLSSd10GquX7hY0Mt4yQFMEeqnO5z/XLpbIr4PAkNNoQNKwDyiSrx4yd749WddusH1v3OSiA0NRAYmH/APpQ==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} @@ -625,14 +440,14 @@ packages: '@changesets/get-github-info@0.5.2': resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==} - '@changesets/get-release-plan@4.0.4': - resolution: {integrity: sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==} + '@changesets/get-release-plan@4.0.6': + resolution: {integrity: sha512-FHRwBkY7Eili04Y5YMOZb0ezQzKikTka4wL753vfUA5COSebt7KThqiuCN9BewE4/qFGgF/5t3AuzXx1/UAY4w==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.1': - resolution: {integrity: sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==} + '@changesets/git@3.0.2': + resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==} '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} @@ -643,8 +458,8 @@ packages: '@changesets/pre@2.0.1': resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} - '@changesets/read@0.6.1': - resolution: {integrity: sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==} + '@changesets/read@0.6.2': + resolution: {integrity: sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==} '@changesets/should-skip-package@0.1.1': resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} @@ -661,6 +476,12 @@ packages: '@changesets/write@0.3.2': resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} + '@clack/core@0.4.1': + resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} + + '@clack/prompts@0.9.1': + resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} + '@commitlint/cli@17.8.1': resolution: {integrity: sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==} engines: {node: '>=v14'} @@ -734,8 +555,8 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@emnapi/runtime@1.2.0': - resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} '@esbuild/aix-ppc64@0.23.1': resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} @@ -743,304 +564,208 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.24.0': - resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.17.19': - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.23.1': resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.24.0': - resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.17.19': - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.23.1': resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-arm@0.24.0': - resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.17.19': - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.23.1': resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/android-x64@0.24.0': - resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.17.19': - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.23.1': resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.24.0': - resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.17.19': - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.23.1': resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.24.0': - resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.17.19': - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.23.1': resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.24.0': - resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.17.19': - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.23.1': resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.24.0': - resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.17.19': - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.23.1': resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.24.0': - resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.17.19': - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.23.1': resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.24.0': - resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.17.19': - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.23.1': resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.24.0': - resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.17.19': - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.23.1': resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.24.0': - resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.17.19': - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.23.1': resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.24.0': - resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.17.19': - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.23.1': resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.24.0': - resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.17.19': - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.23.1': resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.24.0': - resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.17.19': - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.23.1': resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.24.0': - resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.17.19': - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.23.1': resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.24.0': - resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.17.19': - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} - engines: {node: '>=12'} - cpu: [x64] + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] os: [netbsd] '@esbuild/netbsd-x64@0.23.1': @@ -1049,8 +774,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.24.0': - resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -1061,150 +786,145 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.24.0': - resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.17.19': - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.23.1': resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.24.0': - resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.17.19': - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.23.1': resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.24.0': - resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.17.19': - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.23.1': resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.24.0': - resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.17.19': - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.23.1': resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.24.0': - resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.17.19': - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.23.1': resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.24.0': - resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} 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.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.19.2': + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.19.0': + resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@formatjs/ecma402-abstract@2.0.0': - resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==} + '@eslint/plugin-kit@0.2.5': + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@formatjs/fast-memoize@2.2.0': - resolution: {integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==} + '@formatjs/ecma402-abstract@2.3.2': + resolution: {integrity: sha512-6sE5nyvDloULiyOMbOTJEEgWL32w+VHkZQs8S02Lnn8Y/O5aQhjOEXwWzvR7SsBE/exxlSpY2EsWZgqHbtLatg==} - '@formatjs/icu-messageformat-parser@2.7.8': - resolution: {integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==} + '@formatjs/fast-memoize@2.2.6': + resolution: {integrity: sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==} - '@formatjs/icu-skeleton-parser@1.8.2': - resolution: {integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==} + '@formatjs/icu-messageformat-parser@2.9.8': + resolution: {integrity: sha512-hZlLNI3+Lev8IAXuwehLoN7QTKqbx3XXwFW1jh0AdIA9XJdzn9Uzr+2LLBspPm/PX0+NLIfykj/8IKxQqHUcUQ==} - '@formatjs/intl-localematcher@0.5.4': - resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} + '@formatjs/icu-skeleton-parser@1.8.12': + resolution: {integrity: sha512-QRAY2jC1BomFQHYDMcZtClqHR55EEnB96V7Xbk/UiBodsuFc5kujybzt87+qj1KqmJozFhk6n4KiT1HKwAkcfg==} - '@formatjs/intl-localematcher@0.5.6': - resolution: {integrity: sha512-roz1+Ba5e23AHX6KUAWmLEyTRZegM5YDuxuvkHCyK3RJddf/UXB2f+s7pOMm9ktfPGla0g+mQXOn5vsuYirnaA==} + '@formatjs/intl-localematcher@0.5.10': + resolution: {integrity: sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@hookform/resolvers@3.10.0': + resolution: {integrity: sha512-79Dv+3mDF7i+2ajj7SkypSKHhl1cbln1OGavqrsF7p6mbUv11xpqpacPsGDCTRvCSjEEIez2ef1NveSVL3b0Ag==} + peerDependencies: + react-hook-form: ^7.0.0 + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} @@ -1311,28 +1031,24 @@ packages: cpu: [x64] os: [win32] - '@internationalized/date@3.5.6': - resolution: {integrity: sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==} + '@internationalized/date@3.7.0': + resolution: {integrity: sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==} - '@internationalized/message@3.1.5': - resolution: {integrity: sha512-hjEpLKFlYA3m5apldLqzHqw531qqfOEq0HlTWdfyZmcloWiUbWsYXD6YTiUmQmOtarthzhdjCAwMVrB8a4E7uA==} + '@internationalized/message@3.1.6': + resolution: {integrity: sha512-JxbK3iAcTIeNr1p0WIFg/wQJjIzJt9l/2KNY/48vXV7GRGZSv3zMxJsce008fZclk2cDC8y0Ig3odceHO7EfNQ==} - '@internationalized/number@3.5.4': - resolution: {integrity: sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==} + '@internationalized/number@3.6.0': + resolution: {integrity: sha512-PtrRcJVy7nw++wn4W2OuePQQfTqDzfusSuY1QTtui4wa7r+rGVtR75pO8CyKvHvzyQYi3Q1uO5sY0AsB4e65Bw==} - '@internationalized/string@3.2.4': - resolution: {integrity: sha512-BcyadXPn89Ae190QGZGDUZPqxLj/xsP4U1Br1oSy8yfIjmpJ8cJtGYleaodqW/EmzFjwELtwDojLkf3FhV6SjA==} + '@internationalized/string@3.2.5': + resolution: {integrity: sha512-rKs71Zvl2OKOHM+mzAFMIyqR5hI1d1O6BBkMK2/lkfg3fkmVh9Eeg0awcA8W2WqYqDOv6a86DIOlFpggwLtbuw==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@isaacs/fs-minipass@4.0.1': - resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} - engines: {node: '>=18.0.0'} - - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} '@jridgewell/resolve-uri@3.1.2': @@ -1375,124 +1091,59 @@ packages: resolution: {integrity: sha512-3lBouSuF7CqlseLB+FKES0K4FQ02JrbEoRtJhxnsyB1s5v4AP03gsoohN8jp7DcOImhaR9scYdztq3/sLfk/qQ==} engines: {node: '>=14.18.0'} - '@mdx-js/mdx@2.3.0': - resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} - '@mdx-js/mdx@3.1.0': resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} - '@mdx-js/react@2.3.0': - resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} - peerDependencies: - react: '>=16' - - '@next/env@14.2.14': - resolution: {integrity: sha512-/0hWQfiaD5//LvGNgc8PjvyqV50vGK0cADYzaoOOGN8fxzBn3iAiaq3S0tCRnFBldq0LVveLcxCTi41ZoYgAgg==} - - '@next/env@15.0.0': - resolution: {integrity: sha512-Mcv8ZVmEgTO3bePiH/eJ7zHqQEs2gCqZ0UId2RxHmDDc7Pw6ngfSrOFlxG8XDpaex+n2G+TKPsQAf28MO+88Gw==} + '@next/env@15.1.6': + resolution: {integrity: sha512-d9AFQVPEYNr+aqokIiPLNK/MTyt3DWa/dpKveiAaVccUadFbhFEvY6FXYX2LJO2Hv7PHnLBu2oWwB4uBuHjr/w==} - '@next/eslint-plugin-next@14.2.13': - resolution: {integrity: sha512-z8Mk0VljxhIzsSiZUSdt3wp+t2lKd+jk5a9Jsvh3zDGkItgDMfjv/ZbET6HsxEl/fSihVoHGsXV6VLyDH0lfTQ==} - - '@next/swc-darwin-arm64@14.2.14': - resolution: {integrity: sha512-bsxbSAUodM1cjYeA4o6y7sp9wslvwjSkWw57t8DtC8Zig8aG8V6r+Yc05/9mDzLKcybb6EN85k1rJDnMKBd9Gw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] + '@next/eslint-plugin-next@15.1.6': + resolution: {integrity: sha512-+slMxhTgILUntZDGNgsKEYHUvpn72WP1YTlkmEhS51vnVd7S9jEEy0n9YAMcI21vUG4akTw9voWH02lrClt/yw==} - '@next/swc-darwin-arm64@15.0.0': - resolution: {integrity: sha512-Gjgs3N7cFa40a9QT9AEHnuGKq69/bvIOn0SLGDV+ordq07QOP4k1GDOVedMHEjVeqy1HBLkL8rXnNTuMZIv79A==} + '@next/swc-darwin-arm64@15.1.6': + resolution: {integrity: sha512-u7lg4Mpl9qWpKgy6NzEkz/w0/keEHtOybmIl0ykgItBxEM5mYotS5PmqTpo+Rhg8FiOiWgwr8USxmKQkqLBCrw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.2.14': - resolution: {integrity: sha512-cC9/I+0+SK5L1k9J8CInahduTVWGMXhQoXFeNvF0uNs3Bt1Ub0Azb8JzTU9vNCr0hnaMqiWu/Z0S1hfKc3+dww==} + '@next/swc-darwin-x64@15.1.6': + resolution: {integrity: sha512-x1jGpbHbZoZ69nRuogGL2MYPLqohlhnT9OCU6E6QFewwup+z+M6r8oU47BTeJcWsF2sdBahp5cKiAcDbwwK/lg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-darwin-x64@15.0.0': - resolution: {integrity: sha512-BUtTvY5u9s5berAuOEydAUlVMjnl6ZjXS+xVrMt317mglYZ2XXjY8YRDCaz9vYMjBNPXH8Gh75Cew5CMdVbWTw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@next/swc-linux-arm64-gnu@14.2.14': - resolution: {integrity: sha512-RMLOdA2NU4O7w1PQ3Z9ft3PxD6Htl4uB2TJpocm+4jcllHySPkFaUIFacQ3Jekcg6w+LBaFvjSPthZHiPmiAUg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@next/swc-linux-arm64-gnu@15.0.0': - resolution: {integrity: sha512-sbCoEpuWUBpYoLSgYrk0CkBv8RFv4ZlPxbwqRHr/BWDBJppTBtF53EvsntlfzQJ9fosYX12xnS6ltxYYwsMBjg==} + '@next/swc-linux-arm64-gnu@15.1.6': + resolution: {integrity: sha512-jar9sFw0XewXsBzPf9runGzoivajeWJUc/JkfbLTC4it9EhU8v7tCRLH7l5Y1ReTMN6zKJO0kKAGqDk8YSO2bg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.14': - resolution: {integrity: sha512-WgLOA4hT9EIP7jhlkPnvz49iSOMdZgDJVvbpb8WWzJv5wBD07M2wdJXLkDYIpZmCFfo/wPqFsFR4JS4V9KkQ2A==} + '@next/swc-linux-arm64-musl@15.1.6': + resolution: {integrity: sha512-+n3u//bfsrIaZch4cgOJ3tXCTbSxz0s6brJtU3SzLOvkJlPQMJ+eHVRi6qM2kKKKLuMY+tcau8XD9CJ1OjeSQQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.0.0': - resolution: {integrity: sha512-JAw84qfL81aQCirXKP4VkgmhiDpXJupGjt8ITUkHrOVlBd+3h5kjfPva5M0tH2F9KKSgJQHEo3F5S5tDH9h2ww==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@next/swc-linux-x64-gnu@14.2.14': - resolution: {integrity: sha512-lbn7svjUps1kmCettV/R9oAvEW+eUI0lo0LJNFOXoQM5NGNxloAyFRNByYeZKL3+1bF5YE0h0irIJfzXBq9Y6w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@next/swc-linux-x64-gnu@15.0.0': - resolution: {integrity: sha512-r5Smd03PfxrGKMewdRf2RVNA1CU5l2rRlvZLQYZSv7FUsXD5bKEcOZ/6/98aqRwL7diXOwD8TCWJk1NbhATQHg==} + '@next/swc-linux-x64-gnu@15.1.6': + resolution: {integrity: sha512-SpuDEXixM3PycniL4iVCLyUyvcl6Lt0mtv3am08sucskpG0tYkW1KlRhTgj4LI5ehyxriVVcfdoxuuP8csi3kQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.14': - resolution: {integrity: sha512-7TcQCvLQ/hKfQRgjxMN4TZ2BRB0P7HwrGAYL+p+m3u3XcKTraUFerVbV3jkNZNwDeQDa8zdxkKkw2els/S5onQ==} + '@next/swc-linux-x64-musl@15.1.6': + resolution: {integrity: sha512-L4druWmdFSZIIRhF+G60API5sFB7suTbDRhYWSjiw0RbE+15igQvE2g2+S973pMGvwN3guw7cJUjA/TmbPWTHQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.0.0': - resolution: {integrity: sha512-fM6qocafz4Xjhh79CuoQNeGPhDHGBBUbdVtgNFJOUM8Ih5ZpaDZlTvqvqsh5IoO06CGomxurEGqGz/4eR/FaMQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@next/swc-win32-arm64-msvc@14.2.14': - resolution: {integrity: sha512-8i0Ou5XjTLEje0oj0JiI0Xo9L/93ghFtAUYZ24jARSeTMXLUx8yFIdhS55mTExq5Tj4/dC2fJuaT4e3ySvXU1A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@next/swc-win32-arm64-msvc@15.0.0': - resolution: {integrity: sha512-ZOd7c/Lz1lv7qP/KzR513XEa7QzW5/P0AH3A5eR1+Z/KmDOvMucht0AozccPc0TqhdV1xaXmC0Fdx0hoNzk6ng==} + '@next/swc-win32-arm64-msvc@15.1.6': + resolution: {integrity: sha512-s8w6EeqNmi6gdvM19tqKKWbCyOBvXFbndkGHl+c9YrzsLARRdCHsD9S1fMj8gsXm9v8vhC8s3N8rjuC/XrtkEg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.14': - resolution: {integrity: sha512-2u2XcSaDEOj+96eXpyjHjtVPLhkAFw2nlaz83EPeuK4obF+HmtDJHqgR1dZB7Gb6V/d55FL26/lYVd0TwMgcOQ==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@next/swc-win32-x64-msvc@14.2.14': - resolution: {integrity: sha512-MZom+OvZ1NZxuRovKt1ApevjiUJTcU2PmdJKL66xUPaJeRywnbGGRWUlaAOwunD6dX+pm83vj979NTC8QXjGWg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@next/swc-win32-x64-msvc@15.0.0': - resolution: {integrity: sha512-2RVWcLtsqg4LtaoJ3j7RoKpnWHgcrz5XvuUGE7vBYU2i6M2XeD9Y8RlLaF770LEIScrrl8MdWsp6odtC6sZccg==} + '@next/swc-win32-x64-msvc@15.1.6': + resolution: {integrity: sha512-6xomMuu54FAFxttYr5PJbEfu96godcxBTRk1OhAvJq0/EnmFU/Ybiax30Snis4vdWZ9LGpf7Roy5fSs7v/5ROQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1509,14 +1160,50 @@ 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'} - - '@orama/orama@3.0.1': - resolution: {integrity: sha512-18hl0MiCLmumODHjrLzSdTb1Ny3Dh8tn44jwgx0LksCdvVAsr3jQvfr+hwrE7bVkap0wPELb/dnuJjvupKxheQ==} + '@orama/orama@2.1.1': + resolution: {integrity: sha512-euTV/2kya290SNkl5m8e/H1na8iDygk74nNtl4E0YZNyYIrEMwE1JwamoroMKGZw2Uz+in/8gH3m1+2YfP0j1w==} engines: {node: '>= 16.0.0'} + '@oxc-transform/binding-darwin-arm64@0.47.1': + resolution: {integrity: sha512-GT56Wkk/M1Eo1HCFfj8PxNn/ssBfxFVIrS3A5lJ6GE2k3gbVRORNzVA1znHtB3Tj4hIvWPNzqh+EQ2bhaFypNQ==} + cpu: [arm64] + os: [darwin] + + '@oxc-transform/binding-darwin-x64@0.47.1': + resolution: {integrity: sha512-2lwBMYHouI8Q0wubDCRuK4lMosiA0acsk2ZZzvTzYkn2xNKXtug2+D5UsOxpRLzW1vtIiTEdE5kPaafGPIIcqw==} + cpu: [x64] + os: [darwin] + + '@oxc-transform/binding-linux-arm64-gnu@0.47.1': + resolution: {integrity: sha512-AvAhryJTpOF0pJdroI0167cmRHDGv2aBBbTjEeNYW5b5KHNvmfeFF1eKT5e8pwj9ygR6DhwXQMIfYOsR2GBzrw==} + cpu: [arm64] + os: [linux] + + '@oxc-transform/binding-linux-arm64-musl@0.47.1': + resolution: {integrity: sha512-b3KDPQeC3yTZXF3vroOD9Mq6QfODxVt8OOeWkufytgOvNyM0NrHhXiiRLBvbNQyf7GfKd82B0l7is6hKuGELwg==} + cpu: [arm64] + os: [linux] + + '@oxc-transform/binding-linux-x64-gnu@0.47.1': + resolution: {integrity: sha512-bvdPbWnAtfWhQ+hRLtZCeI+mHivHBR4oJL1Zk8HZdo61LEr32XrfTjAOjzoaRqcANKaZv5o9Skyotp71Pf+Xfg==} + cpu: [x64] + os: [linux] + + '@oxc-transform/binding-linux-x64-musl@0.47.1': + resolution: {integrity: sha512-E549H+YqzkkvX72QxJechLEAAIseHndrrSWW5lacfCpatZjpTEBoHaMfTf7L3B4Ha/hg/JRZrn/rudYOMJ7ztA==} + cpu: [x64] + os: [linux] + + '@oxc-transform/binding-win32-arm64-msvc@0.47.1': + resolution: {integrity: sha512-GGbQBBKjIJ3CZ+lnOyPdKdyy1cbazZxTAJWN+EShfXJz+T1gY3BF6U3yhiRAvDefZ2SYLvALi2n4Wz//4vUz6A==} + cpu: [arm64] + os: [win32] + + '@oxc-transform/binding-win32-x64-msvc@0.47.1': + resolution: {integrity: sha512-IVdLjLWknwrhWsWj0f0WTWd3Mfu3a/kjEWwTy0X65udWNxfzpIOVSnauHL7E0lWiatAKmpjS4GacVDPtMdw3GQ==} + cpu: [x64] + os: [win32] + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1536,14 +1223,11 @@ packages: '@radix-ui/number@1.1.0': resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} - '@radix-ui/primitive@1.0.1': - resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} - - '@radix-ui/primitive@1.1.0': - resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} + '@radix-ui/primitive@1.1.1': + resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==} - '@radix-ui/react-aspect-ratio@1.1.0': - resolution: {integrity: sha512-dP87DM/Y7jFlPgUZTlhx6FF5CEzOiaxp2rBCKlaXlpH5Ip/9Fg5zZ9lDOQ5o/MOfUlf36eak14zoWYpgcgGoOg==} + '@radix-ui/react-aspect-ratio@1.1.1': + resolution: {integrity: sha512-kNU4FIpcFMBLkOUcgeIteH06/8JLBcYY6Le1iKenDGCYNYFX3TQqCZjzkOsz37h7r94/99GTb7YhEr98ZBJibw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1555,8 +1239,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collapsible@1.1.0': - resolution: {integrity: sha512-zQY7Epa8sTL0mq4ajSJpjgn2YmCgyrG7RsQgLp3C0LQVkG7+Tf6Pv1CeNWZLyqMjhdPkBa5Lx7wYBeSu7uCSTA==} + '@radix-ui/react-collapsible@1.1.2': + resolution: {integrity: sha512-PliMB63vxz7vggcyq0IxNYk8vGDrLXVWw4+W4B8YnwI1s18x7YZYqlG9PLX7XxAJUi0g2DxP4XKJMFHh/iVh9A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1568,17 +1252,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-compose-refs@1.0.1': - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-compose-refs@1.1.0': - resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} + '@radix-ui/react-compose-refs@1.1.1': + resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1586,17 +1261,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-context@1.0.1': - resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-context@1.1.0': - resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} + '@radix-ui/react-context@1.1.1': + resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1604,13 +1270,13 @@ packages: '@types/react': optional: true - '@radix-ui/react-dialog@1.0.5': - resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} + '@radix-ui/react-dialog@1.1.4': + resolution: {integrity: sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -1626,50 +1292,41 @@ packages: '@types/react': optional: true - '@radix-ui/react-dismissable-layer@1.0.5': - resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} + '@radix-ui/react-dismissable-layer@1.1.3': + resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-focus-guards@1.0.1': - resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} + '@radix-ui/react-focus-guards@1.1.1': + resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-focus-scope@1.0.4': - resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} + '@radix-ui/react-focus-scope@1.1.1': + resolution: {integrity: sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-id@1.0.1': - resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@radix-ui/react-id@1.1.0': resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} peerDependencies: @@ -1679,34 +1336,21 @@ packages: '@types/react': optional: true - '@radix-ui/react-portal@1.0.4': - resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + '@radix-ui/react-portal@1.1.3': + resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-presence@1.0.1': - resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-presence@1.1.0': - resolution: {integrity: sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==} + '@radix-ui/react-presence@1.1.2': + resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1718,21 +1362,21 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@1.0.3': - resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} + '@radix-ui/react-primitive@2.0.1': + resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.0.0': - resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} + '@radix-ui/react-scroll-area@1.2.2': + resolution: {integrity: sha512-EFI1N/S3YxZEW/lJ/H1jY3njlvTd8tBmgKEn4GHi51+aMm94i6NmAJstsm5cu3yJwYqYc93gpCPm21FeAbFk6g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1744,30 +1388,26 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-scroll-area@1.1.0': - resolution: {integrity: sha512-9ArIZ9HWhsrfqS765h+GZuLoxaRHD/j0ZWOWilsCvYTpYJp8XwCqNG7Dt9Nu/TItKOdgLGkOPCodQvDc+UMwYg==} + '@radix-ui/react-slot@1.1.1': + resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==} peerDependencies: '@types/react': '*' - '@types/react-dom': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-slot@1.0.2': - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + '@radix-ui/react-use-callback-ref@1.1.0': + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-slot@1.1.0': - resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} + '@radix-ui/react-use-controllable-state@1.1.0': + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1775,17 +1415,17 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-callback-ref@1.0.1': - resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + '@radix-ui/react-use-escape-keydown@1.1.0': + resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-use-callback-ref@1.1.0': - resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + '@radix-ui/react-use-layout-effect@1.1.0': + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1793,837 +1433,1275 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-controllable-state@1.0.1': - resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + '@react-aria/autocomplete@3.0.0-alpha.37': + resolution: {integrity: sha512-a7awFG3hshJ/kX7Qti/cJAKOG0XU5F/XW6fQffKGfEge7PmiWIvaLTrT5her79/v8v/bRBykIkpEgDCFE7WGzg==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@radix-ui/react-use-controllable-state@1.1.0': - resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + '@react-aria/breadcrumbs@3.5.19': + resolution: {integrity: sha512-mVngOPFYVVhec89rf/CiYQGTfaLRfHFtX+JQwY7sNYNqSA+gO8p4lNARe3Be6bJPgH+LUQuruIY9/ZDL6LT3HA==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@radix-ui/react-use-escape-keydown@1.0.3': - resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + '@react-aria/breadcrumbs@3.5.20': + resolution: {integrity: sha512-xqVSSDPpQuUFpJyIXMQv8L7zumk5CeGX7qTzo4XRvqm5T9qnNAX4XpYEMdktnLrQRY/OemCBScbx7SEwr0B3Kg==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@radix-ui/react-use-layout-effect@1.0.1': - resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + '@react-aria/button@3.11.0': + resolution: {integrity: sha512-b37eIV6IW11KmNIAm65F3SEl2/mgj5BrHIysW6smZX3KoKWTGYsYfcQkmtNgY0GOSFfDxMCoolsZ6mxC00nSDA==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@radix-ui/react-use-layout-effect@1.1.0': - resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + '@react-aria/button@3.11.1': + resolution: {integrity: sha512-NSs2HxHSSPSuYy5bN+PMJzsCNDVsbm1fZ/nrWM2WWWHTBrx9OqyrEXZVV9ebzQCN9q0nzhwpf6D42zHIivWtJA==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/calendar@3.6.0': + resolution: {integrity: sha512-tZ3nd5DP8uxckbj83Pt+4RqgcTWDlGi7njzc7QqFOG2ApfnYDUXbIpb/Q4KY6JNlJskG8q33wo0XfOwNy8J+eg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/accordion@3.0.0-alpha.35': - resolution: {integrity: sha512-eZcsHJDVDNIZ2XUmJynHScRv1YAF/+fj5T0zoGdyEPImIIxJLROupQ75uwarAI5btGSR2TFeqYRmRXJrVuxgoA==} + '@react-aria/calendar@3.7.0': + resolution: {integrity: sha512-9YUbgcox7cQgvZfQtL2BLLRsIuX4mJeclk9HkFoOsAu3RGO5HNsteah8FV54W8BMjm/bNRXIPUxtjTTP+1L6jg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/breadcrumbs@3.5.17': - resolution: {integrity: sha512-LJQ+u3TbPmtAWZ3/qC6VfLCzXiwVoB6GmI+HJ2pbjs6H9L8MoiLHsA4mgcz+P0rvx7SCs0Rhvy4JurV6R/R4xw==} + '@react-aria/checkbox@3.15.0': + resolution: {integrity: sha512-z/8xd4em7o0MroBXwkkwv7QRwiJaA1FwqMhRUb7iqtBGP2oSytBEDf0N7L09oci32a1P4ZPz2rMK5GlLh/PD6g==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/breadcrumbs@3.5.18': - resolution: {integrity: sha512-JRc6nAwQsjqsPw/3MlGwJcVo9ACZDbCOwWNNEnj8mR0fQopJO5xliq3qVzxDRZjdYrVUfTTyKXuepv/jMB1Y6Q==} + '@react-aria/checkbox@3.15.1': + resolution: {integrity: sha512-ETgsMDZ0IZzRXy/OVlGkazm8T+PcMHoTvsxp0c+U82c8iqdITA+VJ615eBPOQh6OkkYIIn4cRn/e+69RmGzXng==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/button@3.10.0': - resolution: {integrity: sha512-mhbn2tEsr991sjG6YMH6oN3ELWb4YvZZ8mnZHMNLa3l8T00PV0ClvQBsUndo6uSvuTHhpFzmMMkJFhYYUwCKlw==} + '@react-aria/collections@3.0.0-alpha.7': + resolution: {integrity: sha512-JR2Ro33Chlf26NM12zJsK+MOs5/k+PQallT5+4YawndYmbxqlDLADcoFdcORJqh0pKf9OnluWtANobCkQGd0aQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/button@3.10.1': - resolution: {integrity: sha512-1vkRsjdvJrJleK73u7ClrW4Fw3mtr2hIs8M2yLZUpLoqHXnIYJwmeEMtzwyPFYKBc5jaHcGXw45any7Puy1aFA==} + '@react-aria/color@3.0.2': + resolution: {integrity: sha512-dSM5qQRcR1gRGYCBw0IGRmc29gjfoht3cQleKb8MMNcgHYa2oi5VdCs2yKXmYFwwVC6uPtnlNy9S6e0spqdr+w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/calendar@3.5.12': - resolution: {integrity: sha512-C8VRjRwEVPaGoCtjOlC0lb3mVSz4ajbal8jfvcbp7LOqCcmOVTUbiM7EPTy60EfZRanFNSp2D1ZstEZDU+cqsg==} + '@react-aria/color@3.0.3': + resolution: {integrity: sha512-DDVma2107VHBfSuEnnmy+KJvXvxEXWSAooii2vlHHmQNb5x4rv4YTk+dP5GZl/7MgT8OgPTB9UHoC83bXFMDRA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/calendar@3.5.13': - resolution: {integrity: sha512-BJV5IwIH4UPDa6/HRTOBcM1wC+/6p823VrbocV9mr+rt5cCnuh+cqcCQKqUSEbfaTMPrmabjBuEaQIvqjLRYUA==} + '@react-aria/combobox@3.11.0': + resolution: {integrity: sha512-s88YMmPkMO1WSoiH1KIyZDLJqUwvM2wHXXakj3cYw1tBHGo4rOUFq+JWQIbM5EDO4HOR4AUUqzIUd0NO7t3zyg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/checkbox@3.14.7': - resolution: {integrity: sha512-aqVxXcr/8P7pQ7R34DlJX2SdBvWtHof9lLTVBY/9tgMplcKIoVBdlVUYPtqWxT3tGan+rruPQHbzTx8zJRFJyg==} + '@react-aria/combobox@3.11.1': + resolution: {integrity: sha512-TTNbGhUuqxzPcJzd6hufOxuHzX0UARkw+0bl+TuCwNPQnqrcPf20EoOZvd3MHZwGq6GCP4QV+qo0uGx83RpUvA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/checkbox@3.14.8': - resolution: {integrity: sha512-0qPJ3fiQQm7tiMHmIhR9iokr/MhhI2h6OWX/pDeIy/Gj63WSVk+Cka3NUhgMRGkguHKDZPKaFjK1oZQsXhCThQ==} + '@react-aria/datepicker@3.12.0': + resolution: {integrity: sha512-VYNXioLfddIHpwQx211+rTYuunDmI7VHWBRetCpH3loIsVFuhFSRchTQpclAzxolO3g0vO7pMVj9VYt7Swp6kg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/collections@3.0.0-alpha.5': - resolution: {integrity: sha512-8m8yZe1c5PYCylEN4lcG3ZL/1nyrON95nVsoknC8shY1uKP01oJd7w+f6hvVza0tJRQuVe4zW3gO4FVjv33a5g==} + '@react-aria/datepicker@3.13.0': + resolution: {integrity: sha512-TmJan65P3Vk7VDBNW5rH9Z25cAn0vk8TEtaP3boCs8wJFE+HbEuB8EqLxBFu47khtuKTEqDP3dTlUh2Vt/f7Xw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/color@3.0.0': - resolution: {integrity: sha512-IwHI4e2fUHUOZHRrL2MsxGZFp/RCR2cLjm39gT41jVSuH4zjxueUf96NDm6c7FD0mB5vfk0jo+KJMnShL1a2rg==} + '@react-aria/dialog@3.5.20': + resolution: {integrity: sha512-l0GZVLgeOd3kL3Yj8xQW7wN3gn9WW3RLd/SGI9t7ciTq+I/FhftjXCWzXLlOCCTLMf+gv7eazecECtmoWUaZWQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/color@3.0.1': - resolution: {integrity: sha512-7hTCdXCU2/qpZuIrJcVr+s87C2MqHfi9Y461gMza5DjdUzlcy480UZ/iknbw82C0a+oVo08D/bnQctEjja05pw==} + '@react-aria/dialog@3.5.21': + resolution: {integrity: sha512-tBsn9swBhcptJ9QIm0+ur0PVR799N6qmGguva3rUdd+gfitknFScyT08d7AoMr9AbXYdJ+2R9XNSZ3H3uIWQMw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/combobox@3.10.4': - resolution: {integrity: sha512-jzLyRwpwH5SCfQl5giLSwLaw9EKlRiMG39kDZLRB4MQ1MN4sIdIP2TXBbdYcSLtYjduJm2JfRvs2ezI+QI+umA==} + '@react-aria/disclosure@3.0.0': + resolution: {integrity: sha512-xO9QTQSvymujTjCs1iCQ4+dKZvtF/rVVaFZBKlUtqIqwTHMdqeZu4fh5miLEnTyVLNHMGzLrFggsd8Q+niC9Og==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/combobox@3.10.5': - resolution: {integrity: sha512-1cjBJXWYuR0de+9IEU1MOer3H5FSlbrdaqlWo+M6vvMymBL2OjjwXiG3LY1mR65ZwHoTswXzt6/mujUKaxk5vw==} + '@react-aria/disclosure@3.0.1': + resolution: {integrity: sha512-rNH8RFcePoAQizcqB7KuHbBOr7sPsysFKCUwbVSOXLPgvCfXKafIhjgFJVqekfsbn5zWvkcTupnzGVJj/F9p+g==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/datepicker@3.11.3': - resolution: {integrity: sha512-HwGxDctFry5ew3Cu7gWpUVodaCg//V6NCihSRjLvnW/TWG+UFLzTafxTqqm8eRbicT3DJlXCLOUPk8Ek0txW6A==} + '@react-aria/dnd@3.8.0': + resolution: {integrity: sha512-JiqHY3E9fDU5Kb4gN22cuK6QNlpMCGe6ngR/BV+Q8mLEsdoWcoUAYOtYXVNNTRvCdVbEWI87FUU+ThyPpoDhNQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/datepicker@3.11.4': - resolution: {integrity: sha512-TXe1TB/pSwrIQ5BIDr6NCAYjBaKgLN6cP5DlAihywHzqxbM6vO8GU6qbrZNSBrtfzZnrR/4z66Vlw6rhznLnqQ==} + '@react-aria/dnd@3.8.1': + resolution: {integrity: sha512-FoXYQ4z33E9YBzIGRJM1B1oZep6CvEWgXvjCZGURatjr3qG7vf95mOqA5kVd9bjLL7QK4w0ujJWEBfog3WmufA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/dialog@3.5.18': - resolution: {integrity: sha512-j0x0OwDZKyW2GqBZl2Dw/pHl0uSCzhHOg5jNeulkZC8xQa8COuksQf5NFzPmgRPnzqpbgvSzCSs41ymS8spmFg==} + '@react-aria/focus@3.19.0': + resolution: {integrity: sha512-hPF9EXoUQeQl1Y21/rbV2H4FdUR2v+4/I0/vB+8U3bT1CJ+1AFj1hc/rqx2DqEwDlEwOHN+E4+mRahQmlybq0A==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/dialog@3.5.19': - resolution: {integrity: sha512-I3AJWpAWCajj8Ama8qLQ18Tc37ODyk+Ym3haYEl5L4QnuFc0dU1sMJr15fppDGIxYjwvTTfctyhaSCz+S+wpkw==} + '@react-aria/focus@3.19.1': + resolution: {integrity: sha512-bix9Bu1Ue7RPcYmjwcjhB14BMu2qzfJ3tMQLqDc9pweJA66nOw8DThy3IfVr8Z7j2PHktOLf9kcbiZpydKHqzg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/disclosure@3.0.0-alpha.1': - resolution: {integrity: sha512-AsYRk4NOfo5f3QGIoQwGtOCvEk/a1yztobaDIgMCfycfyQbzJROUPbSusUURK7f1KZ0s3/HPlWT9p6ulR4mDcA==} + '@react-aria/form@3.0.11': + resolution: {integrity: sha512-oXzjTiwVuuWjZ8muU0hp3BrDH5qjVctLOF50mjPvqUbvXQTHhoDxWweyIXPQjGshaqBd2w4pWaE4A2rG2O/apw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/dnd@3.7.3': - resolution: {integrity: sha512-SF7v1AzpXr4CSf98pSzjcSBCaezpP6rsSnSJTz0j2jrYfdQhX0MPA2lyxS+kgU1AEzkK19THQeHuj8hxQc0bVw==} + '@react-aria/form@3.0.12': + resolution: {integrity: sha512-8uvPYEd3GDyGt5NRJIzdWW1Ry5HLZq37vzRZKUW8alZ2upFMH3KJJG55L9GP59KiF6zBrYBebvI/YK1Ye1PE1g==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/dnd@3.7.4': - resolution: {integrity: sha512-lRE8SVyK/MPbF6NiVXHoriOV0QulNKkSndyDr3TWPsLhH5GKQso5jSx8/5ogbDgRTzIsmIQldj/HlW238DCiSg==} + '@react-aria/grid@3.11.0': + resolution: {integrity: sha512-lN5FpQgu2Rq0CzTPWmzRpq6QHcMmzsXYeClsgO3108uVp1/genBNAObYVTxGOKe/jb9q99trz8EtIn05O6KN1g==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/focus@3.18.3': - resolution: {integrity: sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw==} + '@react-aria/grid@3.11.1': + resolution: {integrity: sha512-Wg8m68RtNWfkhP3Qjrrsl1q1et8QCjXPMRsYgKBahYRS0kq2MDcQ+UBdG1fiCQn/MfNImhTUGVeQX276dy1lww==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/focus@3.18.4': - resolution: {integrity: sha512-91J35077w9UNaMK1cpMUEFRkNNz0uZjnSwiyBCFuRdaVuivO53wNC9XtWSDNDdcO5cGy87vfJRVAiyoCn/mjqA==} + '@react-aria/gridlist@3.10.0': + resolution: {integrity: sha512-UcblfSZ7kJBrjg9mQ5VbnRevN81UiYB4NuL5PwIpBpridO7tnl4ew6+96PYU7Wj1chHhPS3x0b0zmuSVN7A0LA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/form@3.0.10': - resolution: {integrity: sha512-hWBrqEXxBxcpYTJv0telQKaiu2728EUFHta8/RGBqJ4+MhKKxI7+PnLoms78IuiK0MCYvukHfun1fuQvK+8jsg==} + '@react-aria/gridlist@3.10.1': + resolution: {integrity: sha512-11FlupBg5C9ehs7R6OjqMPWEOLK/4IuSrq7D1xU+Hnm7ZYI/KKcCXvNMjMmnOz/gGzOmfgVwz5PIKaY9aZarEg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/form@3.0.9': - resolution: {integrity: sha512-9M6IfC5t47G19c8roHWnkKd275BrECTzyTsc4rzf5OepJfHfG4evST6x+4gGOFYi8soC9XoQdJl4TRh/mft+gw==} + '@react-aria/i18n@3.12.4': + resolution: {integrity: sha512-j9+UL3q0Ls8MhXV9gtnKlyozq4aM95YywXqnmJtzT1rYeBx7w28hooqrWkCYLfqr4OIryv1KUnPiCSLwC2OC7w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/grid@3.10.4': - resolution: {integrity: sha512-3AjJ0hwRhOCIHThIZrGWrjAuKDpaZuBkODW3dvgLqtsNm3tL46DI6U9O3vfp8lNbrWMsXJgjRXwvXvdv0/gwCA==} + '@react-aria/i18n@3.12.5': + resolution: {integrity: sha512-ooeop2pTG94PuaHoN2OTk2hpkqVuoqgEYxRvnc1t7DVAtsskfhS/gVOTqyWGsxvwAvRi7m/CnDu6FYdeQ/bK5w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/grid@3.10.5': - resolution: {integrity: sha512-9sLa+rpLgRZk7VX+tvdSudn1tdVgolVzhDLGWd95yS4UtPVMihTMGBrRoByY57Wxvh1V+7Ptw8kc6tsRSotYKg==} + '@react-aria/interactions@3.22.5': + resolution: {integrity: sha512-kMwiAD9E0TQp+XNnOs13yVJghiy8ET8L0cbkeuTgNI96sOAp/63EJ1FSrDf17iD8sdjt41LafwX/dKXW9nCcLQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/gridlist@3.9.4': - resolution: {integrity: sha512-gGzS4ToSynn2KBycf9UCsWIJIbVl4RjoCjPF4NnukwzHmrXwbtZnlF0xsORQ5QxfqHH9UehTAHWFvOOHJSZZ2w==} + '@react-aria/interactions@3.23.0': + resolution: {integrity: sha512-0qR1atBIWrb7FzQ+Tmr3s8uH5mQdyRH78n0krYaG8tng9+u1JlSi8DGRSaC9ezKyNB84m7vHT207xnHXGeJ3Fg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/gridlist@3.9.5': - resolution: {integrity: sha512-LM+3D0amZZ1qiyqWVG52j0YRWt2chdpx+WG80ryDKwHLDIq7uz1+KXyIfv8cFt/cZcl6+9Ft3kWALCAi6O4NLA==} + '@react-aria/label@3.7.13': + resolution: {integrity: sha512-brSAXZVTey5RG/Ex6mTrV/9IhGSQFU4Al34qmjEDho+Z2qT4oPwf8k7TRXWWqzOU0ugYxekYbsLd2zlN3XvWcg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/i18n@3.12.3': - resolution: {integrity: sha512-0Tp/4JwnCVNKDfuknPF+/xf3/woOc8gUjTU2nCjO3mCVb4FU7KFtjxQ2rrx+6hpIVG6g+N9qfMjRa/ggVH0CJg==} + '@react-aria/label@3.7.14': + resolution: {integrity: sha512-EN1Md2YvcC4sMqBoggsGYUEGlTNqUfJZWzduSt29fbQp1rKU2KlybTe+TWxKq/r2fFd+4JsRXxMeJiwB3w2AQA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/interactions@3.22.3': - resolution: {integrity: sha512-RRUb/aG+P0IKTIWikY/SylB6bIbLZeztnZY2vbe7RAG5MgVaCgn5HQ45SI15GlTmhsFG8CnF6slJsUFJiNHpbQ==} + '@react-aria/link@3.7.7': + resolution: {integrity: sha512-eVBRcHKhNSsATYWv5wRnZXRqPVcKAWWakyvfrYePIKpC3s4BaHZyTGYdefk8ZwZdEOuQZBqLMnjW80q1uhtkuA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/interactions@3.22.4': - resolution: {integrity: sha512-E0vsgtpItmknq/MJELqYJwib+YN18Qag8nroqwjk1qOnBa9ROIkUhWJerLi1qs5diXq9LHKehZDXRlwPvdEFww==} + '@react-aria/link@3.7.8': + resolution: {integrity: sha512-oiXUPQLZmf9Q9Xehb/sG1QRxfo28NFKdh9w+unD12sHI6NdLMETl5MA4CYyTgI0dfMtTjtfrF68GCnWfc7JvXQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/label@3.7.12': - resolution: {integrity: sha512-u9xT90lAlgb7xiv+p0md9QwCHz65XL7tjS5e29e88Rs3ptkv3aQubTqxVOUTEwzbNUT4A1QqTjUm1yfHewIRUw==} + '@react-aria/listbox@3.13.6': + resolution: {integrity: sha512-6hEXEXIZVau9lgBZ4VVjFR3JnGU+fJaPmV3HP0UZ2ucUptfG0MZo24cn+ZQJsWiuaCfNFv5b8qribiv+BcO+Kg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/link@3.7.5': - resolution: {integrity: sha512-j0F1BIdNoE7Tl+0KzzjbrmYuxt4aWAmDZDHvJKiYg71Jb1BAPz71eE1O1ybMoO04+OG/6HrRZTragfSQLAJ58A==} + '@react-aria/listbox@3.14.0': + resolution: {integrity: sha512-pyVbKavh8N8iyiwOx6I3JIcICvAzFXkKSFni1yarfgngJsJV3KSyOkzLomOfN9UhbjcV4sX61/fccwJuvlurlA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-aria/live-announcer@3.4.1': + resolution: {integrity: sha512-4X2mcxgqLvvkqxv2l1n00jTzUxxe0kkLiapBGH1LHX/CxA1oQcHDqv8etJ2ZOwmS/MSBBiWnv3DwYHDOF6ubig==} - '@react-aria/link@3.7.6': - resolution: {integrity: sha512-8buJznRWoOud8ApygUAz7TsshXNs6HDGB6YOYEJxy0WTKILn0U5NUymw2PWC14+bWRPelHMKmi6vbFBrJWzSzQ==} + '@react-aria/menu@3.16.0': + resolution: {integrity: sha512-TNk+Vd3TbpBPUxEloAdHRTaRxf9JBK7YmkHYiq0Yj5Lc22KS0E2eTyhpPM9xJvEWN2TlC5TEvNfdyui2kYWFFQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/listbox@3.13.4': - resolution: {integrity: sha512-2aG4jzlB+srYBeM9ap/BNZe0E04yMjY2dPGXcigkaSJt6/yYAHCygXuouf2MzvBfkdV4QWyHIIgWZmAXXl6reg==} + '@react-aria/menu@3.17.0': + resolution: {integrity: sha512-aiFvSv3G1YvPC0klJQ/9quB05xIDZzJ5Lt6/CykP0UwGK5i8GCqm6/cyFLwEXsS5ooUPxS3bqmdOsgdADSSgqg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/listbox@3.13.5': - resolution: {integrity: sha512-tn32L/PIELIPYfDWCJ3OBRvvb/jCEvIzs6IYs8xCISV5W4853Je/WnA8wumWnz07U9sODYFmHUx2ThO7Z7dH7Q==} + '@react-aria/meter@3.4.18': + resolution: {integrity: sha512-tTX3LLlmDIHqrC42dkdf+upb1c4UbhlpZ52gqB64lZD4OD4HE+vMTwNSe+7MRKMLvcdKPWCRC35PnxIHZ15kfQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/live-announcer@3.4.0': - resolution: {integrity: sha512-VBxEdMq2SbtRbNTQNcDR2G6E3lEl5cJSBiHTTO8Ln1AL76LiazrylIXGgoktqzCfRQmyq0v8CHk1cNKDU9mvJg==} + '@react-aria/meter@3.4.19': + resolution: {integrity: sha512-IIA+gTHrNVbMuBgcqdGLEKd/ZiKM2hOUqS6uztbT15dwPJTmtfJiTWA2872PiY52p+gqPSanZuTc2TXYJa+rew==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/menu@3.15.4': - resolution: {integrity: sha512-4wfq8Lb7AltgSzBHdtypiPOnsRm8hHv7PUuHhlq/VT9yAkEFk4Flc7vKVF6VSFqrnCfyCf66B5aeapjNInAONg==} + '@react-aria/numberfield@3.11.10': + resolution: {integrity: sha512-bYbTfO9NbAKMFOfEGGs+lvlxk0I9L0lU3WD2PFQZWdaoBz9TCkL+vK0fJk1zsuKaVjeGsmHP9VesBPRmaP0MiA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/menu@3.15.5': - resolution: {integrity: sha512-ygfS032hJSZCYYbMHnUSmUTVMaz99L9AUZ9kMa6g+k2X1t92K1gXfhYYkoClQD6+G0ch7zm0SwYFlUmRf9yOEA==} + '@react-aria/numberfield@3.11.9': + resolution: {integrity: sha512-3tiGPx2y4zyOV7PmdBASes99ZZsFTZAJTnU45Z+p1CW4131lw7y2ZhbojBl7U6DaXAJvi1z6zY6cq2UE9w5a0Q==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/meter@3.4.17': - resolution: {integrity: sha512-08wbQhfvVWzpWilhn/WD7cQ7TqafS/66umTk7+X6BW6TrS1//6loNNJV62IC3F7sskel4iEAtl2gW0WpW8zEdg==} + '@react-aria/overlays@3.24.0': + resolution: {integrity: sha512-0kAXBsMNTc/a3M07tK9Cdt/ea8CxTAEJ223g8YgqImlmoBBYAL7dl5G01IOj67TM64uWPTmZrOklBchHWgEm3A==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/numberfield@3.11.7': - resolution: {integrity: sha512-9bqg4sKqc5XLppHzJFRhgtkoeMu0N6Zg0AuVSiE/3CxE5Ad+y8tKpFEx9zh4o5BItyOWy18w5ZXnKjJGjd7waQ==} + '@react-aria/overlays@3.25.0': + resolution: {integrity: sha512-UEqJJ4duowrD1JvwXpPZreBuK79pbyNjNxFUVpFSskpGEJe3oCWwsSDKz7P1O7xbx5OYp+rDiY8fk/sE5rkaKw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/numberfield@3.11.8': - resolution: {integrity: sha512-CWRHbrjfpvEqBmtjwX8LjVds6+tMNneRlKF46ked5sZilfU2jIirufaucM36N4vX6N/W7nFR/rCbp2WCOU9p3Q==} + '@react-aria/progress@3.4.18': + resolution: {integrity: sha512-FOLgJ9t9i1u3oAAimybJG6r7/soNPBnJfWo4Yr6MmaUv90qVGa1h6kiuM5m9H/bm5JobAebhdfHit9lFlgsCmg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/overlays@3.23.3': - resolution: {integrity: sha512-vRW4DL466a27BBIP6dQqmmei4nX/nsur6DyF0Hmd46ygwOdvdA+5MwvXZUz9yUamB79UeS9BMQZuBVwhjoMwBQ==} + '@react-aria/progress@3.4.19': + resolution: {integrity: sha512-5HHnBJHqEUuY+dYsjIZDYsENeKr49VCuxeaDZ0OSahbOlloIOB1baCo/6jLBv1O1rwrAzZ2gCCPcVGed/cjrcw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/overlays@3.23.4': - resolution: {integrity: sha512-MZUW6SUlTWOwKuFTqUTxW5BnvdW3Y9cEwanWuz98NX3ST7JYe/3ZcZhb37/fGW4uoGHnQ9icEwVf0rbMrK2STg==} + '@react-aria/radio@3.10.10': + resolution: {integrity: sha512-NVdeOVrsrHgSfwL2jWCCXFsWZb+RMRZErj5vthHQW4nkHECGOzeX56VaLWTSvdoCPqi9wdIX8A6K9peeAIgxzA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/progress@3.4.17': - resolution: {integrity: sha512-5+01WNibLoNS5KcfU5p6vg7Lhz17plqqzv/uITx28zzj3saaj0VLR7n57Ig2fXe8ZEQoUS89BS3sIEsIf96S1A==} + '@react-aria/radio@3.10.11': + resolution: {integrity: sha512-R150HsBFPr1jLMShI4aBM8heCa1k6h0KEvnFRfTAOBu+B9hMSZOPB+d6GQOwGPysNlbset90Kej8G15FGHjqiA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/radio@3.10.8': - resolution: {integrity: sha512-/vKQhKqpoCB/VqHuc46OOU+31HFtg6svcYzHBbz0wN/DSVCygYeTfB/36kY7x2GWWkT0pCsB4OcHJ+/0G3EfkQ==} + '@react-aria/searchfield@3.7.11': + resolution: {integrity: sha512-wFf6QxtBFfoxy0ANxI0+ftFEBGynVCY0+ce4H4Y9LpUTQsIKMp3sdc7LoUFORWw5Yee6Eid5cFPQX0Ymnk+ZJg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/radio@3.10.9': - resolution: {integrity: sha512-XnU7zGTEku1mPvJweX4I3ifwEBtglEWYoO4CZGvA3eXj39X8iGwNZXUst1pdk2ykWUKbtwrmsWA6zG2OAGODYw==} + '@react-aria/searchfield@3.8.0': + resolution: {integrity: sha512-AaZuH9YIWlMyE1m7cSjHCfOuQmlWN+w8HVW32TxeGGGL1kJsYAlSYWYHUyYFIKh245kq/m5zUxAxmw5Ygmnx5w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/searchfield@3.7.10': - resolution: {integrity: sha512-1XTYh2dycedaK1tgpHAHcu8PTK1wG3dv53yLziu07JsBe9tX6O8jIFBhZK8SpfNnP8pEOI3PIlVEjaarLwgWzQ==} + '@react-aria/select@3.15.0': + resolution: {integrity: sha512-zgBOUNy81aJplfc3NKDJMv8HkXjBGzaFF3XDzNfW8vJ7nD9rcTRUN5SQ1XCEnKMv12B/Euk9zt6kd+tX0wk1vQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/searchfield@3.7.9': - resolution: {integrity: sha512-EHODG7HDFthwG5tx4fh+WP2hjNOp/rPAqdNScKBAN73nEf0F/qQpIwmdZF0EycCOzGSM5hhihjm0yMtTFYuzOQ==} + '@react-aria/select@3.15.1': + resolution: {integrity: sha512-FOtY1tuHt0YTHwOEy/sf7LEIL+Nnkho3wJmfpWQuTxsvMCF7UJdQPYPd6/jGCcCdiqW7H4iqyjUkSp6nk/XRWQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/select@3.14.10': - resolution: {integrity: sha512-xHkAJqvfKgnH5mVYwZj3ME7/Q3wUzgUZDK/iVuXUs3cAYap8ybM2d/2zOGcqv1keZHBUzwp9QtaN//FYK13jIA==} + '@react-aria/selection@3.21.0': + resolution: {integrity: sha512-52JJ6hlPcM+gt0VV3DBmz6Kj1YAJr13TfutrKfGWcK36LvNCBm1j0N+TDqbdnlp8Nue6w0+5FIwZq44XPYiBGg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/select@3.14.11': - resolution: {integrity: sha512-rX5U4JcPNV41lNEF1tAxNxqrGENnLGZL/D5Y+YNpqKSU5U09+hD3ovsflNkF/d+deb25zg45JRxumwOCQ+rfyw==} + '@react-aria/selection@3.22.0': + resolution: {integrity: sha512-XFOrK525HX2eeWeLZcZscUAs5qsuC1ZxsInDXMjvLeAaUPtQNEhUKHj3psDAl6XDU4VV1IJo0qCmFTVqTTMZSg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/selection@3.20.0': - resolution: {integrity: sha512-h3giMcXo4SMZRL5HrqZvOLNTsdh5jCXwLUx0wpj/2EF0tcYQL6WDfn1iJ+rHARkUIs7X70fUV8iwlbUySZy1xg==} + '@react-aria/separator@3.4.4': + resolution: {integrity: sha512-dH+qt0Mdh0nhKXCHW6AR4DF8DKLUBP26QYWaoThPdBwIpypH/JVKowpPtWms1P4b36U6XzHXHnTTEn/ZVoCqNA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/selection@3.20.1': - resolution: {integrity: sha512-My0w8UC/7PAkz/1yZUjr2VRuzDZz1RrbgTqP36j5hsJx8RczDTjI4TmKtQNKG0ggaP4w83G2Og5JPTq3w3LMAw==} + '@react-aria/separator@3.4.5': + resolution: {integrity: sha512-RQA9sKZdAEjP1Yrv0GpDdXgmXd56kXDE8atPDHEC0/A4lpYh/YFLfXcv1JW0Hlg4kBocdX2pB2INyDGhiD+yfw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/separator@3.4.3': - resolution: {integrity: sha512-L+eCmSGfRJ9jScHZqBkmOkp44LBARisDjRdYbGrLlsAEcOiHUXufnfpxz2rgkUGBdUgnI9hIk12q5kdy0UxGjg==} + '@react-aria/slider@3.7.14': + resolution: {integrity: sha512-7rOiKjLkEZ0j7mPMlwrqivc+K4OSfL14slaQp06GHRiJkhiWXh2/drPe15hgNq55HmBQBpA0umKMkJcqVgmXPA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/slider@3.7.12': - resolution: {integrity: sha512-yZWBGxDHBL5Gjjdnz+igdO7VfYND9iZsSqynadZthWtfy1jA+qBR25I+Soc0D9gkr/2/JUJkFgkllYF1RzWMUQ==} + '@react-aria/slider@3.7.15': + resolution: {integrity: sha512-v9tujsuvJYRX0vE/vMYBzTT9FXbzrLsjkOrouNq+UdBIr7wRjIWTHHM0j+khb2swyCWNTbdv6Ce316Zqx2qWFg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/slider@3.7.13': - resolution: {integrity: sha512-yGlIpoOUKUoP0M3iI8ZHU001NASBOeZJSIQNfoS7HiqSR3bz+6BX7DRAM6B+CPHJleUtrdQ6JjO/8V8ZUV2kNQ==} + '@react-aria/spinbutton@3.6.10': + resolution: {integrity: sha512-nhYEYk7xUNOZDaqiQ5w/nHH9ouqjJbabTWXH+KK7UR1oVGfo4z1wG94l8KWF3Z6SGGnBxzLJyTBguZ4g9aYTSg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/spinbutton@3.6.9': - resolution: {integrity: sha512-m+uVJdiIc2LrLVDGjU7p8P2O2gUvTN26GR+NgH4rl+tUSuAB0+T1rjls/C+oXEqQjCpQihEB9Bt4M+VHpzmyjA==} + '@react-aria/spinbutton@3.6.11': + resolution: {integrity: sha512-RM+gYS9tf9Wb+GegV18n4ArK3NBKgcsak7Nx1CkEgX9BjJ0yayWUHdfEjRRvxGXl+1z1n84cJVkZ6FUlWOWEZA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/ssr@3.9.6': - resolution: {integrity: sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==} + '@react-aria/ssr@3.9.7': + resolution: {integrity: sha512-GQygZaGlmYjmYM+tiNBA5C6acmiDWF52Nqd40bBp0Znk4M4hP+LTmI0lpI1BuKMw45T8RIhrAsICIfKwZvi2Gg==} engines: {node: '>= 12'} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/switch@3.6.8': - resolution: {integrity: sha512-6Q0w7o+liB0ztKPL9UaRfX+hPPuy71AL3SuVCMK7RKfPqZwcmlwUDp2gr3j5fvs8gLev0r42XtEBqmGwkHTkEw==} + '@react-aria/switch@3.6.10': + resolution: {integrity: sha512-FtaI9WaEP1tAmra1sYlAkYXg9x75P5UtgY8pSbe9+1WRyWbuE1QZT+RNCTi3IU4fZ7iJQmXH6+VaMyzPlSUagw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/switch@3.6.9': - resolution: {integrity: sha512-w7xIywpR6llm22DXYOObZ2Uqvsw+gNmxdJ86h8+YRtpSkFnPMhXtTMv3RXpEGYhPTt/YDIqfxiluF1E2IHGwIA==} + '@react-aria/switch@3.6.11': + resolution: {integrity: sha512-paYCpH+oeL+8rgQK+cBJ+IaZ1sXSh3+50WPlg2LvLBta0QVfQhPR4juPvfXRpfHHhCjFBgF4/RGbV8q5zpl3vA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/table@3.15.4': - resolution: {integrity: sha512-t4+vtUF63i6OrXmZ0AA/RmWyIt8cieUm7cSXhQMooAgUjkvVqTNkQQRsntVOb+UNI5KmiGSe4jB3H4GVXz2X9w==} + '@react-aria/table@3.16.0': + resolution: {integrity: sha512-9xF9S3CJ7XRiiK92hsIKxPedD0kgcQWwqTMtj3IBynpQ4vsnRiW3YNIzrn9C3apjknRZDTSta8O2QPYCUMmw2A==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/table@3.15.5': - resolution: {integrity: sha512-bdNZF0ZoNOfyOEIK/ctv0llacaCNk8mv+GGy8mwh5bZeJjd8KuDIpYQtZJYvf2YVvPYRWyXRhF0/B229m65f/g==} + '@react-aria/table@3.16.1': + resolution: {integrity: sha512-T28TIGnKnPBunyErDBmm5jUX7AyzT7NVWBo9pDSt9wUuEnz0rVNd7p9sjmP2+u7I645feGG9klcdpCvFeqrk8A==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tabs@3.9.6': - resolution: {integrity: sha512-iPQ2Im+srnSB06xIdVNHZZDJnZmUR0IG0MZAp6FXmbkCeLAd9tZQHgSFYwswBfgAStNnyFQHP5aSBJOJMRCACg==} + '@react-aria/tabs@3.9.8': + resolution: {integrity: sha512-Nur/qRFBe+Zrt4xcCJV/ULXCS3Mlae+B89bp1Gl20vSDqk6uaPtGk+cS5k03eugOvas7AQapqNJsJgKd66TChw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tabs@3.9.7': - resolution: {integrity: sha512-f78P2Y9ZCYtwOnteku9mPVIk21xSSREYWaQPtA9ebSgVbeR5ya6RpaX9ISc9cd0HEF3Av+hZYyS1pNXXWymv9g==} + '@react-aria/tabs@3.9.9': + resolution: {integrity: sha512-oXPtANs16xu6MdMGLHjGV/2Zupvyp9CJEt7ORPLv5xAzSY5hSjuQHJLZ0te3Lh/KSG5/0o3RW/W5yEqo7pBQQQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tag@3.4.6': - resolution: {integrity: sha512-Uf1sPabwJx99diyXJTaVguiYozS49opjQxmK1PPbb87ipNN1YlSDVbP05IelVMbnbxXHudsRmzPOBmmblcj1GQ==} + '@react-aria/tag@3.4.8': + resolution: {integrity: sha512-exWl52bsFtJuzaqMYvSnLteUoPqb3Wf+uICru/yRtREJsWVqjJF38NCVlU73Yqd9qMPTctDrboSZFAWAWKDxoA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tag@3.4.7': - resolution: {integrity: sha512-hreVvphUeYUfMN6gjM3+WouN2P/WGuR0rGpOrFk2HEnGDPg3Ar0isfdAaciTSBOc26CDKNgrmzRguxCmKKuqgw==} + '@react-aria/tag@3.4.9': + resolution: {integrity: sha512-Vnps+zk8vYyjevv2Bc6vc9kSp9HFLKrKUDmrWMc0DfseypwJMc3Ya6F965ZVTjF9nuWrojNmvgusNu7qyXFShQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/textfield@3.14.10': - resolution: {integrity: sha512-vG44FgxwfJUF2S6tRG+Sg646DDEgs0CO9RYniafEOHz8rwcNIH3lML7n8LAfzQa+BjBY28+UF0wmqEvd6VCzCQ==} + '@react-aria/textfield@3.15.0': + resolution: {integrity: sha512-V5mg7y1OR6WXYHdhhm4FC7QyGc9TideVRDFij1SdOJrIo5IFB7lvwpOS0GmgwkVbtr71PTRMjZnNbrJUFU6VNA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/textfield@3.14.9': - resolution: {integrity: sha512-LPwZhthDVLyvnzXWco4eyYCD2pFmQ4Vw9ha9tb3QkZUIP6j8E52y76j0c59Nq7XYus3IHatVe7yYQk7kbo8Zrg==} + '@react-aria/textfield@3.16.0': + resolution: {integrity: sha512-53RVpMeMDN/QoabqnYZ1lxTh1xTQ3IBYQARuayq5EGGMafyxoFHzttxUdSqkZGK/+zdSF2GfmjOYJVm2nDKuDQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/toggle@3.10.8': - resolution: {integrity: sha512-N6WTgE8ByMYY+ZygUUPGON2vW5NrxwU91H98+Nozl+Rq6ZYR2fD9i8oRtLtrYPxjU2HmaFwDyQdWvmMJZuDxig==} + '@react-aria/toggle@3.10.10': + resolution: {integrity: sha512-QwMT/vTNrbrILxWVHfd9zVQ3mV2NdBwyRu+DphVQiFAXcmc808LEaIX2n0lI6FCsUDC9ZejCyvzd91/YemdZ1Q==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/toggle@3.10.9': - resolution: {integrity: sha512-dtfnyIU2/kcH9rFAiB48diSmaXDv45K7UCuTkMQLjbQa3QHC1oYNbleVN/VdGyAMBsIWtfl8L4uuPrAQmDV/bg==} + '@react-aria/toggle@3.10.11': + resolution: {integrity: sha512-J3jO3KJiUbaYVDEpeXSBwqcyKxpi9OreiHRGiaxb6VwB+FWCj7Gb2WKajByXNyfs8jc6kX9VUFaXa7jze60oEQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/toolbar@3.0.0-beta.10': - resolution: {integrity: sha512-YsQwTCS2FO8FjDgu1aHskTk1bIo1xisY01u+gNXxGLv6B115Lnevfi+RJdZ4AmLIRAmq9OVMii9JuKrXL9dBXw==} + '@react-aria/toolbar@3.0.0-beta.11': + resolution: {integrity: sha512-LM3jTRFNDgoEpoL568WaiuqiVM7eynSQLJis1hV0vlVnhTd7M7kzt7zoOjzxVb5Uapz02uCp1Fsm4wQMz09qwQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/toolbar@3.0.0-beta.4': - resolution: {integrity: sha512-nerKAoHwHFTvf25DDtj8d/zlDaZHaTPWvL4gweTm3hu9ztisE58CoVUqzqH+VNiYjcrWr2PYgLbNLsuOzk0q1Q==} + '@react-aria/toolbar@3.0.0-beta.12': + resolution: {integrity: sha512-a+Be27BtM2lzEdTzm19FikPbitfW65g/JZln3kyAvgpswhU6Ljl8lztaVw4ixjG4H0nqnKvVggMy4AlWwDUaVQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tooltip@3.7.8': - resolution: {integrity: sha512-dlWfS3w8E6dw5Xoist4cVX2GQE5oh3VQr88dRyLto7BAPLFrp3I+8c9mZCVUobLS/f5QcQzLkqw750s4ENCyiw==} + '@react-aria/tooltip@3.7.10': + resolution: {integrity: sha512-Udi3XOnrF/SYIz72jw9bgB74MG/yCOzF5pozHj2FH2HiJlchYv/b6rHByV/77IZemdlkmL/uugrv/7raPLSlnw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tooltip@3.7.9': - resolution: {integrity: sha512-TqVJ7YqaP/enxNyA1QGr43w4nBZmOs6Hb/pROMS5afbX7gHgMVFn0lTRc6DC2cvcfgYc4WICs2QiQMniZt/E7A==} + '@react-aria/tooltip@3.7.11': + resolution: {integrity: sha512-mhZgAWUj7bUWipDeJXaVPZdqnzoBCd/uaEbdafnvgETmov1udVqPTh9w4ZKX2Oh1wa2+OdLFrBOk+8vC6QbWag==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tree@3.0.0-beta.1': - resolution: {integrity: sha512-mlnV9VU1m/MGpH4WoOJc63yWAn9E+q/nHE3pM0dgjMyh+YCEq94tK/8eQFt4uko0/cANU/tHZ72Ayo2g8rJIWg==} + '@react-aria/tree@3.0.0-beta.3': + resolution: {integrity: sha512-eQnCtvDgpunCHInIT+Da3qdgzDzKEFW9REX2j1vMqWTsbM1YikVlBzB9AJOd9KIAWyn+p4TYdL8zzPWxvuSdfA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/utils@3.25.3': - resolution: {integrity: sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==} + '@react-aria/utils@3.26.0': + resolution: {integrity: sha512-LkZouGSjjQ0rEqo4XJosS4L3YC/zzQkfRM3KoqK6fUOmUJ9t0jQ09WjiF+uOoG9u+p30AVg3TrZRUWmoTS+koQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/virtualizer@4.0.4': - resolution: {integrity: sha512-DszWqS29B9UoLS4mb5tAgLZKSVKR7IuDfjT+On9TSpcvm+HKS9wG6MVbqO0bh4zE+JGmp8Pnxfg92E7NUF0vgA==} + '@react-aria/utils@3.27.0': + resolution: {integrity: sha512-p681OtApnKOdbeN8ITfnnYqfdHS0z7GE+4l8EXlfLnr70Rp/9xicBO6d2rU+V/B3JujDw2gPWxYKEnEeh0CGCw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/visually-hidden@3.8.16': - resolution: {integrity: sha512-3zThVIzEprez4A/GajOut6/JQ4WCu2ROHGZ1xH1+2GFjBJQaTfPBIjg6UIwaT7sgHRQIik8QidogLqXHbp81yA==} + '@react-aria/virtualizer@4.1.1': + resolution: {integrity: sha512-AYQmC/S9HhxGOj8HkQdxDW8/+sUEmmfcGpjkInzXB8UZCB1FQLC0LpvA8fOP7AfzLaAL+HVcYF5BvnGMPijHTQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/visually-hidden@3.8.17': - resolution: {integrity: sha512-WFgny1q2CbxxU6gu46TGQXf1DjsnuSk+RBDP4M7bm1mUVZzoCp7U7AtjNmsBrWg0NejxUdgD7+7jkHHCQ91qRA==} + '@react-aria/visually-hidden@3.8.18': + resolution: {integrity: sha512-l/0igp+uub/salP35SsNWq5mGmg3G5F5QMS1gDZ8p28n7CgjvzyiGhJbbca7Oxvaw1HRFzVl9ev+89I7moNnFQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/calendar@3.5.5': - resolution: {integrity: sha512-HzaiDRhrmaYIly8hRsjjIrydLkldiw1Ws6T/130NLQOt+VPwRW/x0R+nil42mA9LZ6oV0XN0NpmG5tn7TaKRGw==} + '@react-aria/visually-hidden@3.8.19': + resolution: {integrity: sha512-MZgCCyQ3sdG94J5iJz7I7Ai3IxoN0U5d/+EaUnA1mfK7jf2fSYQBqi6Eyp8sWUYzBTLw4giXB5h0RGAnWzk9hA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/checkbox@3.6.9': - resolution: {integrity: sha512-JrY3ecnK/SSJPxw+qhGhg3YV4e0CpUcPDrVwY3mSiAE932DPd19xr+qVCknJ34H7JYYt/q0l2z0lmgPnl96RTg==} + '@react-stately/autocomplete@3.0.0-alpha.0': + resolution: {integrity: sha512-as4si0pBcnGnggwpvemMwCLTeV0h9GS9e5eHSR3RFg14eqUHZBEzYJ0kh9oTugpsGuf1TSM/HDizo8GQk3EtPA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/collections@3.11.0': - resolution: {integrity: sha512-TiJeJjHMPSbbeAhmCXLJNSCk0fa5XnCvEuYw6HtQzDnYiq1AD7KAwkpjC5NfKkjqF3FLXs/v9RDm/P69q6rYzw==} + '@react-stately/calendar@3.6.0': + resolution: {integrity: sha512-GqUtOtGnwWjtNrJud8nY/ywI4VBP5byToNVRTnxbMl+gYO1Qe/uc5NG7zjwMxhb2kqSBHZFdkF0DXVqG2Ul+BA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/color@3.8.0': - resolution: {integrity: sha512-lBH91HEStZeayhE/FkDMt9WC0UISQiAn8DoD2hfpTGeeWscX/soyxZA7oVL7zBOG9RfDBMNzF+CybVROrWSKAQ==} + '@react-stately/calendar@3.7.0': + resolution: {integrity: sha512-N15zKubP2S7eWfPSJjKVlmJA7YpWzrIGx52BFhwLSQAZcV+OPcMgvOs71WtB7PLwl6DUYQGsgc0B3tcHzzvdvQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/combobox@3.10.0': - resolution: {integrity: sha512-4W4HCCjjoddW/LZM3pSSeLoV7ncYXlaICKmqlBcbtLR5jY4U5Kx+pPpy3oJ1vCdjDHatIxZ0tVKEBP7vBQVeGQ==} + '@react-stately/checkbox@3.6.10': + resolution: {integrity: sha512-LHm7i4YI8A/RdgWAuADrnSAYIaYYpQeZqsp1a03Og0pJHAlZL0ymN3y2IFwbZueY0rnfM+yF+kWNXjJqbKrFEQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/data@3.11.7': - resolution: {integrity: sha512-2YJ+Lmca18f/h7jiZiU9j2IhBJl6BFO1BWlwvcCAH/eCWTdveX8gzsUdW++0szzpJaoCilTCYoi8z7QWyVH9jQ==} + '@react-stately/checkbox@3.6.11': + resolution: {integrity: sha512-jApdBis+Q1sXLivg+f7krcVaP/AMMMiQcVqcz5gwxlweQN+dRZ/NpL0BYaDOuGc26Mp0lcuVaET3jIZeHwtyxA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/datepicker@3.10.3': - resolution: {integrity: sha512-6PJW1QMwk6BQMktV9L6DA4f2rfAdLfbq3iTNLy4qxd5IfNPLMUZiJGGTj+cuqx0WcEl+q5irp+YhKBpbmhPZHg==} + '@react-stately/collections@3.12.0': + resolution: {integrity: sha512-MfR9hwCxe5oXv4qrLUnjidwM50U35EFmInUeFf8i9mskYwWlRYS0O1/9PZ0oF1M0cKambaRHKEy98jczgb9ycA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/disclosure@3.0.0-alpha.0': - resolution: {integrity: sha512-CbFUrEwhsP5+44PMHipn/Cd61VTvqyKmx1yeNDyvj/4bYhmxYLgQp/Ma+iEqe23JkXJh2JO/ws3l9FnebScCJQ==} + '@react-stately/collections@3.12.1': + resolution: {integrity: sha512-8QmFBL7f+P64dEP4o35pYH61/lP0T/ziSdZAvNMrCqaM+fXcMfUp2yu1E63kADVX7WRDsFJWE3CVMeqirPH6Xg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/dnd@3.4.3': - resolution: {integrity: sha512-sUvhmMxFEw6P2MW7walx0ntakIihxdPxA06K9YZ3+ReaUvzQuRw5cFDaTTHrlegWRMYD0CyQaKlGIaTQihhvVA==} + '@react-stately/color@3.8.1': + resolution: {integrity: sha512-7eN7K+KJRu+rxK351eGrzoq2cG+yipr90i5b1cUu4lioYmcH4WdsfjmM5Ku6gypbafH+kTDfflvO6hiY1NZH+A==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/flags@3.0.4': - resolution: {integrity: sha512-RNJEkOALwKg+JeYsfNlfPc4GXm7hiBLX0yuHOkRapWEyDOfi0cinkV/TZG4goOZdQ5tBpHmemf2qqiHAxqHlzQ==} + '@react-stately/color@3.8.2': + resolution: {integrity: sha512-GXwLmv1Eos2OwOiRsGFrXBKx8+uZh2q0qzLZEVYrWsedNhIdTm7nnpwO68nCYZPHkqhv6rhhVSlOOFmDLY++ow==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/form@3.0.6': - resolution: {integrity: sha512-KMsxm3/V0iCv/6ikt4JEjVM3LW2AgCzo7aNotMzRobtwIo0RwaUo7DQNY00rGgFQ3/IjzI6DcVo13D+AVE/zXg==} + '@react-stately/combobox@3.10.1': + resolution: {integrity: sha512-Rso+H+ZEDGFAhpKWbnRxRR/r7YNmYVtt+Rn0eNDNIUp3bYaxIBCdCySyAtALs4I8RZXZQ9zoUznP7YeVwG3cLg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/grid@3.9.3': - resolution: {integrity: sha512-P5KgCNYwm/n8bbLx6527li89RQWoESikrsg2MMyUpUd6IJ321t2pGONGRRQzxE0SBMolPRDJKV0Do2OlsjYKhQ==} + '@react-stately/combobox@3.10.2': + resolution: {integrity: sha512-uT642Dool4tQBh+8UQjlJnTisrJVtg3LqmiP/HqLQ4O3pW0O+ImbG+2r6c9dUzlAnH4kEfmEwCp9dxkBkmFWsg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/layout@4.0.3': - resolution: {integrity: sha512-zFLXnPalWWVCdFGcPAb+nywSTz/xAnKRxb7zT+YDa5U80DHArDGKZcQ+by0+2Sf8yaYolROco4my+BERPXJB6A==} + '@react-stately/data@3.12.0': + resolution: {integrity: sha512-6PiW2oA56lcH1CVjDcajutzsv91w/PER8K61/OGxtNFFUWaIZH80RWmK4kjU/Lf0vygzXCxout3kEb388lUk0w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/data@3.12.1': + resolution: {integrity: sha512-/Nc8X1FmrJ53QU4rN/1i1JtNir4iqo+39Xn5ZOJ74Nng7T+xVVuEuWSo+OEGaycCJf2eZRsomauPxUnnZgCM1A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/datepicker@3.11.0': + resolution: {integrity: sha512-d9MJF34A0VrhL5y5S8mAISA8uwfNCQKmR2k4KoQJm3De1J8SQeNzSjLviAwh1faDow6FXGlA6tVbTrHyDcBgBg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/datepicker@3.12.0': + resolution: {integrity: sha512-AfJEP36d+QgQ30GfacXtYdGsJvqY2yuCJ+JrjHct+m1nYuTkMvMMnhwNBFasgDJPLCDyHzyANlWkl2kQGfsBFw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/disclosure@3.0.0': + resolution: {integrity: sha512-Z9+fi0/41ZXHjGopORQza7mk4lFEFslKhy65ehEo6O6j2GuIV0659ExIVDsmJoJSFjXCfGh0sX8oTSOlXi9gqg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/disclosure@3.0.1': + resolution: {integrity: sha512-afpNy5b0UcqRGjU/W5OD0xkx4PbymvhMrgQZ4o4OdtDVMMvr9T5UqMF8/j3J591DxgQfXM872tJu0kotqT0L6Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/dnd@3.5.0': + resolution: {integrity: sha512-ZcWFw1npEDnATiy3TEdzA1skQ3UEIyfbNA6VhPNO8yiSVLxoxBOaEaq8VVS72fRGAtxud6dgOy8BnsP9JwDClQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/dnd@3.5.1': + resolution: {integrity: sha512-N18wt6fka9ngJJqxfAzmdtyrk9whAnqWUxZn22CatjNQsqukI4a6KRYwZTXM9x/wm7KamhVOp+GBl85zM8GLdA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-stately/flags@3.0.5': + resolution: {integrity: sha512-6wks4csxUwPCp23LgJSnkBRhrWpd9jGd64DjcCTNB2AHIFu7Ab1W59pJpUL6TW7uAxVxdNKjgn6D1hlBy8qWsA==} - '@react-stately/list@3.11.0': - resolution: {integrity: sha512-O+BxXcbtoLZWn4QIT54RoFUaM+QaJQm6s0ZBJ3Jv4ILIhukVOc55ra+aWMVlXFQSpbf6I3hyVP6cz1yyvd5Rtw==} + '@react-stately/form@3.1.0': + resolution: {integrity: sha512-E2wxNQ0QaTyDHD0nJFtTSnEH9A3bpJurwxhS4vgcUmESHgjFEMLlC9irUSZKgvOgb42GAq+fHoWBsgKeTp9Big==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/menu@3.8.3': - resolution: {integrity: sha512-sV63V+cMgzipx/N7dq5GaXoItfXIfFEpCtlk3PM2vKstlCJalszXrdo+x996bkeU96h0plB7znAlhlXOeTKzUg==} + '@react-stately/form@3.1.1': + resolution: {integrity: sha512-qavrz5X5Mdf/Q1v/QJRxc0F8UTNEyRCNSM1we/nnF7GV64+aYSDLOtaRGmzq+09RSwo1c8ZYnIkK5CnwsPhTsQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/numberfield@3.9.7': - resolution: {integrity: sha512-PjSgCCpYasGCEAznFQNqa2JhhEQ5+/2eMiV7ZI5j76q3edTNF8G5OOCl2RazDbzFp6vDAnRVT7Kctx5Tl5R/Zw==} + '@react-stately/grid@3.10.0': + resolution: {integrity: sha512-ii+DdsOBvCnHMgL0JvUfFwO1kiAPP19Bpdpl6zn/oOltk6F5TmnoyNrzyz+2///1hCiySI3FE1O7ujsAQs7a6Q==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/overlays@3.6.11': - resolution: {integrity: sha512-usuxitwOx4FbmOW7Og4VM8R8ZjerbHZLLbFaxZW7pWLs7Ypway1YhJ3SWcyNTYK7NEk4o602kSoU6MSev1Vgag==} + '@react-stately/grid@3.10.1': + resolution: {integrity: sha512-MOIy//AdxZxIXIzvWSKpvMvaPEMZGQNj+/cOsElHepv/Veh0psNURZMh2TP6Mr0+MnDTZbX+5XIeinGkWYO3JQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/radio@3.10.8': - resolution: {integrity: sha512-VRq6Gzsbk3jzX6hdrSoDoSra9vLRsOi2pLkvW/CMrJ0GSgMwr8jjvJKnNFvYJ3eYQb20EwkarsOAfk7vPSIt/Q==} + '@react-stately/layout@4.1.1': + resolution: {integrity: sha512-kXeo7HKYTOcqMKru1sKFoMoZA+YywSUqHeIA90MptzRugbFhQGq4nUbIYM2p3FeHAX9HU1JAXThuLcwDOHhB8Q==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/searchfield@3.5.7': - resolution: {integrity: sha512-VxEG4tWDypdXQ8f7clZBu5Qmc4osqDBeA/gNMA2i1j/h2zRVcCJ0fRCHuDeXLSWBqF1XXAI4TWV53fBBwJusbg==} + '@react-stately/list@3.11.1': + resolution: {integrity: sha512-UCOpIvqBOjwLtk7zVTYWuKU1m1Oe61Q5lNar/GwHaV1nAiSQ8/yYlhr40NkBEs9X3plEfsV28UIpzOrYnu1tPg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/select@3.6.8': - resolution: {integrity: sha512-fLAVzGeYSdYdBdrEVws6Pb1ywFPdapA0eWphoW5s3fS0/pKcVWwbCHeHlaBEi1ISyqEubQZFGQdeFKm/M46Hew==} + '@react-stately/list@3.11.2': + resolution: {integrity: sha512-eU2tY3aWj0SEeC7lH9AQoeAB4LL9mwS54FvTgHHoOgc1ZIwRJUaZoiuETyWQe98AL8KMgR1nrnDJ1I+CcT1Y7g==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/selection@3.17.0': - resolution: {integrity: sha512-It3LRTaFOavybuDBvBH2mvCh73OL4awqvN4tZ0JzLzMtaYSBe9+YmFasYrzB0o7ca17B2q1tpUmsNWaAgIqbLA==} + '@react-stately/menu@3.9.0': + resolution: {integrity: sha512-++sm0fzZeUs9GvtRbj5RwrP+KL9KPANp9f4SvtI3s+MP+Y/X3X7LNNePeeccGeyikB5fzMsuyvd82bRRW9IhDQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/slider@3.5.8': - resolution: {integrity: sha512-EDgbrxMq1w3+XTN72MGl3YtAG/j65EYX1Uc3Fh56K00+inJbTdRWyYTrb3NA310fXCd0WFBbzExuH2ohlKQycg==} + '@react-stately/menu@3.9.1': + resolution: {integrity: sha512-WRjGGImhQlQaer/hhahGytwd1BDq3fjpTkY/04wv3cQJPJR6lkVI5nSvGFMHfCaErsA1bNyB8/T9Y5F5u4u9ng==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/table@3.12.3': - resolution: {integrity: sha512-8uGrLcNJYeMbFtzRQZFWCBj5kV+7v3jzwoKIL1j9TmYUKow1PTDMQbPJpAZLQhnC2wVMlaFVgDbedSlbBij7Zg==} + '@react-stately/numberfield@3.9.8': + resolution: {integrity: sha512-J6qGILxDNEtu7yvd3/y+FpbrxEaAeIODwlrFo6z1kvuDlLAm/KszXAc75yoDi0OtakFTCMP6/HR5VnHaQdMJ3w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/tabs@3.6.10': - resolution: {integrity: sha512-F7wfoiNsrBy7c02AYHyE1USGgj05HQ0hp7uXmQjp2LEa+AA0NKKi3HdswTHHySxb0ZRuoEE7E7vp/gXQYx2/Ow==} + '@react-stately/numberfield@3.9.9': + resolution: {integrity: sha512-hZsLiGGHTHmffjFymbH1qVmA633rU2GNjMFQTuSsN4lqqaP8fgxngd5pPCoTCUFEkUgWjdHenw+ZFByw8lIE+g==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/toggle@3.7.8': - resolution: {integrity: sha512-ySOtkByvIY54yIu8IZ4lnvomQA0H+/mkZnd6T5fKN3tjvIzHmkUk3TAPmNInUxHX148tSW6mWwec0xvjYqEd6w==} + '@react-stately/overlays@3.6.12': + resolution: {integrity: sha512-QinvZhwZgj8obUyPIcyURSCjTZlqZYRRCS60TF8jH8ZpT0tEAuDb3wvhhSXuYA3Xo9EHLwvLjEf3tQKKdAQArw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/tooltip@3.4.13': - resolution: {integrity: sha512-zQ+8FQ7Pi0Cz852dltXb6yaryjE18K3byK4tIO3e5vnrZHEGvfdxowc+v9ak5UV93kVrYoOVmfZHRcEaTXTBNA==} + '@react-stately/overlays@3.6.13': + resolution: {integrity: sha512-WsU85Gf/b+HbWsnnYw7P/Ila3wD+C37Uk/WbU4/fHgJ26IEOWsPE6wlul8j54NZ1PnLNhV9Fn+Kffi+PaJMQXQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/tree@3.8.5': - resolution: {integrity: sha512-0/tYhsKWQQJTOZFDwh8hY3Qk6ejNFRldGrLeK5kS22UZdvsMFyh7WAi40FTCJy561/VoB0WqQI4oyNPOa9lYWg==} + '@react-stately/radio@3.10.10': + resolution: {integrity: sha512-9x3bpq87uV8iYA4NaioTTWjriQSlSdp+Huqlxll0T3W3okpyraTTejE91PbIoRTUmL5qByIh2WzxYmr4QdBgAA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/utils@3.10.4': - resolution: {integrity: sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==} + '@react-stately/radio@3.10.9': + resolution: {integrity: sha512-kUQ7VdqFke8SDRCatw2jW3rgzMWbvw+n2imN2THETynI47NmNLzNP11dlGO2OllRtTrsLhmBNlYHa3W62pFpAw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/virtualizer@4.1.0': - resolution: {integrity: sha512-MOaqpY3NloXrpCBvVUb3HL1p3Bh4YRtUq8D2ufC909u5vM6n6G5Swk1XPJ9KHfaftGhb5serwLkm2/Aha5CTbA==} + '@react-stately/searchfield@3.5.8': + resolution: {integrity: sha512-jtquvGadx1DmtQqPKaVO6Qg/xpBjNxsOd59ciig9xRxpxV+90i996EX1E2R6R+tGJdSM1pD++7PVOO4yE++HOg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/accordion@3.0.0-alpha.24': - resolution: {integrity: sha512-hwDT4TJH7aHCG8m9QsTP+7xgW7x7k2TY+WHlMRr6qDS6WhTCwd41dCdagxC0SZtulzZuWqISBxZifVrh4Tynew==} + '@react-stately/searchfield@3.5.9': + resolution: {integrity: sha512-7/aO/oLJ4czKEji0taI/lbHKqPJRag9p3YmRaZ4yqjIMpKxzmJCWQcov5lzWeFhG/1hINKndYlxFnVIKV/urpg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/breadcrumbs@3.7.8': - resolution: {integrity: sha512-+BW2a+PrY8ArZ+pKecz13oJFrUAhthvXx17o3x0BhWUhRpAdtmTYt2hjw8zNanm2j0Kvgo1HYKgvtskCRxYcOA==} + '@react-stately/select@3.6.10': + resolution: {integrity: sha512-V7V0FCL9T+GzLjyfnJB6PUaKldFyT/8Rj6M+R9ura1A0O+s/FEOesy0pdMXFoL1l5zeUpGlCnhJrsI5HFWHfDw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/button@3.10.0': - resolution: {integrity: sha512-rAyU+N9VaHLBdZop4zasn8IDwf9I5Q1EzHUKMtzIFf5aUlMUW+K460zI/l8UESWRSWAXK9/WPSXGxfcoCEjvAA==} + '@react-stately/select@3.6.9': + resolution: {integrity: sha512-vASUDv7FhEYQURzM+JIwcusPv7/x/l3zHc/oKJPvoCl3aa9pwS8hZwS82SC00o2iFnrDscfDJju4IE/cd4hucg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/calendar@3.4.10': - resolution: {integrity: sha512-PyjqxwJxSW2IpQx6y0D9O34fRCWn1gv9q0qFhgaIigIQrPg8zTE/CC7owHLxAtgCnnCt8exJ5rqi414csaHKlA==} + '@react-stately/selection@3.18.0': + resolution: {integrity: sha512-6EaNNP3exxBhW2LkcRR4a3pg+3oDguZlBSqIVVR7lyahv/D8xXHRC4dX+m0mgGHJpsgjs7664Xx6c8v193TFxg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/checkbox@3.8.4': - resolution: {integrity: sha512-fvZrlQmlFNsYHZpl7GVmyYQlKdUtO5MczMSf8z3TlSiCb5Kl3ha9PsZgLhJqGuVnzB2ArIBz0eZrYa3k0PhcpA==} + '@react-stately/selection@3.19.0': + resolution: {integrity: sha512-AvbUqnWjqVQC48RD39S9BpMKMLl55Zo5l/yx5JQFPl55cFwe9Tpku1KY0wzt3fXXiXWaqjDn/7Gkg1VJYy8esQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/color@3.0.0': - resolution: {integrity: sha512-VUH8CROAM69GsMBilrJ1xyAdVsWL01nXQYrkZJxAEApv1OrcpIGSdsXLcGrjsrhjjiNVXxWFnqYRMsKkLzIl7g==} + '@react-stately/slider@3.6.0': + resolution: {integrity: sha512-w5vJxVh267pmD1X+Ppd9S3ZzV1hcg0cV8q5P4Egr160b9WMcWlUspZPtsthwUlN7qQe/C8y5IAhtde4s29eNag==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/combobox@3.13.0': - resolution: {integrity: sha512-kH/a+Fjpr54M2JbHg9RXwMjZ9O+XVsdOuE5JCpWRibJP1Mfl1md8gY6y6zstmVY8COrSqFvMZWB+PzwaTWjTGw==} + '@react-stately/slider@3.6.1': + resolution: {integrity: sha512-8kij5O82Xe233vZZ6qNGqPXidnlNQiSnyF1q613c7ktFmzAyGjkIWVUapHi23T1fqm7H2Rs3RWlmwE9bo2KecA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/datepicker@3.8.3': - resolution: {integrity: sha512-Y4qfPRBB6uzocosCOWSYMuwiZ3YXwLWQYiFB4KCglkvHyltbNz76LgoBEnclYA5HjwosIk4XywiXvHSYry8JnQ==} + '@react-stately/table@3.13.0': + resolution: {integrity: sha512-mRbNYrwQIE7xzVs09Lk3kPteEVFVyOc20vA8ph6EP54PiUf/RllJpxZe/WUYLf4eom9lUkRYej5sffuUBpxjCA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/dialog@3.5.13': - resolution: {integrity: sha512-9k8daVcAqQsySkzDY6NIVlyGxtpEip4TKuLyzAehthbv78GQardD5fHdjQ6eXPRS4I2qZrmytrFFrlOnwWVGHw==} + '@react-stately/table@3.13.1': + resolution: {integrity: sha512-Im8W+F8o9EhglY5kqRa3xcMGXl8zBi6W5phGpAjXb+UGDL1tBIlAcYj733bw8g/ITCnaSz9ubsmON0HekPd6Jg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/form@3.7.7': - resolution: {integrity: sha512-CVRjCawPhYRHi/LuikOC2kz5vgvmjjKmF4/wUgR2QzD1Ok4wY1ZGSx9M9EZptCIZAt2mToR6woyLUdtzy+foeQ==} + '@react-stately/tabs@3.7.0': + resolution: {integrity: sha512-ox4hTkfZCoR4Oyr3Op3rBlWNq2Wxie04vhEYpTZQ2hobR3l4fYaOkd7CPClILktJ3TC104j8wcb0knWxIBRx9w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/grid@3.2.9': - resolution: {integrity: sha512-eMw0d2UIZ4QTzGgD1wGGPw0cv67KjAOCp4TcwWjgDV7Wa5SVV/UvOmpnIVDyfhkG/4KRI5OR9h+isy76B726qA==} + '@react-stately/tabs@3.7.1': + resolution: {integrity: sha512-gr9ACyuWrYuc727h7WaHdmNw8yxVlUyQlguziR94MdeRtFGQnf3V6fNQG3kxyB77Ljko69tgDF7Nf6kfPUPAQQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/link@3.5.8': - resolution: {integrity: sha512-l/YGXddgAbLnIT7ekftXrK1D4n8NlLQwx0d4usyZpaxP1KwPzuwng20DxynamLc1atoKBqbUtZAnz32pe7vYgw==} + '@react-stately/toggle@3.8.0': + resolution: {integrity: sha512-pyt/k/J8BwE/2g6LL6Z6sMSWRx9HEJB83Sm/MtovXnI66sxJ2EfQ1OaXB7Su5PEL9OMdoQF6Mb+N1RcW3zAoPw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/listbox@3.5.2': - resolution: {integrity: sha512-ML/Bt/MeO0FiixcuFQ+smpu1WguxTOqHDjSnhc1vcNxVQFWQOhyVy01LAY2J/T9TjfjyYGD41vyMTI0f6fcLEQ==} + '@react-stately/toggle@3.8.1': + resolution: {integrity: sha512-MVpe79ghVQiwLmVzIPhF/O/UJAUc9B+ZSylVTyJiEPi0cwhbkKGQv9thOF0ebkkRkace5lojASqUAYtSTZHQJA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/menu@3.9.12': - resolution: {integrity: sha512-1SPnkHKJdvOfwv9fEgK1DI6DYRs4D3hW2XcWlLhVXSjaC68CzOHGwFhKIKvZiDTW/11L770PRSEloIxHR09uFQ==} + '@react-stately/tooltip@3.5.0': + resolution: {integrity: sha512-+xzPNztJDd2XJD0X3DgWKlrgOhMqZpSzsIssXeJgO7uCnP8/Z513ESaipJhJCFC8fxj5caO/DK4Uu8hEtlB8cQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/meter@3.4.4': - resolution: {integrity: sha512-0SEmPkShByC1gYkW7l+iJPg8QfEe2VrgwTciAtTfC4KIqAYmJVQtq6L+4d72EMxOh8RpQHePaY/RFHEJXAh72A==} + '@react-stately/tooltip@3.5.1': + resolution: {integrity: sha512-0aI3U5kB7Cop9OCW9/Bag04zkivFSdUcQgy/TWL4JtpXidVWmOha8txI1WySawFSjZhH83KIyPc+wKm1msfLMQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/numberfield@3.8.6': - resolution: {integrity: sha512-VtWEMAXUO1S9EEZI8whc7xv6DVccxhbWsRthMCg/LxiwU3U5KAveadNc2c5rtXkRpd3cnD5xFzz3dExXdmHkAg==} + '@react-stately/tree@3.8.6': + resolution: {integrity: sha512-lblUaxf1uAuIz5jm6PYtcJ+rXNNVkqyFWTIMx6g6gW/mYvm8GNx1G/0MLZE7E6CuDGaO9dkLSY2bB1uqyKHidA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/overlays@3.8.10': - resolution: {integrity: sha512-IcnB+VYfAJazRjWhBKZTmVMh3KTp/B1rRbcKkPx6t8djP9UQhKcohP7lAALxjJ56Jjz/GFC6rWyUcnYH0NFVRA==} + '@react-stately/tree@3.8.7': + resolution: {integrity: sha512-hpc3pyuXWeQV5ufQ02AeNQg/MYhnzZ4NOznlY5OOUoPzpLYiI3ZJubiY3Dot4jw5N/LR7CqvDLHmrHaJPmZlHg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/progress@3.5.7': - resolution: {integrity: sha512-EqMDHmlpoZUZzTjdejGIkSM0pS2LBI9NdadHf3bDNTycHv+5L1xpMHUg8RGOW8a3sRVLRvfN1aO9l75QZkyj+w==} + '@react-stately/utils@3.10.5': + resolution: {integrity: sha512-iMQSGcpaecghDIh3mZEpZfoFH3ExBwTtuBEcvZ2XnGzCgQjeYXcMdIUwAfVQLXFTdHUHGF6Gu6/dFrYsCzySBQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/radio@3.8.4': - resolution: {integrity: sha512-GCuOwQL19iwKa74NAIk9hv4ivyI8oW1+ZCuc2fzyDdeQjzTIlv3qrIyShwpVy1IoI7/4DYTMZm/YXPoKhu5TTA==} + '@react-stately/virtualizer@4.2.1': + resolution: {integrity: sha512-GHGEXV0ZRhq34U/P3LzkByCBfy2IDynYlV1SE4njkUWWGE/0AH56UegM6w2l3GeiNpXsXCgXl7jpAKeIGMEnrQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/searchfield@3.5.9': - resolution: {integrity: sha512-c/x8BWpH1Zq+fWpeBtzw2AhQhGi7ahWPicV7PlnqwIGO0MrH/QCjX0dj+I+1xpcAh8Eq6ECa79HE74Rw6aJmFg==} + '@react-types/autocomplete@3.0.0-alpha.28': + resolution: {integrity: sha512-meHxBVS5H2L7lVOX99jiAfhcvtG0s7EE7iF7X20/yqEnkwWSpyeMKcDKFpvx/bLGUSmRTVFCBLgvPpwUyhcFkg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/select@3.9.7': - resolution: {integrity: sha512-Jva4ixfB4EEdy+WmZkUoLiQI7vVfHPxM73VuL7XDxvAO+YKiIztDTcU720QVNhxTMmQvCxfRBXWar8aodCjLiw==} + '@react-types/breadcrumbs@3.7.10': + resolution: {integrity: sha512-5HhRxkKHfAQBoyOYzyf4HT+24HgPE/C/QerxJLNNId303LXO03yeYrbvRqhYZSlD1ACLJW9OmpPpREcw5iSqgw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/shared@3.25.0': - resolution: {integrity: sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==} + '@react-types/breadcrumbs@3.7.9': + resolution: {integrity: sha512-eARYJo8J+VfNV8vP4uw3L2Qliba9wLV2bx9YQCYf5Lc/OE5B/y4gaTLz+Y2P3Rtn6gBPLXY447zCs5i7gf+ICg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/slider@3.7.6': - resolution: {integrity: sha512-z72wnEzSge6qTD9TUoUPp1A4j4jXk/MVii6rGE78XeE/Pq7HyyjU5bCagryMr9PC9MKa/oTiHcshKqWBDf57GA==} + '@react-types/button@3.10.1': + resolution: {integrity: sha512-XTtap8o04+4QjPNAshFWOOAusUTxQlBjU2ai0BTVLShQEjHhRVDBIWsI2B2FKJ4KXT6AZ25llaxhNrreWGonmA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/switch@3.5.6': - resolution: {integrity: sha512-gJ8t2yTCgcitz4ON4ELcLLmtlDkn2MUjjfu3ez/cwA1X/NUluPYkhXj5Z6H+KOlnveqrKCZDRoTgK74cQ6Cvfg==} + '@react-types/button@3.10.2': + resolution: {integrity: sha512-h8SB/BLoCgoBulCpyzaoZ+miKXrolK9XC48+n1dKJXT8g4gImrficurDW6+PRTQWaRai0Q0A6bu8UibZOU4syg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/table@3.10.2': - resolution: {integrity: sha512-YzA4hcsYfnFFpA2UyGb1KKhLpWgaj5daApqjp126tCIosl8k1KxZmhKD50cwH0Jm19lALJseqo5VdlcJtcr4qg==} + '@react-types/calendar@3.5.0': + resolution: {integrity: sha512-O3IRE7AGwAWYnvJIJ80cOy7WwoJ0m8GtX/qSmvXQAjC4qx00n+b5aFNBYAQtcyc3RM5QpW6obs9BfwGetFiI8w==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/tabs@3.3.10': - resolution: {integrity: sha512-s/Bw/HCIdWJPBw4O703ghKqhjGsIerRMIDxA88hbQYzfTDD6bkFDjCnsP2Tyy1G8Dg2rSPFUEE+k+PpLzqeEfQ==} + '@react-types/calendar@3.6.0': + resolution: {integrity: sha512-BtFh4BFwvsYlsaSqUOVxlqXZSlJ6u4aozgO3PwHykhpemwidlzNwm9qDZhcMWPioNF/w2cU/6EqhvEKUHDnFZg==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/textfield@3.9.7': - resolution: {integrity: sha512-vU5+QCOF9HgWGjAmmy+cpJibVW5voFomC5POmYHokm7kivYcMMjlonsgWwg/0xXrqE2qosH3tpz4jFoEuig1NQ==} + '@react-types/checkbox@3.9.0': + resolution: {integrity: sha512-9hbHx0Oo2Hp5a8nV8Q75LQR0DHtvOIJbFaeqESSopqmV9EZoYjtY/h0NS7cZetgahQgnqYWQi44XGooMDCsmxA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/tooltip@3.4.12': - resolution: {integrity: sha512-FwsdSQ3UDIDORanQMGMLyzSUabw4AkKhwcRdPv4d5OT8GmJr7mBdZynfcsrKLJ0fzskIypMqspoutZidsI0MQg==} + '@react-types/checkbox@3.9.1': + resolution: {integrity: sha512-0x/KQcipfNM9Nvy6UMwYG25roRLvsiqf0J3woTYylNNWzF+72XT0iI5FdJkE3w2wfa0obmSoeq4WcbFREQrH/A==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@remixicon/react@4.2.0': - resolution: {integrity: sha512-eGhKpZ88OU0qkcY9pJu6khBmItDV82nU130E6C68yc+FbljueHlUYy/4CrJsmf860RIDMay2Rpzl27OSJ81miw==} + '@react-types/color@3.0.1': + resolution: {integrity: sha512-KemFziO3GbmT3HEKrgOGdqNA6Gsmy9xrwFO3f8qXSG7gVz6M27Ic4R9HVQv4iAjap5uti6W13/pk2bc/jLVcEA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/color@3.0.2': + resolution: {integrity: sha512-4k9c0l5SACwTtkHV0dQ0GrF0Kktk/NChkxtyu58BamyUQOsCe8sqny+uul2nPrqQvuVof/dkRjKhv/DVyyx2mw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/combobox@3.13.1': + resolution: {integrity: sha512-7xr+HknfhReN4QPqKff5tbKTe2kGZvH+DGzPYskAtb51FAAiZsKo+WvnNAvLwg3kRoC9Rkn4TAiVBp/HgymRDw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/combobox@3.13.2': + resolution: {integrity: sha512-yl2yMcM5/v3lJiNZWjpAhQ9vRW6dD55CD4rYmO2K7XvzYJaFVT4WYI/AymPYD8RqomMp7coBmBHfHW0oupk8gg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/datepicker@3.10.0': + resolution: {integrity: sha512-Att7y4NedNH1CogMDIX9URXgMLxGbZgnFCZ8oxgFAVndWzbh3TBcc4s7uoJDPvgRMAalq+z+SrlFFeoBeJmvvg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/datepicker@3.9.0': + resolution: {integrity: sha512-dbKL5Qsm2MQwOTtVQdOcKrrphcXAqDD80WLlSQrBLg+waDuuQ7H+TrvOT0thLKloNBlFUGnZZfXGRHINpih/0g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/dialog@3.5.14': + resolution: {integrity: sha512-OXWMjrALwrlgw8aHD8SeRm/s3tbAssdaEh2h73KUSeFau3fU3n5mfKv+WnFqsEaOtN261o48l7hTlS6615H9AA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/dialog@3.5.15': + resolution: {integrity: sha512-BX1+mV35Oa0aIlhu98OzJaSB7uiCWDPQbr0AkpFBajSSlESUoAjntN+4N+QJmj24z2v6UE9zxGQ85/U/0Le+bw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/form@3.7.9': + resolution: {integrity: sha512-+qGDrQFdIh8umU82zmnYJ0V2rLoGSQ3yApFT02URz//NWeTA7qo0Oab2veKvXUkcBb47oSvytZYmkExPikxIEg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/grid@3.2.10': + resolution: {integrity: sha512-Z5cG0ITwqjUE4kWyU5/7VqiPl4wqMJ7kG/ZP7poAnLmwRsR8Ai0ceVn+qzp5nTA19cgURi8t3LsXn3Ar1FBoog==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/grid@3.2.11': + resolution: {integrity: sha512-Mww9nrasppvPbsBi+uUqFnf7ya8fXN0cTVzDNG+SveD8mhW+sbtuy+gPtEpnFD2Oyi8qLuObefzt4gdekJX2Yw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/link@3.5.10': + resolution: {integrity: sha512-IM2mbSpB0qP44Jh1Iqpevo7bQdZAr0iDyDi13OhsiUYJeWgPMHzGEnQqdBMkrfQeOTXLtZtUyOYLXE2v39bhzQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/link@3.5.9': + resolution: {integrity: sha512-JcKDiDMqrq/5Vpn+BdWQEuXit4KN4HR/EgIi3yKnNbYkLzxBoeQZpQgvTaC7NEQeZnSqkyXQo3/vMUeX/ZNIKw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/listbox@3.5.3': + resolution: {integrity: sha512-v1QXd9/XU3CCKr2Vgs7WLcTr6VMBur7CrxHhWZQQFExsf9bgJ/3wbUdjy4aThY/GsYHiaS38EKucCZFr1QAfqA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/listbox@3.5.4': + resolution: {integrity: sha512-5otTes0zOwRZwNtqysPD/aW4qFJSxd5znjwoWTLnzDXXOBHXPyR83IJf8ITgvIE5C0y+EFadsWR/BBO3k9Pj7g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/menu@3.9.13': + resolution: {integrity: sha512-7SuX6E2tDsqQ+HQdSvIda1ji/+ujmR86dtS9CUu5yWX91P25ufRjZ72EvLRqClWNQsj1Xl4+2zBDLWlceznAjw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/menu@3.9.14': + resolution: {integrity: sha512-RJW/S8IPwbRuohJ/A9HJ7W8QaAY816tm7Nv6+H/TLXG76zu2AS5vEgq+0TcCAWvJJwUdLDpJWJMlo0iIoIBtcg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/meter@3.4.5': + resolution: {integrity: sha512-04w1lEtvP/c3Ep8ND8hhH2rwjz2MtQ8o8SNLhahen3u0rX3jKOgD4BvHujsyvXXTMjj1Djp74sGzNawb4Ppi9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/meter@3.4.6': + resolution: {integrity: sha512-YczAht1VXy3s4fR6Dq0ibGsjulGHzS/A/K4tOruSNTL6EkYH9ktHX62Xk/OhCiKHxV315EbZ136WJaCeO4BgHw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/numberfield@3.8.7': + resolution: {integrity: sha512-KccMPi39cLoVkB2T0V7HW6nsxQVAwt89WWCltPZJVGzsebv/k0xTQlPVAgrUake4kDLoE687e3Fr/Oe3+1bDhw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/numberfield@3.8.8': + resolution: {integrity: sha512-825JPppxDaWh0Zxb0Q+wSslgRQYOtQPCAuhszPuWEy6d2F/M+hLR+qQqvQm9+LfMbdwiTg6QK5wxdWFCp2t7jw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/overlays@3.8.11': + resolution: {integrity: sha512-aw7T0rwVI3EuyG5AOaEIk8j7dZJQ9m34XAztXJVZ/W2+4pDDkLDbJ/EAPnuo2xGYRGhowuNDn4tDju01eHYi+w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/overlays@3.8.12': + resolution: {integrity: sha512-ZvR1t0YV7/6j+6OD8VozKYjvsXT92+C/2LOIKozy7YUNS5KI4MkXbRZzJvkuRECVZOmx8JXKTUzhghWJM/3QuQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/progress@3.5.8': + resolution: {integrity: sha512-PR0rN5mWevfblR/zs30NdZr+82Gka/ba7UHmYOW9/lkKlWeD7PHgl1iacpd/3zl/jUF22evAQbBHmk1mS6Mpqw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/progress@3.5.9': + resolution: {integrity: sha512-zFxOzx3G8XUmHgpm037Hcayls5bqzXVa182E3iM7YWTmrjxJPKZ58XL0WWBgpTd+mJD7fTpnFdAZqSmFbtDOdA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/radio@3.8.5': + resolution: {integrity: sha512-gSImTPid6rsbJmwCkTliBIU/npYgJHOFaI3PNJo7Y0QTAnFelCtYeFtBiWrFodSArSv7ASqpLLUEj9hZu/rxIg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/radio@3.8.6': + resolution: {integrity: sha512-woTQYdRFjPzuml4qcIf+2zmycRuM5w3fDS5vk6CQmComVUjOFPtD28zX3Z9kc9lSNzaBQz9ONZfFqkZ1gqfICA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/searchfield@3.5.10': + resolution: {integrity: sha512-7wW4pJzbReawoGPu8a4l+CODTCDN088EN/ysUzl622ewim57PjArjix+lpO4+aEtJqS9HKpq8UEbjwo9axpcUA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/searchfield@3.5.11': + resolution: {integrity: sha512-MX8d9pgvxZxmgDwI0tiDaf6ijOY8XcRj0HM8Ocfttlk7PEFJK44p51WsUC+fPX1GmZni2JpFkx/haPOSLUECdw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/select@3.9.8': + resolution: {integrity: sha512-RGsYj2oFjXpLnfcvWMBQnkcDuKkwT43xwYWZGI214/gp/B64tJiIUgTM5wFTRAeGDX23EePkhCQF+9ctnqFd6g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/select@3.9.9': + resolution: {integrity: sha512-/hCd0o+ztn29FKCmVec+v7t4JpOzz56o+KrG7NDq2pcRWqUR9kNwCjrPhSbJIIEDm4ubtrfPu41ysIuDvRd2Bg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/shared@3.26.0': + resolution: {integrity: sha512-6FuPqvhmjjlpEDLTiYx29IJCbCNWPlsyO+ZUmCUXzhUv2ttShOXfw8CmeHWHftT/b2KweAWuzqSlfeXPR76jpw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/shared@3.27.0': + resolution: {integrity: sha512-gvznmLhi6JPEf0bsq7SwRYTHAKKq/wcmKqFez9sRdbED+SPMUmK5omfZ6w3EwUFQHbYUa4zPBYedQ7Knv70RMw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/slider@3.7.7': + resolution: {integrity: sha512-lYTR9zXQV2fSEm/G3gwDENWiki1IXd/oorsgf0zu1DBi2SQDbOsLsGUXiwvD24Xy6OkUuhAqjLPPexezo7+u9g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/slider@3.7.8': + resolution: {integrity: sha512-utW1o9KT70hqFwu1zqMtyEWmP0kSATk4yx+Fm/peSR4iZa+BasRqH83yzir5GKc8OfqfE1kmEsSlO98/k986+w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/switch@3.5.7': + resolution: {integrity: sha512-1IKiq510rPTHumEZuhxuazuXBa2Cuxz6wBIlwf3NCVmgWEvU+uk1ETG0sH2yymjwCqhtJDKXi+qi9HSgPEDwAg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/switch@3.5.8': + resolution: {integrity: sha512-sL7jmh8llF8BxzY4HXkSU4bwU8YU6gx45P85D0AdYXgRHxU9Cp7BQPOMF4pJoQ8TTej05MymY5q7xvJVmxUTAQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/table@3.10.3': + resolution: {integrity: sha512-Ac+W+m/zgRzlTU8Z2GEg26HkuJFswF9S6w26r+R3MHwr8z2duGPvv37XRtE1yf3dbpRBgHEAO141xqS2TqGwNg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/table@3.10.4': + resolution: {integrity: sha512-d0tLz/whxVteqr1rophtuuxqyknHHfTKeXrCgDjt8pAyd9U8GPDbfcFSfYPUhWdELRt7aLVyQw6VblZHioVEgQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/tabs@3.3.11': + resolution: {integrity: sha512-BjF2TqBhZaIcC4lc82R5pDJd1F7kstj1K0Nokhz99AGYn8C0ITdp6lR+DPVY9JZRxKgP9R2EKfWGI90Lo7NQdA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/tabs@3.3.12': + resolution: {integrity: sha512-E9O9G+wf9kaQ8UbDEDliW/oxYlJnh7oDCW1zaMOySwnG4yeCh7Wu02EOCvlQW4xvgn/i+lbEWgirf7L+yj5nRg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/textfield@3.10.0': + resolution: {integrity: sha512-ShU3d6kLJGQjPXccVFjM3KOXdj3uyhYROqH9YgSIEVxgA9W6LRflvk/IVBamD9pJYTPbwmVzuP0wQkTDupfZ1w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/textfield@3.11.0': + resolution: {integrity: sha512-YORBgr6wlu2xfvr4MqjKFHGpj+z8LBzk14FbWDbYnnhGnv0I10pj+m2KeOHgDNFHrfkDdDOQmMIKn1UCqeUuEg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/tooltip@3.4.13': + resolution: {integrity: sha512-KPekFC17RTT8kZlk7ZYubueZnfsGTDOpLw7itzolKOXGddTXsrJGBzSB4Bb060PBVllaDO0MOrhPap8OmrIl1Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@react-types/tooltip@3.4.14': + resolution: {integrity: sha512-J7CeYL2yPeKIasx1rPaEefyCHGEx2DOCx+7bM3XcKGmCxvNdVQLjimNJOt8IHlUA0nFJQOjmSW/mz9P0f2/kUw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + '@remixicon/react@4.6.0': + resolution: {integrity: sha512-bY56maEgT5IYUSRotqy9h03IAKJC85vlKtWFg2FKzfs8JPrkdBAYSa9dxoUSKFwGzup8Ux6vjShs9Aec3jvr2w==} peerDependencies: react: '>=18.2.0' - '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@rollup/rollup-android-arm-eabi@4.32.1': + resolution: {integrity: sha512-/pqA4DmqyCm8u5YIDzIdlLcEmuvxb0v8fZdFhVMszSpDTgbQKdw3/mB3eMUHIbubtJ6F9j+LtmyCnHTEqIHyzA==} + cpu: [arm] + os: [android] - '@rushstack/eslint-patch@1.10.4': - resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} + '@rollup/rollup-android-arm64@4.32.1': + resolution: {integrity: sha512-If3PDskT77q7zgqVqYuj7WG3WC08G1kwXGVFi9Jr8nY6eHucREHkfpX79c0ACAjLj3QIWKPJR7w4i+f5EdLH5Q==} + cpu: [arm64] + os: [android] - '@shikijs/core@1.21.0': - resolution: {integrity: sha512-zAPMJdiGuqXpZQ+pWNezQAk5xhzRXBNiECFPcJLtUdsFM3f//G95Z15EHTnHchYycU8kIIysqGgxp8OVSj1SPQ==} + '@rollup/rollup-darwin-arm64@4.32.1': + resolution: {integrity: sha512-zCpKHioQ9KgZToFp5Wvz6zaWbMzYQ2LJHQ+QixDKq52KKrF65ueu6Af4hLlLWHjX1Wf/0G5kSJM9PySW9IrvHA==} + cpu: [arm64] + os: [darwin] - '@shikijs/core@1.22.1': - resolution: {integrity: sha512-bqAhT/Ri5ixV4oYsvJNH8UJjpjbINWlWyXY6tBTsP4OmD6XnFv43nRJ+lTdxd2rmG5pgam/x+zGR6kLRXrpEKA==} + '@rollup/rollup-darwin-x64@4.32.1': + resolution: {integrity: sha512-sFvF+t2+TyUo/ZQqUcifrJIgznx58oFZbdHS9TvHq3xhPVL9nOp+yZ6LKrO9GWTP+6DbFtoyLDbjTpR62Mbr3Q==} + cpu: [x64] + os: [darwin] - '@shikijs/engine-javascript@1.21.0': - resolution: {integrity: sha512-jxQHNtVP17edFW4/0vICqAVLDAxmyV31MQJL4U/Kg+heQALeKYVOWo0sMmEZ18FqBt+9UCdyqGKYE7bLRtk9mg==} + '@rollup/rollup-freebsd-arm64@4.32.1': + resolution: {integrity: sha512-NbOa+7InvMWRcY9RG+B6kKIMD/FsnQPH0MWUvDlQB1iXnF/UcKSudCXZtv4lW+C276g3w5AxPbfry5rSYvyeYA==} + cpu: [arm64] + os: [freebsd] - '@shikijs/engine-javascript@1.22.1': - resolution: {integrity: sha512-540pyoy0LWe4jj2BVbgELwOFu1uFvRI7lg4hdsExrSXA9x7gqfzZ/Nnh4RfX86aDAgJ647gx4TCmRwACbnQSvw==} + '@rollup/rollup-freebsd-x64@4.32.1': + resolution: {integrity: sha512-JRBRmwvHPXR881j2xjry8HZ86wIPK2CcDw0EXchE1UgU0ubWp9nvlT7cZYKc6bkypBt745b4bglf3+xJ7hXWWw==} + cpu: [x64] + os: [freebsd] - '@shikijs/engine-oniguruma@1.21.0': - resolution: {integrity: sha512-AIZ76XocENCrtYzVU7S4GY/HL+tgHGbVU+qhiDyNw1qgCA5OSi4B4+HY4BtAoJSMGuD/L5hfTzoRVbzEm2WTvg==} + '@rollup/rollup-linux-arm-gnueabihf@4.32.1': + resolution: {integrity: sha512-PKvszb+9o/vVdUzCCjL0sKHukEQV39tD3fepXxYrHE3sTKrRdCydI7uldRLbjLmDA3TFDmh418XH19NOsDRH8g==} + cpu: [arm] + os: [linux] - '@shikijs/engine-oniguruma@1.22.1': - resolution: {integrity: sha512-L+1Vmd+a2kk8HtogUFymQS6BjUfJnzcWoUp1BUgxoDiklbKSMvrsMuLZGevTOP1m0rEjgnC5MsDmsr8lX1lC+Q==} + '@rollup/rollup-linux-arm-musleabihf@4.32.1': + resolution: {integrity: sha512-9WHEMV6Y89eL606ReYowXuGF1Yb2vwfKWKdD1A5h+OYnPZSJvxbEjxTRKPgi7tkP2DSnW0YLab1ooy+i/FQp/Q==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.32.1': + resolution: {integrity: sha512-tZWc9iEt5fGJ1CL2LRPw8OttkCBDs+D8D3oEM8mH8S1ICZCtFJhD7DZ3XMGM8kpqHvhGUTvNUYVDnmkj4BDXnw==} + cpu: [arm64] + os: [linux] - '@shikijs/rehype@1.22.1': - resolution: {integrity: sha512-Uuuqj/poMLj1Z02sJsS1qEqpfUNp2hV2YFVt/SY5+Ielo5Ms1bRfYQHs3hTbsEDB6FmYuOu5ieqNumPlWBmrng==} + '@rollup/rollup-linux-arm64-musl@4.32.1': + resolution: {integrity: sha512-FTYc2YoTWUsBz5GTTgGkRYYJ5NGJIi/rCY4oK/I8aKowx1ToXeoVVbIE4LGAjsauvlhjfl0MYacxClLld1VrOw==} + cpu: [arm64] + os: [linux] - '@shikijs/transformers@1.22.1': - resolution: {integrity: sha512-KvG49YFV6gV116sC4L3Sn1Rp6HXsioMKBBG373j088rw849440hm8s2r+/dgjsGLvT4p+QB7newev+5a3ARM6w==} + '@rollup/rollup-linux-loongarch64-gnu@4.32.1': + resolution: {integrity: sha512-F51qLdOtpS6P1zJVRzYM0v6MrBNypyPEN1GfMiz0gPu9jN8ScGaEFIZQwteSsGKg799oR5EaP7+B2jHgL+d+Kw==} + cpu: [loong64] + os: [linux] - '@shikijs/types@1.21.0': - resolution: {integrity: sha512-tzndANDhi5DUndBtpojEq/42+dpUF2wS7wdCDQaFtIXm3Rd1QkrcVgSSRLOvEwexekihOXfbYJINW37g96tJRw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.32.1': + resolution: {integrity: sha512-wO0WkfSppfX4YFm5KhdCCpnpGbtgQNj/tgvYzrVYFKDpven8w2N6Gg5nB6w+wAMO3AIfSTWeTjfVe+uZ23zAlg==} + cpu: [ppc64] + os: [linux] - '@shikijs/types@1.22.1': - resolution: {integrity: sha512-+45f8mu/Hxqs6Kyhfm98Nld5n7Q7lwhjU8UtdQwrOPs7BnM4VAb929O3IQ2ce+4D7SlNFlZGd8CnKRSnwbQreQ==} + '@rollup/rollup-linux-riscv64-gnu@4.32.1': + resolution: {integrity: sha512-iWswS9cIXfJO1MFYtI/4jjlrGb/V58oMu4dYJIKnR5UIwbkzR0PJ09O0PDZT0oJ3LYWXBSWahNf/Mjo6i1E5/g==} + cpu: [riscv64] + os: [linux] - '@shikijs/vscode-textmate@9.2.2': - resolution: {integrity: sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==} + '@rollup/rollup-linux-s390x-gnu@4.32.1': + resolution: {integrity: sha512-RKt8NI9tebzmEthMnfVgG3i/XeECkMPS+ibVZjZ6mNekpbbUmkNWuIN2yHsb/mBPyZke4nlI4YqIdFPgKuoyQQ==} + cpu: [s390x] + os: [linux] - '@shikijs/vscode-textmate@9.3.0': - resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} + '@rollup/rollup-linux-x64-gnu@4.32.1': + resolution: {integrity: sha512-WQFLZ9c42ECqEjwg/GHHsouij3pzLXkFdz0UxHa/0OM12LzvX7DzedlY0SIEly2v18YZLRhCRoHZDxbBSWoGYg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.32.1': + resolution: {integrity: sha512-BLoiyHDOWoS3uccNSADMza6V6vCNiphi94tQlVIL5de+r6r/CCQuNnerf+1g2mnk2b6edp5dk0nhdZ7aEjOBsA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.32.1': + resolution: {integrity: sha512-w2l3UnlgYTNNU+Z6wOR8YdaioqfEnwPjIsJ66KxKAf0p+AuL2FHeTX6qvM+p/Ue3XPBVNyVSfCrfZiQh7vZHLQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.32.1': + resolution: {integrity: sha512-Am9H+TGLomPGkBnaPWie4F3x+yQ2rr4Bk2jpwy+iV+Gel9jLAu/KqT8k3X4jxFPW6Zf8OMnehyutsd+eHoq1WQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.32.1': + resolution: {integrity: sha512-ar80GhdZb4DgmW3myIS9nRFYcpJRSME8iqWgzH2i44u+IdrzmiXVxeFnExQ5v4JYUSpg94bWjevMG8JHf1Da5Q==} + cpu: [x64] + os: [win32] + + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@shikijs/core@2.2.0': + resolution: {integrity: sha512-U+vpKdsQDWuX3fPTCkSc8XPX9dCaS+r+qEP1XhnU30yxRFo2OxHJmY2H5rO1q+v0zB5R2vobsxEFt5uPf31CGQ==} + + '@shikijs/engine-javascript@2.2.0': + resolution: {integrity: sha512-96SpZ4V3UVMtpSPR5QpmU395CNrQiRPszXK62m8gKR2HMA0653ruce7omS5eX6EyAyFSYHvBWtTuspiIsHpu4A==} + + '@shikijs/engine-oniguruma@2.2.0': + resolution: {integrity: sha512-wowCKwkvPFFMXFkiKK/a2vs5uTCc0W9+O9Xcu/oqFP6VoDFe14T8u/D+Rl4dCJJSOyeynP9mxNPJ82T5JHTNCw==} + + '@shikijs/langs@2.2.0': + resolution: {integrity: sha512-RSWLH3bnoyG6O1kZ2msh5jOkKKp8eENwyT30n62vUtXfp5cxkF/bpWPpO+p4+GAPhL2foBWR2kOerwkKG0HXlQ==} + + '@shikijs/rehype@2.2.0': + resolution: {integrity: sha512-GXLSoWdIkugfK6dzXhBtoBZcJdH7vuBEoOF7Qg2Bi1A6A2jFSP5zFBZTcAQEDzCUer3x/RG7nLz9+tg3aj2lfA==} + + '@shikijs/themes@2.2.0': + resolution: {integrity: sha512-8Us9ZF2mV9kuh+4ySJ9MzrUDIpc2RIkRfKBZclkliW1z9a0PlGU2U7fCkItZZHpR5e4/ft5BzuO+GDqombC6Aw==} + + '@shikijs/transformers@2.2.0': + resolution: {integrity: sha512-zrj7OcSKAh3KL4Jgv45aKS6lSPXZWq61/DyXJJ5gsBMUIE5Ojmnvmseit7H8zQ/xPQOgJP+XqEzy7utScv0N9w==} + + '@shikijs/types@2.2.0': + resolution: {integrity: sha512-wkZZKs80NtW5Jp/7ONI1j7EdXSatX2BKMS7I01wliDa09gJKHkZyVqlEMRka/mjT5Qk9WgAyitoCKgGgbsP/9g==} + + '@shikijs/vscode-textmate@10.0.1': + resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} '@sindresorhus/is@5.6.0': resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.13': - resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} - - '@swc/helpers@0.5.5': - resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} '@szmarczak/http-timer@5.0.1': resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} + '@tailwindcss/node@4.0.0': + resolution: {integrity: sha512-tfG2uBvo6j6kDIPmntxwXggCOZAt7SkpAXJ6pTIYirNdk5FBqh/CZZ9BZPpgcl/tNFLs6zc4yghM76sqiELG9g==} + + '@tailwindcss/oxide-android-arm64@4.0.0': + resolution: {integrity: sha512-EAhjU0+FIdyGPR+7MbBWubLLPtmOu+p7c2egTTFBRk/n//zYjNvVK0WhcBK5Y7oUB5mo4EjA2mCbY7dcEMWSRw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.0.0': + resolution: {integrity: sha512-hdz4xnSWS11cIp+7ye+3dGHqs0X33z+BXXTtgPOguDWVa+TdXUzwxonklSzf5wlJFuot3dv5eWzhlNai0oYYQg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.0.0': + resolution: {integrity: sha512-+dOUUaXTkPKKhtUI9QtVaYg+MpmLh2CN0dHohiYXaBirEyPMkjaT0zbRgzQlNnQWjCVVXPQluIEb0OMEjSTH+Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.0.0': + resolution: {integrity: sha512-CJhGDhxnrmu4SwyC62fA+wP24MhA/TZlIhRHqg1kRuIHoGoVR2uSSm1qxTxU37tSSZj8Up0q6jsBJCAP4k7rgQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0': + resolution: {integrity: sha512-Wy7Av0xzXfY2ujZBcYy4+7GQm25/J1iHvlQU2CfwdDCuPWfIjYzR6kggz+uVdSJyKV2s64znchBxRE8kV4uXSA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.0': + resolution: {integrity: sha512-srwBo2l6pvM0swBntc1ucuhGsfFOLkqPRFQ3dWARRTfSkL1U9nAsob2MKc/n47Eva/W9pZZgMOuf7rDw8pK1Ew==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.0.0': + resolution: {integrity: sha512-abhusswkduYWuezkBmgo0K0/erGq3M4Se5xP0fhc/0dKs0X/rJUYYCFWntHb3IGh3aVzdQ0SXJs93P76DbUqtw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.0.0': + resolution: {integrity: sha512-hGtRYIUEx377/HlU49+jvVKKwU1MDSKYSMMs0JFO2Wp7LGxk5+0j5+RBk9NFnmp/lbp32yPTgIOO5m1BmDq36A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.0.0': + resolution: {integrity: sha512-7xgQgSAThs0I14VAgmxpJnK6XFSZBxHMGoDXkLyYkEnu+8WRQMbCP93dkCUn2PIv+Q+JulRgc00PJ09uORSLXQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.0': + resolution: {integrity: sha512-qEcgTIPcWY5ZE7f6VxQ/JPrSFMcehzVIlZj7sGE3mVd5YWreAT+Fl1vSP8q2pjnWXn0avZG3Iw7a2hJQAm+fTQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.0.0': + resolution: {integrity: sha512-bqT0AY8RXb8GMDy28JtngvqaOSB2YixbLPLvUo6I6lkvvUwA6Eqh2Tj60e2Lh7O/k083f8tYiB0WEK4wmTI7Jg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.0.0': + resolution: {integrity: sha512-W3FjpJgy4VV1JiL7iBYDf2n/WkeDg1Il+0Q7eWnqPyvkPPCo/Mbwc5BiaT7dfBNV6tQKAhVE34rU5xl8pSl50w==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.0.0': + resolution: {integrity: sha512-lI2bPk4TvwavHdehjr5WiC6HnZ59hacM6ySEo4RM/H7tsjWd8JpqiNW9ThH7rO/yKtrn4mGBoXshpvn8clXjPg==} + '@trivago/prettier-plugin-sort-imports@4.3.0': resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==} peerDependencies: @@ -2633,11 +2711,8 @@ packages: '@vue/compiler-sfc': optional: true - '@ts-morph/common@0.19.0': - resolution: {integrity: sha512-Unz/WHmd4pGax91rdIKWi51wnVUW11QttMEPpBiBgIewnc9UQIX7UDLxr5vRlqeByXCwhkF6VabSsI0raWcyAQ==} - - '@ts-morph/common@0.25.0': - resolution: {integrity: sha512-kMnZz+vGGHi4GoHnLmMhGNjm44kGtKUXGnOvrKmMwAuvNjM/PgKVGfUnL7IDvK7Jb2QQ82jq3Zmp04Gy+r3Dkg==} + '@ts-morph/common@0.26.0': + resolution: {integrity: sha512-/RmKAtctStXqM5nECMQ46duT74Hoig/DBzhWXGHcodlDNrgRbsbwwHqSKFNbca6z9Xt/CUWMeXOsC9QEN1+rqw==} '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -2654,27 +2729,9 @@ packages: '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} - '@types/async-retry@1.4.8': - resolution: {integrity: sha512-Qup/B5PWLe86yI5I3av6ePGaeQrIHNKCwbsQotD6aHQ6YkHsMUxVZkZsmx/Ry3VZQ6uysHwTjQ7666+k6UjVJA==} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/diff@5.2.2': - resolution: {integrity: sha512-qVqLpd49rmJA2nZzLVsmfS/aiiBpfVE95dHhPVwG0NmSBAt+riPxnj53wq2oBq5m4Q2RF1IWFEUpnZTgrQZfEQ==} - '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -2684,36 +2741,18 @@ packages: '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} - '@types/hast@2.3.10': - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} - '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} '@types/http-cache-semantics@4.0.4': resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - '@types/js-yaml@4.0.9': - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - '@types/lodash.template@4.5.3': - resolution: {integrity: sha512-Mo0UYKLu1oXgkV9TVoXZLlXXjyIXlW7ZQRxi/4gQJmzJr63dmicE8gG0OkPjYTKBrBic852q0JzqrtNUWLBIyA==} - - '@types/lodash@4.17.9': - resolution: {integrity: sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==} - - '@types/mdast@3.0.15': - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -2729,122 +2768,107 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.54': - resolution: {integrity: sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==} + '@types/node@18.19.70': + resolution: {integrity: sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==} '@types/node@20.5.1': resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} - '@types/node@22.7.7': - resolution: {integrity: sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==} - '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/prompts@2.4.9': - resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} - - '@types/prop-types@15.7.13': - resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - - '@types/react-dom@18.3.0': - resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - - '@types/react@18.3.10': - resolution: {integrity: sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==} + '@types/react-dom@19.0.2': + resolution: {integrity: sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==} + peerDependencies: + '@types/react': ^19.0.0 - '@types/retry@0.12.5': - resolution: {integrity: sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==} + '@types/react@19.0.4': + resolution: {integrity: sha512-3O4QisJDYr1uTUMZHA2YswiQZRq+Pd8D+GdVFYikTutYsTz+QZgWkAPnP7rx9txoI6EXKcPiluMqWPFV3tT9Wg==} '@types/semver@6.2.7': resolution: {integrity: sha512-blctEWbzUFzQx799RZjzzIdBJOXmE37YYEyDtKkx5Dg+V7o/zyyAxLPiI98A2jdTtDgxZleMdfV+7p8WbRJ1OQ==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - - '@types/stringify-object@4.0.5': - resolution: {integrity: sha512-TzX5V+njkbJ8iJ0mrj+Vqveep/1JBH4SSA3J2wYrE1eUrOhdsjTBCb0kao4EquSQ8KgPpqY4zSVP2vCPWKBElg==} - '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/validate-npm-package-name@4.0.2': - resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} - - '@typescript-eslint/eslint-plugin@6.21.0': - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/eslint-plugin@8.22.0': + resolution: {integrity: sha512-4Uta6REnz/xEJMvwf72wdUnC3rr4jAQf5jnTkeRQ9b6soxLxhDEbS/pfMPoJLDfFPNVRdryqWUIV/2GZzDJFZw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@6.21.0': - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.22.0': + resolution: {integrity: sha512-MqtmbdNEdoNxTPzpWiWnqNac54h8JDAmkWtJExBVVnSrSmi9z+sZUt0LfKqk9rjqmKOIeRhO4fHHJ1nQIjduIQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.22.0': + resolution: {integrity: sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@6.21.0': - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/type-utils@8.22.0': + resolution: {integrity: sha512-NzE3aB62fDEaGjaAYZE4LH7I1MUwHooQ98Byq0G0y3kkibPJQIXVUspzlFOmOfHhiDLwKzMlWxaNv+/qcZurJA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.22.0': + resolution: {integrity: sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.22.0': + resolution: {integrity: sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@8.22.0': + resolution: {integrity: sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.22.0': + resolution: {integrity: sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@ungap/structured-clone@1.2.1': + resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} - '@vercel/analytics@1.3.1': - resolution: {integrity: sha512-xhSlYgAuJ6Q4WQGkzYTLmXwhYl39sWjoMA3nHxfkvG+WdBT25c563a7QhwwKivEOZtPJXifYHR1m2ihoisbWyA==} + '@vercel/analytics@1.4.1': + resolution: {integrity: sha512-ekpL4ReX2TH3LnrRZTUKjHHNpNy9S1I7QmS+g/RQXoSUQ8ienzosuX7T9djZ/s8zPhBx1mpHP/Rw5875N+zQIQ==} peerDependencies: + '@remix-run/react': ^2 + '@sveltejs/kit': ^1 || ^2 next: '>= 13' - react: ^18 || ^19 + react: ^18 || ^19 || ^19.0.0-rc + svelte: '>= 4' + vue: ^3 + vue-router: ^4 peerDependenciesMeta: + '@remix-run/react': + optional: true + '@sveltejs/kit': + optional: true next: optional: true react: optional: true + svelte: + optional: true + vue: + optional: true + vue-router: + optional: true JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -2859,32 +2883,17 @@ packages: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true - agent-base@7.1.1: - resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} - engines: {node: '>= 14'} - - ajv-formats@3.0.1: - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch@4.24.0: - resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -2912,19 +2921,12 @@ packages: any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - apca-w3@0.1.9: resolution: {integrity: sha512-Zrf6AeBeQjNe/fxK7U1jCo5zfdjDl6T4/kdw5Xlky3G7u+EJTZkyItjMYQGtwf9pkftsINxcYyOpuLkzKf1ITQ==} arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -2935,11 +2937,8 @@ packages: resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} engines: {node: '>=10'} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} array-ify@1.0.0: @@ -2957,47 +2956,30 @@ packages: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} - array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + 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.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} - ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - - ast-types@0.16.1: - resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} - engines: {node: '>=4'} - astring@1.9.0: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true - async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} - - atomically@2.0.3: - resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} - autoprefixer@10.4.20: resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} @@ -3009,13 +2991,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axe-core@4.10.0: - resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} - engines: {node: '>=4'} - - axobject-query@4.1.0: - resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} - engines: {node: '>= 0.4'} + babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105: + resolution: {integrity: sha512-38qEX4e1nNOZ9K7rVAF4VVijcjTHBbRHd+ftYpfim2Oabitd1NGjvrL0bnwFymDTBB4MqswqIHTYjYfuy1OeTQ==} bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -3023,20 +3000,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} - brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -3047,22 +3014,19 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.24.0: - resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - builtins@1.0.3: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} - bundle-require@4.2.1: - resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: - esbuild: '>=0.17' + esbuild: '>=0.18' busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} @@ -3080,18 +3044,22 @@ packages: resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} engines: {node: '>= 0.4'} callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} engines: {node: '>=8'} @@ -3100,8 +3068,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001664: - resolution: {integrity: sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==} + caniuse-lite@1.0.30001692: + resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -3114,10 +3082,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -3133,18 +3097,10 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chokidar@4.0.1: - resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} - chownr@3.0.0: - resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} - engines: {node: '>=18'} - chroma-js@2.6.0: resolution: {integrity: sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A==} @@ -3152,24 +3108,12 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-info@4.0.0: - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} - engines: {node: '>=8'} - ciebase@0.1.1: resolution: {integrity: sha512-KEnf/WVT5E+Gn+LsfMHGJFATltSOeW0qm7dpzQYL/Qe5PEpyTM+UI5bMoBo16FE81zMpu+U6032USTP6Cz1XNA==} ciecam02@0.4.6: resolution: {integrity: sha512-nh/Kl8s5lgtyEl7lA381JFinLhgUwDhJaAVgbVx2BaiiJIzJLumQvuFXwdS76tSch7jDjWejP+MtKYCCEk/brg==} - cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} @@ -3177,22 +3121,15 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - cmdk@1.0.0: - resolution: {integrity: sha512-gDzVf0a09TvoJ5jnuPvygTB77+XdOSwEmJ88L6XPFPlv7T3RxbP9jgenfylrAMD0+Le1aO0nVjQUzl2g+vjz5Q==} + cmdk@1.0.4: + resolution: {integrity: sha512-AnsjfHyHpQ/EFeAnG216WY7A5LiYCoZzCSygiLvfXC3H3LFGCprErteUcszaVluGOhuOTbJS3jWHrSDYPBBygg==} peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - - code-block-writer@12.0.0: - resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==} + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc code-block-writer@13.0.3: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} @@ -3243,13 +3180,13 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - conf@13.0.1: - resolution: {integrity: sha512-l9Uwc9eOnz39oADzGO2cSBDi7siv8lwO+31ocQ2nOJijnDiW3pxqm9VV10DPYUO28wW83DjABoUqY1nfHRR2hQ==} - engines: {node: '>=18'} - config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} + conventional-changelog-angular@6.0.0: resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} engines: {node: '>=14'} @@ -3263,9 +3200,6 @@ packages: engines: {node: '>=14'} hasBin: true - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cosmiconfig-typescript-loader@4.4.0: resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} engines: {node: '>=v14.21.3'} @@ -3284,64 +3218,49 @@ packages: typescript: optional: true + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dargs@7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} engines: {node: '>=8'} - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + 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.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + 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==} - debounce-fn@6.0.0: - resolution: {integrity: sha512-rBMW+F2TXryBwB54Q0d8drNEI+TfoS9JpNTAoVpukbWEhjXQq4rySFYLaqXMFXwdv61Zb2OHtj5bviSoimqxRQ==} - engines: {node: '>=18'} - - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -3357,6 +3276,9 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -3364,10 +3286,6 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -3379,9 +3297,6 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} @@ -3402,6 +3317,11 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -3412,40 +3332,22 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} - dot-prop@9.0.0: - resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} - engines: {node: '>=18'} - dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} @@ -3454,11 +3356,18 @@ 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'} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.30: - resolution: {integrity: sha512-sXI35EBN4lYxzc/pIGorlymYNzDBOqkSlVRe6MkgBsW/hW1tpC/HDJ2fjG7XnjakzfLEuvdmux0Mjs6jHq4UOA==} + electron-to-chromium@1.5.79: + resolution: {integrity: sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3466,53 +3375,50 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - enhanced-resolve@5.17.1: - resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + enhanced-resolve@5.18.0: + resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} engines: {node: '>=10.13.0'} enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + es-abstract@1.23.9: + resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} engines: {node: '>= 0.4'} - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + 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-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - - es-iterator-helpers@1.0.19: - resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + es-iterator-helpers@1.2.1: + resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} engines: {node: '>= 0.4'} es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} esast-util-from-estree@2.0.0: @@ -3521,18 +3427,13 @@ packages: esast-util-from-js@2.0.1: resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.23.1: resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} engines: {node: '>=18'} hasBin: true - esbuild@0.24.0: - resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} engines: {node: '>=18'} hasBin: true @@ -3552,113 +3453,59 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-config-next@14.2.13: - resolution: {integrity: sha512-aro1EKAoyYchnO/3Tlo91hnNBO7QO7qnv/79MAFC+4Jq8TdUVKQlht5d2F+YjrePjdpOvfL+mV9JPfyYNwkk1g==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - - eslint-config-prettier@9.1.0: - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + eslint-config-prettier@10.0.1: + resolution: {integrity: sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.1.3: - resolution: {integrity: sha512-smdkhd01V/e/I4EjJxaZA1kxZ1vdFCHpyryolxLtRBP0bZTrHDYh1H6NAyZ3Fy1jkhsQzXw+L+6m17ygROvNFw==} - peerDependencies: - eslint: '>6.6.0' - - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - - eslint-import-resolver-typescript@3.6.3: - resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} - 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.0: - resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} - 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.30.0: - resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - - eslint-plugin-jsx-a11y@6.10.0: - resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + eslint-plugin-only-warn@1.1.0: + resolution: {integrity: sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==} + engines: {node: '>=6'} - eslint-plugin-react-hooks@4.6.2: - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + eslint-plugin-react-hooks@5.1.0: + resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} engines: {node: '>=10'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + 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@7.37.1: - resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==} + eslint-plugin-react@7.37.4: + resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-turbo@2.1.3: - resolution: {integrity: sha512-I9vPArzyOSYa6bm0iMCgD07MgdExc1VK2wGuVz21g4BUdj83w7mDKyCXR2rwOtCEW+wemFwgxanJ81imQZijNg==} + eslint-plugin-turbo@2.4.0: + resolution: {integrity: sha512-qCgoRi/OTc1VMxab7+sdKiV1xlkY4qjK9sM+kS7+WogrB1DxLguJSQXvk4HA13SD5VmJsq+8FYOw5q4EUk6Ixg==} peerDependencies: eslint: '>6.6.0' + turbo: '>2.0.0' - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + 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@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.19.0: + resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -3677,38 +3524,23 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-util-attach-comments@2.1.1: - resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} - estree-util-attach-comments@3.0.0: resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} - estree-util-build-jsx@2.2.2: - resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} - estree-util-build-jsx@3.0.1: resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} - estree-util-is-identifier-name@2.1.0: - resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} - estree-util-is-identifier-name@3.0.0: resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} estree-util-scope@1.0.0: resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} - estree-util-to-js@1.2.0: - resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==} - estree-util-to-js@2.0.0: resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - estree-util-value-to-estree@3.1.2: - resolution: {integrity: sha512-S0gW2+XZkmsx00tU2uJ4L9hUT7IFabbml9pHh2WQqFmAbxit++YGZne0sKJbNwkj9Wvg9E4uqWl4nCIFQMmfag==} - - estree-util-visit@1.2.1: - resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} + estree-util-value-to-estree@3.2.1: + resolution: {integrity: sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==} estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} @@ -3724,9 +3556,9 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + execa@9.5.2: + resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} + engines: {node: ^18.19.0 || >=20.5.0} extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -3745,8 +3577,12 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + 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: @@ -3755,11 +3591,11 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-uri@3.0.2: - resolution: {integrity: sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==} + fast-uri@3.0.5: + resolution: {integrity: sha512-5JnBCWpFlMo0a3ciDy/JckMzzv1U9coZrIhedq+HXxxUfDTAiS0LA8OKVao4G9BxmCVck/jtA5r3KAtRWEyD8Q==} - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastq@1.18.0: + resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} fdir@6.4.2: resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} @@ -3769,13 +3605,13 @@ packages: picomatch: optional: true - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + 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==} @@ -3789,12 +3625,12 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -3807,19 +3643,15 @@ packages: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@11.11.8: - resolution: {integrity: sha512-mnGQNEoz99GtFXBBPw+Ag5K4FcfP5XrXxrxHz+iE4Lmg7W3sf2gKmGuvfkZCW/yIfcdv5vJd6KiSPETH1Pw68Q==} + framer-motion@11.16.4: + resolution: {integrity: sha512-7ncPlBjrYX6iQXcTSw1kvZcHSVjEuOAW3uWuu+/+chUS4UWBMe8kCjniE4VMc2/BMo0su0Uw9sw0aWS9anpPWA==} peerDependencies: '@emotion/is-prop-valid': '*' - react: ^18.0.0 - react-dom: ^18.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@emotion/is-prop-valid': optional: true @@ -3832,6 +3664,10 @@ packages: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -3840,73 +3676,89 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - fumadocs-core@14.0.2: - resolution: {integrity: sha512-GG+uVIBthFJJAHAqFWwBvTsTeZmsHg5YYwHsTIDnpy77+ER4aogkJkeUqoBN4TrmxzG8tbLzaxCwSMtk4X5OoA==} + fumadocs-core@15.0.1: + resolution: {integrity: sha512-aZDh9HnyHP2bbz2dD5vV9saJu2IEOIukLeiDi3S1iqyPM9gVVC391hv7fPcQMsPw9YfgPN8XbPGDBxn0+bsfiw==} + peerDependencies: + '@orama/tokenizers': 2.x.x + '@oramacloud/client': 1.x.x || 2.x.x + algoliasearch: 4.24.0 + next: 14.x.x || 15.x.x + react: 18.x.x || 19.x.x + react-dom: 18.x.x || 19.x.x + peerDependenciesMeta: + '@orama/tokenizers': + optional: true + '@oramacloud/client': + optional: true + algoliasearch: + optional: true + next: + optional: true + react: + optional: true + react-dom: + optional: true - fumadocs-docgen@1.3.0: - resolution: {integrity: sha512-AbUw+qPq7wPw21NiNrAhSN9Ylv613Dicn2qpj7OFdzuhqb4ChMytMQBFCEUpdzkZg51ODXzT2q1KGQVbqMNItg==} + fumadocs-docgen@1.3.5: + resolution: {integrity: sha512-EaacNbPCpIXpExRv+zb+TrkvJbmyEN5Z1J2+Qp9MoYbF5sxeM60bmvHJAyp/KvtcmPhFs+8APUlWEFsKXHcbJw==} - fumadocs-mdx@11.1.0: - resolution: {integrity: sha512-rcJNWbeo0RmJnCV/e0aa2vNldiejm7ns1I85T7oR8TtHq/5ear/6W3gYfPTqRBV7VrJ7ctD8w43Ca7tPnaIKhA==} + fumadocs-mdx@11.4.0: + resolution: {integrity: sha512-zy/TQ4ritc6oWvxrQAPSlKtxbQvyaR0GqPzIxkw8VvvWaOjigrzFm2Z0d5lGTdJQYMpKPk7HMj+sBtFUR1gAAQ==} hasBin: true peerDependencies: - fumadocs-core: ^14.0.0 + '@fumadocs/mdx-remote': 1.1.3 + fumadocs-core: ^14.0.0 || ^15.0.0 next: 14.x.x || 15.x.x + peerDependenciesMeta: + '@fumadocs/mdx-remote': + optional: true - fumadocs-typescript@3.0.0: - resolution: {integrity: sha512-8CCYhxiv7dOt5cCExLZCzm3U0vuHTXEQfLZVOFLkqXqhNbOlaM6Wtn6j1lkJ0relHfR+K8CoPesKEujH/8ablA==} + fumadocs-typescript@3.0.3: + resolution: {integrity: sha512-TpVem2Sy+fo5e8wJibisn1XZoRdwNyY8+MuxQWBC2k8Q4oaxA6qVVsy2paCVEa716UnXbES0sVP1HqX3HCEhBg==} peerDependencies: typescript: '*' function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + 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==} - geist@1.3.1: - resolution: {integrity: sha512-Q4gC1pBVPN+D579pBaz0TRRnGA4p9UK6elDY/xizXdFk/g4EKR5g0I+4p/Kj6gM0SajDBZ/0FvDV9ey9ud7BWw==} - peerDependencies: - next: '>=13.2.0' - - 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-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} engines: {node: '>= 0.4'} get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} - get-own-enumerable-keys@1.0.0: - resolution: {integrity: sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA==} - engines: {node: '>=14.16'} + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} get-tsconfig@4.8.1: @@ -3928,11 +3780,6 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true @@ -3942,10 +3789,6 @@ packages: engines: {node: 20 || >=22} hasBin: true - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - global-dirs@0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} engines: {node: '>=4'} @@ -3954,9 +3797,13 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.14.0: + resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} + engines: {node: '>=18'} globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} @@ -3966,8 +3813,9 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} @@ -3990,8 +3838,9 @@ packages: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -4004,12 +3853,12 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} engines: {node: '>= 0.4'} - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} has-tostringtag@1.0.2: @@ -4020,17 +3869,11 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-to-estree@2.3.3: - resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} - - hast-util-to-estree@3.1.0: - resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + hast-util-to-estree@3.1.1: + resolution: {integrity: sha512-IWtwwmPskfSmma9RpzCappDUitC8t5jhAynHhc1m2+5trOgsrp7txscUSavc5Ic8PATyAjfrCK1wgtxh2cICVQ==} - hast-util-to-html@9.0.3: - resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} - - hast-util-to-jsx-runtime@2.3.0: - resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + hast-util-to-html@9.0.4: + resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} hast-util-to-jsx-runtime@2.3.2: resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==} @@ -4038,9 +3881,6 @@ packages: hast-util-to-string@3.0.1: resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} - hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} - hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} @@ -4064,10 +3904,6 @@ packages: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} - https-proxy-agent@6.2.1: - resolution: {integrity: sha512-ONsE3+yfZF2caH5+bJlcddtWqNI3Gvs5A38+ngvljxaBiRXRswym2c7yf8UAeFpRFKjFNHIFEHqR/OLAWJzyiA==} - engines: {node: '>= 14'} - human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} @@ -4075,23 +3911,20 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} - engines: {node: '>=14.18.0'} + human-signals@8.0.0: + resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + engines: {node: '>=18.18.0'} iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - image-size@1.1.1: - resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + image-size@1.2.0: + resolution: {integrity: sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==} engines: {node: '>=16.x'} hasBin: true @@ -4110,31 +3943,21 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - intl-messageformat@10.5.14: - resolution: {integrity: sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==} - - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + intl-messageformat@10.7.11: + resolution: {integrity: sha512-IB2N1tmI24k2EFH3PWjU7ivJsnWyLwOWOva0jnXFa29WzB6fb0JZ5EMQGu+XN5lDtjHYFo0/UooP67zBwUg7rQ==} is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} @@ -4142,12 +3965,8 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} is-arrayish@0.2.1: @@ -4156,42 +3975,32 @@ packages: is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + is-async-function@2.1.0: + resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} engines: {node: '>= 0.4'} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} - is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - - is-bun-module@1.2.1: - resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} + is-boolean-object@1.2.1: + resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==} + engines: {node: '>= 0.4'} is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} engines: {node: '>= 0.4'} - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} is-decimal@2.0.1: @@ -4205,15 +4014,16 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + 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'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -4223,20 +4033,12 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - 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.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} is-number@7.0.0: @@ -4247,14 +4049,6 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - is-obj@3.0.0: - resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} - engines: {node: '>=12'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -4263,66 +4057,60 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - is-reference@3.0.2: - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} - is-regexp@3.1.0: - resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} - engines: {node: '>=12'} - is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} engines: {node: '>= 0.4'} is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + 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.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} is-text-path@1.0.1: resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} engines: {node: '>=0.10.0'} - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} - is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakref@1.1.0: + resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} + engines: {node: '>= 0.4'} - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} is-windows@1.0.2: @@ -4335,12 +4123,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + iterator.prototype@1.1.5: + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} @@ -4352,8 +4137,8 @@ packages: javascript-natural-sort@0.7.1: resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} - jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} hasBin: true jju@1.4.0: @@ -4365,8 +4150,8 @@ packages: immer: '>=9.0.0' jotai: '>=2.0.0' - jotai@2.10.1: - resolution: {integrity: sha512-4FycO+BOTl2auLyF2Chvi6KTDqdsdDDtpaL/WHQMs8f3KS1E3loiUShQzAzFA/sMU5cJ0hz/RT1xum9YbG/zaA==} + jotai@2.8.0: + resolution: {integrity: sha512-yZNMC36FdLOksOr8qga0yLf14miCJlEThlp5DeFJNnqzm2+ZG7wLcJzoOyij5K6U6Xlc5ljQqPDlJRgqW0Y18g==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=17.0.0' @@ -4397,6 +4182,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==} @@ -4409,16 +4199,9 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-schema-typed@8.0.1: - resolution: {integrity: sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==} - 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'} @@ -4445,31 +4228,76 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} + lightningcss-darwin-arm64@1.29.1: + resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] - language-subtag-registry@0.3.23: - resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + lightningcss-darwin-x64@1.29.1: + resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] - language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} + lightningcss-freebsd-x64@1.29.1: + resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + lightningcss-linux-arm-gnueabihf@1.29.1: + resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] - lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} + lightningcss-linux-arm64-gnu@1.29.1: + resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.29.1: + resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.29.1: + resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.29.1: + resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.29.1: + resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.29.1: + resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.29.1: + resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==} + engines: {node: '>= 12.0.0'} - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -4487,9 +4315,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash._reinterpolate@3.0.0: - resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} - lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -4517,12 +4342,6 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lodash.template@4.5.0: - resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} - - lodash.templatesettings@4.2.0: - resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} - lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} @@ -4532,10 +4351,6 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} - longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -4550,24 +4365,21 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.0.1: - resolution: {integrity: sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==} + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} engines: {node: 20 || >=22} lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - 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.311.0: - resolution: {integrity: sha512-kyMc6YyVepMVnmZT2X1sl7iyf7w6l8YdhEVKmcBLiT0lMlXqcPGsr2/drYP1/VaGf7DmBJ4/CjQAmOpDd8R8uw==} + lucide-react@0.469.0: + resolution: {integrity: sha512-28vvUnnKQ/dBwiCQtwJw7QauYnE7yd2Cyp4tTTJpvglX4EMpbflcdBgrgToX2j71B3YvugK/NH3BGUk+E/p/Fw==} peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -4580,28 +4392,22 @@ packages: resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} engines: {node: '>=8'} - markdown-extensions@1.1.1: - resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} - engines: {node: '>=0.10.0'} - markdown-extensions@2.0.0: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} - markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - - mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - mdast-util-find-and-replace@3.0.1: - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} - mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - mdast-util-from-markdown@2.0.1: - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} @@ -4621,50 +4427,26 @@ packages: mdast-util-gfm@3.0.0: resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} - mdast-util-mdx-expression@1.3.2: - resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} - mdast-util-mdx-expression@2.0.1: resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - mdast-util-mdx-jsx@2.1.4: - resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==} - mdast-util-mdx-jsx@3.1.3: resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} - mdast-util-mdx@2.0.1: - resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==} - mdast-util-mdx@3.0.0: resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} - mdast-util-mdxjs-esm@1.3.1: - resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} - mdast-util-mdxjs-esm@2.0.1: resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} - mdast-util-to-hast@13.2.0: resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} - - mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} - - mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} @@ -4680,11 +4462,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - - micromark-core-commonmark@2.0.1: - resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + micromark-core-commonmark@2.0.2: + resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} micromark-extension-gfm-autolink-literal@2.1.0: resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} @@ -4707,167 +4486,86 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - micromark-extension-mdx-expression@1.0.8: - resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==} - micromark-extension-mdx-expression@3.0.0: resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} - micromark-extension-mdx-jsx@1.0.5: - resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} - micromark-extension-mdx-jsx@3.0.1: resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} - micromark-extension-mdx-md@1.0.1: - resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==} - micromark-extension-mdx-md@2.0.0: resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} - micromark-extension-mdxjs-esm@1.0.5: - resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} - micromark-extension-mdxjs-esm@3.0.0: resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} - micromark-extension-mdxjs@1.0.1: - resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} - micromark-extension-mdxjs@3.0.0: resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} - micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - - micromark-factory-destination@2.0.0: - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - - micromark-factory-label@2.0.0: - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} - - micromark-factory-mdx-expression@1.0.9: - resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} micromark-factory-mdx-expression@2.0.2: resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} - micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - - micromark-factory-space@2.0.0: - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} - - micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - - micromark-factory-title@2.0.0: - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} - - micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - - micromark-factory-whitespace@2.0.0: - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} - - micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - - micromark-util-character@2.1.0: - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} - - micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - - micromark-util-chunked@2.0.0: - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} - - micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - micromark-util-classify-character@2.0.0: - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - micromark-util-combine-extensions@2.0.0: - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - micromark-util-decode-numeric-character-reference@2.0.1: - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - micromark-util-decode-string@2.0.0: - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} - - micromark-util-events-to-acorn@1.2.3: - resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==} + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} micromark-util-events-to-acorn@2.0.2: resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} - micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - - micromark-util-html-tag-name@2.0.0: - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} - - micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - - micromark-util-normalize-identifier@2.0.0: - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} - - micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - - micromark-util-resolve-all@2.0.0: - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} - - micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - - micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - micromark-util-subtokenize@2.0.1: - resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + micromark-util-subtokenize@2.0.3: + resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} - micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} - micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - - micromark@4.0.0: - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromark@4.0.1: + resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -4877,14 +4575,6 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} - mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -4904,14 +4594,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -4927,19 +4609,25 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@3.0.1: - resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} - engines: {node: '>= 18'} + motion-dom@11.16.4: + resolution: {integrity: sha512-2wuCie206pCiP2K23uvwJeci4pMFfyQKpWI0Vy6HrCTDzDCer4TsYtT7IVnuGbDeoIV37UuZiUr6SZMHEc1Vww==} - mkdirp@2.1.6: - resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} - engines: {node: '>=10'} - hasBin: true + motion-utils@11.16.0: + resolution: {integrity: sha512-ngdWPjg31rD4WGXFi0eZ00DQQqKKu04QExyv/ymlC+3k+WIgYVFbt6gS5JsFPbJODTF/r8XiE/X+SsoT9c0ocw==} - mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true + motion@11.16.4: + resolution: {integrity: sha512-Ut4Lv41Bh8QRmBM56zwVXZsRS/jUTVjS081xnHF7zCl2I24v5Kb5/FU5oogSfCCQY/T/BZnIhkIe5PH8BDZIAA==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true mout@0.11.1: resolution: {integrity: sha512-pK9VNiLE3QgGBrC/3ICAscwOLU7oTNeK2l32uqNAioBYtB2tQAfSsGDNChUlk7CP23126mc5lUt6+na9FlN8JA==} @@ -4954,13 +4642,13 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.0.7: - resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + nanoid@5.0.9: + resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==} engines: {node: ^18 || >=20} hasBin: true @@ -4971,48 +4659,22 @@ packages: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} - next-mdx-remote@4.4.1: - resolution: {integrity: sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ==} - engines: {node: '>=14', npm: '>=7'} - peerDependencies: - react: '>=16.x <=18.x' - react-dom: '>=16.x <=18.x' - - next-themes@0.2.1: - resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} - peerDependencies: - next: '*' - react: '*' - react-dom: '*' - - next@14.2.14: - resolution: {integrity: sha512-Q1coZG17MW0Ly5x76shJ4dkC23woLAhhnDnw+DfTc7EpZSGuWrlsZ3bZaO8t6u1Yu8FVfhkqJE+U8GC7E0GLPQ==} - engines: {node: '>=18.17.0'} - hasBin: true + next-themes@0.4.4: + resolution: {integrity: sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==} peerDependencies: - '@opentelemetry/api': ^1.1.0 - '@playwright/test': ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - '@playwright/test': - optional: true - sass: - optional: true + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@15.0.0: - resolution: {integrity: sha512-/ivqF6gCShXpKwY9hfrIQYh8YMge8L3W+w1oRLv/POmK4MOQnh+FscZ8a0fRFTSQWE+2z9ctNYvELD9vP2FV+A==} - engines: {node: '>=18.18.0'} + next@15.1.6: + resolution: {integrity: sha512-Hch4wzbaX0vKQtalpXvUiw5sYivBy4cm5rzUKrBnUB/y436LGrvOUqYvlSeNVCWFO/770gDlltR9gqZH62ct4Q==} + engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-65a56d0e-20241020 - react-dom: ^18.2.0 || 19.0.0-rc-65a56d0e-20241020 + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': @@ -5024,10 +4686,6 @@ packages: sass: optional: true - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -5037,12 +4695,8 @@ packages: encoding: optional: true - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - node-releases@2.0.18: - resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + 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==} @@ -5067,36 +4721,28 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} - npm-to-yarn@3.0.0: - resolution: {integrity: sha512-76YnmsbfrYp0tMsWxM0RNX0Vs+x8JxpJGu6B/jDn4lW8+laiTcKmKi9MeMh4UikO4RkJ1oqURoDy9bXJmMXS6A==} + npm-to-yarn@3.0.1: + resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - - object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} - - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} engines: {node: '>= 0.4'} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} object.entries@1.1.8: @@ -5107,36 +4753,21 @@ packages: resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} - object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - - oniguruma-to-js@0.4.3: - resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} + oniguruma-to-es@2.3.0: + resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -5144,6 +4775,13 @@ packages: 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'} + + oxc-transform@0.47.1: + resolution: {integrity: sha512-krLyXKa+2RWT9MFcj2q4ffEFFzX3EoypcLGpXMhTW0ayLxmGxyiLYlDlwFwP+5fbaVeeBu36XsVroOZelddl7g==} + p-cancelable@3.0.0: resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} engines: {node: '>=12.20'} @@ -5183,15 +4821,18 @@ packages: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} - package-manager-detector@0.2.0: - resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + package-manager-detector@0.2.8: + resolution: {integrity: sha512-ts9KSdroZisdvKMWVAVCXiKqnqNfXz4+IbrBG8/BWx/TR5le+jfenvoBuIZ6UWM9nz47W7AbD9qYfAwfWMIwzA==} + + package-manager-detector@0.2.9: + resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-entities@4.0.1: - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} parse-github-url@1.0.3: resolution: {integrity: sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==} @@ -5202,6 +4843,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -5209,10 +4854,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -5236,11 +4877,8 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - - picocolors@1.1.0: - resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -5250,10 +4888,6 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -5263,54 +4897,26 @@ packages: engines: {node: '>= 6'} possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - postcss-import@15.1.0: - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - - postcss-js@4.0.1: - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} - postcss-load-config@3.1.4: - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} peerDependencies: + jiti: '>=1.21.0' postcss: '>=8.0.9' - ts-node: '>=9.0.0' + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: - postcss: - optional: true - ts-node: + jiti: optional: true - - postcss-load-config@4.0.2: - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: postcss: optional: true - ts-node: + tsx: + optional: true + yaml: optional: true - - postcss-nested@6.2.0: - resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -5319,23 +4925,23 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-tailwindcss@0.6.8: - resolution: {integrity: sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==} + prettier-plugin-tailwindcss@0.6.11: + resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==} engines: {node: '>=14.21.3'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' '@prettier/plugin-pug': '*' '@shopify/prettier-plugin-liquid': '*' '@trivago/prettier-plugin-sort-imports': '*' - '@zackad/prettier-plugin-twig-melody': '*' + '@zackad/prettier-plugin-twig': '*' prettier: ^3.0 prettier-plugin-astro: '*' prettier-plugin-css-order: '*' @@ -5357,7 +4963,7 @@ packages: optional: true '@trivago/prettier-plugin-sort-imports': optional: true - '@zackad/prettier-plugin-twig-melody': + '@zackad/prettier-plugin-twig': optional: true prettier-plugin-astro: optional: true @@ -5387,14 +4993,14 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} engines: {node: '>=14'} hasBin: true - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -5430,90 +5036,98 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-aria-components@1.4.1: - resolution: {integrity: sha512-pDRcIByLJi4M2VxZuXrlqi7wyjCKwqAxkPPdKvf4HPupUES56FpbW72yS3syu6fxw16CSx62/3zpuNJX1UotTA==} + react-aria-components@1.6.0: + resolution: {integrity: sha512-YfG9PUE7XrXtDDAqT4pLTGyYQaiHHTBFdAK/wNgGsypVnQSdzmyYlV3Ty8aHlZJI6hP9RWkbywvosXkU7KcPHg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + + react-aria@3.36.0: + resolution: {integrity: sha512-AK5XyIhAN+e5HDlwlF+YwFrOrVI7RYmZ6kg/o7ZprQjkYqYKapXeUpWscmNm/3H2kDboE5Z4ymUnK6ZhobLqOw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-aria@3.35.0: - resolution: {integrity: sha512-cbbd3iIveLDRnpVrpc1iuz8OMlDdH6u8EjncW3MQuYOiEGaho9xcDtWMKiSEIZASEnd7LK4Rgm5iVPr2O+cssw==} + react-aria@3.37.0: + resolution: {integrity: sha512-u3WUEMTcbQFaoHauHO3KhPaBYzEv1o42EdPcLAs05GBw9Q6Axlqwo73UFgMrsc2ElwLAZ4EKpSdWHLo1R5gfiw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-aria@3.35.1: - resolution: {integrity: sha512-MQTvt0xbcKpnceKkYUtPMbaD9IQj2BXTrwk2vP/V7ph3EVhcyJTUdy1LXCqf8oR8bXE2BERUqp7rzJ+vYy5C+w==} + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^19.0.0 - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-hook-form@7.54.2: + resolution: {integrity: sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==} + engines: {node: '>=18.0.0'} peerDependencies: - react: ^18.3.1 + react: ^16.8.0 || ^17 || ^18 || ^19 react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-remove-scroll-bar@2.3.6: - resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - react-remove-scroll@2.5.5: - resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + react-remove-scroll@2.6.2: + resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - react-remove-scroll@2.6.0: - resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==} + react-remove-scroll@2.6.3: + resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - react-resizable-panels@2.1.4: - resolution: {integrity: sha512-kzue8lsoSBdyyd2IfXLQMMhNujOxRoGVus+63K95fQqleGxTfvgYLTzbwYMOODeAHqnkjb3WV/Ks7f5+gDYZuQ==} + react-resizable-panels@2.1.7: + resolution: {integrity: sha512-JtT6gI+nURzhMYQYsx8DKkx6bSoOGFp7A3CwMrOb8y5jFHFyqwo9m68UhmXRw57fRVJksFn1TSlm3ywEQ9vMgA==} + peerDependencies: + react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + + react-stately@3.34.0: + resolution: {integrity: sha512-0N9tZ8qQ/CxpJH7ao0O6gr+8955e7VrOskg9N+TIxkFknPetwOCtgppMYhnTfteBV8WfM/vv4OC1NbkgYTqXJA==} peerDependencies: - react: ^16.14.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-stately@3.33.0: - resolution: {integrity: sha512-DNPOxYAPuhuXwSuE1s1K7iSgqG2QOBUZq3bsLAd4gUUZje6Qepkhe7TzK2LWarQYAZ3gC9Xhmnz8ie1fdCo0GA==} + react-stately@3.35.0: + resolution: {integrity: sha512-1BH21J/TOHpyZe7c+f1BU2bnRWaBDTjLH0WdBuzNfPOXu7RBG3ebPIRvqd7UkPaVfIcol2QJnxe8S0a314JWKA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-style-singleton@2.2.1: - resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} - read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -5530,18 +5144,10 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readdirp@3.6.0: - 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.9: - resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} - engines: {node: '>= 4'} - recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -5558,22 +5164,28 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex@4.3.2: - resolution: {integrity: sha512-kK/AA3A9K6q2js89+VMymcboLOlF5lZRCYJv3gzszXFHBr6kO6qLGzbm+UIugBEV8SMMKCTR59txoY6ctRHYVw==} + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - registry-auth-token@5.0.2: - resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + registry-auth-token@5.0.3: + resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==} engines: {node: '>=14'} registry-url@6.0.1: @@ -5586,21 +5198,12 @@ packages: remark-gfm@4.0.0: resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} - remark-mdx@2.3.0: - resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==} - - remark-mdx@3.0.1: - resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} - - remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + remark-mdx@3.1.0: + resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} - remark-rehype@11.1.1: resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} @@ -5636,8 +5239,9 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} hasBin: true resolve@2.0.0-next.5: @@ -5648,60 +5252,43 @@ packages: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} engines: {node: '>=14.16'} - restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rimraf@5.0.10: - resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} - hasBin: true - rimraf@6.0.1: resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} engines: {node: 20 || >=22} hasBin: true - rollup@3.29.5: - resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} + rollup@4.32.1: + resolution: {integrity: sha512-z+aeEsOeEa3mEbS1Tjl6sAZ8NE3+AalQz1RJGj81M+fizusbdDMoEJwdJNHfaB40Scr4qNu+welOfes7maKonA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + 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==} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} @@ -5731,9 +5318,6 @@ packages: engines: {node: '>=10'} hasBin: true - server-only@0.0.1: - resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -5742,6 +5326,10 @@ packages: 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.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -5762,14 +5350,23 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.21.0: - resolution: {integrity: sha512-apCH5BoWTrmHDPGgg3RF8+HAAbEL/CdbYr8rMw7eIrdhCkZHdVGat5mMNlRtd1erNG01VPMIKHNQ0Pj2HMAiog==} + shiki@2.2.0: + resolution: {integrity: sha512-3uoZBmc+zpd2JOEeTvKP/vK5UVDDe8YiigkT9flq+MV5Z1MKFiUXfbLIvHfqcJ+V90StDiP1ckN97z1WlhC6cQ==} + + 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'} - shiki@1.22.1: - resolution: {integrity: sha512-PbJ6XxrWLMwB2rm3qdjIHNm3zq4SfFnOx0B3rEoi4AN8AUngsdyZ1tRe5slMPtn6jQkbUURLNZPpLR7Do3k78g==} + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} signal-exit@3.0.7: @@ -5797,10 +5394,6 @@ packages: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} @@ -5815,6 +5408,9 @@ packages: spawndamnit@2.0.0: resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + spawndamnit@3.0.1: + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} + spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -5833,14 +5429,6 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - stdin-discarder@0.1.0: - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -5853,22 +5441,20 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string.prototype.includes@2.0.0: - resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} - - string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + 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.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + 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==} @@ -5880,10 +5466,6 @@ packages: stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - stringify-object@5.0.0: - resolution: {integrity: sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg==} - engines: {node: '>=14.16'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -5904,9 +5486,9 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -5920,28 +5502,9 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - stubborn-fs@1.2.5: - resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} - - style-to-object@0.4.4: - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - style-to-object@1.0.8: resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} - styled-jsx@5.1.1: - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - styled-jsx@5.1.6: resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} engines: {node: '>= 12.0.0'} @@ -5972,11 +5535,14 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - tailwind-merge@2.5.2: - resolution: {integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==} + tailwind-merge@2.5.4: + resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} + + tailwind-merge@2.6.0: + resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} - tailwind-variants@0.2.1: - resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==} + tailwind-variants@0.3.1: + resolution: {integrity: sha512-krn67M3FpPwElg4FsZrOQd0U26o7UDH/QOkK8RNaiCCrr052f6YJPBUfNKnPo/s/xRzNPtv1Mldlxsg8Tb46BQ==} engines: {node: '>=16.x', pnpm: '>=7.x'} peerDependencies: tailwindcss: '*' @@ -5986,24 +5552,13 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - tailwindcss-react-aria-components@3.0.0-nightly-dcc0752f8-241031: - resolution: {integrity: sha512-iHnk5fnSGFYvXLWPMW2VQckBss+/JaDaiVX6Sw5CW5jJfZdXCkKYo1Kz952rMDrZChg88XXwHLjjLJbSIzX/Pw==} - peerDependencies: - tailwindcss: '*' - - tailwindcss@3.4.13: - resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==} - engines: {node: '>=14.0.0'} - hasBin: true + tailwindcss@4.0.0: + resolution: {integrity: sha512-ULRPI3A+e39T7pSaf1xoi58AqqJxVCLg8F/uM5A3FadUbnyDTgltVnXJvdkTjwCOGA6NazqHVcwPJC5h2vRYVQ==} tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - tar@7.4.3: - resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} - engines: {node: '>=18'} - term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -6012,9 +5567,6 @@ packages: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -6028,8 +5580,8 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} tinyglobby@0.2.10: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} @@ -6067,20 +5619,17 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} + ts-api-utils@2.0.0: + resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==} + engines: {node: '>=18.12'} peerDependencies: - typescript: '>=4.2.0' + typescript: '>=4.8.4' ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - ts-morph@18.0.0: - resolution: {integrity: sha512-Kg5u0mk19PIIe4islUI/HWRvm9bC1lHejK4S0oh1zaZ77TMZAEmQC0sHQYiu2RgCQFZKXz1fMVi/7nOOeirznA==} - - ts-morph@24.0.0: - resolution: {integrity: sha512-2OAOg/Ob5yx9Et7ZX4CvTCc0UFoZHwLEJ+dpDPSUi5TgwwlTlX47w+iFRrEwzUZwYACjq83cgjS/Da50Ga37uw==} + ts-morph@25.0.0: + resolution: {integrity: sha512-ERPTUVO5qF8cEGJgAejGOsCVlbk8d0SDyiJsucKQT5XgqoZslv0Qml+gnui6Yy6o+uQqw5SestyW2HvlVtT/Sg==} ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} @@ -6096,25 +5645,25 @@ packages: '@swc/wasm': optional: true - tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsup@6.7.0: - resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} - engines: {node: '>=14.18'} + tsup@8.3.6: + resolution: {integrity: sha512-XkVtlDV/58S9Ye0JxUUTcrQk4S+EqlOHKzg6Roa62rdjL1nGWNUstG0xgI4vanHdfIpjP448J8vlN0oK6XOJ5g==} + engines: {node: '>=18'} hasBin: true peerDependencies: + '@microsoft/api-extractor': ^7.36.0 '@swc/core': ^1 postcss: ^8.4.12 - typescript: '>=4.1.0' + typescript: '>=4.5.0' peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true '@swc/core': optional: true postcss: @@ -6122,43 +5671,43 @@ packages: typescript: optional: true - tsx@4.19.1: - resolution: {integrity: sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA==} + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} engines: {node: '>=18.0.0'} hasBin: true - turbo-darwin-64@2.1.3: - resolution: {integrity: sha512-ouJOm0g0YyoBuhmikEujVCBGo3Zr0lbSOWFIsQtWUTItC88F2w2byhjtsYGPXQwMlTbXwmoBU2lOCfWNkeEwHQ==} + turbo-darwin-64@2.4.0: + resolution: {integrity: sha512-kVMScnPUa3R4n7woNmkR15kOY0aUwCLJcUyH5UC59ggKqr5HIHwweKYK8N1pwBQso0LQF4I9i93hIzfJguCcwQ==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.1.3: - resolution: {integrity: sha512-j2FOJsK4LAOtHQlb3Oom0yWB/Vi0nF1ljInr311mVzHoFAJRZtfW2fRvdZRb/lBUwjSp8be58qWHzANIcrA0OA==} + turbo-darwin-arm64@2.4.0: + resolution: {integrity: sha512-8JObIpfun1guA7UlFR5jC/SOVm49lRscxMxfg5jZ5ABft79rhFC+ygN9AwAhGKv6W2DUhIh2xENkSgu4EDmUyg==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.1.3: - resolution: {integrity: sha512-ubRHkI1gSel7H7wsmxKK8C9UlLWqg/2dkCC88LFupaK6TKgvBKqDqA0Z1M9C/escK0Jsle2k0H8bybV9OYIl4Q==} + turbo-linux-64@2.4.0: + resolution: {integrity: sha512-xWDGGcRlBuGV7HXWAVuTY6vsQi4aZxGMAnuiuNDg8Ij1aHGohOM0RUsWMXjxz4vuJmjk9+/D6NQqHH3AJEXezg==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.1.3: - resolution: {integrity: sha512-LffUL+e5wv7BtD6DgnM2kKOlDkMo2eRjhbAjVnrCD3wi2ug0tl6NDzajnHHjtaMyOnIf4AvzSKdLWsBxafGBQA==} + turbo-linux-arm64@2.4.0: + resolution: {integrity: sha512-c3En99xMguc/Pdtk/rZP53LnDdw0W6lgUc04he8r8F+UHYSNvgzHh0WGXXmCC6lGbBH72kPhhGx4bAwyvi7dug==} cpu: [arm64] os: [linux] - turbo-windows-64@2.1.3: - resolution: {integrity: sha512-S9SvcZZoaq5jKr6kA6eF7/xgQhVn8Vh7PVy5lono9zybvhyL4eY++y2PaLToIgL8G9IcbLmgOC73ExNjFBg9XQ==} + turbo-windows-64@2.4.0: + resolution: {integrity: sha512-/gOORuOlyA8JDPzyA16CD3wvyRcuBFePa1URAnFUof9hXQmKxK0VvSDO79cYZFsJSchCKNJpckUS0gYxGsWwoA==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.1.3: - resolution: {integrity: sha512-twlEo8lRrGbrR6T/ZklUIquW3IlFCEtywklgVA81aIrSBm56+GEVpSrHhIlsx1hiYeSNrs+GpDwZGe+V7fvEVQ==} + turbo-windows-arm64@2.4.0: + resolution: {integrity: sha512-/DJIdTFijEMM5LSiEpSfarDOMOlYqJV+EzmppqWtHqDsOLF4hbbIBH9sJR6OOp5dURAu5eURBYdmvBRz9Lo6TA==} cpu: [arm64] os: [win32] - turbo@2.1.3: - resolution: {integrity: sha512-lY0yj2GH2a2a3NExZ3rGe+rHUVeFE2aXuRAue57n+08E7Z7N7YCmynju0kPC1grAQzERmoLpKrmzmWd+PNiADw==} + turbo@2.4.0: + resolution: {integrity: sha512-ah/yQp2oMif1X0u7fBJ4MLMygnkbKnW5O8SG6pJvloPCpHfFoZctkSVQiJ3VnvNTq71V2JJIdwmOeu1i34OQyg==} hasBin: true type-check@0.4.0: @@ -6169,10 +5718,6 @@ packages: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -6181,93 +5726,67 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - - type-fest@4.26.1: - resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} + type-fest@4.33.0: + resolution: {integrity: sha512-s6zVrxuyKbbAsSAD5ZPTB77q4YIdRctkTbJ2/Dqlinwz+8ooH2gd+YA7VA6Pa93KML9GockVvoxjZ2vHP+mu8g==} engines: {node: '>=16'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} engines: {node: '>= 0.4'} - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + typescript-eslint@8.22.0: + resolution: {integrity: sha512-Y2rj210FW1Wb6TWXzQc5+P+EWI9/zdS57hLEc0gnyuvdzWo8+Y8brKlbj0muejonhMI/xAZCnZZwjbIfv1CkOw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} hasBin: true - uint8array-extras@1.4.0: - resolution: {integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==} - engines: {node: '>=18'} - - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - - unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - - unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - unist-util-position-from-estree@1.1.2: - resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} - unist-util-position-from-estree@2.0.0: resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} - unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - unist-util-remove-position@4.0.2: - resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} - - unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} - unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} @@ -6279,8 +5798,8 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - update-browserslist-db@1.1.1: - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + update-browserslist-db@1.1.2: + resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -6288,39 +5807,34 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - use-callback-ref@1.3.2: - resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - use-sidecar@1.1.2: - resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - use-sync-external-store@1.2.2: - resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} + use-sync-external-store@1.4.0: + resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -6330,28 +5844,12 @@ packages: validate-npm-package-name@3.0.0: resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} - vfile-matter@3.0.1: - resolution: {integrity: sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg==} - - vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} - vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} - vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -6364,22 +5862,20 @@ packages: whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - when-exit@2.1.3: - resolution: {integrity: sha512-uVieSTccFIr/SFQdFWN/fFaQYmV37OKtuaGphMAzi4DmmUlrvRBJW5WSLkHyjNQY/ePJMz3LoiX9R3yy1Su6Hw==} - - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} - which-builtin-type@1.1.4: - resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} + 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.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} engines: {node: '>= 0.4'} which@1.3.1: @@ -6403,9 +5899,6 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -6413,22 +5906,11 @@ packages: yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yallist@5.0.0: - resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} - engines: {node: '>=18'} - - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - - yaml@2.5.1: - resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} + yaml@2.7.0: + resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} engines: {node: '>= 14'} hasBin: true @@ -6452,11 +5934,15 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + yoctocolors@2.1.1: + resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + engines: {node: '>=18'} + + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} - zustand@4.5.5: - resolution: {integrity: sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==} + zustand@4.5.6: + resolution: {integrity: sha512-ibr/n1hBzLLj5Y+yUcU7dYw8p6WnIVzdJbnX+1YpaScvZVF2ziugqHs+LAmHw4lWO9c/zRj+K1ncgWDQuthEdQ==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -6483,332 +5969,93 @@ snapshots: ciecam02: 0.4.6 hsluv: 0.1.0 - '@algolia/cache-browser-local-storage@4.24.0': - dependencies: - '@algolia/cache-common': 4.24.0 - optional: true - - '@algolia/cache-common@4.24.0': - optional: true - - '@algolia/cache-in-memory@4.24.0': - dependencies: - '@algolia/cache-common': 4.24.0 - optional: true - - '@algolia/client-account@4.24.0': - dependencies: - '@algolia/client-common': 4.24.0 - '@algolia/client-search': 4.24.0 - '@algolia/transporter': 4.24.0 - optional: true - - '@algolia/client-analytics@4.24.0': - dependencies: - '@algolia/client-common': 4.24.0 - '@algolia/client-search': 4.24.0 - '@algolia/requester-common': 4.24.0 - '@algolia/transporter': 4.24.0 - optional: true - - '@algolia/client-common@4.24.0': - dependencies: - '@algolia/requester-common': 4.24.0 - '@algolia/transporter': 4.24.0 - optional: true - - '@algolia/client-personalization@4.24.0': - dependencies: - '@algolia/client-common': 4.24.0 - '@algolia/requester-common': 4.24.0 - '@algolia/transporter': 4.24.0 - optional: true - - '@algolia/client-search@4.24.0': - dependencies: - '@algolia/client-common': 4.24.0 - '@algolia/requester-common': 4.24.0 - '@algolia/transporter': 4.24.0 - optional: true - - '@algolia/logger-common@4.24.0': - optional: true - - '@algolia/logger-console@4.24.0': - dependencies: - '@algolia/logger-common': 4.24.0 - optional: true - - '@algolia/recommend@4.24.0': - dependencies: - '@algolia/cache-browser-local-storage': 4.24.0 - '@algolia/cache-common': 4.24.0 - '@algolia/cache-in-memory': 4.24.0 - '@algolia/client-common': 4.24.0 - '@algolia/client-search': 4.24.0 - '@algolia/logger-common': 4.24.0 - '@algolia/logger-console': 4.24.0 - '@algolia/requester-browser-xhr': 4.24.0 - '@algolia/requester-common': 4.24.0 - '@algolia/requester-node-http': 4.24.0 - '@algolia/transporter': 4.24.0 - optional: true - - '@algolia/requester-browser-xhr@4.24.0': - dependencies: - '@algolia/requester-common': 4.24.0 - optional: true - - '@algolia/requester-common@4.24.0': - optional: true - - '@algolia/requester-node-http@4.24.0': - dependencies: - '@algolia/requester-common': 4.24.0 - optional: true - - '@algolia/transporter@4.24.0': - dependencies: - '@algolia/cache-common': 4.24.0 - '@algolia/logger-common': 4.24.0 - '@algolia/requester-common': 4.24.0 - optional: true - '@alloc/quick-lru@5.2.0': {} - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@antfu/ni@0.21.12': {} - - '@babel/code-frame@7.24.7': - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.1.0 - - '@babel/compat-data@7.25.4': {} - - '@babel/core@7.25.2': + '@babel/code-frame@7.26.2': dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - convert-source-map: 2.0.0 - debug: 4.3.7 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 '@babel/generator@7.17.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.3 jsesc: 2.5.2 source-map: 0.5.7 - '@babel/generator@7.25.6': + '@babel/generator@7.26.3': dependencies: - '@babel/types': 7.25.6 - '@jridgewell/gen-mapping': 0.3.5 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/helper-annotate-as-pure@7.24.7': - dependencies: - '@babel/types': 7.25.6 - - '@babel/helper-compilation-targets@7.25.2': - dependencies: - '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.24.0 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.6 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + jsesc: 3.1.0 '@babel/helper-environment-visitor@7.24.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.3 '@babel/helper-function-name@7.24.7': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/types': 7.25.6 - - '@babel/helper-member-expression-to-functions@7.24.8': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.24.7': - dependencies: - '@babel/types': 7.25.6 - - '@babel/helper-plugin-utils@7.24.8': {} - - '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.26.3 '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.25.6 - - '@babel/helper-string-parser@7.24.8': {} - - '@babel/helper-validator-identifier@7.24.7': {} - - '@babel/helper-validator-option@7.24.8': {} - - '@babel/helpers@7.25.6': - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - - '@babel/highlight@7.24.7': - dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.0 + '@babel/types': 7.26.3 - '@babel/parser@7.25.6': - dependencies: - '@babel/types': 7.25.6 + '@babel/helper-string-parser@7.25.9': {} - '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-identifier@7.25.9': {} - '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': + '@babel/parser@7.26.3': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) - transitivePeerDependencies: - - supports-color + '@babel/types': 7.26.3 - '@babel/runtime@7.25.6': + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.25.0': + '@babel/template@7.25.9': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@babel/traverse@7.23.2': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 '@babel/helper-hoist-variables': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - debug: 4.3.7 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.25.6': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - debug: 4.3.7 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color '@babel/types@7.17.0': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.9 to-fast-properties: 2.0.0 - '@babel/types@7.25.6': + '@babel/types@7.26.3': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 - '@changesets/apply-release-plan@7.0.5': + '@changesets/apply-release-plan@7.0.7': dependencies: - '@changesets/config': 3.0.3 + '@changesets/config': 3.0.5 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.1 + '@changesets/git': 3.0.2 '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -6820,7 +6067,7 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.4': + '@changesets/assemble-release-plan@6.0.5': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 @@ -6841,40 +6088,38 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.27.8': + '@changesets/cli@2.27.11': dependencies: - '@changesets/apply-release-plan': 7.0.5 - '@changesets/assemble-release-plan': 6.0.4 + '@changesets/apply-release-plan': 7.0.7 + '@changesets/assemble-release-plan': 6.0.5 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.3 + '@changesets/config': 3.0.5 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 - '@changesets/get-release-plan': 4.0.4 - '@changesets/git': 3.0.1 + '@changesets/get-release-plan': 4.0.6 + '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.1 + '@changesets/read': 0.6.2 '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@changesets/write': 0.3.2 '@manypkg/get-packages': 1.1.3 - '@types/semver': 7.5.8 ansi-colors: 4.1.3 ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 mri: 1.2.0 - outdent: 0.5.0 p-limit: 2.3.0 - package-manager-detector: 0.2.0 - picocolors: 1.1.0 + package-manager-detector: 0.2.8 + picocolors: 1.1.1 resolve-from: 5.0.0 semver: 7.6.3 - spawndamnit: 2.0.0 + spawndamnit: 3.0.1 term-size: 2.2.1 - '@changesets/config@3.0.3': + '@changesets/config@3.0.5': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 @@ -6892,7 +6137,7 @@ snapshots: dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - picocolors: 1.1.0 + picocolors: 1.1.1 semver: 7.6.3 '@changesets/get-github-info@0.5.2': @@ -6902,28 +6147,28 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/get-release-plan@4.0.4': + '@changesets/get-release-plan@4.0.6': dependencies: - '@changesets/assemble-release-plan': 6.0.4 - '@changesets/config': 3.0.3 + '@changesets/assemble-release-plan': 6.0.5 + '@changesets/config': 3.0.5 '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.1 + '@changesets/read': 0.6.2 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.1': + '@changesets/git@3.0.2': dependencies: '@changesets/errors': 0.2.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 micromatch: 4.0.8 - spawndamnit: 2.0.0 + spawndamnit: 3.0.1 '@changesets/logger@0.1.1': dependencies: - picocolors: 1.1.0 + picocolors: 1.1.1 '@changesets/parse@0.4.0': dependencies: @@ -6937,15 +6182,15 @@ snapshots: '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.1': + '@changesets/read@0.6.2': dependencies: - '@changesets/git': 3.0.1 + '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 fs-extra: 7.0.1 p-filter: 2.1.0 - picocolors: 1.1.0 + picocolors: 1.1.1 '@changesets/should-skip-package@0.1.1': dependencies: @@ -6965,6 +6210,17 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 + '@clack/core@0.4.1': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@clack/prompts@0.9.1': + dependencies: + '@clack/core': 0.4.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 + '@commitlint/cli@17.8.1': dependencies: '@commitlint/format': 17.8.1 @@ -7026,14 +6282,14 @@ snapshots: '@commitlint/types': 17.8.1 '@types/node': 20.5.1 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.6.2) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.6.2))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.2))(typescript@5.6.2) + cosmiconfig: 8.3.6(typescript@5.7.3) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.7.3))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.7.3))(typescript@5.7.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.6.2) - typescript: 5.6.2 + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -7085,234 +6341,183 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@emnapi/runtime@1.2.0': + '@emnapi/runtime@1.3.1': dependencies: - tslib: 2.7.0 + tslib: 2.8.1 optional: true '@esbuild/aix-ppc64@0.23.1': optional: true - '@esbuild/aix-ppc64@0.24.0': - optional: true - - '@esbuild/android-arm64@0.17.19': + '@esbuild/aix-ppc64@0.24.2': optional: true '@esbuild/android-arm64@0.23.1': optional: true - '@esbuild/android-arm64@0.24.0': - optional: true - - '@esbuild/android-arm@0.17.19': + '@esbuild/android-arm64@0.24.2': optional: true '@esbuild/android-arm@0.23.1': optional: true - '@esbuild/android-arm@0.24.0': - optional: true - - '@esbuild/android-x64@0.17.19': + '@esbuild/android-arm@0.24.2': optional: true '@esbuild/android-x64@0.23.1': optional: true - '@esbuild/android-x64@0.24.0': - optional: true - - '@esbuild/darwin-arm64@0.17.19': + '@esbuild/android-x64@0.24.2': optional: true '@esbuild/darwin-arm64@0.23.1': optional: true - '@esbuild/darwin-arm64@0.24.0': - optional: true - - '@esbuild/darwin-x64@0.17.19': + '@esbuild/darwin-arm64@0.24.2': optional: true '@esbuild/darwin-x64@0.23.1': optional: true - '@esbuild/darwin-x64@0.24.0': - optional: true - - '@esbuild/freebsd-arm64@0.17.19': + '@esbuild/darwin-x64@0.24.2': optional: true '@esbuild/freebsd-arm64@0.23.1': optional: true - '@esbuild/freebsd-arm64@0.24.0': - optional: true - - '@esbuild/freebsd-x64@0.17.19': + '@esbuild/freebsd-arm64@0.24.2': optional: true '@esbuild/freebsd-x64@0.23.1': optional: true - '@esbuild/freebsd-x64@0.24.0': - optional: true - - '@esbuild/linux-arm64@0.17.19': + '@esbuild/freebsd-x64@0.24.2': optional: true '@esbuild/linux-arm64@0.23.1': optional: true - '@esbuild/linux-arm64@0.24.0': - optional: true - - '@esbuild/linux-arm@0.17.19': + '@esbuild/linux-arm64@0.24.2': optional: true '@esbuild/linux-arm@0.23.1': optional: true - '@esbuild/linux-arm@0.24.0': - optional: true - - '@esbuild/linux-ia32@0.17.19': + '@esbuild/linux-arm@0.24.2': optional: true '@esbuild/linux-ia32@0.23.1': optional: true - '@esbuild/linux-ia32@0.24.0': - optional: true - - '@esbuild/linux-loong64@0.17.19': + '@esbuild/linux-ia32@0.24.2': optional: true '@esbuild/linux-loong64@0.23.1': optional: true - '@esbuild/linux-loong64@0.24.0': - optional: true - - '@esbuild/linux-mips64el@0.17.19': + '@esbuild/linux-loong64@0.24.2': optional: true '@esbuild/linux-mips64el@0.23.1': optional: true - '@esbuild/linux-mips64el@0.24.0': - optional: true - - '@esbuild/linux-ppc64@0.17.19': + '@esbuild/linux-mips64el@0.24.2': optional: true '@esbuild/linux-ppc64@0.23.1': optional: true - '@esbuild/linux-ppc64@0.24.0': - optional: true - - '@esbuild/linux-riscv64@0.17.19': + '@esbuild/linux-ppc64@0.24.2': optional: true '@esbuild/linux-riscv64@0.23.1': optional: true - '@esbuild/linux-riscv64@0.24.0': - optional: true - - '@esbuild/linux-s390x@0.17.19': + '@esbuild/linux-riscv64@0.24.2': optional: true '@esbuild/linux-s390x@0.23.1': optional: true - '@esbuild/linux-s390x@0.24.0': - optional: true - - '@esbuild/linux-x64@0.17.19': + '@esbuild/linux-s390x@0.24.2': optional: true '@esbuild/linux-x64@0.23.1': optional: true - '@esbuild/linux-x64@0.24.0': + '@esbuild/linux-x64@0.24.2': optional: true - '@esbuild/netbsd-x64@0.17.19': + '@esbuild/netbsd-arm64@0.24.2': optional: true '@esbuild/netbsd-x64@0.23.1': optional: true - '@esbuild/netbsd-x64@0.24.0': + '@esbuild/netbsd-x64@0.24.2': optional: true '@esbuild/openbsd-arm64@0.23.1': optional: true - '@esbuild/openbsd-arm64@0.24.0': - optional: true - - '@esbuild/openbsd-x64@0.17.19': + '@esbuild/openbsd-arm64@0.24.2': optional: true '@esbuild/openbsd-x64@0.23.1': optional: true - '@esbuild/openbsd-x64@0.24.0': - optional: true - - '@esbuild/sunos-x64@0.17.19': + '@esbuild/openbsd-x64@0.24.2': optional: true '@esbuild/sunos-x64@0.23.1': optional: true - '@esbuild/sunos-x64@0.24.0': - optional: true - - '@esbuild/win32-arm64@0.17.19': + '@esbuild/sunos-x64@0.24.2': optional: true '@esbuild/win32-arm64@0.23.1': optional: true - '@esbuild/win32-arm64@0.24.0': - optional: true - - '@esbuild/win32-ia32@0.17.19': + '@esbuild/win32-arm64@0.24.2': optional: true '@esbuild/win32-ia32@0.23.1': optional: true - '@esbuild/win32-ia32@0.24.0': - optional: true - - '@esbuild/win32-x64@0.17.19': + '@esbuild/win32-ia32@0.24.2': optional: true '@esbuild/win32-x64@0.23.1': optional: true - '@esbuild/win32-x64@0.24.0': + '@esbuild/win32-x64@0.24.2': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.4.1(eslint@9.19.0(jiti@2.4.2))': dependencies: - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.2': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.10.0': + dependencies: + '@types/json-schema': 7.0.15 - '@eslint/eslintrc@2.1.4': + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.3.7 - espree: 9.6.1 - globals: 13.24.0 + debug: 4.4.0 + espree: 10.3.0 + globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -7321,47 +6526,57 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/js@9.19.0': {} - '@formatjs/ecma402-abstract@2.0.0': + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.2.5': dependencies: - '@formatjs/intl-localematcher': 0.5.4 - tslib: 2.7.0 + '@eslint/core': 0.10.0 + levn: 0.4.1 - '@formatjs/fast-memoize@2.2.0': + '@formatjs/ecma402-abstract@2.3.2': dependencies: - tslib: 2.7.0 + '@formatjs/fast-memoize': 2.2.6 + '@formatjs/intl-localematcher': 0.5.10 + decimal.js: 10.4.3 + tslib: 2.8.1 - '@formatjs/icu-messageformat-parser@2.7.8': + '@formatjs/fast-memoize@2.2.6': dependencies: - '@formatjs/ecma402-abstract': 2.0.0 - '@formatjs/icu-skeleton-parser': 1.8.2 - tslib: 2.7.0 + tslib: 2.8.1 - '@formatjs/icu-skeleton-parser@1.8.2': + '@formatjs/icu-messageformat-parser@2.9.8': dependencies: - '@formatjs/ecma402-abstract': 2.0.0 - tslib: 2.7.0 + '@formatjs/ecma402-abstract': 2.3.2 + '@formatjs/icu-skeleton-parser': 1.8.12 + tslib: 2.8.1 - '@formatjs/intl-localematcher@0.5.4': + '@formatjs/icu-skeleton-parser@1.8.12': dependencies: - tslib: 2.7.0 + '@formatjs/ecma402-abstract': 2.3.2 + tslib: 2.8.1 - '@formatjs/intl-localematcher@0.5.6': + '@formatjs/intl-localematcher@0.5.10': dependencies: - tslib: 2.7.0 + tslib: 2.8.1 - '@humanwhocodes/config-array@0.13.0': + '@hookform/resolvers@3.10.0(react-hook-form@7.54.2(react@19.0.0))': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + react-hook-form: 7.54.2(react@19.0.0) + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: @@ -7429,7 +6644,7 @@ snapshots: '@img/sharp-wasm32@0.33.5': dependencies: - '@emnapi/runtime': 1.2.0 + '@emnapi/runtime': 1.3.1 optional: true '@img/sharp-win32-ia32@0.33.5': @@ -7438,22 +6653,22 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true - '@internationalized/date@3.5.6': + '@internationalized/date@3.7.0': dependencies: - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 - '@internationalized/message@3.1.5': + '@internationalized/message@3.1.6': dependencies: - '@swc/helpers': 0.5.13 - intl-messageformat: 10.5.14 + '@swc/helpers': 0.5.15 + intl-messageformat: 10.7.11 - '@internationalized/number@3.5.4': + '@internationalized/number@3.6.0': dependencies: - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 - '@internationalized/string@3.2.4': + '@internationalized/string@3.2.5': dependencies: - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 '@isaacs/cliui@8.0.2': dependencies: @@ -7464,11 +6679,7 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/fs-minipass@4.0.1': - dependencies: - minipass: 7.1.2 - - '@jridgewell/gen-mapping@0.3.5': + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.0 @@ -7508,7 +6719,7 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.25.6 + '@babel/runtime': 7.26.0 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -7519,7 +6730,7 @@ snapshots: '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.25.6 + '@babel/runtime': 7.26.0 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -7533,33 +6744,11 @@ snapshots: '@manypkg/tools@1.1.2': dependencies: - fast-glob: 3.3.2 + fast-glob: 3.3.3 jju: 1.4.0 js-yaml: 4.1.0 - '@mdx-js/mdx@2.3.0': - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/mdx': 2.0.13 - estree-util-build-jsx: 2.2.2 - estree-util-is-identifier-name: 2.1.0 - estree-util-to-js: 1.2.0 - estree-walker: 3.0.3 - hast-util-to-estree: 2.3.3 - markdown-extensions: 1.1.1 - periscopic: 3.1.0 - remark-mdx: 2.3.0 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - unified: 10.1.2 - unist-util-position-from-estree: 1.1.2 - unist-util-stringify-position: 3.0.3 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - transitivePeerDependencies: - - supports-color - - '@mdx-js/mdx@3.1.0(acorn@8.12.1)': + '@mdx-js/mdx@3.1.0(acorn@8.14.0)': dependencies: '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.5 @@ -7570,13 +6759,13 @@ snapshots: estree-util-is-identifier-name: 3.0.0 estree-util-scope: 1.0.0 estree-walker: 3.0.3 - hast-util-to-jsx-runtime: 2.3.0 + hast-util-to-jsx-runtime: 2.3.2 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.0(acorn@8.12.1) + recma-jsx: 1.0.0(acorn@8.14.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 - remark-mdx: 3.0.1 + remark-mdx: 3.1.0 remark-parse: 11.0.0 remark-rehype: 11.1.1 source-map: 0.7.4 @@ -7589,87 +6778,73 @@ snapshots: - acorn - supports-color - '@mdx-js/react@2.3.0(react@18.3.1)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 18.3.10 - react: 18.3.1 - - '@next/env@14.2.14': {} - - '@next/env@15.0.0': - optional: true + '@next/env@15.1.6': {} - '@next/eslint-plugin-next@14.2.13': + '@next/eslint-plugin-next@15.1.6': dependencies: - glob: 10.3.10 + fast-glob: 3.3.1 - '@next/swc-darwin-arm64@14.2.14': + '@next/swc-darwin-arm64@15.1.6': optional: true - '@next/swc-darwin-arm64@15.0.0': + '@next/swc-darwin-x64@15.1.6': optional: true - '@next/swc-darwin-x64@14.2.14': + '@next/swc-linux-arm64-gnu@15.1.6': optional: true - '@next/swc-darwin-x64@15.0.0': + '@next/swc-linux-arm64-musl@15.1.6': optional: true - '@next/swc-linux-arm64-gnu@14.2.14': + '@next/swc-linux-x64-gnu@15.1.6': optional: true - '@next/swc-linux-arm64-gnu@15.0.0': + '@next/swc-linux-x64-musl@15.1.6': optional: true - '@next/swc-linux-arm64-musl@14.2.14': + '@next/swc-win32-arm64-msvc@15.1.6': optional: true - '@next/swc-linux-arm64-musl@15.0.0': + '@next/swc-win32-x64-msvc@15.1.6': optional: true - '@next/swc-linux-x64-gnu@14.2.14': - optional: true + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 - '@next/swc-linux-x64-gnu@15.0.0': - optional: true + '@nodelib/fs.stat@2.0.5': {} - '@next/swc-linux-x64-musl@14.2.14': - optional: true + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.18.0 - '@next/swc-linux-x64-musl@15.0.0': - optional: true + '@orama/orama@2.1.1': {} - '@next/swc-win32-arm64-msvc@14.2.14': + '@oxc-transform/binding-darwin-arm64@0.47.1': optional: true - '@next/swc-win32-arm64-msvc@15.0.0': + '@oxc-transform/binding-darwin-x64@0.47.1': optional: true - '@next/swc-win32-ia32-msvc@14.2.14': + '@oxc-transform/binding-linux-arm64-gnu@0.47.1': optional: true - '@next/swc-win32-x64-msvc@14.2.14': + '@oxc-transform/binding-linux-arm64-musl@0.47.1': optional: true - '@next/swc-win32-x64-msvc@15.0.0': + '@oxc-transform/binding-linux-x64-gnu@0.47.1': optional: true - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 + '@oxc-transform/binding-linux-x64-musl@0.47.1': + optional: true - '@nolyfill/is-core-module@1.0.39': {} + '@oxc-transform/binding-win32-arm64-msvc@0.47.1': + optional: true - '@orama/orama@3.0.1': {} + '@oxc-transform/binding-win32-x64-msvc@0.47.1': + optional: true '@pkgjs/parseargs@0.11.0': optional: true @@ -7688,1817 +6863,2296 @@ snapshots: '@radix-ui/number@1.1.0': {} - '@radix-ui/primitive@1.0.1': - dependencies: - '@babel/runtime': 7.25.6 - - '@radix-ui/primitive@1.1.0': {} + '@radix-ui/primitive@1.1.1': {} - '@radix-ui/react-aspect-ratio@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-aspect-ratio@1.1.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 - - '@radix-ui/react-collapsible@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) + + '@radix-ui/react-collapsible@1.1.2(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) - '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.4)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 - '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-context@1.1.1(@types/react@19.0.4)(react@19.0.0)': dependencies: - react: 18.3.1 + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.4 + + '@radix-ui/react-dialog@1.1.4(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.4)(react@19.0.0) + aria-hidden: 1.2.4 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-remove-scroll: 2.6.2(@types/react@19.0.4)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) - '@radix-ui/react-context@1.0.1(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-direction@1.1.0(@types/react@19.0.4)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 - '@radix-ui/react-context@1.1.0(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - react: 18.3.1 + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 - - '@radix-ui/react-dialog@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.0.1(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.10)(react@18.3.1) - aria-hidden: 1.2.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.5.5(@types/react@18.3.10)(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) - '@radix-ui/react-direction@1.1.0(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.4)(react@19.0.0)': dependencies: - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 - - '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 - '@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - react: 18.3.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) - '@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-id@1.1.0(@types/react@19.0.4)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 - '@radix-ui/react-id@1.0.1(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-portal@1.1.3(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) - '@radix-ui/react-id@1.1.0(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) - '@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-slot': 1.1.1(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) - '@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-scroll-area@1.2.2(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/number': 1.1.0 + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 + '@types/react-dom': 19.0.2(@types/react@19.0.4) - '@radix-ui/react-presence@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-slot@1.1.1(@types/react@19.0.4)(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 - '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.4)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 - '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.4)(react@19.0.0)': dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 - '@radix-ui/react-scroll-area@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.4)(react@19.0.0)': dependencies: - '@radix-ui/number': 1.1.0 - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.4)(react@19.0.0) + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 - '@types/react-dom': 18.3.0 + '@types/react': 19.0.4 - '@radix-ui/react-slot@1.0.2(@types/react@18.3.10)(react@18.3.1)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.4)(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 + react: 19.0.0 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 + + '@react-aria/autocomplete@3.0.0-alpha.37(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/combobox': 3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/listbox': 3.14.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/searchfield': 3.8.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/autocomplete': 3.0.0-alpha.0(react@19.0.0) + '@react-stately/combobox': 3.10.2(react@19.0.0) + '@react-types/autocomplete': 3.0.0-alpha.28(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/breadcrumbs@3.5.19(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/link': 3.7.7(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/breadcrumbs': 3.7.9(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/breadcrumbs@3.5.20(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/link': 3.7.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/breadcrumbs': 3.7.10(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/button@3.11.0(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/toolbar': 3.0.0-beta.11(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/toggle': 3.8.0(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/button@3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/toolbar': 3.0.0-beta.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/toggle': 3.8.1(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/calendar@3.6.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/calendar': 3.6.0(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/calendar': 3.5.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/calendar@3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/calendar': 3.7.0(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/calendar': 3.6.0(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/checkbox@3.15.0(react@19.0.0)': + dependencies: + '@react-aria/form': 3.0.11(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/toggle': 3.10.10(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/checkbox': 3.6.10(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/toggle': 3.8.0(react@19.0.0) + '@react-types/checkbox': 3.9.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/checkbox@3.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/form': 3.0.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/toggle': 3.10.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/checkbox': 3.6.11(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/toggle': 3.8.1(react@19.0.0) + '@react-types/checkbox': 3.9.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/collections@3.0.0-alpha.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + use-sync-external-store: 1.4.0(react@19.0.0) + + '@react-aria/color@3.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/numberfield': 3.11.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/slider': 3.7.14(react@19.0.0) + '@react-aria/spinbutton': 3.6.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.15.0(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-aria/visually-hidden': 3.8.18(react@19.0.0) + '@react-stately/color': 3.8.1(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-types/color': 3.0.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/color@3.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/numberfield': 3.11.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/slider': 3.7.15(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/spinbutton': 3.6.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/visually-hidden': 3.8.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/color': 3.8.2(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-types/color': 3.0.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/combobox@3.11.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/listbox': 3.13.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/menu': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/overlays': 3.24.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.15.0(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/combobox': 3.10.1(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/combobox': 3.13.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/combobox@3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/listbox': 3.14.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/menu': 3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/overlays': 3.25.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/combobox': 3.10.2(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/combobox': 3.13.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/datepicker@3.12.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@internationalized/number': 3.6.0 + '@internationalized/string': 3.2.5 + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/form': 3.0.11(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/spinbutton': 3.6.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/datepicker': 3.11.0(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/calendar': 3.5.0(react@19.0.0) + '@react-types/datepicker': 3.9.0(react@19.0.0) + '@react-types/dialog': 3.5.14(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/datepicker@3.13.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@internationalized/number': 3.6.0 + '@internationalized/string': 3.2.5 + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/form': 3.0.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/spinbutton': 3.6.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/datepicker': 3.12.0(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/calendar': 3.6.0(react@19.0.0) + '@react-types/datepicker': 3.10.0(react@19.0.0) + '@react-types/dialog': 3.5.15(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/dialog@3.5.20(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/overlays': 3.24.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/dialog': 3.5.14(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/dialog@3.5.21(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/overlays': 3.25.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/dialog': 3.5.15(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/disclosure@3.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/disclosure': 3.0.0(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/disclosure@3.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/disclosure': 3.0.1(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/dnd@3.8.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@internationalized/string': 3.2.5 + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/overlays': 3.24.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/dnd': 3.5.0(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/dnd@3.8.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@internationalized/string': 3.2.5 + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/overlays': 3.25.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/dnd': 3.5.1(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/focus@3.19.0(react@19.0.0)': + dependencies: + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + clsx: 2.1.1 + react: 19.0.0 - '@radix-ui/react-slot@1.1.0(@types/react@18.3.10)(react@18.3.1)': + '@react-aria/focus@3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.10 + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + clsx: 2.1.1 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/form@3.0.11(react@19.0.0)': + dependencies: + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/form@3.0.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/grid@3.11.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/grid': 3.10.0(react@19.0.0) + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-types/checkbox': 3.9.0(react@19.0.0) + '@react-types/grid': 3.2.10(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/grid@3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/grid': 3.10.1(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-types/checkbox': 3.9.1(react@19.0.0) + '@react-types/grid': 3.2.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/gridlist@3.10.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/grid': 3.11.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/list': 3.11.1(react@19.0.0) + '@react-stately/tree': 3.8.6(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/gridlist@3.10.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/grid': 3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/list': 3.11.2(react@19.0.0) + '@react-stately/tree': 3.8.7(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/i18n@3.12.4(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@internationalized/message': 3.1.6 + '@internationalized/number': 3.6.0 + '@internationalized/string': 3.2.5 + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/i18n@3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@internationalized/message': 3.1.6 + '@internationalized/number': 3.6.0 + '@internationalized/string': 3.2.5 + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/interactions@3.22.5(react@19.0.0)': + dependencies: + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/interactions@3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/label@3.7.13(react@19.0.0)': + dependencies: + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/label@3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/link@3.7.7(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/link': 3.5.9(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/link@3.7.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/link': 3.5.10(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/listbox@3.13.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/list': 3.11.1(react@19.0.0) + '@react-types/listbox': 3.5.3(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/listbox@3.14.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/list': 3.11.2(react@19.0.0) + '@react-types/listbox': 3.5.4(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/live-announcer@3.4.1': + dependencies: + '@swc/helpers': 0.5.15 + + '@react-aria/menu@3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/overlays': 3.24.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/menu': 3.9.0(react@19.0.0) + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-stately/tree': 3.8.6(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/menu': 3.9.13(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/menu@3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/overlays': 3.25.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/menu': 3.9.1(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-stately/tree': 3.8.7(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/menu': 3.9.14(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/meter@3.4.18(react@19.0.0)': + dependencies: + '@react-aria/progress': 3.4.18(react@19.0.0) + '@react-types/meter': 3.4.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/meter@3.4.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/progress': 3.4.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/meter': 3.4.6(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + transitivePeerDependencies: + - react-dom + + '@react-aria/numberfield@3.11.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/spinbutton': 3.6.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/numberfield': 3.9.9(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/numberfield': 3.8.8(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/numberfield@3.11.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/spinbutton': 3.6.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.15.0(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/numberfield': 3.9.8(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/numberfield': 3.8.7(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/overlays@3.24.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-aria/visually-hidden': 3.8.18(react@19.0.0) + '@react-stately/overlays': 3.6.12(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/overlays': 3.8.11(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/overlays@3.25.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/visually-hidden': 3.8.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/overlays': 3.6.13(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/overlays': 3.8.12(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/progress@3.4.18(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/progress': 3.5.8(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/progress@3.4.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/progress': 3.5.9(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/radio@3.10.10(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/form': 3.0.11(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/radio': 3.10.9(react@19.0.0) + '@react-types/radio': 3.8.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/radio@3.10.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/form': 3.0.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/radio': 3.10.10(react@19.0.0) + '@react-types/radio': 3.8.6(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/searchfield@3.7.11(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/textfield': 3.15.0(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/searchfield': 3.5.8(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/searchfield': 3.5.10(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/searchfield@3.8.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/searchfield': 3.5.9(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/searchfield': 3.5.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/select@3.15.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/form': 3.0.11(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/listbox': 3.13.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/menu': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-aria/visually-hidden': 3.8.18(react@19.0.0) + '@react-stately/select': 3.6.9(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/select': 3.9.8(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/select@3.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/form': 3.0.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/listbox': 3.14.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/menu': 3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/visually-hidden': 3.8.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/select': 3.6.10(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/select': 3.9.9(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/selection@3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/selection@3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/separator@3.4.4(react@19.0.0)': + dependencies: + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/separator@3.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/slider@3.7.14(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/slider': 3.6.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/slider': 3.7.7(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/slider@3.7.15(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/slider': 3.6.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/slider': 3.7.8(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/spinbutton@3.6.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/spinbutton@3.6.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/ssr@3.9.7(react@19.0.0)': + dependencies: + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/switch@3.6.10(react@19.0.0)': + dependencies: + '@react-aria/toggle': 3.10.10(react@19.0.0) + '@react-stately/toggle': 3.8.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/switch': 3.5.7(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/switch@3.6.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/toggle': 3.10.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/toggle': 3.8.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/switch': 3.5.8(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + transitivePeerDependencies: + - react-dom + + '@react-aria/table@3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/grid': 3.11.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-aria/visually-hidden': 3.8.18(react@19.0.0) + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/flags': 3.0.5 + '@react-stately/table': 3.13.0(react@19.0.0) + '@react-types/checkbox': 3.9.0(react@19.0.0) + '@react-types/grid': 3.2.10(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/table': 3.10.3(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/table@3.16.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/grid': 3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/visually-hidden': 3.8.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/flags': 3.0.5 + '@react-stately/table': 3.13.1(react@19.0.0) + '@react-types/checkbox': 3.9.1(react@19.0.0) + '@react-types/grid': 3.2.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/table': 3.10.4(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/tabs@3.9.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/tabs': 3.7.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/tabs': 3.3.11(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/tabs@3.9.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/tabs': 3.7.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/tabs': 3.3.12(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/tag@3.4.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/gridlist': 3.10.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/list': 3.11.1(react@19.0.0) + '@react-types/button': 3.10.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/tag@3.4.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/gridlist': 3.10.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/list': 3.11.2(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/textfield@3.15.0(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/form': 3.0.11(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/textfield': 3.10.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/textfield@3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/form': 3.0.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/textfield': 3.11.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/toggle@3.10.10(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/toggle': 3.8.0(react@19.0.0) + '@react-types/checkbox': 3.9.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/toggle@3.10.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/toggle': 3.8.1(react@19.0.0) + '@react-types/checkbox': 3.9.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/toolbar@3.0.0-beta.11(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/toolbar@3.0.0-beta.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/tooltip@3.7.10(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-stately/tooltip': 3.5.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/tooltip': 3.4.13(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/tooltip@3.7.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/tooltip': 3.5.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/tooltip': 3.4.14(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/tree@3.0.0-beta.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/gridlist': 3.10.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/tree': 3.8.7(react@19.0.0) + '@react-types/button': 3.10.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/utils@3.26.0(react@19.0.0)': + dependencies: + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + clsx: 2.1.1 + react: 19.0.0 - '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.10)(react@18.3.1)': + '@react-aria/utils@3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.10 + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + clsx: 2.1.1 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/virtualizer@4.1.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/virtualizer': 4.2.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-aria/visually-hidden@3.8.18(react@19.0.0)': + dependencies: + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-aria/visually-hidden@3.8.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@react-stately/autocomplete@3.0.0-alpha.0(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/calendar@3.6.0(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/calendar': 3.5.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/calendar@3.7.0(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/calendar': 3.6.0(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/checkbox@3.6.10(react@19.0.0)': + dependencies: + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/checkbox': 3.9.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/checkbox@3.6.11(react@19.0.0)': + dependencies: + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/checkbox': 3.9.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/collections@3.12.0(react@19.0.0)': + dependencies: + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/collections@3.12.1(react@19.0.0)': + dependencies: + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/color@3.8.1(react@19.0.0)': + dependencies: + '@internationalized/number': 3.6.0 + '@internationalized/string': 3.2.5 + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/numberfield': 3.9.8(react@19.0.0) + '@react-stately/slider': 3.6.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/color': 3.0.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/color@3.8.2(react@19.0.0)': + dependencies: + '@internationalized/number': 3.6.0 + '@internationalized/string': 3.2.5 + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/numberfield': 3.9.9(react@19.0.0) + '@react-stately/slider': 3.6.1(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/color': 3.0.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/combobox@3.10.1(react@19.0.0)': + dependencies: + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/list': 3.11.1(react@19.0.0) + '@react-stately/overlays': 3.6.12(react@19.0.0) + '@react-stately/select': 3.6.9(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/combobox': 3.13.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/combobox@3.10.2(react@19.0.0)': + dependencies: + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/list': 3.11.2(react@19.0.0) + '@react-stately/overlays': 3.6.13(react@19.0.0) + '@react-stately/select': 3.6.10(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/combobox': 3.13.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/data@3.12.0(react@19.0.0)': + dependencies: + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/data@3.12.1(react@19.0.0)': + dependencies: + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/datepicker@3.11.0(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@internationalized/string': 3.2.5 + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/overlays': 3.6.12(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/datepicker': 3.9.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/datepicker@3.12.0(react@19.0.0)': + dependencies: + '@internationalized/date': 3.7.0 + '@internationalized/string': 3.2.5 + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/overlays': 3.6.13(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/datepicker': 3.10.0(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/disclosure@3.0.0(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/disclosure@3.0.1(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/dnd@3.5.0(react@19.0.0)': + dependencies: + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/dnd@3.5.1(react@19.0.0)': + dependencies: + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/flags@3.0.5': + dependencies: + '@swc/helpers': 0.5.15 + + '@react-stately/form@3.1.0(react@19.0.0)': + dependencies: + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/form@3.1.1(react@19.0.0)': + dependencies: + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/grid@3.10.0(react@19.0.0)': + dependencies: + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-types/grid': 3.2.10(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/grid@3.10.1(react@19.0.0)': + dependencies: + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-types/grid': 3.2.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.10)(react@18.3.1)': + '@react-stately/layout@4.1.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.10 + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/table': 3.13.1(react@19.0.0) + '@react-stately/virtualizer': 4.2.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/grid': 3.2.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/table': 3.10.4(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + transitivePeerDependencies: + - react-dom - '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.10)(react@18.3.1)': + '@react-stately/list@3.11.1(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.10 + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.10)(react@18.3.1)': + '@react-stately/list@3.11.2(react@19.0.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.10 + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/menu@3.9.0(react@19.0.0)': + dependencies: + '@react-stately/overlays': 3.6.12(react@19.0.0) + '@react-types/menu': 3.9.13(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/menu@3.9.1(react@19.0.0)': + dependencies: + '@react-stately/overlays': 3.6.13(react@19.0.0) + '@react-types/menu': 3.9.14(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/numberfield@3.9.8(react@19.0.0)': + dependencies: + '@internationalized/number': 3.6.0 + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/numberfield': 3.8.7(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/numberfield@3.9.9(react@19.0.0)': + dependencies: + '@internationalized/number': 3.6.0 + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/numberfield': 3.8.8(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/overlays@3.6.12(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/overlays': 3.8.11(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/overlays@3.6.13(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/overlays': 3.8.12(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/radio@3.10.10(react@19.0.0)': + dependencies: + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/radio': 3.8.6(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/radio@3.10.9(react@19.0.0)': + dependencies: + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/radio': 3.8.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/searchfield@3.5.8(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/searchfield': 3.5.10(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/searchfield@3.5.9(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/searchfield': 3.5.11(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/select@3.6.10(react@19.0.0)': + dependencies: + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/list': 3.11.2(react@19.0.0) + '@react-stately/overlays': 3.6.13(react@19.0.0) + '@react-types/select': 3.9.9(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/select@3.6.9(react@19.0.0)': + dependencies: + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/list': 3.11.1(react@19.0.0) + '@react-stately/overlays': 3.6.12(react@19.0.0) + '@react-types/select': 3.9.8(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/selection@3.18.0(react@19.0.0)': + dependencies: + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/selection@3.19.0(react@19.0.0)': + dependencies: + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/slider@3.6.0(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/slider': 3.7.7(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/slider@3.6.1(react@19.0.0)': + dependencies: + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/slider': 3.7.8(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/table@3.13.0(react@19.0.0)': + dependencies: + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/flags': 3.0.5 + '@react-stately/grid': 3.10.0(react@19.0.0) + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/grid': 3.2.10(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/table': 3.10.3(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/table@3.13.1(react@19.0.0)': + dependencies: + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/flags': 3.0.5 + '@react-stately/grid': 3.10.1(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/grid': 3.2.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/table': 3.10.4(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + + '@react-stately/tabs@3.7.0(react@19.0.0)': + dependencies: + '@react-stately/list': 3.11.1(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/tabs': 3.3.11(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.10)(react@18.3.1)': + '@react-stately/tabs@3.7.1(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.10)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.10 + '@react-stately/list': 3.11.2(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/tabs': 3.3.12(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.10)(react@18.3.1)': + '@react-stately/toggle@3.8.0(react@19.0.0)': dependencies: - '@babel/runtime': 7.25.6 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.10 + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/checkbox': 3.9.0(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.10)(react@18.3.1)': + '@react-stately/toggle@3.8.1(react@19.0.0)': dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.10 - - '@react-aria/accordion@3.0.0-alpha.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/button': 3.10.1(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/tree': 3.8.5(react@18.3.1) - '@react-types/accordion': 3.0.0-alpha.24(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/breadcrumbs@3.5.17(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/link': 3.7.5(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/breadcrumbs': 3.7.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/breadcrumbs@3.5.18(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/link': 3.7.6(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/breadcrumbs': 3.7.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/button@3.10.0(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/button@3.10.1(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/calendar@3.5.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@internationalized/date': 3.5.6 - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/calendar': 3.5.5(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/calendar': 3.4.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/calendar@3.5.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@internationalized/date': 3.5.6 - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/calendar': 3.5.5(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/calendar': 3.4.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/checkbox@3.14.7(react@18.3.1)': - dependencies: - '@react-aria/form': 3.0.9(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/toggle': 3.10.8(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/checkbox': 3.6.9(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/checkbox@3.14.8(react@18.3.1)': - dependencies: - '@react-aria/form': 3.0.10(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/toggle': 3.10.9(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/checkbox': 3.6.9(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/collections@3.0.0-alpha.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - use-sync-external-store: 1.2.2(react@18.3.1) - - '@react-aria/color@3.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/numberfield': 3.11.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/slider': 3.7.12(react@18.3.1) - '@react-aria/spinbutton': 3.6.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.14.9(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.16(react@18.3.1) - '@react-stately/color': 3.8.0(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-types/color': 3.0.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/color@3.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/numberfield': 3.11.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/slider': 3.7.13(react@18.3.1) - '@react-aria/spinbutton': 3.6.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.14.10(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.17(react@18.3.1) - '@react-stately/color': 3.8.0(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-types/color': 3.0.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/combobox@3.10.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/listbox': 3.13.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/menu': 3.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.23.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.14.9(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/combobox': 3.10.0(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/combobox': 3.13.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/combobox@3.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/listbox': 3.13.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/menu': 3.15.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.14.10(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/combobox': 3.10.0(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/combobox': 3.13.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/datepicker@3.11.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@internationalized/date': 3.5.6 - '@internationalized/number': 3.5.4 - '@internationalized/string': 3.2.4 - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/form': 3.0.9(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/spinbutton': 3.6.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/datepicker': 3.10.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/calendar': 3.4.10(react@18.3.1) - '@react-types/datepicker': 3.8.3(react@18.3.1) - '@react-types/dialog': 3.5.13(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/datepicker@3.11.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@internationalized/date': 3.5.6 - '@internationalized/number': 3.5.4 - '@internationalized/string': 3.2.4 - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/form': 3.0.10(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/spinbutton': 3.6.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/datepicker': 3.10.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/calendar': 3.4.10(react@18.3.1) - '@react-types/datepicker': 3.8.3(react@18.3.1) - '@react-types/dialog': 3.5.13(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/dialog@3.5.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/overlays': 3.23.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/dialog': 3.5.13(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/dialog@3.5.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/dialog': 3.5.13(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/disclosure@3.0.0-alpha.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/button': 3.10.1(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/disclosure': 3.0.0-alpha.0(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-stately/tree': 3.8.5(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/dnd@3.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@internationalized/string': 3.2.4 - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/overlays': 3.23.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/dnd': 3.4.3(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/dnd@3.7.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@internationalized/string': 3.2.4 - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/dnd': 3.4.3(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/focus@3.18.3(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - clsx: 2.1.1 - react: 18.3.1 + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/checkbox': 3.9.1(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@react-aria/focus@3.18.4(react@18.3.1)': + '@react-stately/tooltip@3.5.0(react@19.0.0)': dependencies: - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - clsx: 2.1.1 - react: 18.3.1 - - '@react-aria/form@3.0.10(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/form@3.0.9(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/grid@3.10.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/grid': 3.9.3(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/grid@3.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/grid': 3.9.3(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/gridlist@3.9.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/grid': 3.10.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-stately/tree': 3.8.5(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/gridlist@3.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/grid': 3.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-stately/tree': 3.8.5(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/i18n@3.12.3(react@18.3.1)': - dependencies: - '@internationalized/date': 3.5.6 - '@internationalized/message': 3.1.5 - '@internationalized/number': 3.5.4 - '@internationalized/string': 3.2.4 - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/interactions@3.22.3(react@18.3.1)': - dependencies: - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/interactions@3.22.4(react@18.3.1)': - dependencies: - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/label@3.7.12(react@18.3.1)': - dependencies: - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/link@3.7.5(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/link': 3.5.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/link@3.7.6(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/link': 3.5.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/listbox@3.13.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-types/listbox': 3.5.2(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/listbox@3.13.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-types/listbox': 3.5.2(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/live-announcer@3.4.0': - dependencies: - '@swc/helpers': 0.5.13 - - '@react-aria/menu@3.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/overlays': 3.23.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/menu': 3.8.3(react@18.3.1) - '@react-stately/tree': 3.8.5(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/menu': 3.9.12(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/menu@3.15.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/menu': 3.8.3(react@18.3.1) - '@react-stately/tree': 3.8.5(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/menu': 3.9.12(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/meter@3.4.17(react@18.3.1)': - dependencies: - '@react-aria/progress': 3.4.17(react@18.3.1) - '@react-types/meter': 3.4.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/numberfield@3.11.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/spinbutton': 3.6.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.14.9(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/numberfield': 3.9.7(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/numberfield': 3.8.6(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/numberfield@3.11.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/spinbutton': 3.6.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.14.10(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/numberfield': 3.9.7(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/numberfield': 3.8.6(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/overlays@3.23.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.16(react@18.3.1) - '@react-stately/overlays': 3.6.11(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/overlays': 3.8.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/overlays@3.23.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.17(react@18.3.1) - '@react-stately/overlays': 3.6.11(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/overlays': 3.8.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/progress@3.4.17(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/progress': 3.5.7(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/radio@3.10.8(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/form': 3.0.9(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/radio': 3.10.8(react@18.3.1) - '@react-types/radio': 3.8.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/radio@3.10.9(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/form': 3.0.10(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/radio': 3.10.8(react@18.3.1) - '@react-types/radio': 3.8.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/searchfield@3.7.10(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/textfield': 3.14.10(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/searchfield': 3.5.7(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/searchfield': 3.5.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/searchfield@3.7.9(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/textfield': 3.14.9(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/searchfield': 3.5.7(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/searchfield': 3.5.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/select@3.14.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/form': 3.0.9(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/listbox': 3.13.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/menu': 3.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.16(react@18.3.1) - '@react-stately/select': 3.6.8(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/select': 3.9.7(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/select@3.14.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/form': 3.0.10(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/listbox': 3.13.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/menu': 3.15.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.17(react@18.3.1) - '@react-stately/select': 3.6.8(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/select': 3.9.7(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/selection@3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/selection@3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/separator@3.4.3(react@18.3.1)': - dependencies: - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/slider@3.7.12(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/slider': 3.5.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/slider': 3.7.6(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/slider@3.7.13(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/slider': 3.5.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/slider': 3.7.6(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/spinbutton@3.6.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/ssr@3.9.6(react@18.3.1)': - dependencies: - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/switch@3.6.8(react@18.3.1)': - dependencies: - '@react-aria/toggle': 3.10.8(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/switch': 3.5.6(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/switch@3.6.9(react@18.3.1)': - dependencies: - '@react-aria/toggle': 3.10.9(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/switch': 3.5.6(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/table@3.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/grid': 3.10.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.16(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/flags': 3.0.4 - '@react-stately/table': 3.12.3(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/table': 3.10.2(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/table@3.15.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/grid': 3.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.17(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/flags': 3.0.4 - '@react-stately/table': 3.12.3(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/table': 3.10.2(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/tabs@3.9.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/tabs': 3.6.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/tabs': 3.3.10(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/tabs@3.9.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/tabs': 3.6.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/tabs': 3.3.10(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/tag@3.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/gridlist': 3.9.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/tag@3.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/gridlist': 3.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/textfield@3.14.10(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/form': 3.0.10(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/textfield': 3.9.7(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/textfield@3.14.9(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/form': 3.0.9(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/textfield': 3.9.7(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/toggle@3.10.8(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/toggle@3.10.9(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/toolbar@3.0.0-beta.10(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/toolbar@3.0.0-beta.4(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/tooltip@3.7.8(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/tooltip': 3.4.13(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/tooltip': 3.4.12(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/tooltip@3.7.9(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/tooltip': 3.4.13(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/tooltip': 3.4.12(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/tree@3.0.0-beta.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/gridlist': 3.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/tree': 3.8.5(react@18.3.1) - '@react-types/button': 3.10.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/utils@3.25.3(react@18.3.1)': - dependencies: - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - clsx: 2.1.1 - react: 18.3.1 - - '@react-aria/virtualizer@4.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-stately/virtualizer': 4.1.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/visually-hidden@3.8.16(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-aria/visually-hidden@3.8.17(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/calendar@3.5.5(react@18.3.1)': - dependencies: - '@internationalized/date': 3.5.6 - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/calendar': 3.4.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/checkbox@3.6.9(react@18.3.1)': - dependencies: - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/collections@3.11.0(react@18.3.1)': - dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/color@3.8.0(react@18.3.1)': - dependencies: - '@internationalized/number': 3.5.4 - '@internationalized/string': 3.2.4 - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/numberfield': 3.9.7(react@18.3.1) - '@react-stately/slider': 3.5.8(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/color': 3.0.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/combobox@3.10.0(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-stately/overlays': 3.6.11(react@18.3.1) - '@react-stately/select': 3.6.8(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/combobox': 3.13.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/data@3.11.7(react@18.3.1)': - dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/datepicker@3.10.3(react@18.3.1)': - dependencies: - '@internationalized/date': 3.5.6 - '@internationalized/string': 3.2.4 - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/overlays': 3.6.11(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/datepicker': 3.8.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/disclosure@3.0.0-alpha.0(react@18.3.1)': - dependencies: - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/dnd@3.4.3(react@18.3.1)': - dependencies: - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/flags@3.0.4': - dependencies: - '@swc/helpers': 0.5.13 - - '@react-stately/form@3.0.6(react@18.3.1)': - dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/grid@3.9.3(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/layout@4.0.3(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/table': 3.12.3(react@18.3.1) - '@react-stately/virtualizer': 4.1.0(react@18.3.1) - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/table': 3.10.2(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/list@3.11.0(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/menu@3.8.3(react@18.3.1)': - dependencies: - '@react-stately/overlays': 3.6.11(react@18.3.1) - '@react-types/menu': 3.9.12(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/numberfield@3.9.7(react@18.3.1)': - dependencies: - '@internationalized/number': 3.5.4 - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/numberfield': 3.8.6(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-stately/overlays@3.6.11(react@18.3.1)': - dependencies: - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/overlays': 3.8.10(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-stately/overlays': 3.6.12(react@19.0.0) + '@react-types/tooltip': 3.4.13(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@react-stately/radio@3.10.8(react@18.3.1)': + '@react-stately/tooltip@3.5.1(react@19.0.0)': dependencies: - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/radio': 3.8.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-stately/overlays': 3.6.13(react@19.0.0) + '@react-types/tooltip': 3.4.14(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@react-stately/searchfield@3.5.7(react@18.3.1)': + '@react-stately/tree@3.8.6(react@19.0.0)': dependencies: - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/searchfield': 3.5.9(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@react-stately/select@3.6.8(react@18.3.1)': + '@react-stately/tree@3.8.7(react@19.0.0)': dependencies: - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-stately/overlays': 3.6.11(react@18.3.1) - '@react-types/select': 3.9.7(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@react-stately/selection@3.17.0(react@18.3.1)': + '@react-stately/utils@3.10.5(react@19.0.0)': dependencies: - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@swc/helpers': 0.5.15 + react: 19.0.0 - '@react-stately/slider@3.5.8(react@18.3.1)': + '@react-stately/virtualizer@4.2.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/slider': 3.7.6(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@swc/helpers': 0.5.15 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@react-stately/table@3.12.3(react@18.3.1)': + '@react-types/autocomplete@3.0.0-alpha.28(react@19.0.0)': dependencies: - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/flags': 3.0.4 - '@react-stately/grid': 3.9.3(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/table': 3.10.2(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-types/combobox': 3.13.2(react@19.0.0) + '@react-types/searchfield': 3.5.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-stately/tabs@3.6.10(react@18.3.1)': + '@react-types/breadcrumbs@3.7.10(react@19.0.0)': dependencies: - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/tabs': 3.3.10(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-types/link': 3.5.10(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-stately/toggle@3.7.8(react@18.3.1)': + '@react-types/breadcrumbs@3.7.9(react@19.0.0)': dependencies: - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/checkbox': 3.8.4(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-types/link': 3.5.9(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-stately/tooltip@3.4.13(react@18.3.1)': + '@react-types/button@3.10.1(react@19.0.0)': dependencies: - '@react-stately/overlays': 3.6.11(react@18.3.1) - '@react-types/tooltip': 3.4.12(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-stately/tree@3.8.5(react@18.3.1)': + '@react-types/button@3.10.2(react@19.0.0)': dependencies: - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-stately/utils@3.10.4(react@18.3.1)': + '@react-types/calendar@3.5.0(react@19.0.0)': dependencies: - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@internationalized/date': 3.7.0 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-stately/virtualizer@4.1.0(react@18.3.1)': + '@react-types/calendar@3.6.0(react@19.0.0)': dependencies: - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 - react: 18.3.1 + '@internationalized/date': 3.7.0 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/accordion@3.0.0-alpha.24(react@18.3.1)': + '@react-types/checkbox@3.9.0(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/breadcrumbs@3.7.8(react@18.3.1)': + '@react-types/checkbox@3.9.1(react@19.0.0)': dependencies: - '@react-types/link': 3.5.8(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/button@3.10.0(react@18.3.1)': + '@react-types/color@3.0.1(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/slider': 3.7.7(react@19.0.0) + react: 19.0.0 - '@react-types/calendar@3.4.10(react@18.3.1)': + '@react-types/color@3.0.2(react@19.0.0)': dependencies: - '@internationalized/date': 3.5.6 - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/slider': 3.7.8(react@19.0.0) + react: 19.0.0 - '@react-types/checkbox@3.8.4(react@18.3.1)': + '@react-types/combobox@3.13.1(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/color@3.0.0(react@18.3.1)': + '@react-types/combobox@3.13.2(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/slider': 3.7.6(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/combobox@3.13.0(react@18.3.1)': + '@react-types/datepicker@3.10.0(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@internationalized/date': 3.7.0 + '@react-types/calendar': 3.6.0(react@19.0.0) + '@react-types/overlays': 3.8.12(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/datepicker@3.8.3(react@18.3.1)': + '@react-types/datepicker@3.9.0(react@19.0.0)': dependencies: - '@internationalized/date': 3.5.6 - '@react-types/calendar': 3.4.10(react@18.3.1) - '@react-types/overlays': 3.8.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@internationalized/date': 3.7.0 + '@react-types/calendar': 3.5.0(react@19.0.0) + '@react-types/overlays': 3.8.11(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/dialog@3.5.13(react@18.3.1)': + '@react-types/dialog@3.5.14(react@19.0.0)': dependencies: - '@react-types/overlays': 3.8.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/overlays': 3.8.11(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/form@3.7.7(react@18.3.1)': + '@react-types/dialog@3.5.15(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/overlays': 3.8.12(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/grid@3.2.9(react@18.3.1)': + '@react-types/form@3.7.9(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/link@3.5.8(react@18.3.1)': + '@react-types/grid@3.2.10(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/listbox@3.5.2(react@18.3.1)': + '@react-types/grid@3.2.11(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/menu@3.9.12(react@18.3.1)': + '@react-types/link@3.5.10(react@19.0.0)': dependencies: - '@react-types/overlays': 3.8.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/meter@3.4.4(react@18.3.1)': + '@react-types/link@3.5.9(react@19.0.0)': dependencies: - '@react-types/progress': 3.5.7(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/numberfield@3.8.6(react@18.3.1)': + '@react-types/listbox@3.5.3(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/overlays@3.8.10(react@18.3.1)': + '@react-types/listbox@3.5.4(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/progress@3.5.7(react@18.3.1)': + '@react-types/menu@3.9.13(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/overlays': 3.8.11(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/radio@3.8.4(react@18.3.1)': + '@react-types/menu@3.9.14(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/overlays': 3.8.12(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/searchfield@3.5.9(react@18.3.1)': + '@react-types/meter@3.4.5(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/textfield': 3.9.7(react@18.3.1) - react: 18.3.1 + '@react-types/progress': 3.5.8(react@19.0.0) + react: 19.0.0 - '@react-types/select@3.9.7(react@18.3.1)': + '@react-types/meter@3.4.6(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/progress': 3.5.9(react@19.0.0) + react: 19.0.0 - '@react-types/shared@3.25.0(react@18.3.1)': + '@react-types/numberfield@3.8.7(react@19.0.0)': dependencies: - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/slider@3.7.6(react@18.3.1)': + '@react-types/numberfield@3.8.8(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/switch@3.5.6(react@18.3.1)': + '@react-types/overlays@3.8.11(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/table@3.10.2(react@18.3.1)': + '@react-types/overlays@3.8.12(react@19.0.0)': dependencies: - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/tabs@3.3.10(react@18.3.1)': + '@react-types/progress@3.5.8(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@react-types/textfield@3.9.7(react@18.3.1)': + '@react-types/progress@3.5.9(react@19.0.0)': dependencies: - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@react-types/tooltip@3.4.12(react@18.3.1)': + '@react-types/radio@3.8.5(react@19.0.0)': dependencies: - '@react-types/overlays': 3.8.10(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@remixicon/react@4.2.0(react@18.3.1)': + '@react-types/radio@3.8.6(react@19.0.0)': dependencies: - react: 18.3.1 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 - '@rtsao/scc@1.1.0': {} + '@react-types/searchfield@3.5.10(react@19.0.0)': + dependencies: + '@react-types/shared': 3.26.0(react@19.0.0) + '@react-types/textfield': 3.10.0(react@19.0.0) + react: 19.0.0 - '@rushstack/eslint-patch@1.10.4': {} + '@react-types/searchfield@3.5.11(react@19.0.0)': + dependencies: + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/textfield': 3.11.0(react@19.0.0) + react: 19.0.0 - '@shikijs/core@1.21.0': + '@react-types/select@3.9.8(react@19.0.0)': dependencies: - '@shikijs/engine-javascript': 1.21.0 - '@shikijs/engine-oniguruma': 1.21.0 - '@shikijs/types': 1.21.0 - '@shikijs/vscode-textmate': 9.2.2 - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.3 + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 - '@shikijs/core@1.22.1': + '@react-types/select@3.9.9(react@19.0.0)': dependencies: - '@shikijs/engine-javascript': 1.22.1 - '@shikijs/engine-oniguruma': 1.22.1 - '@shikijs/types': 1.22.1 - '@shikijs/vscode-textmate': 9.3.0 - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.3 + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + + '@react-types/shared@3.26.0(react@19.0.0)': + dependencies: + react: 19.0.0 + + '@react-types/shared@3.27.0(react@19.0.0)': + dependencies: + react: 19.0.0 + + '@react-types/slider@3.7.7(react@19.0.0)': + dependencies: + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 + + '@react-types/slider@3.7.8(react@19.0.0)': + dependencies: + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + + '@react-types/switch@3.5.7(react@19.0.0)': + dependencies: + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 + + '@react-types/switch@3.5.8(react@19.0.0)': + dependencies: + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + + '@react-types/table@3.10.3(react@19.0.0)': + dependencies: + '@react-types/grid': 3.2.10(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 + + '@react-types/table@3.10.4(react@19.0.0)': + dependencies: + '@react-types/grid': 3.2.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + + '@react-types/tabs@3.3.11(react@19.0.0)': + dependencies: + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 + + '@react-types/tabs@3.3.12(react@19.0.0)': + dependencies: + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + + '@react-types/textfield@3.10.0(react@19.0.0)': + dependencies: + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 + + '@react-types/textfield@3.11.0(react@19.0.0)': + dependencies: + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + + '@react-types/tooltip@3.4.13(react@19.0.0)': + dependencies: + '@react-types/overlays': 3.8.11(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 + + '@react-types/tooltip@3.4.14(react@19.0.0)': + dependencies: + '@react-types/overlays': 3.8.12(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + + '@remixicon/react@4.6.0(react@19.0.0)': + dependencies: + react: 19.0.0 + + '@rollup/rollup-android-arm-eabi@4.32.1': + optional: true + + '@rollup/rollup-android-arm64@4.32.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.32.1': + optional: true + + '@rollup/rollup-darwin-x64@4.32.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.32.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.32.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.32.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.32.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.32.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.32.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.32.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.32.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.32.1': + optional: true - '@shikijs/engine-javascript@1.21.0': + '@rollup/rollup-linux-s390x-gnu@4.32.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.32.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.32.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.32.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.32.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.32.1': + optional: true + + '@sec-ant/readable-stream@0.4.1': {} + + '@shikijs/core@2.2.0': dependencies: - '@shikijs/types': 1.21.0 - '@shikijs/vscode-textmate': 9.2.2 - oniguruma-to-js: 0.4.3 + '@shikijs/engine-javascript': 2.2.0 + '@shikijs/engine-oniguruma': 2.2.0 + '@shikijs/types': 2.2.0 + '@shikijs/vscode-textmate': 10.0.1 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.4 - '@shikijs/engine-javascript@1.22.1': + '@shikijs/engine-javascript@2.2.0': dependencies: - '@shikijs/types': 1.22.1 - '@shikijs/vscode-textmate': 9.3.0 - oniguruma-to-js: 0.4.3 + '@shikijs/types': 2.2.0 + '@shikijs/vscode-textmate': 10.0.1 + oniguruma-to-es: 2.3.0 - '@shikijs/engine-oniguruma@1.21.0': + '@shikijs/engine-oniguruma@2.2.0': dependencies: - '@shikijs/types': 1.21.0 - '@shikijs/vscode-textmate': 9.2.2 + '@shikijs/types': 2.2.0 + '@shikijs/vscode-textmate': 10.0.1 - '@shikijs/engine-oniguruma@1.22.1': + '@shikijs/langs@2.2.0': dependencies: - '@shikijs/types': 1.22.1 - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/types': 2.2.0 - '@shikijs/rehype@1.22.1': + '@shikijs/rehype@2.2.0': dependencies: - '@shikijs/types': 1.22.1 + '@shikijs/types': 2.2.0 '@types/hast': 3.0.4 hast-util-to-string: 3.0.1 - shiki: 1.22.1 + shiki: 2.2.0 unified: 11.0.5 unist-util-visit: 5.0.0 - '@shikijs/transformers@1.22.1': + '@shikijs/themes@2.2.0': dependencies: - shiki: 1.22.1 + '@shikijs/types': 2.2.0 - '@shikijs/types@1.21.0': + '@shikijs/transformers@2.2.0': dependencies: - '@shikijs/vscode-textmate': 9.2.2 - '@types/hast': 3.0.4 + '@shikijs/core': 2.2.0 + '@shikijs/types': 2.2.0 - '@shikijs/types@1.22.1': + '@shikijs/types@2.2.0': dependencies: - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 - '@shikijs/vscode-textmate@9.2.2': {} - - '@shikijs/vscode-textmate@9.3.0': {} + '@shikijs/vscode-textmate@10.0.1': {} '@sindresorhus/is@5.6.0': {} - '@swc/counter@0.1.3': {} + '@sindresorhus/merge-streams@4.0.0': {} - '@swc/helpers@0.5.13': - dependencies: - tslib: 2.7.0 + '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.5': + '@swc/helpers@0.5.15': dependencies: - '@swc/counter': 0.1.3 - tslib: 2.7.0 + tslib: 2.8.1 '@szmarczak/http-timer@5.0.1': dependencies: defer-to-connect: 2.0.1 - '@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.3.3)': + '@tailwindcss/node@4.0.0': + dependencies: + enhanced-resolve: 5.18.0 + jiti: 2.4.2 + tailwindcss: 4.0.0 + + '@tailwindcss/oxide-android-arm64@4.0.0': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.0.0': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.0.0': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.0.0': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.0': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.0.0': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.0.0': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.0.0': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.0': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.0.0': + optional: true + + '@tailwindcss/oxide@4.0.0': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.0.0 + '@tailwindcss/oxide-darwin-arm64': 4.0.0 + '@tailwindcss/oxide-darwin-x64': 4.0.0 + '@tailwindcss/oxide-freebsd-x64': 4.0.0 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.0 + '@tailwindcss/oxide-linux-arm64-gnu': 4.0.0 + '@tailwindcss/oxide-linux-arm64-musl': 4.0.0 + '@tailwindcss/oxide-linux-x64-gnu': 4.0.0 + '@tailwindcss/oxide-linux-x64-musl': 4.0.0 + '@tailwindcss/oxide-win32-arm64-msvc': 4.0.0 + '@tailwindcss/oxide-win32-x64-msvc': 4.0.0 + + '@tailwindcss/postcss@4.0.0': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.0.0 + '@tailwindcss/oxide': 4.0.0 + lightningcss: 1.29.1 + postcss: 8.4.49 + tailwindcss: 4.0.0 + + '@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.4.2)': dependencies: '@babel/generator': 7.17.7 - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.3 '@babel/traverse': 7.23.2 '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 lodash: 4.17.21 - prettier: 3.3.3 + prettier: 3.4.2 transitivePeerDependencies: - supports-color - '@ts-morph/common@0.19.0': - dependencies: - fast-glob: 3.3.2 - minimatch: 7.4.6 - mkdirp: 2.1.6 - path-browserify: 1.0.1 - - '@ts-morph/common@0.25.0': + '@ts-morph/common@0.26.0': dependencies: + fast-glob: 3.3.3 minimatch: 9.0.5 path-browserify: 1.0.1 - tinyglobby: 0.2.10 '@tsconfig/node10@1.0.11': {} @@ -9508,41 +9162,14 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@types/acorn@4.0.6': - dependencies: - '@types/estree': 1.0.6 - - '@types/async-retry@1.4.8': - dependencies: - '@types/retry': 0.12.5 - - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - - '@types/babel__generator@7.6.8': - dependencies: - '@babel/types': 7.25.6 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - - '@types/babel__traverse@7.20.6': + '@types/acorn@4.0.6': dependencies: - '@babel/types': 7.25.6 + '@types/estree': 1.0.6 '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 - '@types/diff@5.2.2': {} - '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.6 @@ -9552,11 +9179,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 18.19.54 - - '@types/hast@2.3.10': - dependencies: - '@types/unist': 2.0.11 + '@types/node': 18.19.70 '@types/hast@3.0.4': dependencies: @@ -9564,25 +9187,11 @@ snapshots: '@types/http-cache-semantics@4.0.4': {} - '@types/js-yaml@4.0.9': {} - '@types/json-schema@7.0.15': {} - '@types/json5@0.0.29': {} - '@types/jsonfile@6.1.4': dependencies: - '@types/node': 18.19.54 - - '@types/lodash.template@4.5.3': - dependencies: - '@types/lodash': 4.17.9 - - '@types/lodash@4.17.9': {} - - '@types/mdast@3.0.15': - dependencies: - '@types/unist': 2.0.11 + '@types/node': 18.19.70 '@types/mdast@4.0.4': dependencies: @@ -9596,167 +9205,126 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@18.19.54': + '@types/node@18.19.70': dependencies: undici-types: 5.26.5 '@types/node@20.5.1': {} - '@types/node@22.7.7': - dependencies: - undici-types: 6.19.8 - '@types/normalize-package-data@2.4.4': {} - '@types/prompts@2.4.9': + '@types/react-dom@19.0.2(@types/react@19.0.4)': dependencies: - '@types/node': 18.19.54 - kleur: 3.0.3 + '@types/react': 19.0.4 - '@types/prop-types@15.7.13': {} - - '@types/react-dom@18.3.0': - dependencies: - '@types/react': 18.3.10 - - '@types/react@18.3.10': + '@types/react@19.0.4': dependencies: - '@types/prop-types': 15.7.13 csstype: 3.1.3 - '@types/retry@0.12.5': {} - '@types/semver@6.2.7': {} - '@types/semver@7.5.8': {} - - '@types/stringify-object@4.0.5': {} - '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} - '@types/validate-npm-package-name@4.0.2': {} - - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7 - eslint: 8.57.1 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.22.0 + '@typescript-eslint/type-utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.22.0 + eslint: 9.19.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7 - eslint: 8.57.1 - optionalDependencies: - typescript: 5.6.2 + '@typescript-eslint/scope-manager': 8.22.0 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.22.0 + debug: 4.4.0 + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': + '@typescript-eslint/scope-manager@8.22.0': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/visitor-keys': 8.22.0 - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - debug: 4.3.7 - eslint: 8.57.1 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 + '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + debug: 4.4.0 + eslint: 9.19.0(jiti@2.4.2) + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@6.21.0': {} + '@typescript-eslint/types@8.22.0': {} - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.22.0(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7 - globby: 11.1.0 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/visitor-keys': 8.22.0 + debug: 4.4.0 + fast-glob: 3.3.3 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/utils@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.2) - eslint: 8.57.1 - semver: 7.6.3 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.22.0 + '@typescript-eslint/types': 8.22.0 + '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/visitor-keys@8.22.0': dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.22.0 + eslint-visitor-keys: 4.2.0 - '@ungap/structured-clone@1.2.0': {} + '@ungap/structured-clone@1.2.1': {} - '@vercel/analytics@1.3.1(next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': - dependencies: - server-only: 0.0.1 + '@vercel/analytics@1.4.1(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': optionalDependencies: - next: 14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 + next: 15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 through: 2.3.8 - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.12.1 + acorn: 8.14.0 acorn-walk@8.3.4: dependencies: - acorn: 8.12.1 - - acorn@8.12.1: {} - - agent-base@7.1.1: - dependencies: - debug: 4.3.7 - transitivePeerDependencies: - - supports-color + acorn: 8.14.0 - ajv-formats@3.0.1(ajv@8.17.1): - optionalDependencies: - ajv: 8.17.1 + acorn@8.14.0: {} ajv@6.12.6: dependencies: @@ -9768,29 +9336,10 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.2 + fast-uri: 3.0.5 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch@4.24.0: - dependencies: - '@algolia/cache-browser-local-storage': 4.24.0 - '@algolia/cache-common': 4.24.0 - '@algolia/cache-in-memory': 4.24.0 - '@algolia/client-account': 4.24.0 - '@algolia/client-analytics': 4.24.0 - '@algolia/client-common': 4.24.0 - '@algolia/client-personalization': 4.24.0 - '@algolia/client-search': 4.24.0 - '@algolia/logger-common': 4.24.0 - '@algolia/logger-console': 4.24.0 - '@algolia/recommend': 4.24.0 - '@algolia/requester-browser-xhr': 4.24.0 - '@algolia/requester-common': 4.24.0 - '@algolia/requester-node-http': 4.24.0 - '@algolia/transporter': 4.24.0 - optional: true - ansi-colors@4.1.3: {} ansi-regex@5.0.1: {} @@ -9809,19 +9358,12 @@ snapshots: any-promise@1.3.0: {} - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - apca-w3@0.1.9: dependencies: colorparsley: 0.1.8 arg@4.1.3: {} - arg@5.0.2: {} - argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -9830,136 +9372,97 @@ snapshots: aria-hidden@1.2.4: dependencies: - tslib: 2.7.0 - - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.3 + tslib: 2.8.1 - array-buffer-byte-length@1.0.1: + array-buffer-byte-length@1.0.2: dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 + call-bound: 1.0.3 + is-array-buffer: 3.0.5 array-ify@1.0.0: {} array-includes@3.1.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 + get-intrinsic: 1.2.7 + is-string: 1.1.1 array-union@2.1.0: {} array.prototype.findlast@1.2.5: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - - array.prototype.findlastindex@1.2.5: - dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - array.prototype.flat@1.3.2: + array.prototype.flat@1.3.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-shim-unscopables: 1.0.2 - array.prototype.flatmap@1.3.2: + array.prototype.flatmap@1.3.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-shim-unscopables: 1.0.2 array.prototype.tosorted@1.1.4: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - arraybuffer.prototype.slice@1.0.3: + arraybuffer.prototype.slice@1.0.4: dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 + get-intrinsic: 1.2.7 + is-array-buffer: 3.0.5 arrify@1.0.1: {} - ast-types-flow@0.0.8: {} - - ast-types@0.16.1: - dependencies: - tslib: 2.7.0 - astring@1.9.0: {} - async-retry@1.3.3: - dependencies: - retry: 0.13.1 - - atomically@2.0.3: - dependencies: - stubborn-fs: 1.2.5 - when-exit: 2.1.3 - - autoprefixer@10.4.20(postcss@8.4.47): + autoprefixer@10.4.20(postcss@8.4.49): dependencies: - browserslist: 4.24.0 - caniuse-lite: 1.0.30001664 + browserslist: 4.24.4 + caniuse-lite: 1.0.30001692 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.1.0 - postcss: 8.4.47 + picocolors: 1.1.1 + postcss: 8.4.49 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 - axe-core@4.10.0: {} - - axobject-query@4.1.0: {} + babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105: + dependencies: + '@babel/types': 7.26.3 bail@2.0.2: {} balanced-match@1.0.2: {} - base64-js@1.5.1: {} - better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 - binary-extensions@2.3.0: {} - - bl@5.1.0: - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.2 - brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -9973,23 +9476,18 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.24.0: + browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001664 - electron-to-chromium: 1.5.30 - node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.24.0) - - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 + caniuse-lite: 1.0.30001692 + electron-to-chromium: 1.5.79 + node-releases: 2.0.19 + update-browserslist-db: 1.1.2(browserslist@4.24.4) builtins@1.0.3: {} - bundle-require@4.2.1(esbuild@0.17.19): + bundle-require@5.1.0(esbuild@0.24.2): dependencies: - esbuild: 0.17.19 + esbuild: 0.24.2 load-tsconfig: 0.2.5 busboy@1.6.0: @@ -10010,17 +9508,24 @@ snapshots: normalize-url: 8.0.1 responselike: 3.0.0 - call-bind@1.0.7: + call-bind-apply-helpers@1.0.1: dependencies: - es-define-property: 1.0.0 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.4 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 + get-intrinsic: 1.2.7 set-function-length: 1.2.2 - callsites@3.1.0: {} + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.7 - camelcase-css@2.0.1: {} + callsites@3.1.0: {} camelcase-keys@6.2.2: dependencies: @@ -10030,7 +9535,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001664: {} + caniuse-lite@1.0.30001692: {} ccount@2.0.1: {} @@ -10045,8 +9550,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.3.0: {} - character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -10057,30 +9560,14 @@ snapshots: chardet@0.7.0: {} - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chokidar@4.0.1: + chokidar@4.0.3: dependencies: readdirp: 4.0.2 - chownr@3.0.0: {} - chroma-js@2.6.0: {} ci-info@3.9.0: {} - ci-info@4.0.0: {} - ciebase@0.1.1: dependencies: mout: 0.11.1 @@ -10090,12 +9577,6 @@ snapshots: ciebase: 0.1.1 mout: 0.11.1 - cli-cursor@4.0.0: - dependencies: - restore-cursor: 4.0.0 - - cli-spinners@2.9.2: {} - client-only@0.0.1: {} cliui@8.0.1: @@ -10104,22 +9585,20 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clone@1.0.4: {} - clsx@2.1.1: {} - cmdk@1.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + cmdk@1.0.4(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-dialog': 1.1.4(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.4)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2(@types/react@19.0.4))(@types/react@19.0.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + use-sync-external-store: 1.4.0(react@19.0.0) transitivePeerDependencies: - '@types/react' - '@types/react-dom' - code-block-writer@12.0.0: {} - code-block-writer@13.0.3: {} collapse-white-space@2.1.0: {} @@ -10163,23 +9642,13 @@ snapshots: concat-map@0.0.1: {} - conf@13.0.1: - dependencies: - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) - atomically: 2.0.3 - debounce-fn: 6.0.0 - dot-prop: 9.0.0 - env-paths: 3.0.0 - json-schema-typed: 8.0.1 - semver: 7.6.3 - uint8array-extras: 1.4.0 - config-chain@1.1.13: dependencies: ini: 1.3.8 proto-list: 1.2.4 + consola@3.4.0: {} + conventional-changelog-angular@6.0.0: dependencies: compare-func: 2.0.0 @@ -10195,23 +9664,30 @@ snapshots: meow: 8.1.2 split2: 3.2.2 - convert-source-map@2.0.0: {} - - cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.6.2))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.2))(typescript@5.6.2): + cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.7.3))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.7.3))(typescript@5.7.3): dependencies: '@types/node': 20.5.1 - cosmiconfig: 8.3.6(typescript@5.6.2) - ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.6.2) - typescript: 5.6.2 + cosmiconfig: 8.3.6(typescript@5.7.3) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.7.3) + typescript: 5.7.3 - cosmiconfig@8.3.6(typescript@5.6.2): + cosmiconfig@8.3.6(typescript@5.7.3): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.6.2 + typescript: 5.7.3 + + cosmiconfig@9.0.0(typescript@5.7.3): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.7.3 create-require@1.1.1: {} @@ -10221,51 +9697,37 @@ snapshots: shebang-command: 1.2.0 which: 1.3.1 - cross-spawn@7.0.3: + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - cssesc@3.0.0: {} - csstype@3.1.3: {} - damerau-levenshtein@1.0.8: {} - dargs@7.0.0: {} - data-uri-to-buffer@4.0.1: {} - - data-view-buffer@1.0.1: + data-view-buffer@1.0.2: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 es-errors: 1.3.0 - is-data-view: 1.0.1 + is-data-view: 1.0.2 - data-view-byte-length@1.0.1: + data-view-byte-length@1.0.2: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 es-errors: 1.3.0 - is-data-view: 1.0.1 + is-data-view: 1.0.2 - data-view-byte-offset@1.0.0: + data-view-byte-offset@1.0.1: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 es-errors: 1.3.0 - is-data-view: 1.0.1 + is-data-view: 1.0.2 dataloader@1.4.0: {} - debounce-fn@6.0.0: - dependencies: - mimic-function: 5.0.1 - - debug@3.2.7: - dependencies: - ms: 2.1.3 - - debug@4.3.7: + debug@4.4.0: dependencies: ms: 2.1.3 @@ -10276,6 +9738,8 @@ snapshots: decamelize@1.2.0: {} + decimal.js@10.4.3: {} + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 @@ -10284,44 +9748,19 @@ snapshots: dependencies: mimic-response: 3.1.0 - deep-equal@2.2.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 - is-arguments: 1.1.1 - is-array-buffer: 3.0.4 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - side-channel: 1.0.6 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - deep-extend@0.6.0: {} deep-is@0.1.4: {} deepmerge@4.3.1: {} - defaults@1.0.4: - dependencies: - clone: 1.0.4 - defer-to-connect@2.0.1: {} define-data-property@1.1.4: dependencies: - es-define-property: 1.0.0 + es-define-property: 1.0.1 es-errors: 1.3.0 - gopd: 1.0.1 + gopd: 1.2.0 define-properties@1.2.1: dependencies: @@ -10333,6 +9772,8 @@ snapshots: detect-indent@6.1.0: {} + detect-libc@1.0.3: {} + detect-libc@2.0.3: {} detect-node-es@1.1.0: {} @@ -10341,47 +9782,41 @@ snapshots: dependencies: dequal: 2.0.3 - didyoumean@1.2.2: {} - diff@4.0.2: {} - diff@5.2.0: {} - dir-glob@3.0.1: dependencies: path-type: 4.0.0 - dlv@1.1.3: {} - doctrine@2.1.0: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dot-prop@5.3.0: dependencies: is-obj: 2.0.0 - dot-prop@9.0.0: - dependencies: - type-fest: 4.26.1 - dotenv@16.0.3: {} dotenv@8.6.0: {} + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.30: {} + electron-to-chromium@1.5.79: {} + + emoji-regex-xs@1.0.0: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - enhanced-resolve@5.17.1: + enhanced-resolve@5.18.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -10391,103 +9826,97 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - env-paths@3.0.0: {} + env-paths@2.2.1: {} error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.3: + es-abstract@1.23.9: dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 + call-bind: 1.0.8 + call-bound: 1.0.3 + 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.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 globalthis: 1.0.4 - gopd: 1.0.1 + gopd: 1.2.0 has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.2.0 + has-symbols: 1.1.0 hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.2 + is-data-view: 1.0.2 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.0 + math-intrinsics: 1.1.0 + object-inspect: 1.13.3 object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 + 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 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 + 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.18 - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 + es-define-property@1.0.1: {} es-errors@1.3.0: {} - es-get-iterator@1.1.3: + es-iterator-helpers@1.2.1: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.3 - is-set: 2.0.3 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - - es-iterator-helpers@1.0.19: - dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 + es-set-tostringtag: 2.1.0 function-bind: 1.1.2 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.7 globalthis: 1.0.4 + gopd: 1.2.0 has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - iterator.prototype: 1.1.2 - safe-array-concat: 1.1.2 + 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-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.0.3: + es-set-tostringtag@2.1.0: dependencies: - get-intrinsic: 1.2.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 has-tostringtag: 1.0.2 hasown: 2.0.2 @@ -10495,11 +9924,11 @@ snapshots: dependencies: hasown: 2.0.2 - es-to-primitive@1.2.1: + es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + is-date-object: 1.1.0 + is-symbol: 1.1.1 esast-util-from-estree@2.0.0: dependencies: @@ -10511,35 +9940,10 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.12.1 + acorn: 8.14.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.2 - esbuild@0.17.19: - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - esbuild@0.23.1: optionalDependencies: '@esbuild/aix-ppc64': 0.23.1 @@ -10567,32 +9971,33 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 - esbuild@0.24.0: + esbuild@0.24.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.24.0 - '@esbuild/android-arm': 0.24.0 - '@esbuild/android-arm64': 0.24.0 - '@esbuild/android-x64': 0.24.0 - '@esbuild/darwin-arm64': 0.24.0 - '@esbuild/darwin-x64': 0.24.0 - '@esbuild/freebsd-arm64': 0.24.0 - '@esbuild/freebsd-x64': 0.24.0 - '@esbuild/linux-arm': 0.24.0 - '@esbuild/linux-arm64': 0.24.0 - '@esbuild/linux-ia32': 0.24.0 - '@esbuild/linux-loong64': 0.24.0 - '@esbuild/linux-mips64el': 0.24.0 - '@esbuild/linux-ppc64': 0.24.0 - '@esbuild/linux-riscv64': 0.24.0 - '@esbuild/linux-s390x': 0.24.0 - '@esbuild/linux-x64': 0.24.0 - '@esbuild/netbsd-x64': 0.24.0 - '@esbuild/openbsd-arm64': 0.24.0 - '@esbuild/openbsd-x64': 0.24.0 - '@esbuild/sunos-x64': 0.24.0 - '@esbuild/win32-arm64': 0.24.0 - '@esbuild/win32-ia32': 0.24.0 - '@esbuild/win32-x64': 0.24.0 + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 escalade@3.2.0: {} @@ -10602,207 +10007,99 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-next@14.2.13(eslint@8.57.1)(typescript@5.6.2): - dependencies: - '@next/eslint-plugin-next': 14.2.13 - '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) - eslint-plugin-react: 7.37.1(eslint@8.57.1) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - eslint-plugin-import-x - - supports-color - - eslint-config-prettier@9.1.0(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - - eslint-config-turbo@2.1.3(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - eslint-plugin-turbo: 2.1.3(eslint@8.57.1) - - eslint-import-resolver-node@0.3.9: - dependencies: - debug: 3.2.7 - is-core-module: 2.15.1 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1): - dependencies: - '@nolyfill/is-core-module': 1.0.39 - debug: 4.3.7 - enhanced-resolve: 5.17.1 - eslint: 8.57.1 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) - fast-glob: 3.3.2 - get-tsconfig: 4.8.1 - is-bun-module: 1.2.1 - is-glob: 4.0.3 - optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1) - transitivePeerDependencies: - - supports-color - - eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + eslint-config-prettier@10.0.1(eslint@9.19.0(jiti@2.4.2)): dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) - hasown: 2.0.2 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.2) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color + eslint: 9.19.0(jiti@2.4.2) - eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): - dependencies: - aria-query: 5.1.3 - array-includes: 3.1.8 - array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.8 - axe-core: 4.10.0 - axobject-query: 4.1.0 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.19 - eslint: 8.57.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.0.3 - string.prototype.includes: 2.0.0 + eslint-plugin-only-warn@1.1.0: {} - eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + eslint-plugin-react-hooks@5.1.0(eslint@9.19.0(jiti@2.4.2)): dependencies: - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) - eslint-plugin-react@7.37.1(eslint@8.57.1): + eslint-plugin-react@7.37.4(eslint@9.19.0(jiti@2.4.2)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 - array.prototype.flatmap: 1.3.2 + array.prototype.flatmap: 1.3.3 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.0.19 - eslint: 8.57.1 + es-iterator-helpers: 1.2.1 + eslint: 9.19.0(jiti@2.4.2) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 - object.values: 1.2.0 + 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.11 + string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.1.3(eslint@8.57.1): + eslint-plugin-turbo@2.4.0(eslint@9.19.0(jiti@2.4.2))(turbo@2.4.0): dependencies: dotenv: 16.0.3 - eslint: 8.57.1 + eslint: 9.19.0(jiti@2.4.2) + turbo: 2.4.0 - eslint-scope@7.2.2: + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.1: + eslint-visitor-keys@4.2.0: {} + + eslint@9.19.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.11.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.2 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.19.0 + '@eslint/plugin-kit': 0.2.5 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.7 - doctrine: 3.0.0 + cross-spawn: 7.0.6 + debug: 4.4.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.3.0: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 3.4.3 + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 esprima@4.0.1: {} @@ -10816,20 +10113,10 @@ snapshots: estraverse@5.3.0: {} - estree-util-attach-comments@2.1.1: - dependencies: - '@types/estree': 1.0.6 - estree-util-attach-comments@3.0.0: dependencies: '@types/estree': 1.0.6 - estree-util-build-jsx@2.2.2: - dependencies: - '@types/estree-jsx': 1.0.5 - estree-util-is-identifier-name: 2.1.0 - estree-walker: 3.0.3 - estree-util-build-jsx@3.0.1: dependencies: '@types/estree-jsx': 1.0.5 @@ -10837,8 +10124,6 @@ snapshots: estree-util-is-identifier-name: 3.0.0 estree-walker: 3.0.3 - estree-util-is-identifier-name@2.1.0: {} - estree-util-is-identifier-name@3.0.0: {} estree-util-scope@1.0.0: @@ -10846,27 +10131,16 @@ snapshots: '@types/estree': 1.0.6 devlop: 1.1.0 - estree-util-to-js@1.2.0: - dependencies: - '@types/estree-jsx': 1.0.5 - astring: 1.9.0 - source-map: 0.7.4 - estree-util-to-js@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 astring: 1.9.0 source-map: 0.7.4 - estree-util-value-to-estree@3.1.2: + estree-util-value-to-estree@3.2.1: dependencies: '@types/estree': 1.0.6 - estree-util-visit@1.2.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 2.0.11 - estree-util-visit@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -10880,7 +10154,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -10890,17 +10164,20 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - execa@7.2.0: + execa@9.5.2: dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.2.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.1 extend-shallow@2.0.1: dependencies: @@ -10918,7 +10195,15 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-glob@3.3.2: + 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 '@nodelib/fs.walk': 1.2.8 @@ -10930,9 +10215,9 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.0.2: {} + fast-uri@3.0.5: {} - fastq@1.17.1: + fastq@1.18.0: dependencies: reusify: 1.0.4 @@ -10940,14 +10225,13 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - fetch-blob@3.2.0: + figures@6.1.0: dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 + is-unicode-supported: 2.1.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.1.1: dependencies: @@ -10963,13 +10247,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: - flatted: 3.3.1 + flatted: 3.3.2 keyv: 4.5.4 - rimraf: 3.0.2 - flatted@3.3.1: {} + flatted@3.3.2: {} for-each@0.3.3: dependencies: @@ -10977,23 +10260,21 @@ snapshots: foreground-child@3.3.0: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 signal-exit: 4.1.0 form-data-encoder@2.1.4: {} - formdata-polyfill@4.0.10: - dependencies: - fetch-blob: 3.2.0 - fraction.js@4.3.7: {} - framer-motion@11.11.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + framer-motion@11.16.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - tslib: 2.7.0 + motion-dom: 11.16.4 + motion-utils: 11.16.0 + tslib: 2.8.1 optionalDependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) fs-extra@11.2.0: dependencies: @@ -11001,6 +10282,12 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 @@ -11013,124 +10300,125 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 - fs.realpath@1.0.0: {} - fsevents@2.3.3: optional: true - fumadocs-core@14.0.2(@types/react@18.3.10): + fumadocs-core@15.0.1(@types/react@19.0.4)(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@formatjs/intl-localematcher': 0.5.6 - '@orama/orama': 3.0.1 - '@shikijs/rehype': 1.22.1 - '@shikijs/transformers': 1.22.1 + '@formatjs/intl-localematcher': 0.5.10 + '@orama/orama': 2.1.1 + '@shikijs/rehype': 2.2.0 + '@shikijs/transformers': 2.2.0 github-slugger: 2.0.0 - hast-util-to-estree: 3.1.0 - image-size: 1.1.1 + hast-util-to-estree: 3.1.1 + hast-util-to-jsx-runtime: 2.3.2 + image-size: 1.2.0 negotiator: 1.0.0 - react-remove-scroll: 2.6.0(@types/react@18.3.10)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@19.0.4)(react@19.0.0) remark: 15.0.1 remark-gfm: 4.0.0 scroll-into-view-if-needed: 3.1.0 - shiki: 1.22.1 + shiki: 2.2.0 unist-util-visit: 5.0.0 optionalDependencies: - algoliasearch: 4.24.0 - next: 15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + next: 15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) transitivePeerDependencies: - - '@babel/core' - - '@opentelemetry/api' - - '@playwright/test' - '@types/react' - - babel-plugin-macros - - babel-plugin-react-compiler - - sass - supports-color - fumadocs-docgen@1.3.0(typescript@5.6.2): + fumadocs-docgen@1.3.5(typescript@5.7.3): dependencies: - estree-util-value-to-estree: 3.1.2 - fumadocs-typescript: 3.0.0(typescript@5.6.2) - hast-util-to-estree: 3.1.0 - npm-to-yarn: 3.0.0 - ts-morph: 24.0.0 + estree-util-value-to-estree: 3.2.1 + fumadocs-typescript: 3.0.3(typescript@5.7.3) + hast-util-to-estree: 3.1.1 + npm-to-yarn: 3.0.1 + oxc-transform: 0.47.1 unist-util-visit: 5.0.0 - zod: 3.23.8 + zod: 3.24.1 transitivePeerDependencies: - supports-color - typescript - fumadocs-mdx@11.1.0(acorn@8.12.1)(fumadocs-core@14.0.2(@types/react@18.3.10))(next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + fumadocs-mdx@11.4.0(acorn@8.14.0)(fumadocs-core@15.0.1(@types/react@19.0.4)(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)): dependencies: - '@mdx-js/mdx': 3.1.0(acorn@8.12.1) - chokidar: 4.0.1 - cross-spawn: 7.0.3 - esbuild: 0.24.0 - estree-util-value-to-estree: 3.1.2 - fast-glob: 3.3.2 - fumadocs-core: 14.0.2(@types/react@18.3.10) + '@mdx-js/mdx': 3.1.0(acorn@8.14.0) + chokidar: 4.0.3 + cross-spawn: 7.0.6 + esbuild: 0.24.2 + estree-util-value-to-estree: 3.2.1 + fast-glob: 3.3.3 + fumadocs-core: 15.0.1(@types/react@19.0.4)(next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) gray-matter: 4.0.3 micromatch: 4.0.8 - next: 14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - zod: 3.23.8 + next: 15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + unist-util-visit: 5.0.0 + zod: 3.24.1 transitivePeerDependencies: - acorn - supports-color - fumadocs-typescript@3.0.0(typescript@5.6.2): + fumadocs-typescript@3.0.3(typescript@5.7.3): dependencies: - '@types/node': 22.7.7 - fast-glob: 3.3.2 + fast-glob: 3.3.3 hast-util-to-jsx-runtime: 2.3.2 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 - shiki: 1.22.1 - ts-morph: 24.0.0 - typescript: 5.6.2 + shiki: 2.2.0 + ts-morph: 25.0.0 + typescript: 5.7.3 transitivePeerDependencies: - supports-color function-bind@1.1.2: {} - function.prototype.name@1.1.6: + function.prototype.name@1.1.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 - es-abstract: 1.23.3 functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 functions-have-names@1.2.3: {} - geist@1.3.1(next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): - dependencies: - next: 14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - - gensync@1.0.0-beta.2: {} - get-caller-file@2.0.5: {} - get-intrinsic@1.2.4: + get-intrinsic@1.2.7: dependencies: + call-bind-apply-helpers: 1.0.1 + es-define-property: 1.0.1 es-errors: 1.3.0 + es-object-atoms: 1.0.0 function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 hasown: 2.0.2 + math-intrinsics: 1.1.0 get-nonce@1.0.1: {} - get-own-enumerable-keys@1.0.0: {} + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.0.0 get-stream@6.0.1: {} - get-symbol-description@1.0.2: + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + + get-symbol-description@1.1.0: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.7 get-tsconfig@4.8.1: dependencies: @@ -11151,16 +10439,8 @@ snapshots: is-glob: 4.0.3 glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - glob@10.3.10: - dependencies: - foreground-child: 3.3.0 - jackspeak: 2.3.6 - minimatch: 9.0.5 - minipass: 7.1.2 - path-scurry: 1.11.1 + dependencies: + is-glob: 4.0.3 glob@10.4.5: dependencies: @@ -11180,42 +10460,31 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - global-dirs@0.1.1: dependencies: ini: 1.3.8 globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} + + globals@15.14.0: {} globalthis@1.0.4: dependencies: define-properties: 1.2.1 - gopd: 1.0.1 + gopd: 1.2.0 globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.2 + fast-glob: 3.3.3 ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 + gopd@1.2.0: {} got@12.6.1: dependencies: @@ -11246,7 +10515,7 @@ snapshots: hard-rejection@2.1.0: {} - has-bigints@1.0.2: {} + has-bigints@1.1.0: {} has-flag@3.0.0: {} @@ -11254,41 +10523,23 @@ snapshots: has-property-descriptors@1.0.2: dependencies: - es-define-property: 1.0.0 + es-define-property: 1.0.1 - has-proto@1.0.3: {} + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 - has-symbols@1.0.3: {} + has-symbols@1.1.0: {} has-tostringtag@1.0.2: dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 hasown@2.0.2: dependencies: function-bind: 1.1.2 - hast-util-to-estree@2.3.3: - dependencies: - '@types/estree': 1.0.6 - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/unist': 2.0.11 - comma-separated-tokens: 2.0.3 - estree-util-attach-comments: 2.1.1 - estree-util-is-identifier-name: 2.1.0 - hast-util-whitespace: 2.0.1 - mdast-util-mdx-expression: 1.3.2 - mdast-util-mdxjs-esm: 1.3.1 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 - unist-util-position: 4.0.4 - zwitch: 2.0.4 - transitivePeerDependencies: - - supports-color - - hast-util-to-estree@3.1.0: + hast-util-to-estree@3.1.1: dependencies: '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.5 @@ -11303,13 +10554,13 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 6.5.0 space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 + style-to-object: 1.0.8 unist-util-position: 5.0.0 zwitch: 2.0.4 transitivePeerDependencies: - supports-color - hast-util-to-html@9.0.3: + hast-util-to-html@9.0.4: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 @@ -11323,26 +10574,6 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-to-jsx-runtime@2.3.0: - dependencies: - '@types/estree': 1.0.6 - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.1.3 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - style-to-object: 1.0.8 - unist-util-position: 5.0.0 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color - hast-util-to-jsx-runtime@2.3.2: dependencies: '@types/estree': 1.0.6 @@ -11367,8 +10598,6 @@ snapshots: dependencies: '@types/hast': 3.0.4 - hast-util-whitespace@2.0.1: {} - hast-util-whitespace@3.0.0: dependencies: '@types/hast': 3.0.4 @@ -11390,28 +10619,19 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - https-proxy-agent@6.2.1: - dependencies: - agent-base: 7.1.1 - debug: 4.3.7 - transitivePeerDependencies: - - supports-color - human-id@1.0.2: {} human-signals@2.1.0: {} - human-signals@4.3.1: {} + human-signals@8.0.0: {} iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - ieee754@1.2.1: {} - ignore@5.3.2: {} - image-size@1.1.1: + image-size@1.2.0: dependencies: queue: 6.0.2 @@ -11426,35 +10646,24 @@ snapshots: indent-string@4.0.0: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - inherits@2.0.4: {} ini@1.3.8: {} - inline-style-parser@0.1.1: {} - inline-style-parser@0.2.4: {} - internal-slot@1.0.7: + internal-slot@1.1.0: dependencies: es-errors: 1.3.0 hasown: 2.0.2 - side-channel: 1.0.6 - - intl-messageformat@10.5.14: - dependencies: - '@formatjs/ecma402-abstract': 2.0.0 - '@formatjs/fast-memoize': 2.2.0 - '@formatjs/icu-messageformat-parser': 2.7.8 - tslib: 2.7.0 + side-channel: 1.1.0 - invariant@2.2.4: + intl-messageformat@10.7.11: dependencies: - loose-envify: 1.4.0 + '@formatjs/ecma402-abstract': 2.3.2 + '@formatjs/fast-memoize': 2.2.6 + '@formatjs/icu-messageformat-parser': 2.9.8 + tslib: 2.8.1 is-alphabetical@2.0.1: {} @@ -11463,55 +10672,47 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-array-buffer@3.0.4: + is-array-buffer@3.0.5: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 is-arrayish@0.2.1: {} is-arrayish@0.3.2: {} - is-async-function@2.0.0: + is-async-function@2.1.0: dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - is-bigint@1.0.4: + is-bigint@1.1.0: dependencies: - has-bigints: 1.0.2 + has-bigints: 1.1.0 - is-binary-path@2.1.0: + is-boolean-object@1.2.1: dependencies: - binary-extensions: 2.3.0 - - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 has-tostringtag: 1.0.2 - is-buffer@2.0.5: {} - - is-bun-module@1.2.1: - dependencies: - semver: 7.6.3 - is-callable@1.2.7: {} - is-core-module@2.15.1: + is-core-module@2.16.1: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: + is-data-view@1.0.2: dependencies: - is-typed-array: 1.1.13 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + is-typed-array: 1.1.15 - is-date-object@1.0.5: + is-date-object@1.1.0: dependencies: + call-bound: 1.0.3 has-tostringtag: 1.0.2 is-decimal@2.0.1: {} @@ -11520,15 +10721,18 @@ snapshots: is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: + is-finalizationregistry@1.1.1: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 is-fullwidth-code-point@3.0.0: {} - is-generator-function@1.0.10: + is-generator-function@1.1.0: dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 is-glob@4.0.3: dependencies: @@ -11536,81 +10740,73 @@ snapshots: is-hexadecimal@2.0.1: {} - is-interactive@2.0.0: {} - is-map@2.0.3: {} - is-negative-zero@2.0.3: {} - - is-number-object@1.0.7: + is-number-object@1.1.1: dependencies: + call-bound: 1.0.3 has-tostringtag: 1.0.2 is-number@7.0.0: {} is-obj@2.0.0: {} - is-obj@3.0.0: {} - - is-path-inside@3.0.3: {} - is-plain-obj@1.1.0: {} is-plain-obj@4.1.0: {} - is-reference@3.0.2: - dependencies: - '@types/estree': 1.0.6 - - is-regex@1.1.4: + is-regex@1.2.1: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 + gopd: 1.2.0 has-tostringtag: 1.0.2 - - is-regexp@3.1.0: {} + hasown: 2.0.2 is-set@2.0.3: {} - is-shared-array-buffer@1.0.3: + is-shared-array-buffer@1.0.4: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 is-stream@2.0.1: {} - is-stream@3.0.0: {} + is-stream@4.0.1: {} - is-string@1.0.7: + is-string@1.1.1: dependencies: + call-bound: 1.0.3 has-tostringtag: 1.0.2 is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 - is-symbol@1.0.4: + is-symbol@1.1.1: dependencies: - has-symbols: 1.0.3 + call-bound: 1.0.3 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 is-text-path@1.0.1: dependencies: text-extensions: 1.9.0 - is-typed-array@1.1.13: + is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.15 + which-typed-array: 1.1.18 - is-unicode-supported@1.3.0: {} + is-unicode-supported@2.1.0: {} is-weakmap@2.0.2: {} - is-weakref@1.0.2: + is-weakref@1.1.0: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 - is-weakset@2.0.3: + is-weakset@2.0.4: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 is-windows@1.0.2: {} @@ -11618,20 +10814,15 @@ snapshots: isexe@2.0.0: {} - iterator.prototype@1.1.2: + iterator.prototype@1.1.5: dependencies: - define-properties: 1.2.1 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.6 + define-data-property: 1.1.4 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + has-symbols: 1.1.0 set-function-name: 2.0.2 - jackspeak@2.3.6: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 @@ -11644,19 +10835,19 @@ snapshots: javascript-natural-sort@0.7.1: {} - jiti@1.21.6: {} + jiti@2.4.2: {} jju@1.4.0: {} - jotai-immer@0.4.1(immer@10.1.1)(jotai@2.10.1(@types/react@18.3.10)(react@18.3.1)): + jotai-immer@0.4.1(immer@10.1.1)(jotai@2.8.0(@types/react@19.0.4)(react@19.0.0)): dependencies: immer: 10.1.1 - jotai: 2.10.1(@types/react@18.3.10)(react@18.3.1) + jotai: 2.8.0(@types/react@19.0.4)(react@19.0.0) - jotai@2.10.1(@types/react@18.3.10)(react@18.3.1): + jotai@2.8.0(@types/react@19.0.4)(react@19.0.0): optionalDependencies: - '@types/react': 18.3.10 - react: 18.3.1 + '@types/react': 19.0.4 + react: 19.0.0 joycon@3.1.1: {} @@ -11673,6 +10864,8 @@ snapshots: jsesc@2.5.2: {} + jsesc@3.1.0: {} + json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} @@ -11681,14 +10874,8 @@ snapshots: json-schema-traverse@1.0.0: {} - json-schema-typed@8.0.1: {} - 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: @@ -11706,9 +10893,9 @@ snapshots: jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 - array.prototype.flat: 1.3.2 - object.assign: 4.1.5 - object.values: 1.2.0 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 keyv@4.5.4: dependencies: @@ -11716,24 +10903,57 @@ snapshots: kind-of@6.0.3: {} - kleur@3.0.3: {} - - kleur@4.1.5: {} - - 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 - lilconfig@2.1.0: {} + lightningcss-darwin-arm64@1.29.1: + optional: true + + lightningcss-darwin-x64@1.29.1: + optional: true + + lightningcss-freebsd-x64@1.29.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.29.1: + optional: true + + lightningcss-linux-arm64-gnu@1.29.1: + optional: true + + lightningcss-linux-arm64-musl@1.29.1: + optional: true + + lightningcss-linux-x64-gnu@1.29.1: + optional: true + + lightningcss-linux-x64-musl@1.29.1: + optional: true + + lightningcss-win32-arm64-msvc@1.29.1: + optional: true + + lightningcss-win32-x64-msvc@1.29.1: + optional: true - lilconfig@3.1.2: {} + lightningcss@1.29.1: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.29.1 + lightningcss-darwin-x64: 1.29.1 + lightningcss-freebsd-x64: 1.29.1 + lightningcss-linux-arm-gnueabihf: 1.29.1 + lightningcss-linux-arm64-gnu: 1.29.1 + lightningcss-linux-arm64-musl: 1.29.1 + lightningcss-linux-x64-gnu: 1.29.1 + lightningcss-linux-x64-musl: 1.29.1 + lightningcss-win32-arm64-msvc: 1.29.1 + lightningcss-win32-x64-msvc: 1.29.1 + + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -11747,8 +10967,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash._reinterpolate@3.0.0: {} - lodash.camelcase@4.3.0: {} lodash.isfunction@3.0.9: {} @@ -11767,26 +10985,12 @@ snapshots: lodash.startcase@4.4.0: {} - lodash.template@4.5.0: - dependencies: - lodash._reinterpolate: 3.0.0 - lodash.templatesettings: 4.2.0 - - lodash.templatesettings@4.2.0: - dependencies: - lodash._reinterpolate: 3.0.0 - lodash.uniq@4.5.0: {} lodash.upperfirst@4.3.1: {} lodash@4.17.21: {} - log-symbols@5.1.0: - dependencies: - chalk: 5.3.0 - is-unicode-supported: 1.3.0 - longest-streak@3.1.0: {} loose-envify@1.4.0: @@ -11797,24 +11001,20 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.0.1: {} + lru-cache@11.0.2: {} lru-cache@4.1.5: dependencies: pseudomap: 1.0.2 yallist: 2.1.2 - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - lru-cache@6.0.0: dependencies: yallist: 4.0.0 - lucide-react@0.311.0(react@18.3.1): + lucide-react@0.469.0(react@19.0.0): dependencies: - react: 18.3.1 + react: 19.0.0 make-error@1.3.6: {} @@ -11822,55 +11022,32 @@ snapshots: map-obj@4.3.0: {} - markdown-extensions@1.1.1: {} - markdown-extensions@2.0.0: {} - markdown-table@3.0.3: {} + markdown-table@3.0.4: {} - mdast-util-definitions@5.1.2: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - unist-util-visit: 4.1.2 + math-intrinsics@1.1.0: {} - mdast-util-find-and-replace@3.0.1: + mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - mdast-util-from-markdown@1.3.1: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - - mdast-util-from-markdown@2.0.1: + mdast-util-from-markdown@2.0.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 decode-named-character-reference: 1.0.2 devlop: 1.1.0 mdast-util-to-string: 4.0.0 - micromark: 4.0.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-decode-string: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark: 4.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 unist-util-stringify-position: 4.0.0 transitivePeerDependencies: - supports-color @@ -11880,24 +11057,24 @@ snapshots: '@types/mdast': 4.0.4 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.1 - micromark-util-character: 2.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 mdast-util-gfm-footnote@2.0.0: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - micromark-util-normalize-identifier: 2.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color mdast-util-gfm-strikethrough@2.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -11905,9 +11082,9 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - markdown-table: 3.0.3 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -11915,30 +11092,20 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color mdast-util-gfm@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.0.0 mdast-util-gfm-strikethrough: 2.0.0 mdast-util-gfm-table: 2.0.0 mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-expression@1.3.2: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -11948,25 +11115,8 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-jsx@2.1.4: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - ccount: 2.0.1 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 - parse-entities: 4.0.1 - stringify-entities: 4.0.4 - unist-util-remove-position: 4.0.2 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -11978,42 +11128,22 @@ snapshots: '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 - parse-entities: 4.0.1 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 stringify-entities: 4.0.4 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 transitivePeerDependencies: - supports-color - mdast-util-mdx@2.0.1: - dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-mdx-expression: 1.3.2 - mdast-util-mdx-jsx: 2.1.4 - mdast-util-mdxjs-esm: 1.3.1 - mdast-util-to-markdown: 1.5.0 - transitivePeerDependencies: - - supports-color - mdast-util-mdx@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.1.3 mdast-util-mdxjs-esm: 2.0.1 - mdast-util-to-markdown: 2.1.0 - transitivePeerDependencies: - - supports-color - - mdast-util-mdxjs-esm@1.3.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -12023,70 +11153,40 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-phrasing@3.0.1: - dependencies: - '@types/mdast': 3.0.15 - unist-util-is: 5.2.1 - mdast-util-phrasing@4.1.0: dependencies: '@types/mdast': 4.0.4 unist-util-is: 6.0.0 - mdast-util-to-hast@12.3.0: - dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-definitions: 5.1.2 - micromark-util-sanitize-uri: 1.2.0 - trim-lines: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - mdast-util-to-hast@13.2.0: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.0 + '@ungap/structured-clone': 1.2.1 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.0 + micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 vfile: 6.0.3 - mdast-util-to-markdown@1.5.0: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.11 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.2.0 - micromark-util-decode-string: 1.1.0 - unist-util-visit: 4.1.2 - zwitch: 2.0.4 - - mdast-util-to-markdown@2.1.0: + mdast-util-to-markdown@2.1.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 - micromark-util-decode-string: 2.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 unist-util-visit: 5.0.0 zwitch: 2.0.4 - mdast-util-to-string@3.2.0: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-string@4.0.0: dependencies: '@types/mdast': 4.0.4 @@ -12109,90 +11209,71 @@ snapshots: merge2@1.4.1: {} - micromark-core-commonmark@1.1.0: - dependencies: - decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-core-commonmark@2.0.1: + micromark-core-commonmark@2.0.2: dependencies: decode-named-character-reference: 1.0.2 devlop: 1.1.0 - micromark-factory-destination: 2.0.0 - micromark-factory-label: 2.0.0 - micromark-factory-space: 2.0.0 - micromark-factory-title: 2.0.0 - micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-classify-character: 2.0.0 - micromark-util-html-tag-name: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-subtokenize: 2.0.1 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-autolink-literal@2.1.0: dependencies: - micromark-util-character: 2.1.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-footnote@2.1.0: dependencies: devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-strikethrough@2.1.0: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-classify-character: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-table@2.1.0: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-tagfilter@2.0.0: dependencies: - micromark-util-types: 2.0.0 + micromark-util-types: 2.0.1 micromark-extension-gfm-task-list-item@2.1.0: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm@3.0.0: dependencies: @@ -12202,43 +11283,19 @@ snapshots: micromark-extension-gfm-table: 2.1.0 micromark-extension-gfm-tagfilter: 2.0.0 micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-mdx-expression@1.0.8: - dependencies: - '@types/estree': 1.0.6 - micromark-factory-mdx-expression: 1.0.9 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-mdx-expression@3.0.0: dependencies: '@types/estree': 1.0.6 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-extension-mdx-jsx@1.0.5: - dependencies: - '@types/acorn': 4.0.6 - '@types/estree': 1.0.6 - estree-util-is-identifier-name: 2.1.0 - micromark-factory-mdx-expression: 1.0.9 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - vfile-message: 3.1.4 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-mdx-jsx@3.0.1: dependencies: @@ -12247,230 +11304,116 @@ snapshots: devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 vfile-message: 4.0.2 - micromark-extension-mdx-md@1.0.1: - dependencies: - micromark-util-types: 1.1.0 - micromark-extension-mdx-md@2.0.0: dependencies: - micromark-util-types: 2.0.0 - - micromark-extension-mdxjs-esm@1.0.5: - dependencies: - '@types/estree': 1.0.6 - micromark-core-commonmark: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-position-from-estree: 1.1.2 - uvu: 0.5.6 - vfile-message: 3.1.4 + micromark-util-types: 2.0.1 micromark-extension-mdxjs-esm@3.0.0: dependencies: '@types/estree': 1.0.6 devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-util-character: 2.1.0 + micromark-core-commonmark: 2.0.2 + micromark-util-character: 2.1.1 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 unist-util-position-from-estree: 2.0.0 vfile-message: 4.0.2 - micromark-extension-mdxjs@1.0.1: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - micromark-extension-mdx-expression: 1.0.8 - micromark-extension-mdx-jsx: 1.0.5 - micromark-extension-mdx-md: 1.0.1 - micromark-extension-mdxjs-esm: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 - micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) micromark-extension-mdx-expression: 3.0.0 micromark-extension-mdx-jsx: 3.0.1 micromark-extension-mdx-md: 2.0.0 micromark-extension-mdxjs-esm: 3.0.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-factory-destination@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.1 - micromark-factory-destination@2.0.0: + micromark-factory-destination@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-factory-label@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - - micromark-factory-label@2.0.0: + micromark-factory-label@2.0.1: dependencies: devlop: 1.1.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-factory-mdx-expression@1.0.9: - dependencies: - '@types/estree': 1.0.6 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-position-from-estree: 1.1.2 - uvu: 0.5.6 - vfile-message: 3.1.4 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-factory-mdx-expression@2.0.2: dependencies: '@types/estree': 1.0.6 devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 unist-util-position-from-estree: 2.0.0 vfile-message: 4.0.2 - micromark-factory-space@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 - - micromark-factory-space@2.0.0: - dependencies: - micromark-util-character: 2.1.0 - micromark-util-types: 2.0.0 - - micromark-factory-title@1.1.0: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-factory-title@2.0.0: - dependencies: - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-factory-whitespace@1.1.0: - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-factory-whitespace@2.0.0: - dependencies: - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-util-character@1.2.0: - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-character@2.1.0: - dependencies: - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-util-chunked@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 - - micromark-util-chunked@2.0.0: + micromark-factory-space@2.0.1: dependencies: - micromark-util-symbol: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.1 - micromark-util-classify-character@1.1.0: + micromark-factory-title@2.0.1: dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-classify-character@2.0.0: + micromark-factory-whitespace@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-combine-extensions@1.1.0: + micromark-util-character@2.1.1: dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-combine-extensions@2.0.0: + micromark-util-chunked@2.0.1: dependencies: - micromark-util-chunked: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 - micromark-util-decode-numeric-character-reference@1.1.0: + micromark-util-classify-character@2.0.1: dependencies: - micromark-util-symbol: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-decode-numeric-character-reference@2.0.1: + micromark-util-combine-extensions@2.0.1: dependencies: - micromark-util-symbol: 2.0.0 + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-decode-string@1.1.0: + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 + micromark-util-symbol: 2.0.1 - micromark-util-decode-string@2.0.0: + micromark-util-decode-string@2.0.1: dependencies: decode-named-character-reference: 1.0.2 - micromark-util-character: 2.1.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-symbol: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - micromark-util-encode@1.1.0: {} - - micromark-util-encode@2.0.0: {} - - micromark-util-events-to-acorn@1.2.3: - dependencies: - '@types/acorn': 4.0.6 - '@types/estree': 1.0.6 - '@types/unist': 2.0.11 - estree-util-visit: 1.2.1 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - vfile-message: 3.1.4 + micromark-util-encode@2.0.1: {} micromark-util-events-to-acorn@2.0.2: dependencies: @@ -12479,105 +11422,56 @@ snapshots: '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 vfile-message: 4.0.2 - micromark-util-html-tag-name@1.2.0: {} - - micromark-util-html-tag-name@2.0.0: {} - - micromark-util-normalize-identifier@1.1.0: - dependencies: - micromark-util-symbol: 1.1.0 - - micromark-util-normalize-identifier@2.0.0: - dependencies: - micromark-util-symbol: 2.0.0 - - micromark-util-resolve-all@1.1.0: - dependencies: - micromark-util-types: 1.1.0 - - micromark-util-resolve-all@2.0.0: - dependencies: - micromark-util-types: 2.0.0 + micromark-util-html-tag-name@2.0.1: {} - micromark-util-sanitize-uri@1.2.0: + micromark-util-normalize-identifier@2.0.1: dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 + micromark-util-symbol: 2.0.1 - micromark-util-sanitize-uri@2.0.0: + micromark-util-resolve-all@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-encode: 2.0.0 - micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.1 - micromark-util-subtokenize@1.1.0: + micromark-util-sanitize-uri@2.0.1: dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - micromark-util-subtokenize@2.0.1: + micromark-util-subtokenize@2.0.3: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 - - micromark-util-symbol@1.1.0: {} + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-symbol@2.0.0: {} + micromark-util-symbol@2.0.1: {} - micromark-util-types@1.1.0: {} - - micromark-util-types@2.0.0: {} - - micromark@3.2.0: - dependencies: - '@types/debug': 4.1.12 - debug: 4.3.7 - decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color + micromark-util-types@2.0.1: {} - micromark@4.0.0: + micromark@4.0.1: dependencies: '@types/debug': 4.1.12 - debug: 4.3.7 + debug: 4.4.0 decode-named-character-reference: 1.0.2 devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-decode-numeric-character-reference: 2.0.1 - micromark-util-encode: 2.0.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-subtokenize: 2.0.1 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 transitivePeerDependencies: - supports-color @@ -12588,10 +11482,6 @@ snapshots: mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} - - mimic-function@5.0.1: {} - mimic-response@3.1.0: {} mimic-response@4.0.0: {} @@ -12606,14 +11496,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@7.4.6: - dependencies: - brace-expansion: 2.0.1 - - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -12628,14 +11510,19 @@ snapshots: minipass@7.1.2: {} - minizlib@3.0.1: + motion-dom@11.16.4: dependencies: - minipass: 7.1.2 - rimraf: 5.0.10 + motion-utils: 11.16.0 - mkdirp@2.1.6: {} + motion-utils@11.16.0: {} - mkdirp@3.0.1: {} + motion@11.16.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + framer-motion: 11.16.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + tslib: 2.8.1 + optionalDependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) mout@0.11.1: {} @@ -12649,107 +11536,62 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.7: {} - - nanoid@5.0.7: {} - - natural-compare@1.4.0: {} - - negotiator@1.0.0: {} - - next-mdx-remote@4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@mdx-js/mdx': 2.3.0 - '@mdx-js/react': 2.3.0(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - vfile: 5.3.7 - vfile-matter: 3.0.1 - transitivePeerDependencies: - - supports-color + nanoid@3.3.8: {} - next-themes@0.2.1(next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - next: 14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + nanoid@5.0.9: {} - next@14.2.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@next/env': 14.2.14 - '@swc/helpers': 0.5.5 - busboy: 1.6.0 - caniuse-lite: 1.0.30001664 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(react@18.3.1) - optionalDependencies: - '@next/swc-darwin-arm64': 14.2.14 - '@next/swc-darwin-x64': 14.2.14 - '@next/swc-linux-arm64-gnu': 14.2.14 - '@next/swc-linux-arm64-musl': 14.2.14 - '@next/swc-linux-x64-gnu': 14.2.14 - '@next/swc-linux-x64-musl': 14.2.14 - '@next/swc-win32-arm64-msvc': 14.2.14 - '@next/swc-win32-ia32-msvc': 14.2.14 - '@next/swc-win32-x64-msvc': 14.2.14 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros + natural-compare@1.4.0: {} + + negotiator@1.0.0: {} + + next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - next@15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@15.1.6(babel-plugin-react-compiler@19.0.0-beta-63e3235-20250105)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@next/env': 15.0.0 + '@next/env': 15.1.6 '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 busboy: 1.6.0 - caniuse-lite: 1.0.30001664 + caniuse-lite: 1.0.30001692 postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.6(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.6(react@19.0.0) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.0 - '@next/swc-darwin-x64': 15.0.0 - '@next/swc-linux-arm64-gnu': 15.0.0 - '@next/swc-linux-arm64-musl': 15.0.0 - '@next/swc-linux-x64-gnu': 15.0.0 - '@next/swc-linux-x64-musl': 15.0.0 - '@next/swc-win32-arm64-msvc': 15.0.0 - '@next/swc-win32-x64-msvc': 15.0.0 + '@next/swc-darwin-arm64': 15.1.6 + '@next/swc-darwin-x64': 15.1.6 + '@next/swc-linux-arm64-gnu': 15.1.6 + '@next/swc-linux-arm64-musl': 15.1.6 + '@next/swc-linux-x64-gnu': 15.1.6 + '@next/swc-linux-x64-musl': 15.1.6 + '@next/swc-win32-arm64-msvc': 15.1.6 + '@next/swc-win32-x64-msvc': 15.1.6 + babel-plugin-react-compiler: 19.0.0-beta-63e3235-20250105 sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - optional: true - - node-domexception@1.0.0: {} node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - node-fetch@3.3.2: - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - - node-releases@2.0.18: {} + node-releases@2.0.19: {} normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.8 + resolve: 1.22.10 semver: 5.7.2 validate-npm-package-license: 3.0.4 normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.15.1 + is-core-module: 2.16.1 semver: 7.6.3 validate-npm-package-license: 3.0.4 @@ -12763,72 +11605,57 @@ snapshots: dependencies: path-key: 3.1.1 - npm-run-path@5.3.0: + npm-run-path@6.0.0: dependencies: path-key: 4.0.0 + unicorn-magic: 0.3.0 - npm-to-yarn@3.0.0: {} + npm-to-yarn@3.0.1: {} object-assign@4.1.1: {} - object-hash@3.0.0: {} - - object-inspect@1.13.2: {} - - object-is@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 + object-inspect@1.13.3: {} object-keys@1.1.1: {} - object.assign@4.1.5: + object.assign@4.1.7: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 - has-symbols: 1.0.3 + es-object-atoms: 1.0.0 + has-symbols: 1.1.0 object-keys: 1.1.1 object.entries@1.1.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.0.0 object.fromentries@2.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-object-atoms: 1.0.0 - object.groupby@1.0.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - - object.values@1.2.0: + object.values@1.2.1: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 es-object-atoms: 1.0.0 - once@1.4.0: - dependencies: - wrappy: 1.0.2 - onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - - oniguruma-to-js@0.4.3: + oniguruma-to-es@2.3.0: dependencies: - regex: 4.3.2 + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 optionator@0.9.4: dependencies: @@ -12839,22 +11666,27 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - ora@6.3.1: - dependencies: - chalk: 5.3.0 - cli-cursor: 4.0.0 - cli-spinners: 2.9.2 - is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - stdin-discarder: 0.1.0 - strip-ansi: 7.1.0 - wcwidth: 1.0.1 - os-tmpdir@1.0.2: {} outdent@0.5.0: {} + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.2.7 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + oxc-transform@0.47.1: + optionalDependencies: + '@oxc-transform/binding-darwin-arm64': 0.47.1 + '@oxc-transform/binding-darwin-x64': 0.47.1 + '@oxc-transform/binding-linux-arm64-gnu': 0.47.1 + '@oxc-transform/binding-linux-arm64-musl': 0.47.1 + '@oxc-transform/binding-linux-x64-gnu': 0.47.1 + '@oxc-transform/binding-linux-x64-musl': 0.47.1 + '@oxc-transform/binding-win32-arm64-msvc': 0.47.1 + '@oxc-transform/binding-win32-x64-msvc': 0.47.1 + p-cancelable@3.0.0: {} p-filter@2.1.0: @@ -12886,20 +11718,21 @@ snapshots: package-json@8.1.1: dependencies: got: 12.6.1 - registry-auth-token: 5.0.2 + registry-auth-token: 5.0.3 registry-url: 6.0.1 semver: 7.6.3 - package-manager-detector@0.2.0: {} + package-manager-detector@0.2.8: {} + + package-manager-detector@0.2.9: {} parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-entities@4.0.1: + parse-entities@4.0.2: dependencies: '@types/unist': 2.0.11 - character-entities: 2.0.2 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 decode-named-character-reference: 1.0.2 @@ -12911,17 +11744,17 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@4.0.0: {} + path-browserify@1.0.1: {} path-exists@4.0.0: {} - path-is-absolute@1.0.1: {} - path-key@3.1.1: {} path-key@4.0.0: {} @@ -12935,107 +11768,61 @@ snapshots: path-scurry@2.0.0: dependencies: - lru-cache: 11.0.1 + lru-cache: 11.0.2 minipass: 7.1.2 path-type@4.0.0: {} - periscopic@3.1.0: - dependencies: - '@types/estree': 1.0.6 - estree-walker: 3.0.3 - is-reference: 3.0.2 - - picocolors@1.1.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} picomatch@4.0.2: {} - pify@2.3.0: {} - pify@4.0.1: {} pirates@4.0.6: {} possible-typed-array-names@1.0.0: {} - postcss-import@15.1.0(postcss@8.4.47): - dependencies: - postcss: 8.4.47 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.8 - - postcss-js@4.0.1(postcss@8.4.47): - dependencies: - camelcase-css: 2.0.1 - postcss: 8.4.47 - - postcss-load-config@3.1.4(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2)): - dependencies: - lilconfig: 2.1.0 - yaml: 1.10.2 - optionalDependencies: - postcss: 8.4.47 - ts-node: 10.9.2(@types/node@22.7.7)(typescript@5.6.2) - - postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2)): - dependencies: - lilconfig: 3.1.2 - yaml: 2.5.1 - optionalDependencies: - postcss: 8.4.47 - ts-node: 10.9.2(@types/node@18.19.54)(typescript@5.6.2) - - postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2)): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.7.0): dependencies: - lilconfig: 3.1.2 - yaml: 2.5.1 + lilconfig: 3.1.3 optionalDependencies: - postcss: 8.4.47 - ts-node: 10.9.2(@types/node@22.7.7)(typescript@5.6.2) - - postcss-nested@6.2.0(postcss@8.4.47): - dependencies: - postcss: 8.4.47 - postcss-selector-parser: 6.1.2 - - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + jiti: 2.4.2 + postcss: 8.4.49 + tsx: 4.19.2 + yaml: 2.7.0 postcss-value-parser@4.2.0: {} postcss@8.4.31: dependencies: - nanoid: 3.3.7 - picocolors: 1.1.0 + nanoid: 3.3.8 + picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.4.47: + postcss@8.4.49: dependencies: - nanoid: 3.3.7 - picocolors: 1.1.0 + nanoid: 3.3.8 + picocolors: 1.1.1 source-map-js: 1.2.1 prelude-ls@1.2.1: {} - prettier-plugin-tailwindcss@0.6.8(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.3.3))(prettier@3.3.3): + prettier-plugin-tailwindcss@0.6.11(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.4.2))(prettier@3.4.2): dependencies: - prettier: 3.3.3 + prettier: 3.4.2 optionalDependencies: - '@trivago/prettier-plugin-sort-imports': 4.3.0(prettier@3.3.3) + '@trivago/prettier-plugin-sort-imports': 4.3.0(prettier@3.4.2) prettier@2.8.8: {} - prettier@3.3.3: {} + prettier@3.4.2: {} - prompts@2.4.2: + pretty-ms@9.2.0: dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + parse-ms: 4.0.0 prop-types@15.8.1: dependencies: @@ -13068,216 +11855,246 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-aria-components@1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@internationalized/date': 3.5.6 - '@internationalized/string': 3.2.4 - '@react-aria/accordion': 3.0.0-alpha.35(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/collections': 3.0.0-alpha.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/color': 3.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/disclosure': 3.0.0-alpha.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/dnd': 3.7.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/live-announcer': 3.4.0 - '@react-aria/menu': 3.15.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/toolbar': 3.0.0-beta.10(react@18.3.1) - '@react-aria/tree': 3.0.0-beta.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/virtualizer': 4.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/color': 3.8.0(react@18.3.1) - '@react-stately/disclosure': 3.0.0-alpha.0(react@18.3.1) - '@react-stately/layout': 4.0.3(react@18.3.1) - '@react-stately/menu': 3.8.3(react@18.3.1) - '@react-stately/table': 3.12.3(react@18.3.1) - '@react-stately/utils': 3.10.4(react@18.3.1) - '@react-stately/virtualizer': 4.1.0(react@18.3.1) - '@react-types/color': 3.0.0(react@18.3.1) - '@react-types/form': 3.7.7(react@18.3.1) - '@react-types/grid': 3.2.9(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - '@react-types/table': 3.10.2(react@18.3.1) - '@swc/helpers': 0.5.13 + react-aria-components@1.6.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@internationalized/date': 3.7.0 + '@internationalized/string': 3.2.5 + '@react-aria/autocomplete': 3.0.0-alpha.37(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/collections': 3.0.0-alpha.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/color': 3.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/disclosure': 3.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/dnd': 3.8.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/live-announcer': 3.4.1 + '@react-aria/menu': 3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/toolbar': 3.0.0-beta.12(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/tree': 3.0.0-beta.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/virtualizer': 4.1.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/autocomplete': 3.0.0-alpha.0(react@19.0.0) + '@react-stately/color': 3.8.2(react@19.0.0) + '@react-stately/disclosure': 3.0.1(react@19.0.0) + '@react-stately/layout': 4.1.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-stately/menu': 3.9.1(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-stately/table': 3.13.1(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-stately/virtualizer': 4.2.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/color': 3.0.2(react@19.0.0) + '@react-types/form': 3.7.9(react@19.0.0) + '@react-types/grid': 3.2.11(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + '@react-types/table': 3.10.4(react@19.0.0) + '@swc/helpers': 0.5.15 client-only: 0.0.1 - react: 18.3.1 - react-aria: 3.35.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dom: 18.3.1(react@18.3.1) - react-stately: 3.33.0(react@18.3.1) - use-sync-external-store: 1.2.2(react@18.3.1) - - react-aria@3.35.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@internationalized/string': 3.2.4 - '@react-aria/breadcrumbs': 3.5.17(react@18.3.1) - '@react-aria/button': 3.10.0(react@18.3.1) - '@react-aria/calendar': 3.5.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/checkbox': 3.14.7(react@18.3.1) - '@react-aria/color': 3.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/combobox': 3.10.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/datepicker': 3.11.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/dialog': 3.5.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/dnd': 3.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/focus': 3.18.3(react@18.3.1) - '@react-aria/gridlist': 3.9.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.3(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/link': 3.7.5(react@18.3.1) - '@react-aria/listbox': 3.13.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/menu': 3.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/meter': 3.4.17(react@18.3.1) - '@react-aria/numberfield': 3.11.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.23.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/progress': 3.4.17(react@18.3.1) - '@react-aria/radio': 3.10.8(react@18.3.1) - '@react-aria/searchfield': 3.7.9(react@18.3.1) - '@react-aria/select': 3.14.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.20.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/separator': 3.4.3(react@18.3.1) - '@react-aria/slider': 3.7.12(react@18.3.1) - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/switch': 3.6.8(react@18.3.1) - '@react-aria/table': 3.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/tabs': 3.9.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/tag': 3.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.14.9(react@18.3.1) - '@react-aria/tooltip': 3.7.8(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.16(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - react-aria@3.35.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@internationalized/string': 3.2.4 - '@react-aria/breadcrumbs': 3.5.18(react@18.3.1) - '@react-aria/button': 3.10.1(react@18.3.1) - '@react-aria/calendar': 3.5.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/checkbox': 3.14.8(react@18.3.1) - '@react-aria/color': 3.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/combobox': 3.10.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/datepicker': 3.11.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/dialog': 3.5.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/dnd': 3.7.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/focus': 3.18.4(react@18.3.1) - '@react-aria/gridlist': 3.9.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.3(react@18.3.1) - '@react-aria/interactions': 3.22.4(react@18.3.1) - '@react-aria/label': 3.7.12(react@18.3.1) - '@react-aria/link': 3.7.6(react@18.3.1) - '@react-aria/listbox': 3.13.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/menu': 3.15.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/meter': 3.4.17(react@18.3.1) - '@react-aria/numberfield': 3.11.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.23.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/progress': 3.4.17(react@18.3.1) - '@react-aria/radio': 3.10.9(react@18.3.1) - '@react-aria/searchfield': 3.7.10(react@18.3.1) - '@react-aria/select': 3.14.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/separator': 3.4.3(react@18.3.1) - '@react-aria/slider': 3.7.13(react@18.3.1) - '@react-aria/ssr': 3.9.6(react@18.3.1) - '@react-aria/switch': 3.6.9(react@18.3.1) - '@react-aria/table': 3.15.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/tabs': 3.9.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/tag': 3.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.14.10(react@18.3.1) - '@react-aria/tooltip': 3.7.9(react@18.3.1) - '@react-aria/utils': 3.25.3(react@18.3.1) - '@react-aria/visually-hidden': 3.8.17(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - react-dom@18.3.1(react@18.3.1): - dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.0.0 + react-aria: 3.37.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react-dom: 19.0.0(react@19.0.0) + react-stately: 3.35.0(react@19.0.0) + use-sync-external-store: 1.4.0(react@19.0.0) + + react-aria@3.36.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@internationalized/string': 3.2.5 + '@react-aria/breadcrumbs': 3.5.19(react@19.0.0) + '@react-aria/button': 3.11.0(react@19.0.0) + '@react-aria/calendar': 3.6.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/checkbox': 3.15.0(react@19.0.0) + '@react-aria/color': 3.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/combobox': 3.11.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/datepicker': 3.12.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/dialog': 3.5.20(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/disclosure': 3.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/dnd': 3.8.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/focus': 3.19.0(react@19.0.0) + '@react-aria/gridlist': 3.10.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.4(react@19.0.0) + '@react-aria/interactions': 3.22.5(react@19.0.0) + '@react-aria/label': 3.7.13(react@19.0.0) + '@react-aria/link': 3.7.7(react@19.0.0) + '@react-aria/listbox': 3.13.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/menu': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/meter': 3.4.18(react@19.0.0) + '@react-aria/numberfield': 3.11.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/overlays': 3.24.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/progress': 3.4.18(react@19.0.0) + '@react-aria/radio': 3.10.10(react@19.0.0) + '@react-aria/searchfield': 3.7.11(react@19.0.0) + '@react-aria/select': 3.15.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.21.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/separator': 3.4.4(react@19.0.0) + '@react-aria/slider': 3.7.14(react@19.0.0) + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/switch': 3.6.10(react@19.0.0) + '@react-aria/table': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/tabs': 3.9.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/tag': 3.4.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.15.0(react@19.0.0) + '@react-aria/tooltip': 3.7.10(react@19.0.0) + '@react-aria/utils': 3.26.0(react@19.0.0) + '@react-aria/visually-hidden': 3.8.18(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + react-aria@3.37.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@internationalized/string': 3.2.5 + '@react-aria/breadcrumbs': 3.5.20(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/button': 3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/calendar': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/checkbox': 3.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/color': 3.0.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/combobox': 3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/datepicker': 3.13.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/dialog': 3.5.21(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/disclosure': 3.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/dnd': 3.8.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/gridlist': 3.10.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/i18n': 3.12.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/label': 3.7.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/link': 3.7.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/listbox': 3.14.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/menu': 3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/meter': 3.4.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/numberfield': 3.11.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/overlays': 3.25.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/progress': 3.4.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/radio': 3.10.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/searchfield': 3.8.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/select': 3.15.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/selection': 3.22.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/separator': 3.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/slider': 3.7.15(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/switch': 3.6.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/table': 3.16.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/tabs': 3.9.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/tag': 3.4.9(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/textfield': 3.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/tooltip': 3.7.11(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/visually-hidden': 3.8.19(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + react-dom@19.0.0(react@19.0.0): + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + + react-hook-form@7.54.2(react@19.0.0): + dependencies: + react: 19.0.0 react-is@16.13.1: {} - react-remove-scroll-bar@2.3.6(@types/react@18.3.10)(react@18.3.1): + react-remove-scroll-bar@2.3.8(@types/react@19.0.4)(react@19.0.0): dependencies: - react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.10)(react@18.3.1) - tslib: 2.7.0 + react: 19.0.0 + react-style-singleton: 2.2.3(@types/react@19.0.4)(react@19.0.0) + tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 - react-remove-scroll@2.5.5(@types/react@18.3.10)(react@18.3.1): + react-remove-scroll@2.6.2(@types/react@19.0.4)(react@19.0.0): dependencies: - react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.10)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.10)(react@18.3.1) - tslib: 2.7.0 - use-callback-ref: 1.3.2(@types/react@18.3.10)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.10)(react@18.3.1) + react: 19.0.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.0.4)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@19.0.4)(react@19.0.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.0.4)(react@19.0.0) + use-sidecar: 1.1.3(@types/react@19.0.4)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 - react-remove-scroll@2.6.0(@types/react@18.3.10)(react@18.3.1): + react-remove-scroll@2.6.3(@types/react@19.0.4)(react@19.0.0): dependencies: - react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.10)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.10)(react@18.3.1) - tslib: 2.7.0 - use-callback-ref: 1.3.2(@types/react@18.3.10)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.10)(react@18.3.1) + react: 19.0.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.0.4)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@19.0.4)(react@19.0.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.0.4)(react@19.0.0) + use-sidecar: 1.1.3(@types/react@19.0.4)(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 - - react-resizable-panels@2.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - react-stately@3.33.0(react@18.3.1): - dependencies: - '@react-stately/calendar': 3.5.5(react@18.3.1) - '@react-stately/checkbox': 3.6.9(react@18.3.1) - '@react-stately/collections': 3.11.0(react@18.3.1) - '@react-stately/color': 3.8.0(react@18.3.1) - '@react-stately/combobox': 3.10.0(react@18.3.1) - '@react-stately/data': 3.11.7(react@18.3.1) - '@react-stately/datepicker': 3.10.3(react@18.3.1) - '@react-stately/dnd': 3.4.3(react@18.3.1) - '@react-stately/form': 3.0.6(react@18.3.1) - '@react-stately/list': 3.11.0(react@18.3.1) - '@react-stately/menu': 3.8.3(react@18.3.1) - '@react-stately/numberfield': 3.9.7(react@18.3.1) - '@react-stately/overlays': 3.6.11(react@18.3.1) - '@react-stately/radio': 3.10.8(react@18.3.1) - '@react-stately/searchfield': 3.5.7(react@18.3.1) - '@react-stately/select': 3.6.8(react@18.3.1) - '@react-stately/selection': 3.17.0(react@18.3.1) - '@react-stately/slider': 3.5.8(react@18.3.1) - '@react-stately/table': 3.12.3(react@18.3.1) - '@react-stately/tabs': 3.6.10(react@18.3.1) - '@react-stately/toggle': 3.7.8(react@18.3.1) - '@react-stately/tooltip': 3.4.13(react@18.3.1) - '@react-stately/tree': 3.8.5(react@18.3.1) - '@react-types/shared': 3.25.0(react@18.3.1) - react: 18.3.1 - - react-style-singleton@2.2.1(@types/react@18.3.10)(react@18.3.1): + '@types/react': 19.0.4 + + react-resizable-panels@2.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + react-stately@3.34.0(react@19.0.0): + dependencies: + '@react-stately/calendar': 3.6.0(react@19.0.0) + '@react-stately/checkbox': 3.6.10(react@19.0.0) + '@react-stately/collections': 3.12.0(react@19.0.0) + '@react-stately/color': 3.8.1(react@19.0.0) + '@react-stately/combobox': 3.10.1(react@19.0.0) + '@react-stately/data': 3.12.0(react@19.0.0) + '@react-stately/datepicker': 3.11.0(react@19.0.0) + '@react-stately/disclosure': 3.0.0(react@19.0.0) + '@react-stately/dnd': 3.5.0(react@19.0.0) + '@react-stately/form': 3.1.0(react@19.0.0) + '@react-stately/list': 3.11.1(react@19.0.0) + '@react-stately/menu': 3.9.0(react@19.0.0) + '@react-stately/numberfield': 3.9.8(react@19.0.0) + '@react-stately/overlays': 3.6.12(react@19.0.0) + '@react-stately/radio': 3.10.9(react@19.0.0) + '@react-stately/searchfield': 3.5.8(react@19.0.0) + '@react-stately/select': 3.6.9(react@19.0.0) + '@react-stately/selection': 3.18.0(react@19.0.0) + '@react-stately/slider': 3.6.0(react@19.0.0) + '@react-stately/table': 3.13.0(react@19.0.0) + '@react-stately/tabs': 3.7.0(react@19.0.0) + '@react-stately/toggle': 3.8.0(react@19.0.0) + '@react-stately/tooltip': 3.5.0(react@19.0.0) + '@react-stately/tree': 3.8.6(react@19.0.0) + '@react-types/shared': 3.26.0(react@19.0.0) + react: 19.0.0 + + react-stately@3.35.0(react@19.0.0): + dependencies: + '@react-stately/calendar': 3.7.0(react@19.0.0) + '@react-stately/checkbox': 3.6.11(react@19.0.0) + '@react-stately/collections': 3.12.1(react@19.0.0) + '@react-stately/color': 3.8.2(react@19.0.0) + '@react-stately/combobox': 3.10.2(react@19.0.0) + '@react-stately/data': 3.12.1(react@19.0.0) + '@react-stately/datepicker': 3.12.0(react@19.0.0) + '@react-stately/disclosure': 3.0.1(react@19.0.0) + '@react-stately/dnd': 3.5.1(react@19.0.0) + '@react-stately/form': 3.1.1(react@19.0.0) + '@react-stately/list': 3.11.2(react@19.0.0) + '@react-stately/menu': 3.9.1(react@19.0.0) + '@react-stately/numberfield': 3.9.9(react@19.0.0) + '@react-stately/overlays': 3.6.13(react@19.0.0) + '@react-stately/radio': 3.10.10(react@19.0.0) + '@react-stately/searchfield': 3.5.9(react@19.0.0) + '@react-stately/select': 3.6.10(react@19.0.0) + '@react-stately/selection': 3.19.0(react@19.0.0) + '@react-stately/slider': 3.6.1(react@19.0.0) + '@react-stately/table': 3.13.1(react@19.0.0) + '@react-stately/tabs': 3.7.1(react@19.0.0) + '@react-stately/toggle': 3.8.1(react@19.0.0) + '@react-stately/tooltip': 3.5.1(react@19.0.0) + '@react-stately/tree': 3.8.7(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) + react: 19.0.0 + + react-style-singleton@2.2.3(@types/react@19.0.4)(react@19.0.0): dependencies: get-nonce: 1.0.1 - invariant: 2.2.4 - react: 18.3.1 - tslib: 2.7.0 + react: 19.0.0 + tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.10 - - react@18.3.1: - dependencies: - loose-envify: 1.4.0 + '@types/react': 19.0.4 - read-cache@1.0.0: - dependencies: - pify: 2.3.0 + react@19.0.0: {} read-pkg-up@7.0.1: dependencies: @@ -13305,29 +12122,17 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - readdirp@4.0.2: {} - recast@0.23.9: - dependencies: - ast-types: 0.16.1 - esprima: 4.0.1 - source-map: 0.6.1 - tiny-invariant: 1.3.3 - tslib: 2.7.0 - recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.6 estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.0(acorn@8.12.1): + recma-jsx@1.0.0(acorn@8.14.0): dependencies: - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn-jsx: 5.3.2(acorn@8.14.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -13354,28 +12159,40 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 - reflect.getprototypeof@1.0.6: + reflect.getprototypeof@1.0.10: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-errors: 1.3.0 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - which-builtin-type: 1.1.4 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.7 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 regenerator-runtime@0.14.1: {} - regex@4.3.2: {} + regex-recursion@5.1.1: + dependencies: + regex: 5.1.1 + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@5.1.1: + dependencies: + regex-utilities: 2.3.0 - regexp.prototype.flags@1.5.2: + regexp.prototype.flags@1.5.4: dependencies: - call-bind: 1.0.7 + 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 - registry-auth-token@5.0.2: + registry-auth-token@5.0.3: dependencies: '@pnpm/npm-conf': 2.3.1 @@ -13387,7 +12204,7 @@ snapshots: dependencies: '@types/estree': 1.0.6 '@types/hast': 3.0.4 - hast-util-to-estree: 3.1.0 + hast-util-to-estree: 3.1.1 transitivePeerDependencies: - supports-color @@ -13402,44 +12219,22 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdx@2.3.0: - dependencies: - mdast-util-mdx: 2.0.1 - micromark-extension-mdxjs: 1.0.1 - transitivePeerDependencies: - - supports-color - - remark-mdx@3.0.1: + remark-mdx@3.1.0: dependencies: mdast-util-mdx: 3.0.0 micromark-extension-mdxjs: 3.0.0 transitivePeerDependencies: - supports-color - remark-parse@10.0.2: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color - remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 - micromark-util-types: 2.0.0 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.1 unified: 11.0.5 transitivePeerDependencies: - supports-color - remark-rehype@10.1.0: - dependencies: - '@types/hast': 2.3.10 - '@types/mdast': 3.0.15 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 - remark-rehype@11.1.1: dependencies: '@types/hast': 3.0.4 @@ -13451,7 +12246,7 @@ snapshots: remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 unified: 11.0.5 remark@15.0.1: @@ -13479,15 +12274,15 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve@1.22.8: + resolve@1.22.10: dependencies: - is-core-module: 2.15.1 + 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.15.1 + is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -13495,60 +12290,66 @@ snapshots: dependencies: lowercase-keys: 3.0.0 - restore-cursor@4.0.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - retry@0.13.1: {} - reusify@1.0.4: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - rimraf@5.0.10: - dependencies: - glob: 10.4.5 - rimraf@6.0.1: dependencies: glob: 11.0.0 package-json-from-dist: 1.0.1 - rollup@3.29.5: + rollup@4.32.1: + dependencies: + '@types/estree': 1.0.6 optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.32.1 + '@rollup/rollup-android-arm64': 4.32.1 + '@rollup/rollup-darwin-arm64': 4.32.1 + '@rollup/rollup-darwin-x64': 4.32.1 + '@rollup/rollup-freebsd-arm64': 4.32.1 + '@rollup/rollup-freebsd-x64': 4.32.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.32.1 + '@rollup/rollup-linux-arm-musleabihf': 4.32.1 + '@rollup/rollup-linux-arm64-gnu': 4.32.1 + '@rollup/rollup-linux-arm64-musl': 4.32.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.32.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.32.1 + '@rollup/rollup-linux-riscv64-gnu': 4.32.1 + '@rollup/rollup-linux-s390x-gnu': 4.32.1 + '@rollup/rollup-linux-x64-gnu': 4.32.1 + '@rollup/rollup-linux-x64-musl': 4.32.1 + '@rollup/rollup-win32-arm64-msvc': 4.32.1 + '@rollup/rollup-win32-ia32-msvc': 4.32.1 + '@rollup/rollup-win32-x64-msvc': 4.32.1 fsevents: 2.3.3 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - sade@1.8.1: - dependencies: - mri: 1.2.0 - - safe-array-concat@1.1.2: + safe-array-concat@1.1.3: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 + call-bind: 1.0.8 + call-bound: 1.0.3 + get-intrinsic: 1.2.7 + has-symbols: 1.1.0 isarray: 2.0.5 safe-buffer@5.2.1: {} - safe-regex-test@1.0.3: + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 es-errors: 1.3.0 - is-regex: 1.1.4 + is-regex: 1.2.1 safer-buffer@2.1.2: {} - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 + scheduler@0.25.0: {} scroll-into-view-if-needed@3.1.0: dependencies: @@ -13574,15 +12375,13 @@ snapshots: semver@7.6.3: {} - server-only@0.0.1: {} - 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.2.4 - gopd: 1.0.1 + get-intrinsic: 1.2.7 + gopd: 1.2.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -13592,6 +12391,12 @@ snapshots: 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.0.0 + sharp@0.33.5: dependencies: color: 4.2.3 @@ -13630,30 +12435,44 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.21.0: + shiki@2.2.0: dependencies: - '@shikijs/core': 1.21.0 - '@shikijs/engine-javascript': 1.21.0 - '@shikijs/engine-oniguruma': 1.21.0 - '@shikijs/types': 1.21.0 - '@shikijs/vscode-textmate': 9.2.2 + '@shikijs/core': 2.2.0 + '@shikijs/engine-javascript': 2.2.0 + '@shikijs/engine-oniguruma': 2.2.0 + '@shikijs/langs': 2.2.0 + '@shikijs/themes': 2.2.0 + '@shikijs/types': 2.2.0 + '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 - shiki@1.22.1: + side-channel-list@1.0.0: dependencies: - '@shikijs/core': 1.22.1 - '@shikijs/engine-javascript': 1.22.1 - '@shikijs/engine-oniguruma': 1.22.1 - '@shikijs/types': 1.22.1 - '@shikijs/vscode-textmate': 9.3.0 - '@types/hast': 3.0.4 + es-errors: 1.3.0 + object-inspect: 1.13.3 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.3 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.7 + object-inspect: 1.13.3 + side-channel-map: 1.0.1 - side-channel@1.0.6: + side-channel@1.1.0: dependencies: - call-bind: 1.0.7 es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.2 + object-inspect: 1.13.3 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 signal-exit@3.0.7: {} @@ -13671,8 +12490,6 @@ snapshots: source-map@0.5.7: {} - source-map@0.6.1: {} - source-map@0.7.4: {} source-map@0.8.0-beta.0: @@ -13686,6 +12503,11 @@ snapshots: cross-spawn: 5.1.0 signal-exit: 3.0.7 + spawndamnit@3.0.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -13706,14 +12528,6 @@ snapshots: sprintf-js@1.0.3: {} - stdin-discarder@0.1.0: - dependencies: - bl: 5.1.0 - - stop-iteration-iterator@1.0.0: - dependencies: - internal-slot: 1.0.7 - streamsearch@1.1.0: {} string-width@4.2.3: @@ -13728,47 +12542,47 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string.prototype.includes@2.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - - string.prototype.matchall@4.0.11: + string.prototype.matchall@4.0.12: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-errors: 1.3.0 es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.2 + get-intrinsic: 1.2.7 + 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.0.6 + side-channel: 1.1.0 string.prototype.repeat@1.0.0: dependencies: define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 - string.prototype.trim@1.2.9: + string.prototype.trim@1.2.10: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.9 es-object-atoms: 1.0.0 + has-property-descriptors: 1.0.2 - string.prototype.trimend@1.0.8: + string.prototype.trimend@1.0.9: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 es-object-atoms: 1.0.0 string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.0.0 @@ -13781,12 +12595,6 @@ snapshots: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - stringify-object@5.0.0: - dependencies: - get-own-enumerable-keys: 1.0.0 - is-obj: 3.0.0 - is-regexp: 3.1.0 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -13801,7 +12609,7 @@ snapshots: strip-final-newline@2.0.0: {} - strip-final-newline@3.0.0: {} + strip-final-newline@4.0.0: {} strip-indent@3.0.0: dependencies: @@ -13811,30 +12619,18 @@ snapshots: strip-json-comments@3.1.1: {} - stubborn-fs@1.2.5: {} - - style-to-object@0.4.4: - dependencies: - inline-style-parser: 0.1.1 - style-to-object@1.0.8: dependencies: inline-style-parser: 0.2.4 - styled-jsx@5.1.1(react@18.3.1): - dependencies: - client-only: 0.0.1 - react: 18.3.1 - - styled-jsx@5.1.6(react@18.3.1): + styled-jsx@5.1.6(react@19.0.0): dependencies: client-only: 0.0.1 - react: 18.3.1 - optional: true + react: 19.0.0 sucrase@3.35.0: dependencies: - '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/gen-mapping': 0.3.8 commander: 4.1.1 glob: 10.4.5 lines-and-columns: 1.2.4 @@ -13852,92 +12648,27 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - tailwind-merge@2.5.2: {} - - tailwind-variants@0.2.1(tailwindcss@3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2))): - dependencies: - tailwind-merge: 2.5.2 - tailwindcss: 3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2)) + tailwind-merge@2.5.4: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2))): - dependencies: - tailwindcss: 3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2)) + tailwind-merge@2.6.0: {} - tailwindcss-react-aria-components@3.0.0-nightly-dcc0752f8-241031(tailwindcss@3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2))): + tailwind-variants@0.3.1(patch_hash=3gftwx6tedpz3ddwa7homjsoma)(tailwindcss@4.0.0): dependencies: - tailwindcss: 3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2)) + tailwind-merge: 2.5.4 + tailwindcss: 4.0.0 - tailwindcss@3.4.13(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2)): + tailwindcss-animate@1.0.7(tailwindcss@4.0.0): dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.2 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.6 - lilconfig: 2.1.0 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.0 - postcss: 8.4.47 - postcss-import: 15.1.0(postcss@8.4.47) - postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2)) - postcss-nested: 6.2.0(postcss@8.4.47) - postcss-selector-parser: 6.1.2 - resolve: 1.22.8 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node + tailwindcss: 4.0.0 - tailwindcss@3.4.13(ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2)): - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.2 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.6 - lilconfig: 2.1.0 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.0 - postcss: 8.4.47 - postcss-import: 15.1.0(postcss@8.4.47) - postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2)) - postcss-nested: 6.2.0(postcss@8.4.47) - postcss-selector-parser: 6.1.2 - resolve: 1.22.8 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node + tailwindcss@4.0.0: {} tapable@2.2.1: {} - tar@7.4.3: - dependencies: - '@isaacs/fs-minipass': 4.0.1 - chownr: 3.0.0 - minipass: 7.1.2 - minizlib: 3.0.1 - mkdirp: 3.0.1 - yallist: 5.0.0 - term-size@2.2.1: {} text-extensions@1.9.0: {} - text-table@0.2.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -13952,7 +12683,7 @@ snapshots: through@2.3.8: {} - tiny-invariant@1.3.3: {} + tinyexec@0.3.2: {} tinyglobby@0.2.10: dependencies: @@ -13983,42 +12714,18 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.6.2): + ts-api-utils@2.0.0(typescript@5.7.3): dependencies: - typescript: 5.6.2 + typescript: 5.7.3 ts-interface-checker@0.1.13: {} - ts-morph@18.0.0: - dependencies: - '@ts-morph/common': 0.19.0 - code-block-writer: 12.0.0 - - ts-morph@24.0.0: + ts-morph@25.0.0: dependencies: - '@ts-morph/common': 0.25.0 + '@ts-morph/common': 0.26.0 code-block-writer: 13.0.3 - ts-node@10.9.2(@types/node@18.19.54)(typescript@5.6.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.54 - acorn: 8.12.1 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.6.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optional: true - - ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.2): + ts-node@10.9.2(@types/node@20.5.1)(typescript@5.7.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -14026,41 +12733,15 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.5.1 - acorn: 8.12.1 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.6.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - - ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 22.7.7 - acorn: 8.12.1 + acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.6.2 + typescript: 5.7.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - optional: true - - tsconfig-paths@3.15.0: - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 tsconfig-paths@4.2.0: dependencies: @@ -14068,64 +12749,68 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tslib@2.7.0: {} + tslib@2.8.1: {} - tsup@6.7.0(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2))(typescript@5.6.2): + tsup@8.3.6(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0): dependencies: - bundle-require: 4.2.1(esbuild@0.17.19) + bundle-require: 5.1.0(esbuild@0.24.2) cac: 6.7.14 - chokidar: 3.6.0 - debug: 4.3.7 - esbuild: 0.17.19 - execa: 5.1.1 - globby: 11.1.0 + chokidar: 4.0.3 + consola: 3.4.0 + debug: 4.4.0 + esbuild: 0.24.2 joycon: 3.1.1 - postcss-load-config: 3.1.4(postcss@8.4.47)(ts-node@10.9.2(@types/node@22.7.7)(typescript@5.6.2)) + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.7.0) resolve-from: 5.0.0 - rollup: 3.29.5 + rollup: 4.32.1 source-map: 0.8.0-beta.0 sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.10 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.4.47 - typescript: 5.6.2 + postcss: 8.4.49 + typescript: 5.7.3 transitivePeerDependencies: + - jiti - supports-color - - ts-node + - tsx + - yaml - tsx@4.19.1: + tsx@4.19.2: dependencies: esbuild: 0.23.1 get-tsconfig: 4.8.1 optionalDependencies: fsevents: 2.3.3 - turbo-darwin-64@2.1.3: + turbo-darwin-64@2.4.0: optional: true - turbo-darwin-arm64@2.1.3: + turbo-darwin-arm64@2.4.0: optional: true - turbo-linux-64@2.1.3: + turbo-linux-64@2.4.0: optional: true - turbo-linux-arm64@2.1.3: + turbo-linux-arm64@2.4.0: optional: true - turbo-windows-64@2.1.3: + turbo-windows-64@2.4.0: optional: true - turbo-windows-arm64@2.1.3: + turbo-windows-arm64@2.4.0: optional: true - turbo@2.1.3: + turbo@2.4.0: optionalDependencies: - turbo-darwin-64: 2.1.3 - turbo-darwin-arm64: 2.1.3 - turbo-linux-64: 2.1.3 - turbo-linux-arm64: 2.1.3 - turbo-windows-64: 2.1.3 - turbo-windows-arm64: 2.1.3 + turbo-darwin-64: 2.4.0 + turbo-darwin-arm64: 2.4.0 + turbo-linux-64: 2.4.0 + turbo-linux-arm64: 2.4.0 + turbo-windows-64: 2.4.0 + turbo-windows-arm64: 2.4.0 type-check@0.4.0: dependencies: @@ -14133,72 +12818,67 @@ snapshots: type-fest@0.18.1: {} - type-fest@0.20.2: {} - type-fest@0.6.0: {} type-fest@0.8.1: {} - type-fest@3.13.1: {} - - type-fest@4.26.1: {} + type-fest@4.33.0: {} - typed-array-buffer@1.0.2: + typed-array-buffer@1.0.3: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.3 es-errors: 1.3.0 - is-typed-array: 1.1.13 + is-typed-array: 1.1.15 - typed-array-byte-length@1.0.1: + typed-array-byte-length@1.0.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 - typed-array-byte-offset@1.0.2: + typed-array-byte-offset@1.0.4: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.7 + call-bind: 1.0.8 for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 + 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.6: + typed-array-length@1.0.7: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 + gopd: 1.2.0 + is-typed-array: 1.1.15 possible-typed-array-names: 1.0.0 + reflect.getprototypeof: 1.0.10 - typescript@5.6.2: {} + typescript-eslint@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) + eslint: 9.19.0(jiti@2.4.2) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color - uint8array-extras@1.4.0: {} + typescript@5.7.3: {} - unbox-primitive@1.0.2: + unbox-primitive@1.1.0: dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 + call-bound: 1.0.3 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 undici-types@5.26.5: {} - undici-types@6.19.8: {} - - unified@10.1.2: - dependencies: - '@types/unist': 2.0.11 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.2.0 - vfile: 5.3.7 + unicorn-magic@0.3.0: {} unified@11.0.5: dependencies: @@ -14210,61 +12890,27 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unist-util-generated@2.0.1: {} - - unist-util-is@5.2.1: - dependencies: - '@types/unist': 2.0.11 - unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-position-from-estree@1.1.2: - dependencies: - '@types/unist': 2.0.11 - unist-util-position-from-estree@2.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-position@4.0.4: - dependencies: - '@types/unist': 2.0.11 - unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-remove-position@4.0.2: - dependencies: - '@types/unist': 2.0.11 - unist-util-visit: 4.1.2 - - unist-util-stringify-position@3.0.3: - dependencies: - '@types/unist': 2.0.11 - unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-visit-parents@5.1.3: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 - unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.0 - unist-util-visit@4.1.2: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -14275,44 +12921,37 @@ snapshots: universalify@2.0.1: {} - update-browserslist-db@1.1.1(browserslist@4.24.0): + update-browserslist-db@1.1.2(browserslist@4.24.4): dependencies: - browserslist: 4.24.0 + browserslist: 4.24.4 escalade: 3.2.0 - picocolors: 1.1.0 + picocolors: 1.1.1 uri-js@4.4.1: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.2(@types/react@18.3.10)(react@18.3.1): + use-callback-ref@1.3.3(@types/react@19.0.4)(react@19.0.0): dependencies: - react: 18.3.1 - tslib: 2.7.0 + react: 19.0.0 + tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 - use-sidecar@1.1.2(@types/react@18.3.10)(react@18.3.1): + use-sidecar@1.1.3(@types/react@19.0.4)(react@19.0.0): dependencies: detect-node-es: 1.1.0 - react: 18.3.1 - tslib: 2.7.0 + react: 19.0.0 + tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 - use-sync-external-store@1.2.2(react@18.3.1): + use-sync-external-store@1.4.0(react@19.0.0): dependencies: - react: 18.3.1 + react: 19.0.0 util-deprecate@1.0.2: {} - uvu@0.5.6: - dependencies: - dequal: 2.0.3 - diff: 5.2.0 - kleur: 4.1.5 - sade: 1.8.1 - v8-compile-cache-lib@3.0.1: {} validate-npm-package-license@3.0.4: @@ -14324,40 +12963,16 @@ snapshots: dependencies: builtins: 1.0.3 - vfile-matter@3.0.1: - dependencies: - '@types/js-yaml': 4.0.9 - is-buffer: 2.0.5 - js-yaml: 4.1.0 - - vfile-message@3.1.4: - dependencies: - '@types/unist': 2.0.11 - unist-util-stringify-position: 3.0.3 - vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 - vfile@5.3.7: - dependencies: - '@types/unist': 2.0.11 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 - vfile@6.0.3: dependencies: '@types/unist': 3.0.3 vfile-message: 4.0.2 - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - - web-streams-polyfill@3.3.3: {} - webidl-conversions@3.0.1: {} webidl-conversions@4.0.2: {} @@ -14373,44 +12988,44 @@ snapshots: tr46: 1.0.1 webidl-conversions: 4.0.2 - when-exit@2.1.3: {} - - which-boxed-primitive@1.0.2: + which-boxed-primitive@1.1.1: dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 + is-bigint: 1.1.0 + is-boolean-object: 1.2.1 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 - which-builtin-type@1.1.4: + which-builtin-type@1.2.1: dependencies: - function.prototype.name: 1.1.6 + call-bound: 1.0.3 + function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 + is-async-function: 2.1.0 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.0 + is-regex: 1.2.1 + is-weakref: 1.1.0 isarray: 2.0.5 - which-boxed-primitive: 1.0.2 + which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.15 + which-typed-array: 1.1.18 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.3 + is-weakset: 2.0.4 - which-typed-array@1.1.15: + which-typed-array@1.1.18: dependencies: available-typed-arrays: 1.0.7 - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 for-each: 0.3.3 - gopd: 1.0.1 + gopd: 1.2.0 has-tostringtag: 1.0.2 which@1.3.1: @@ -14435,21 +13050,14 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrappy@1.0.2: {} - y18n@5.0.8: {} yallist@2.1.2: {} - yallist@3.1.1: {} - yallist@4.0.0: {} - yallist@5.0.0: {} - - yaml@1.10.2: {} - - yaml@2.5.1: {} + yaml@2.7.0: + optional: true yargs-parser@20.2.9: {} @@ -14469,14 +13077,16 @@ snapshots: yocto-queue@0.1.0: {} - zod@3.23.8: {} + yoctocolors@2.1.1: {} + + zod@3.24.1: {} - zustand@4.5.5(@types/react@18.3.10)(immer@10.1.1)(react@18.3.1): + zustand@4.5.6(@types/react@19.0.4)(immer@10.1.1)(react@19.0.0): dependencies: - use-sync-external-store: 1.2.2(react@18.3.1) + use-sync-external-store: 1.4.0(react@19.0.0) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 19.0.4 immer: 10.1.1 - react: 18.3.1 + react: 19.0.0 zwitch@2.0.4: {} diff --git a/turbo.json b/turbo.json index bc01ef59..b4e0f808 100644 --- a/turbo.json +++ b/turbo.json @@ -3,7 +3,7 @@ "tasks": { "build": { "dependsOn": ["^build"], - "outputs": [".next/**", "!.next/cache/**"] + "outputs": ["dist/**", ".next/**"] }, "preview": { "env": ["NEXT_PUBLIC_APP_URL"], diff --git a/www/.eslintrc.cjs b/www/.eslintrc.cjs deleted file mode 100644 index d08591b6..00000000 --- a/www/.eslintrc.cjs +++ /dev/null @@ -1,12 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: ["@dotui/eslint-config/next.js"], - parser: "@typescript-eslint/parser", - parserOptions: { - project: true, - }, - rules: { - "@next/next/no-img-element": "off", - }, -}; \ No newline at end of file diff --git a/www/content/docs/components/buttons/button-group.mdx b/www/content/docs/components/buttons/button-group.mdx new file mode 100644 index 00000000..9a038dd5 --- /dev/null +++ b/www/content/docs/components/buttons/button-group.mdx @@ -0,0 +1,21 @@ +--- +title: Button Group +description: A Button Group is a group of buttons that are visually grouped together. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/ToggleButtonGroup.html + - label: Aria API Reference + href: https://react-spectrum.adobe.com/react-aria/ToggleButtonGroup.html#props + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/buttons/toggle-button-group.mdx?plain=1 +--- + + + +## Installation + +```package-install +npx dotui-cli@latest add button-group +``` diff --git a/www/content/docs/components/buttons/button.mdx b/www/content/docs/components/buttons/button.mdx index 2b7665af..56c07c12 100644 --- a/www/content/docs/components/buttons/button.mdx +++ b/www/content/docs/components/buttons/button.mdx @@ -1,9 +1,6 @@ --- title: Button description: A button allows a user to perform an action, with mouse, touch, and keyboard interactions. -thumbnail: - image: /previews/components/core/button.jpeg - video: /previews/components/core/button.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/Button.html @@ -15,38 +12,14 @@ links: href: https://github.com/mehdibha/dotUI/tree/main/content/components/buttons/button.mdx?plain=1 --- -button`} -/> +button`} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add button ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - ## Usage Button allow users to initiate an action or command with mouse, touch or keyboard interaction.
@@ -60,7 +33,7 @@ Use the `variant` prop to control the visual style of the button.
The default variant is `"default"`. default @@ -77,7 +50,7 @@ Use the `size` prop to control the size of the button.
The default size is `"md"`. Button `} @@ -89,7 +62,7 @@ Use the `shape` prop to control the shape of the button. The default variant is Icon-only buttons should include an `aria-label`. `} /> @@ -99,7 +72,7 @@ Icon-only buttons should include an `aria-label`. To add additional context for a button label, such as a search icon next to the label for a search field submit, use the `prefix` and `suffix` props. Leading visuals always appear locked to the button label, even if the button is full width. }>Upload `} /> @@ -109,7 +82,7 @@ To add additional context for a button label, such as a search icon next to the Use the `isPending` prop to control the loading state of the button, if you need to wait for a button's action to be completed. Button`} /> @@ -118,7 +91,7 @@ Use the `isPending` prop to control the loading state of the button, if you need Use the `isDisabled` prop to disable the button. Button`} /> @@ -127,7 +100,7 @@ Use the `isDisabled` prop to disable the button. To use a button as a link, use the `href` prop the button will automatically render a link that visually looks like a button. Login`} /> diff --git a/www/content/docs/components/buttons/file-trigger.mdx b/www/content/docs/components/buttons/file-trigger.mdx index 09a1bdb0..f85bc0ca 100644 --- a/www/content/docs/components/buttons/file-trigger.mdx +++ b/www/content/docs/components/buttons/file-trigger.mdx @@ -1,13 +1,9 @@ --- title: File Trigger description: Allows a user to access the file system with any pressable aria component. -thumbnail: - image: /previews/components/core/file-trigger.jpeg links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/FileTrigger.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/FileTrigger.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -15,7 +11,7 @@ links: --- `} @@ -23,78 +19,64 @@ links: ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add file-trigger ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Usage +## Anatomy A `FileTrigger` wraps around a pressable child such as a button, and includes a visually hidden input element that allows the user to select files from their device. -## Options +```tsx +import { Button } from "@/components/core/button"; +import { FileTrigger } from "@/components/core/file-trigger"; + + + +; +``` -### Accepted file types +## Accepted file types By default, the file trigger will accept any file type. To support only certain file types, pass an array of the [mime type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types) of files via the `acceptedFileTypes` prop. `} /> -### Multiple files +## Multiple files A file trigger can accept multiple files by passsing the `allowsMultiple` prop. `} /> -### Directory selection +## Directory selection To enable selecting directories instead of files, use the `acceptDirectory` property.
This reflects the [webkitdirectory](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory) HTML attribute and allows users to select directories and their contents. Please note that support for this feature varies from browser to browser. `} /> -### Media capture +## Media capture To specify the media capture mechanism to capture media on the spot, pass user for the user-facing camera or environment for the outward-facing camera via the defaultCamera prop.
This behavior only works on mobile devices. On desktop devices, it will open the file system like normal. [Read more about capture](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture). `} diff --git a/www/content/docs/components/buttons/meta.json b/www/content/docs/components/buttons/meta.json index b8b0877c..6e1f709a 100644 --- a/www/content/docs/components/buttons/meta.json +++ b/www/content/docs/components/buttons/meta.json @@ -1,3 +1,9 @@ { - "pages": ["button", "toggle-button", "file-trigger"] + "pages": [ + "button", + "button-group", + "toggle-button", + "toggle-button-group", + "file-trigger" + ] } diff --git a/www/content/docs/components/buttons/toggle-button-group.mdx b/www/content/docs/components/buttons/toggle-button-group.mdx new file mode 100644 index 00000000..e782d513 --- /dev/null +++ b/www/content/docs/components/buttons/toggle-button-group.mdx @@ -0,0 +1,21 @@ +--- +title: Toggle Button Group +description: A toggle button group allows a user to toggle multiple options, with single or multiple selection. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/ToggleButtonGroup.html + - label: Aria API Reference + href: https://react-spectrum.adobe.com/react-aria/ToggleButtonGroup.html#props + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/buttons/toggle-button-group.mdx?plain=1 +--- + + + +## Installation + +```package-install +npx dotui-cli@latest add toggle-button-group +``` diff --git a/www/content/docs/components/buttons/toggle-button.mdx b/www/content/docs/components/buttons/toggle-button.mdx index 19993d8e..0f421661 100644 --- a/www/content/docs/components/buttons/toggle-button.mdx +++ b/www/content/docs/components/buttons/toggle-button.mdx @@ -1,9 +1,6 @@ --- title: Toggle Button description: Toggle Buttons allow users to toggle a selection on or off. -thumbnail: - image: /previews/components/core/toggle-button.jpeg - video: /previews/components/core/toggle-button.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/ToggleButton.html @@ -16,7 +13,7 @@ links: --- `} @@ -24,31 +21,10 @@ links: ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add toggle-button ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - ## Usage Toggle button allow users to toggle a selection on or off, for example, switching between two states or modes.
@@ -62,7 +38,7 @@ Use the `variant` prop to control the visual style of the toggle button. The default size is `"quiet"`. `} @@ -74,7 +50,7 @@ Use the `size` prop to control the size of the toggle button.
The default size is `"md"`. `} @@ -86,7 +62,7 @@ Use the `shape` prop to control the shape of the toggle button. The default shap Icon-only toggle buttons should include an `aria-label`. } shape="rectangle">Pin`} @@ -97,7 +73,7 @@ Icon-only toggle buttons should include an `aria-label`. Use the `isDisabled` prop to disable the toggle button. `} /> @@ -106,7 +82,7 @@ Use the `isDisabled` prop to disable the toggle button. Use the `defaultSelected` to set the initial state of the toggle button. `} /> @@ -115,7 +91,7 @@ Use the `defaultSelected` to set the initial state of the toggle button. Use the `isSelected` and `onChange` props to control the state of the toggle button. diff --git a/www/content/docs/components/colors/color-area.mdx b/www/content/docs/components/colors/color-area.mdx index 243e6463..204af502 100644 --- a/www/content/docs/components/colors/color-area.mdx +++ b/www/content/docs/components/colors/color-area.mdx @@ -1,90 +1,77 @@ --- title: Color Area description: ColorArea allows users to adjust two channels of an RGB, HSL or HSB color value against a two-dimensional gradient background. -thumbnail: - image: /previews/components/core/color-area.jpeg - video: /previews/components/core/color-area.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/ColorArea.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/ColorArea.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page href: https://github.com/mehdibha/dotUI/tree/main/content/components/colors/color-area.mdx?plain=1 --- -`} /> +`} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add color-area ``` - - - - - Install the following dependencies: +## Anatomy - ```package-install - react-aria-components - ``` +```tsx +import { ColorArea } from "@/components/core/color-area"; - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Usage +; +``` -Use `ColorArea` to allow users to adjust two channels of an RGB, HSL or HSB color value against a two-dimensional gradient background. +```tsx +import { ColorAreaRoot } from "@/components/core/color-area"; +import { ColorThumb } from "@/components/core/color-thumb"; -## Options + + +; +``` -### Channels +## Unontrolled -`xChannel` and `yChannel` props may be provided to specify which color channels the color area should display +An initial, uncontrolled value can be provided to the `ColorArea` using the `defaultValue` prop. `} + name="color-area/uncontrolled" + preview={``} /> -### Disabled +## Controlled -Use the `isDisabled` prop to disable the color area. +Use the `value` and `onChange` props to control the value of the slider. `} + name="color-area/controlled" + preview={`const [value, setValue] = React.useState(parseColor("hsl(0, 100%, 50%)")) +return `} /> -## Unontrolled +## Channels -An initial, uncontrolled value can be provided to the `ColorArea` using the `defaultValue` prop. +`xChannel` and `yChannel` props may be provided to specify which color channels the color area should display `} + name="color-area/channels" + preview={``} /> -## Controlled +## Options -Use the `value` and `onChange` props to control the value of the slider. +### Disabled + +Use the `isDisabled` prop to disable the color area. `} + name="color-area/disabled" + preview={``} /> ## Composition @@ -92,7 +79,7 @@ return `} diff --git a/www/content/docs/components/colors/color-field.mdx b/www/content/docs/components/colors/color-field.mdx index 07389820..e84ee6b5 100644 --- a/www/content/docs/components/colors/color-field.mdx +++ b/www/content/docs/components/colors/color-field.mdx @@ -1,14 +1,9 @@ --- title: Color Field description: A color field allows users to edit a hex color or individual color channel value. -thumbnail: - image: /previews/components/core/color-field.jpeg - video: /previews/components/core/color-field.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/ColorField.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/ColorField.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,111 +11,107 @@ links: --- `} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add color-field ``` - - - - - Install the following dependencies: +## Anatomy - ```package-install - react-aria-components - ``` +```tsx +import { ColorField } from "@/components/core/color-field"; - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Usage +; +``` -Use a `ColorField` to allow users to edit a hex color or individual color channel value. +```tsx +import { ColorFieldRoot, ColorFiedInput } from "@/components/core/color-field"; +import { Label, Description, FieldError } from "@/components/core/field"; -## Options + + + + Enter a background color. + +; +``` -### Label +## Controlled -A visual label can be provided for the `ColorField` using the `label` prop or a hidden label using `aria-label` prop. +Use the `value` and `onChange` props to control the value of the input. -`} + name="color-field/controlled" + preview={`const [color, setColor] = React.useState(parseColor("#7f007f")); +return `} /> -### Size +## Color channel -Use the `size` prop to control the size of the `ColorField`.
-The default variant is `"md"`. +By default, ColorField allows the user to edit the color as a hex value. When the colorSpace and channel props are provided, ColorField displays the value for that channel formatted as a number instead.Rendering multiple ColorFields together can allow a user to edit a color. - -`} + name="color-field/color-channel" + preview={` + + `} /> -### Prefix and suffix +## Label -To add additional context for the `ColorField`, use the `prefix` and `suffix` props. +A visual label can be provided for the `ColorField` using the `label` prop or a hidden label using `aria-label` prop. } /> -} />`} + name="color-field/label" + preview={` +`} /> -### Description +## Description A description can be supplied to `ColorField` via the `description` prop. The description is always visible unless the `isInvalid` prop is `true` and an error message is provided. `} /> -### Contextual help +## Validation -A ContextualHelp element may be placed next to the label to provide additional information or help about a ColorField. +By default, `ColorField` displays default validation messages provided by the browser. You can customize this using the `errorMessage` prop, which will be displayed when the `isInvalid` prop is set to `true`. } />`} + name="color-field/error-message" + preview={``} /> -### Error message +## Options + +### Size -An `errorMessage` can be supplied to `ColorField`, which will be displayed when the `isInvalid` prop is set to `true`. +Use the `size` prop to control the size of the `ColorField`.
+The default variant is `"md"`. `} + name="color-field/sizes" + preview={` + +`} /> -### Loading +### Prefix and suffix -Use the `isLoading` prop to control the loading state of the ColorField. -Use the `loaderPosition` prop to control the position of the loader. +To add additional context for the `ColorField`, use the `prefix` and `suffix` props. -`} + name="color-field/prefix-and-suffix" + preview={`} /> +} />`} /> ### Disabled @@ -128,7 +119,7 @@ Use the `loaderPosition` prop to control the position of the loader. Use the `isDisabled` prop to disable the `ColorField`. `} /> @@ -137,7 +128,7 @@ Use the `isDisabled` prop to disable the `ColorField`. The `isReadOnly` boolean prop makes the `ColorField`'s text content immutable. Unlike `isDisabled`, the `ColorField` remains focusable and the contents can still be copied. `} /> @@ -147,43 +138,22 @@ Use the `isRequired` prop to mark the `ColorField` as required. Use the `necessityIndicator` prop to control the visual style of the required state. `} /> -## Uncontrolled - -Use the `value` and `onChange` props to control the value of the input. - -`} -/> - -## Controlled - -Use the `value` and `onChange` props to control the value of the input. - -(parseColor("#7f007f")); -return `} -/> - ## Composition If you need to customize things further, you can drop down to the composition level. - - - + Enter a background color. `} diff --git a/www/content/docs/components/colors/color-picker.mdx b/www/content/docs/components/colors/color-picker.mdx index 7fe33ef5..4d257cb8 100644 --- a/www/content/docs/components/colors/color-picker.mdx +++ b/www/content/docs/components/colors/color-picker.mdx @@ -1,14 +1,9 @@ --- title: Color Picker -description: A ColorPicker combines a swatch with a customizable popover for editing a color. -thumbnail: - image: /previews/components/core/color-picker.jpeg - video: /previews/components/core/color-picker.mp4 +description: A ColorPicker allow users to select and edit a color in an overlay. links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/ColorPicker.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/ColorPicker.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,69 +11,70 @@ links: --- `} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add color-picker ``` - - - - - Install the following dependencies: +## Anatomy - ```package-install - react-aria-components - ``` +```tsx +import { ColorPicker } from "@/components/core/color-picker"; - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Usage - -Use a `ColorPicker` to allow users to select and edit a color in an overlay. - -## Options - -`ColorPicker` accepts all [button options](/components/buttons/button#options). +; +``` - - Fill color -`} -/> +```tsx +import { + ColorPickerRoot, + ColorPickerButton, + ColorPickerEditor, +} from "@/components/core/color-picker"; +import { DialogRoot, Dialog } from "@/components/core/dialog"; + + + + + + + + +; +``` ## Unontrolled An initial, uncontrolled value can be provided to the `ColorPicker` using the `defaultValue` prop. `} /> ## Controlled -Use the `value` and `onChange` props to control the color picker. +Use the `value` and `onChange` props to control the color picker value. ;`} + ;`} +/> + +## Button options + +`ColorPicker` accepts all [button options](/docs/components/buttons/button#options). + + + Fill color + `} /> ## Composition @@ -86,26 +82,45 @@ return ;`} If you need to customize things further, you can drop down to the composition level. - - - + + + `} /> +## Examples + +### Channel sliders + +This example uses [ColorSlider](/docs/components/colors/color-slider) to allow a user to adjust each channel of a color value, with a [Select](/docs/components/menus-and-selection/select) to switch between color spaces. + + + +### Swatches + +This example uses a [ColorSwatchPicker](/docs/components/colors/color-swatch-picker) to provide color presets for a color picker. + + + ## API Reference -`ColorPicker` extends and merges the props of the [Button](/components/buttons/button#api-reference) component. +### ColorPicker + +`ColorPicker` props extends and [Button](/components/buttons/button#api-reference)'s props and the following -| Prop | Type | Default | Description | -| -------------- | ----------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------- | -| `value` | `string \| Color \| null` | - | The current value (controlled). | -| `defaultValue` | `string \| Color \| null` | - | The default value (uncontrolled). | -| `children` | `ReactNode \| (values: T & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | +| Prop | Type | Default | Description | +| -------------------- | ----------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------- | +| `value` | `string \| Color` | - | The current value (controlled). | +| `defaultValue` | `string \| Color` | - | The default value (uncontrolled). | +| `showAlphaChannel` | `boolean` | `false` | Whether to show the alpha channel slider. | +| `colorFormat` | `'hex' \| 'rgb' \| 'hsl' \| 'hsb'` | `'hex'` | The color format to display. | +| `showFormatSelector` | `boolean` | `false` | Whether to show the format selector. | +| `children` | `ReactNode \| (values: T & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | | Event | Type | Description | | ---------- | ------------------------ | ---------------------------------------------- | diff --git a/www/content/docs/components/colors/color-slider.mdx b/www/content/docs/components/colors/color-slider.mdx index 43d3a531..7af4e2a9 100644 --- a/www/content/docs/components/colors/color-slider.mdx +++ b/www/content/docs/components/colors/color-slider.mdx @@ -1,14 +1,9 @@ --- title: Color Slider description: ColorSlider allow users to adjust an individual channel of a color value. -thumbnail: - image: /previews/components/core/color-slider.jpeg - video: /previews/components/core/color-slider.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/ColorSlider.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/ColorSlider.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,96 +11,87 @@ links: --- `} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add color-slider ``` - - - - - Install the following dependencies: +## Anatomy - ```package-install - react-aria-components - ``` +```tsx +import { ColorSlider } from "@/components/core/color-slider"; - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Usage +; +``` -Use `ColorSlider` to allow users to adjust an individual channel of a color value. +```tsx +import { + ColorSliderRoot, + ColorSliderControl, + ColorSliderOutput, +} from "@/components/dynamic-core/color-slider"; +import { Label } from "@/components/dynamic-core/field"; -## Options + +
+ + +
+ +
; +``` -### Label +## Controlled -Use the `label` prop to provide a label for the color slider. +Use the `value` and `onChange` props to control the value of the slider. `} + name="color-slider/controlled" + preview={`const [value, setValue] = React.useState(parseColor("hsl(0, 100%, 50%)")); + return `} /> -### Orientation +## Label -`orientation` prop may be provided to specify the orientation of the color slider. +Use the `label` prop to provide a label for the color slider. `} + name="color-slider/label" + preview={``} /> -### Channel +## Channel `channel` prop may be provided to specify which color channel the color slider should display `} /> -### Disabled - -Use the `isDisabled` prop to disable the color slider. - -`} -/> +## Options -## Unontrolled +### Orientation -Use the `value` and `onChange` props to control the value of the slider. +`orientation` prop may be provided to specify the orientation of the color slider. `} + name="color-slider/vertical" + preview={``} /> -## Controlled +### Disabled -Use the `value` and `onChange` props to control the value of the slider. +Use the `isDisabled` prop to disable the color slider. `} + name="color-slider/disabled" + preview={``} /> ## Composition @@ -113,13 +99,13 @@ Use the `value` and `onChange` props to control the value of the slider. If you need to customize things further, you can drop down to the composition level. - - - - - +
+ + +
+ `} /> diff --git a/www/content/docs/components/colors/color-swatch-picker.mdx b/www/content/docs/components/colors/color-swatch-picker.mdx new file mode 100644 index 00000000..d26abd2b --- /dev/null +++ b/www/content/docs/components/colors/color-swatch-picker.mdx @@ -0,0 +1,73 @@ +--- +title: Color Swatch Picker +description: A ColorSwatchPicker displays a list of color swatches and allows a user to select one of them. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/ColorSwatchPicker.html + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/colors/color-swatch-picker.mdx?plain=1 +--- + + + + + + + + + + `} +/> + +## Installation + +```package-install +npx dotui-cli@latest add color-swatch-picker +``` + +## Anatomy + +```tsx +import { + ColorSwatchPicker, + ColorSwatchPickerItem, +} from "@/components/core/color-swatch-picker"; + + + + +; +``` + +## Controlled + + + +## Label + +By default, `ColorSwatchPicker` has an `aria-label` with the localized string "Color swatches". This can be overridden with a more specific accessibility label using the `aria-label` or `aria-labelledb`y props. All labels should be localized. + +## Options + +### Disabled + + + +## API Reference + +| Prop | Type | Default | Description | +| -------------- | ----------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------ | +| `children` | `ReactNode` | - | The children of the component. | +| `layout` | `'grid' \| 'stack'` | `'grid'` | Whether the items are arranged in a stack or grid. | +| `value` | `string \| Color` | - | The current value (controlled). | +| `defaultValue` | `string \| Color` | - | The default value (uncontrolled). | +| `className` | `string \| (values: ColorSwatchPickerRenderProps & {defaultClassName: string \| undefined}) => string` | - | The CSS className for the element. A function may be provided to compute the class based on component state. | +| `style` | `CSSProperties \| (values: ColorSwatchPickerRenderProps & {defaultStyle: CSSProperties}) => CSSProperties \| undefined` | - | The inline style for the element. A function may be provided to compute the style based on component state. | + +| Event | Type | Description | +| ---------- | ------------------------ | ---------------------------------------------- | +| `onChange` | `(value: Color) => void` | Handler that is called when the value changes. | diff --git a/www/content/docs/components/colors/color-swatch.mdx b/www/content/docs/components/colors/color-swatch.mdx index 03440bb0..8e5a000c 100644 --- a/www/content/docs/components/colors/color-swatch.mdx +++ b/www/content/docs/components/colors/color-swatch.mdx @@ -1,41 +1,26 @@ --- title: Color Swatch description: A ColorSwatch displays a preview of a selected color. -thumbnail: - image: /previews/components/core/color-swatch.jpeg --- `} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add color-swatch ``` - - - - - Install the following dependencies: +## Anatomy - ```package-install - react-aria-components - ``` +```tsx +import { ColorSwatch } from "@/components/core/color-swatch"; - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - +; +``` ## Usage @@ -45,7 +30,7 @@ Use a `ColorSwatch` to display a preview of a selected color. | Prop | Type | Default | Description | | ----------- | -------------------------------------------------------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------- | -| `color*` | `string \| Color \| null` | - | The color value to display in the swatch. | +| `color*` | `string \| Color` | - | The color value to display in the swatch. | | `children` | `ReactNode \| (values: ColorSwatchRenderProps & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | | `className` | `string` | - | The CSS className for the element. | | `style` | `CSSProperties \| (values: ColorSwatchRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | diff --git a/www/content/docs/components/colors/meta.json b/www/content/docs/components/colors/meta.json index 2b76fec7..26950b3a 100644 --- a/www/content/docs/components/colors/meta.json +++ b/www/content/docs/components/colors/meta.json @@ -4,6 +4,7 @@ "color-field", "color-slider", "color-swatch", + "color-swatch-picker", "color-picker" ] } diff --git a/www/content/docs/components/data-display/avatar.mdx b/www/content/docs/components/data-display/avatar.mdx index ff120e10..62a3126c 100644 --- a/www/content/docs/components/data-display/avatar.mdx +++ b/www/content/docs/components/data-display/avatar.mdx @@ -1,9 +1,6 @@ --- title: Avatar description: An image element with a fallback for representing the user. -thumbnail: - image: /previews/components/core/avatar.jpeg - video: /previews/components/core/avatar.mp4 links: - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose @@ -12,34 +9,39 @@ links: --- `} + name="avatar/default" + preview={` + // invalid URL`} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add avatar ``` - - - - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - +## Anatomy - - +```tsx +import { Avatar } from "@/components/core/avatar"; -## Usage +; +``` -Use `Avatar` to represent a user or an organization. +```tsx +import { + AvatarRoot, + AvatarImage, + AvatarFallback, + AvatarPlaceholder, +} from "@/components/core/avatar"; + + + + .. + +; +``` ## Options @@ -48,7 +50,7 @@ Use `Avatar` to represent a user or an organization. `Avatar` can be either a circle or a square using the `shape` prop. `} /> @@ -58,7 +60,7 @@ Use `Avatar` to represent a user or an organization. Use the `size` prop to control the size of the `Avatar`. The default variant is `md`. `} @@ -69,7 +71,7 @@ Use the `size` prop to control the size of the `Avatar`. The default variant is If you need to customize things further, you can drop down to the composition level. M @@ -83,10 +85,8 @@ If you need to customize things further, you can drop down to the composition le `Avatar` accepts all image attributes. -| Prop | Type | Default | Description | -| ---------- | ---------------------- | ---------- | ------------------------------------------------------------------------------------------- | -| `src*` | `string` | - | Specifies the path to the image | -| `alt` | `string` | - | Specifies an alternate text for the image, if the image for some reason cannot be displayed | -| `shape` | `'circle' \| 'square'` | `'circle'` | The shape of the avatar. | -| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | The size of the avatar. | -| `fallback` | `ReactNode` | - | The fallback element to render when an image is not available. | +| Prop | Type | Default | Description | +| ---------- | ---------------------- | ---------- | -------------------------------------------------------------- | +| `shape` | `'circle' \| 'square'` | `'circle'` | The shape of the avatar. | +| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | The size of the avatar. | +| `fallback` | `ReactNode` | - | The fallback element to render when an image is not available. | diff --git a/www/content/docs/components/data-display/badge.mdx b/www/content/docs/components/data-display/badge.mdx index 9437c681..b10dd3eb 100644 --- a/www/content/docs/components/data-display/badge.mdx +++ b/www/content/docs/components/data-display/badge.mdx @@ -1,9 +1,6 @@ --- title: Badge description: Displays a badge or a component that looks like a badge. -thumbnail: - image: /previews/components/core/badge.jpeg - video: /previews/components/core/badge.mp4 links: - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose @@ -11,28 +8,21 @@ links: href: https://github.com/mehdibha/dotUI/tree/main/content/components/data-display/badge.mdx?plain=1 --- -Badge`} /> +Badge`} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add badge ``` - - - - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - +## Anatomy - - +```tsx +import { Badge } from "@/components/core/badge"; + +Badge; +``` ## Options @@ -41,32 +31,13 @@ npx dotui-cli@latest add badge Use the `variant` prop to control the visual style of the `Badge`. The default variant is `primary`. - Neutral - Outline - Primary - - - Success - Success Subtle - Success Outline - - - Danger - Danger Subtle - Danger Outline - - - Warning - Warning Subtle - Warning Outline - - - Accent - Accent Subtle - Accent Outline - `} + name="badge/variants" + preview={`neutral + accent + success + danger + warning + info`} /> ### Size @@ -74,41 +45,28 @@ Use the `variant` prop to control the visual style of the `Badge`. The default v Use the `size` prop to control the size of the `Badge`. The default variant is `sm`. - Small - - - Medium - - - Large - `} + name="badge/sizes" + preview={`Small + Medium + Large`} /> -### Icon +## Examples -To add additional context for the `Badge`, use the `icon` prop to add an icon. +### With icon } size="sm"> - Badge - - } size="md"> - Badge - - } size="lg"> - Badge - `} + name="badge/icon" + preview={`Badge + Badge + Badge`} /> ## API Reference Badge accepts all HTML `span` element props and the following: -| Prop | Type | Default | Description | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | ----------------------------------------- | -| `neutral` | `"outline" \| "primary" \| "success" \| "success-subtle" \| "success-outline" \| "danger" \| "danger-subtle" \| "danger-outline" \| "warning" \| "warning-subtle" \| "warning-outline" \| "accent" \| "accent-subtle" \| "accent-outline"` | `"primary"` | The visual style of the badge. | -| `size` | `"sm" \| "md" \| "lg"` | `"sm"` | The size of the badge. | -| `icon` | `React.ReactNode` | - | An icon to display before the badge text. | +| Prop | Type | Default | Description | +| --------- | ----------------------------------------------------------------------- | ------------------------------ | ---------------------- | +| `neutral` | `'neutral' \| 'accent' \| 'success' \| 'warning' \| 'info' \| 'danger'` | The visual style of the badge. | +| `size` | `'sm' \| 'md' \| 'lg'` | `"sm"` | The size of the badge. | diff --git a/www/content/docs/components/data-display/meta.json b/www/content/docs/components/data-display/meta.json index 8907807c..cedaeee3 100644 --- a/www/content/docs/components/data-display/meta.json +++ b/www/content/docs/components/data-display/meta.json @@ -1,3 +1,3 @@ { - "pages": ["avatar", "badge", "separator"] -} \ No newline at end of file + "pages": ["avatar", "badge", "separator", "table"] +} diff --git a/www/content/docs/components/data-display/separator.mdx b/www/content/docs/components/data-display/separator.mdx index d9b9d638..dee7eeff 100644 --- a/www/content/docs/components/data-display/separator.mdx +++ b/www/content/docs/components/data-display/separator.mdx @@ -1,13 +1,9 @@ --- title: Separator description: Visually or semantically separates content. -thumbnail: - image: /previews/components/core/separator.jpeg links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/Separator.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/Separator.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -15,7 +11,7 @@ links: ---

dotUI

@@ -36,30 +32,17 @@ links: ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add separator ``` - - - - - Install the following dependencies: +## Anatomy - ```package-install - react-aria-components - ``` +```tsx +import { Separator } from "@/components/core/separator"; - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - +; +``` ## Options @@ -68,7 +51,7 @@ npx dotui-cli@latest add separator Use the `orientation` prop to change the direction of the separator.
Components
diff --git a/www/content/docs/components/data-display/table.mdx b/www/content/docs/components/data-display/table.mdx new file mode 100644 index 00000000..02e9201f --- /dev/null +++ b/www/content/docs/components/data-display/table.mdx @@ -0,0 +1,193 @@ +--- +title: Table +description: A table displays data in rows and columns and enables a user to navigate its contents via directional navigation keys, and optionally supports row selection and sorting. +links: + - label: Radix docs + href: https://www.radix-ui.com/primitives/docs/components/aspect-ratio + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/layout/aspect-ratio.mdx?plain=1 +--- + + + +## Installation + +```package-install +npx dotui-cli@latest add table +``` + +## Anatomy + +A table consists of a container element, with columns and rows of cells containing data inside. The cells within a table may contain focusable elements or plain text content. + +```tsx +import { + TableRoot, + TableHeader, + TableColumn, + TableBody, + TableRow, + TableCell, +} from "@/components/core/table"; + + + + # + Name + Email + + + + 1 + Mehdi BHA + hello@mehdibha.com + + + 2 + Devon Govett + devon@govett.com + + + 3 + Theo Browne + theo@ping.gg + + +; +``` + +## Variants + +Use the `variant` prop to change the appearance of the Table. + + + +## Dynamic collections + +The first example have shown static collections, where the data is hard coded. Dynamic collections, as shown below, can be used when the table data comes from an external data source such as an API, or updates over time. In the example below, both the columns and the rows are provided to the table via a render function. You can also make the columns static and only the rows dynamic. + + + +## Selection + +### Selection mode + +By default, Table doesn't allow row selection but this can be enabled using the `selectionMode` prop. + + + +### Uncontrolled selection + +Use `defaultSelectedKeys` to provide a default set of selected rows. Note that the value of the selected keys must match the `id` prop of the row. + + + +### Controlled selection + +To programmatically control row selection, use the `selectedKeys` prop paired with the onSelectionChange callback. The `id` prop from the selected rows will be passed into the callback when the row is pressed, allowing you to update state accordingly. + + + +### Selection variant + +Use the `selectionVariant` prop to change the appearance of the selected rows. + + + +### Disallow empty selection + +Table also supports a `disallowEmptySelection` prop which forces the user to have at least one row in the Table selected at all times. In this mode, if a single row is selected and the user presses it, it will not be deselected. + + + +### Selection Behavior + +You can control how multiple selection should behave in the collection using the `selectionBehavior` prop. + + + +## Row options + +### Action + +Table supports row actions via the `onRowAction` prop + + + +Rows may also have a row action specified by directly applying `onAction` on the Row itself. This may be especially convenient in static collections. + + + +### Link + +Table rows may also be links to another page or website. This can be achieved by passing the href prop to the `` component. + + + +### Disabled + +A Row can be disabled with the `isDisabled` prop. + +```tsx + + 1 + Mehdi BHA + hello@mehdibha.com + +``` + +In dynamic collections, it may be more convenient to use the `disabledKeys` prop at the Table level instead of `isDisabled` on individual rows. + + + +## Sorting + +Table supports sorting its data when a column header is pressed. To designate that a Column should support sorting, provide it with the `allowsSorting` prop. +The Table accepts a `sortDescriptor` prop that defines the current column key to sort by and the sort direction (ascending/descending). When the user presses a sortable column header, the column's key and sort direction is passed into the `onSortChange` callback, allowing you to update the `sortDescriptor` appropriately. + + + +## Empty state + +Use the `renderEmptyState` prop to customize what the `TableBody` will display if there are no items. +By default the `TableBody` will display a message saying `"No results found."`. + + + +## Column resizing + + + +## Drag and drop + +### Reordable + + + +## API Reference + +### TableRoot + +| Prop | Type | Default | Description | +| ------------------------ | ---------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------ | +| `children` | `ReactNode` | - | The elements that make up the table. Includes the TableHeader, TableBody, Columns, and Rows. | +| `selectionBehavior` | `'toggle' \| 'replace'` | `'toggle'` | How multiple selection should behave in the collection. | +| `disabledBehavior` | `'selection' \| 'all'` | `'selection` | Whether disabledKeys applies to all interactions, or only selection. | +| `dragAndDropHooks` | `DragAndDropHooks` | - | The drag and drop hooks returned by useDragAndDrop used to enable drag and drop behavior for the Table. | +| `disabledKeys` | `Iterable` | - | A list of row keys to disable. | +| `selectionMode` | `'none'\| 'single'\| 'multiple'` | - | The type of selection that is allowed in the collection. | +| `disallowEmptySelection` | `boolean` | - | Whether the collection allows empty selection. | +| `selectedKeys` | `'all' \| Iterable` | - | The currently selected keys in the collection (controlled). | +| `defaultSelectedKeys` | `'all' \| Iterable` | - | The initial selected keys in the collection (uncontrolled). | +| `sortDescriptor` | `SortDescriptor` | - | The current sorted column and direction. | +| `className` | `string \| (values: TableRenderProps & {defaultClassName: string \| undefined}) => string` | - | The CSS className for the element. A function may be provided to compute the class based on component state. | +| `style` | `CSSProperties \| (values: TableRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | + +| Event | Type | Description | +| ------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `onRowAction` | `(key: Key) => void` | Handler that is called when a user performs an action on the row. | +| `onSelectionChange` | `(key: Selection) => void` | Handler that is called when the selection changes. | +| `onSortChange` | `(descriptor: SortDescriptor) => any` | Handler that is called when the sorted column or direction changes. | +| `onScroll` | `(e: UIEvent) => void` | Handler that is called when a user scrolls. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/scroll_event). | diff --git a/www/content/docs/components/date-and-time/calendar.mdx b/www/content/docs/components/date-and-time/calendar.mdx new file mode 100644 index 00000000..63883d03 --- /dev/null +++ b/www/content/docs/components/date-and-time/calendar.mdx @@ -0,0 +1,289 @@ +--- +title: Calendar +description: A component that allows users to select a single date. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/Calendar.html + - label: "@internationalized/date" + href: https://react-spectrum.adobe.com/internationalized/date/index.html + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/date-and-time/calendar.mdx?plain=1 +--- + +`} +/> + +## Installation + +```package-install +npx dotui-cli@latest add calendar +``` + +## Usage + +Use `Calendar` to allow users to select a single date. + +```tsx +import { parseDate } from "@internationalized/date"; +import { Calendar } from "@/components/core/calendar"; + +; +``` + +```tsx +import { parseDate } from "@internationalized/date"; +import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react"; +import { Button } from "@/components/core/button"; +import { + CalendarRoot, + CalendarHeader, + CalendarGrid, + CalendarGridHeader, + CalendarHeaderCell, + CalendarGridBody, + CalendarCell, +} from "@/components/core/calendar"; +import { Heading } from "@/registry/ui/default/core/heading"; + + + + + + + + + + {(day) => {day}} + + + {(date) => } + + +; +``` + +### Best practices + +- An `aria-label` must be provided to the `Calendar` for accessibility. If it is labeled by a separate element, an `aria-labelledby` prop must be provided using the id of the labeling element instead. + +## Uncontrolled + +An initial, uncontrolled value can be provided to the `Calendar` using the `defaultValue` prop. + +`} +/> + +## Controlled + +The `Calendar` component can be controlled by passing the `value` and `onChange` props. + +(parseDate('2025-01-01')) +return `} +/> + +## Validation + +### Min and max values + +By default, `Calendar` allows selecting any date. The `minValue` and `maxValue` props can also be used to prevent the user from selecting dates outside a certain range. + +This example only accepts dates after today. + +`} +/> + +### Unavailable dates + +`Calendar` supports marking certain dates as unavailable. These dates cannot be selected by the user and are displayed with a crossed out appearance. The `isDateUnavailable` prop accepts a callback that is called to evaluate whether each visible date is unavailable. + +This example includes multiple unavailable date ranges, e.g. dates when no appointments are available. In addition, all weekends are unavailable. The minValue prop is also used to prevent selecting dates before today. + +{/* prettier-ignore-start */} + + + isWeekend(date, locale) || + disabledRanges.some( + (interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0 + ); + + return ( + +);`} +/> + +{/* prettier-ignore-end */} + +### Error message + +`Calendar` tries to avoid allowing the user to select invalid dates in the first place (see [Min and max values](/docs/components/date-and-time/calendar#min-and-max-values) and [Unavailable dates](/docs/components/date-and-time/calendar#unavailable-dates). However, if according to application logic a selected date is invalid, Use `isInvalid` and `errorMessage` props. + +This example validates that the selected date is a weekday and not a weekend according to the current locale. + + + +);`} +/> + +## Options + +### Variant + +The `variant` prop can be used to change the appearance of the `Calendar`. + +`} +/> + +### Visible months + +By default, `Calendar` displays a single month. The `visibleMonths` prop allows displaying up to 3 months at a time. + +`} +/> + +### Page behaviour + +The `pageBehavior` prop allows you to control how the calendar navigates between months. + +`} +/> + +### Disabled + +The `isDisabled` boolean prop makes the Calendar disabled. Cells cannot be focused or selected. + +`} +/> + +### Read only + +The `isReadOnly` boolean prop makes the Calendar's value immutable. Unlike `isDisabled`, the Calendar remains focusable. + +`} +/> + +## Composition + +If you need to customize things further, you can drop down to the composition level. + + + + + + + + + + {(day) => {day}} + + + {(date) => } + + + `} +/> + +## API Reference + +| Prop | Type | Default | Description | +| --------------------- | ----------------------------------------------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `visibleMonths` | `number` | `1` | The number of months to display at once. Up to 3 months are supported. | +| `minValue` | `DateValue` | - | The minimum allowed date that a user may select. | +| `maxValue` | `DateValue` | - | The maximum allowed date that a user may select. | +| `isDateUnavailable` | `(date: DateValue) => boolean` | - | Callback that is called for each date of the calendar. If it returns true, then the date is unavailable. | +| `isDisabled` | `boolean` | `false` | Whether the calendar is disabled. | +| `isReadOnly` | `boolean` | `false` | Whether the calendar value is immutable. | +| `autoFocus` | `boolean` | `false` | Whether to automatically focus the calendar when it mounts. | +| `focusedValue` | `DateValue` | - | Controls the currently focused date within the calendar. | +| `defaultFocusedValue` | `DateValue` | - | The date that is focused when the calendar first mounts (uncountrolled). | +| `isInvalid` | `boolean` | - | Whether the current selection is invalid according to application logic. | +| `pageBehavior` | `'single' \| 'visible'` | `'visible'` | Controls the behavior of paging. Pagination either works by advancing the visible page by visibleDuration (default) or one unit of visibleDuration. | +| `value` | `DateValue \| null` | - | The current value (controlled). | +| `defaultValue` | `DateValue \| null` | - | The default value (uncontrolled). | +| `children` | `ReactNode \| (values: CalendarRenderProps & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | +| `className` | `string` | - | The CSS className for the element. | +| `style` | `CSSProperties \| (values: CalendarRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | + +| Event | Type | Description | +| --------------- | --------------------------------------------- | ----------------------------------------------------- | +| `onFocusChange` | `(date: CalendarDate) => void` | Handler that is called when the focused date changes. | +| `onChange` | `(value: MappedDateValue) => void` | Handler that is called when the value changes. | + +## Accessibility + +### Keyboard interactions + +| Key | Description | +| --------------- | ------------------------------------------------------------- | +| `Tab` | Moves focus to the next focusable item in the calendar. | +| `Shift+Tab` | Moves focus to the previous focusable item in the calendar. | +| `ArrowRight` | Moves focus to the next day. | +| `ArrowLeft` | Moves focus to the previous day. | +| `ArrowDown` | Moves focus to the same day of the week in the next week. | +| `ArrowUp` | Moves focus to the same day of the week in the previous week. | +| `Space` `Enter` | Selects the focused date. | diff --git a/www/content/docs/components/dates/date-field.mdx b/www/content/docs/components/date-and-time/date-field.mdx similarity index 86% rename from www/content/docs/components/dates/date-field.mdx rename to www/content/docs/components/date-and-time/date-field.mdx index bee6ccb5..a3ae112e 100644 --- a/www/content/docs/components/dates/date-field.mdx +++ b/www/content/docs/components/date-and-time/date-field.mdx @@ -1,52 +1,66 @@ --- title: Date Field description: A date field allows users to enter and edit date and time values using a keyboard. -thumbnail: - image: /previews/components/core/date-field.jpeg - video: /previews/components/core/date-field.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/DateField.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/DateField.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page href: https://github.com/mehdibha/dotUI/tree/main/content/components/dates/date-field.mdx?plain=1 --- -`} /> +`} +/> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add date-field ``` - - - - - Install the following dependencies: +## Usage - ```package-install - react-aria-components - ``` +Use a `DateField` to allow users to enter and edit time values using a keyboard. - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - +```tsx +import { DateField } from "@/components/core/date-field"; - - +; +``` -## Usage +```tsx +import { DateFieldRoot, DateFieldInput } from "@/components/core/date-field"; +import { Label, Description, FieldError } from "@/components/core/field"; -Use a `DateField` to allow users to enter and edit time values using a keyboard. + + + + Please select your event date. + +; +``` + +## Uncontrolled + +An initial, uncontrolled value can be provided to the `DateField` using the `defaultValue` prop. + +`} +/> + +## Controlled + +Use the `value` and `onChange` props to control the value of the input. + +`} +/> ## Options @@ -55,18 +69,18 @@ Use a `DateField` to allow users to enter and edit time values using a keyboard. A visual label can be provided for the `DateField` using the `label` prop or a hidden label using `aria-label` prop.
`} /> -### Sizes +### Size Use the `size` prop to control the size of the `DateField`.
The default variant is `"md"`. `} @@ -77,7 +91,7 @@ The default variant is `"md"`. To add additional context for the `DateField`, such as an icon, use the `prefix` and `suffix` props. } /> } />`} /> @@ -87,28 +101,16 @@ To add additional context for the `DateField`, such as an icon, use the `prefix` A description can be supplied to `DateField` via the `description` prop. The description is always visible unless the `isInvalid` prop is `true` and an error message is provided. `} /> -### Contextual help - -A ContextualHelp element may be placed next to the label to provide additional information or help about a DateField. - -} - />`} -/> - ### Error message An `errorMessage` can be supplied to `DateField`, which will be displayed when the `isInvalid` prop is set to `true`. `} /> +### Disabled + +Use the `isDisabled` prop to disable the DateField. + +`} +/> + +### ReadOnly + +The `isReadOnly` boolean prop makes the DateField's text content immutable. Unlike isDisabled, the DateField remains focusable and the contents can still be copied. + +`} +/> + +### Required + +Use the `isRequired` prop to mark the DateField as required. +Use the `necessityIndicator` prop to control the visual style of the required state. + +`} +/> + +## Value options + ### Time zones `DateField` is time zone aware when a ZonedDateTime object is provided as the value. `} + name="date-field/time-zones" + preview={``} /> ### Granularity @@ -130,7 +165,7 @@ An `errorMessage` can be supplied to `DateField`, which will be displayed when t The `granularity` prop allows you to control the smallest unit that is displayed by DateField. `} /> +## Format Options + ### Placeholder value Use the `placeholderValue` prop to control the default values of each segment. The default value is midnight. `} /> @@ -162,7 +199,7 @@ Use the `placeholderValue` prop to control the default values of each segment. T Use the `hideTimeZone` prop to hide the time zone abbreviation. `} -/> - -### Loading - -Use the `isLoading` prop to control the loading state of the DateField. -Use the `loaderPosition` prop to control the position of the loader. - - -`} -/> - -### Disabled - -Use the `isDisabled` prop to disable the DateField. - -`} -/> - -### ReadOnly - -The isReadOnly boolean prop makes the DateField's text content immutable. Unlike isDisabled, the DateField remains focusable and the contents can still be copied. - -`} -/> - -### Required - -Use the `isRequired` prop to mark the DateField as required. -Use the `necessityIndicator` prop to control the visual style of the required state. - - - - -`} -/> - -## Uncontrolled - -An initial, uncontrolled value can be provided to the `DateField` using the `defaultValue` prop. - -`} -/> - -## Controlled - -Use the `value` and `onChange` props to control the value of the input. - -`} + name="date-field/hour-cycle" + preview={``} /> ## Composition @@ -246,12 +222,10 @@ Use the `value` and `onChange` props to control the value of the input. If you need to customize things further, you can drop down to the composition level. - - {(segment) => } - + Please select a time between 9 AM and 5 PM. `} /> diff --git a/www/content/docs/components/dates/date-picker.mdx b/www/content/docs/components/date-and-time/date-picker.mdx similarity index 91% rename from www/content/docs/components/dates/date-picker.mdx rename to www/content/docs/components/date-and-time/date-picker.mdx index 6e54e612..f8feeb2b 100644 --- a/www/content/docs/components/dates/date-picker.mdx +++ b/www/content/docs/components/date-and-time/date-picker.mdx @@ -1,9 +1,6 @@ --- title: Date Picker description: DatePicker combine a DateField and a Calendar overlay to allow users to enter or select a date and time value. -thumbnail: - image: /previews/components/core/date-picker.jpeg - video: /previews/components/core/date-picker.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/DatePicker.html @@ -15,35 +12,14 @@ links: href: https://github.com/mehdibha/dotUI/tree/main/content/components/dates/date-picker.mdx?plain=1 --- -`} /> +`} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add date-picker ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - ## Usage Use a `DatePicker` to allow users to enter and edit time values. @@ -55,7 +31,7 @@ Use a `DatePicker` to allow users to enter and edit time values. A visual label can be provided for the `DatePicker` using the label prop or a hidden `label` using `aria-label` prop. `} /> @@ -66,7 +42,7 @@ Use the `size` prop to control the size of the `DatePicker`.
The default variant is `"md"`. `} @@ -77,7 +53,7 @@ The default variant is `"md"`. To add additional context for the `DatePicker`, use the `prefix` prop. } />`} /> @@ -86,25 +62,16 @@ To add additional context for the `DatePicker`, use the `prefix` prop. A description can be supplied to `DatePicker` via the `description` prop. The description is always visible unless the `isInvalid` prop is `true` and an error message is provided. `} /> -### Contextual help - -A `ContextualHelp` element may be placed next to the label to provide additional information or help about a `DatePicker`. - -} />`} -/> - ### Error message An `errorMessage` can be supplied to a `DatePicker`, which will be displayed when the `isInvalid` prop is set to `true`. `} /> @@ -126,7 +93,7 @@ An `errorMessage` can be supplied to a `DatePicker`, which will be displayed whe The `granularity` prop allows you to control the smallest unit that is displayed by DatePicker. `} /> @@ -158,7 +125,7 @@ Use the `placeholderValue` prop to control the default values of each segment. T Use the `hideTimeZone` prop to hide the time zone abbreviation. `} /> -### Loading - -Use the `isLoading` prop to control the loading state of the `DatePicker`. - -`} -/> - ### Disabled Use the `isDisabled` prop to disable the `DatePicker`. `} /> @@ -199,7 +157,7 @@ Use the `isDisabled` prop to disable the `DatePicker`. The isReadOnly boolean prop makes the `DatePicker`'s text content immutable. Unlike isDisabled, the `DatePicker` remains focusable and the contents can still be copied. `} /> @@ -209,7 +167,7 @@ Use the `isRequired` prop to mark the `DatePicker` as required. Use the `necessityIndicator` prop to control the visual style of the required state. @@ -221,7 +179,7 @@ Use the `necessityIndicator` prop to control the visual style of the required st An initial, uncontrolled value can be provided to the `DatePicker` using the `defaultValue` prop. `} /> @@ -230,7 +188,7 @@ An initial, uncontrolled value can be provided to the `DatePicker` using the `de Use the `value` and `onChange` props to control the value of the input. `} /> @@ -240,7 +198,7 @@ Use the `value` and `onChange` props to control the value of the input. If you need to customize things further, you can drop down to the composition level. }> diff --git a/www/content/docs/components/dates/date-range-picker.mdx b/www/content/docs/components/date-and-time/date-range-picker.mdx similarity index 91% rename from www/content/docs/components/dates/date-range-picker.mdx rename to www/content/docs/components/date-and-time/date-range-picker.mdx index 009c698d..16fa26a8 100644 --- a/www/content/docs/components/dates/date-range-picker.mdx +++ b/www/content/docs/components/date-and-time/date-range-picker.mdx @@ -1,43 +1,19 @@ --- title: Date Range Picker description: DateRangePicker combine a DateField and a RangeCalendar overlay to allow users to enter or select a date and time range. -thumbnail: - image: /previews/components/core/date-range-picker.jpeg - video: /previews/components/core/date-range-picker.mp4 --- `} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add date-range-picker ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - ## Usage Use a `DateRangePicker` to allow users to enter and edit time values. @@ -49,7 +25,7 @@ Use a `DateRangePicker` to allow users to enter and edit time values. A visual label can be provided for the `DateRangePicker` using the label prop or a hidden label using `aria-label` prop.
`} /> @@ -60,7 +36,7 @@ Use the `size` prop to control the size of the `DateRangePicker`.
The default variant is `"md"`. `} @@ -71,7 +47,7 @@ The default variant is `"md"`. To add additional context for the `DateRangePicker`, use the `prefix` prop. } />`} /> @@ -80,25 +56,16 @@ To add additional context for the `DateRangePicker`, use the `prefix` prop. A description can be supplied to `DateRangePicker` via the `description` prop. The description is always visible unless the `isInvalid` prop is `true` and an error message is provided. `} /> -### Contextual help - -A `ContextualHelp` element may be placed next to the label to provide additional information or help about a `DateRangePicker`. - -} />`} -/> - ### Error message An `errorMessage` can be supplied to a `DateRangePicker`, which will be displayed when the `isInvalid` prop is set to `true`. `} @@ -136,7 +103,7 @@ The `granularity` prop allows you to control the smallest unit that is displayed Use the `placeholderValue` prop to control the default values of each segment. The default value is midnight. `} /> @@ -145,7 +112,7 @@ Use the `placeholderValue` prop to control the default values of each segment. T Use the `hideTimeZone` prop to hide the time zone abbreviation. `} /> -### Loading - -Use the `isLoading` prop to control the loading state of the `DateRangePicker`. - -`} -/> - ### Disabled Use the `isDisabled` prop to disable the `DateRangePicker`. `} /> @@ -189,7 +147,7 @@ Use the `isDisabled` prop to disable the `DateRangePicker`. The `isReadOnly` boolean prop makes the `DateRangePicker`'s text content immutable. Unlike `isDisabled`, the `DateRangePicker` remains focusable and the contents can still be copied. @@ -218,7 +176,7 @@ Use the `necessityIndicator` prop to control the visual style of the required st An initial, uncontrolled value can be provided to the `DateRangePicker` using the `defaultValue` prop. ` If you need to customize things further, you can drop down to the composition level. }> diff --git a/www/content/docs/components/dates/meta.json b/www/content/docs/components/date-and-time/meta.json similarity index 100% rename from www/content/docs/components/dates/meta.json rename to www/content/docs/components/date-and-time/meta.json diff --git a/www/content/docs/components/date-and-time/range-calendar.mdx b/www/content/docs/components/date-and-time/range-calendar.mdx new file mode 100644 index 00000000..e41154fa --- /dev/null +++ b/www/content/docs/components/date-and-time/range-calendar.mdx @@ -0,0 +1,326 @@ +--- +title: Range Calendar +description: A component that allows users to select a range of dates. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/RangeCalendar.html + - label: "@internationalized/date" + href: https://react-spectrum.adobe.com/internationalized/date/index.html + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/dates/range-calendar.mdx?plain=1 +--- + +`} +/> + +## Installation + +```package-install +npx dotui-cli@latest add calendar +``` + +## Usage + +Use `RangeCalendar` to allow users to select a contiguous or non-contiguous range of dates. + +```tsx +import { parseDate } from "@internationalized/date"; +import { RangeCalendar } from "@/components/core/calendar"; + +; +``` + +```tsx +import { parseDate } from "@internationalized/date"; +import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react"; +import { Button } from "@/components/core/button"; +import { + RangeCalendarRoot, + CalendarHeader, + CalendarGrid, + CalendarGridHeader, + CalendarHeaderCell, + CalendarGridBody, + CalendarCell, +} from "@/components/core/calendar"; +import { Heading } from "@/registry/ui/default/core/heading"; + + + + + + + + + + {(day) => {day}} + + + {(date) => } + + +; +``` + +### Best practices + +- An `aria-label` must be provided to the `RangeCalendar` for accessibility. If it is labeled by a separate element, an `aria-labelledby` prop must be provided using the id of the labeling element instead. + +## Uncontrolled + +An initial, uncontrolled value can be provided to the `RangeCalendar` using the `defaultValue` prop. + +`} +/> + +## Controlled + +The Range Calendar component can be controlled by passing the `value` and `onChange` props. + +({ + start: parseDate("2020-02-03"), + end: parseDate("2020-02-12"), + }); + return `} +/> + +## Validation + +### Min and max values + +By default, Calendar allows selecting any date. The minValue and maxValue props can also be used to prevent the user from selecting dates outside a certain range. + +This example only accepts dates after today. + +`} +/> + +### Unavailable dates + +Calendar supports marking certain dates as unavailable. These dates cannot be selected by the user and are displayed with a crossed out appearance. The `isDateUnavailable` prop accepts a callback that is called to evaluate whether each visible date is unavailable. + +This example includes multiple unavailable date ranges, e.g. dates when a rental house is not available. The `minValue` prop is also used to prevent selecting dates before today. + +{/* prettier-ignore-start */} + + + disabledRanges.some( + (interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0 + ); + + return ( + + );`} +/> + +{/* prettier-ignore-end */} + +### Non-contiguous ranges + +The `allowsNonContiguousRanges` prop enables a range to be selected even if there are unavailable dates in the middle. + +This example prevents selecting weekends, but allows selecting ranges that span multiple weeks. + + + disabledRanges.some( + (interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0 + ); + return ( + + );`} +/> + +### Error message + +`RangeCalendar` tries to avoid allowing the user to select invalid dates in the first place (see [Min and max values](/docs/components/date-and-time/calendar#min-and-max-values) and [Unavailable dates](/docs/components/date-and-time/calendar#unavailable-dates)). However, if according to application logic a selected date is invalid, Use `isInvalid` and `errorMessage` props. + +This example validates that the selected date range is a maximum of 1 week in duration. + + 7; + return ( + + );`} +/> + +## Options + +### Visible months + +By default, the `RangeCalendar` displays a single month. The `visibleMonths` prop allows displaying up to 3 months at a time. + +`} +/> + +### Page behaviour + +The `pageBehavior` prop allows you to control how the range-calendar navigates between months. + +`} +/> + +### Disabled + +The `isDisabled` boolean prop makes the `RangeCalendar` disabled. cells cannot be focused or selected. + +`} +/> + +### Read only + +The `isReadOnly` boolean prop makes the `RangeCalendar`'s value immutable. Unlike `isDisabled`, the `RangeCalendar` remains focusable. + +`} +/> + +## Composition + +If you need to customize things further, you can drop down to the composition level. + + + + + + + + + + {(day) => {day}} + + + {(date) => } + + + `} +/> + +## API Reference + +| Prop | Type | Default | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `visibleMonths` | `number` | `1` | The number of months to display at once. Up to 3 months are supported. | +| `minValue` | `DateValue` | - | The minimum allowed date that a user may select. | +| `maxValue` | `DateValue` | - | The maximum allowed date that a user may select. | +| `isDateUnavailable` | `(date: DateValue) => boolean` | - | Callback that is called for each date of the range calendar. If it returns true, then the date is unavailable. | +| `isDisabled` | `boolean` | `false` | Whether the range calendar is disabled. | +| `isReadOnly` | `boolean` | `false` | Whether the range calendar value is immutable. | +| `autoFocus` | `boolean` | `false` | Whether to automatically focus the range calendar when it mounts. | +| `focusedValue` | `DateValue` | - | Controls the currently focused date within the range calendar. | +| `defaultFocusedValue` | `DateValue` | - | The date that is focused when the range calendar first mounts (uncountrolled). | +| `isInvalid` | `boolean` | - | Whether the current selection is invalid according to application logic. | +| `pageBehavior` | `'single' \| 'visible'` | `'visible'` | Controls the behavior of paging. Pagination either works by advancing the visible page by visibleDuration (default) or one unit of visibleDuration. | +| `value` | `RangeValue \| null` | - | The current value (controlled). | +| `defaultValue` | `RangeValue \| null` | - | The default value (uncontrolled). | +| `children` | `ReactNode \| (values: RangeCalendarRenderProps & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | +| `className` | `string` | - | The CSS className for the element. | +| `style` | `CSSProperties \| (values: RangeCalendarRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | + +| Event | Type | Description | +| --------------- | --------------------------------------------------------- | ----------------------------------------------------- | +| `onFocusChange` | `(date: CalendarDate) => void` | Handler that is called when the focused date changes. | +| `onChange` | `(value: RangeValue>) => void` | Handler that is called when the value changes. | + +## Accessibility + +### Keyboard interactions + +| Key | Description | +| --------------- | ----------------------------------------------------------------- | +| `Tab` | Moves focus to the next focusable item in the range calendar. | +| `Shift+Tab` | Moves focus to the previous focusable item in the range calendar. | +| `ArrowRight` | Moves focus to the next day. | +| `ArrowLeft` | Moves focus to the previous day. | +| `ArrowDown` | Moves focus to the same day of the week in the next week. | +| `ArrowUp` | Moves focus to the same day of the week in the previous week. | +| `Space` `Enter` | Selects the focused date. | diff --git a/www/content/docs/components/dates/time-field.mdx b/www/content/docs/components/date-and-time/time-field.mdx similarity index 83% rename from www/content/docs/components/dates/time-field.mdx rename to www/content/docs/components/date-and-time/time-field.mdx index 1a3f2433..8f246949 100644 --- a/www/content/docs/components/dates/time-field.mdx +++ b/www/content/docs/components/date-and-time/time-field.mdx @@ -1,52 +1,69 @@ --- title: Time Field description: TimeFields allow users to enter and edit time values using a keyboard. -thumbnail: - image: /previews/components/core/time-field.jpeg - video: /previews/components/core/time-field.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/TimeField.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/TimeField.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page href: https://github.com/mehdibha/dotUI/tree/main/content/components/dates/time-field.mdx?plain=1 --- -`} /> +`} +/> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add time-field ``` - - - - - Install the following dependencies: +## Usage - ```package-install - react-aria-components - ``` +Use a `TimeField` to allow users to enter and edit time values using a keyboard. - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - +```tsx +import { TimeField } from "@/components/core/time-field"; - - +; +``` -## Usage +```tsx +import { Label, Description } from "@/components/dynamic-core/field"; +import { + TimeFieldRoot, + TimeFieldInput, +} from "@/components/dynamic-core/time-field"; + + + + + Please select a time between 9 AM and 5 PM. + +; +``` -Use a `TimeField` to allow users to enter and edit time values using a keyboard. +## Uncontrolled + +An initial, uncontrolled value can be provided to the `TimeField` using the `defaultValue` prop. + +`} +/> + +## Controlled + +Use the `value` and `onChange` props to control the value of the input. + +`} +/> ## Options @@ -55,21 +72,21 @@ Use a `TimeField` to allow users to enter and edit time values using a keyboard. A visual label can be provided for the `TimeField` using the `label` prop or a hidden label using `aria-label` prop. `} /> -### Sizes +### Size Use the `size` prop to control the size of the `TimeField`.
The default variant is `"md"`. - -`} + name="time-field/sizes" + preview={` + + `} /> ### Prefix and suffix @@ -77,9 +94,9 @@ The default variant is `"md"`. To add additional context for the `TimeField`, such as an icon, use the `prefix` and `suffix` props. } /> -} />`} + name="time-field/prefix-and-suffix" + preview={`} /> + } />`} /> ### Description @@ -87,138 +104,109 @@ To add additional context for the `TimeField`, such as an icon, use the `prefix` A description can be supplied to `TimeField` via the `description` prop. The description is always visible unless the `isInvalid` prop is `true` and an error message is provided. `} /> -### Contextual help - -A `ContextualHelp` element may be placed next to the label to provide additional information or help about a TimeField. - - } - />`} -/> - ### Error message An `errorMessage` can be supplied to `TimeField` via the `errorMessage` prop, which will be displayed when the `isInvalid` prop is set to `true`. `} /> -### Time zones +### Disabled -TimeField is time zone aware when a ZonedDateTime object is provided as the value. +Use the `isDisabled` prop to disable the TimeField. `} + name="time-field/disabled" + preview={``} /> -### Granularity +### ReadOnly -The `granularity` prop allows you to control the smallest unit that is displayed by TimeField. +The `isReadOnly` boolean prop makes the TimeField's text content immutable. Unlike isDisabled, the TimeField remains focusable and the contents can still be copied. `} + name="time-field/read-only" + preview={``} /> -### Placeholder value +### Required -Use the `placeholderValue` prop to control the default values of each segment. The default value is midnight. +Use the `isRequired` prop to mark the TimeField as required. +Use the `necessityIndicator` prop to control the visual style of the required state. `} + name="time-field/required" + preview={` + + +`} /> -### Hide time zone +## Value options -Use the `hideTimeZone` prop to hide the time zone abbreviation. +### Time zones + +TimeField is time zone aware when a `ZonedDateTime` object is provided as the value. `} /> -### Hour cycle - -Use the `hourCycle` prop to control the hour cycle of the TimeField. - -`} -/> - -### Loading - -Use the `isLoading` prop to control the loading state of the TimeField. -Use the `loaderPosition` prop to control the position of the loader. - - -`} -/> - -### Disabled +### Granularity -Use the `isDisabled` prop to disable the TimeField. +The `granularity` prop allows you to control the smallest unit that is displayed by TimeField. `} + name="time-field/granularity" + preview={``} /> -### ReadOnly - -The `isReadOnly` boolean prop makes the TimeField's text content immutable. Unlike isDisabled, the TimeField remains focusable and the contents can still be copied. +## Format Options -`} -/> - -### Required +### Placeholder value -Use the `isRequired` prop to mark the TimeField as required. -Use the `necessityIndicator` prop to control the visual style of the required state. +`placeholderValue` controls the default values of each segment when the user first interacts with them, e.g. using the up and down arrow keys. +The default value is midnight. - - -`} + name="time-field/placeholder" + preview={``} /> -## Uncontrolled +### Hide time zone -An initial, uncontrolled value can be provided to the `TimeField` using the `defaultValue` prop. +Use the `hideTimeZone` prop to hide the time zone abbreviation. `} + name="time-field/hide-time-zone" + preview={``} /> -## Controlled +### Hour cycle -Use the `value` and `onChange` props to control the value of the input. +Use the `hourCycle` prop to control the hour cycle of the TimeField. `} + name="time-field/hour-cycle" + preview={``} /> ## Composition @@ -226,13 +214,12 @@ return `} If you need to customize things further, you can drop down to the composition level. - - {(segment) => } - + Please select a time between 9 AM and 5 PM. + `} /> diff --git a/www/content/docs/components/dates/calendar.mdx b/www/content/docs/components/dates/calendar.mdx deleted file mode 100644 index 29215ad7..00000000 --- a/www/content/docs/components/dates/calendar.mdx +++ /dev/null @@ -1,221 +0,0 @@ ---- -title: Calendar -description: A component that allows users to select a single date. -thumbnail: - image: /previews/components/core/calendar.jpeg - video: /previews/components/core/calendar.mp4 -links: - - label: Aria docs - href: https://react-spectrum.adobe.com/react-aria/Calendar.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/Calendar.html#props - - label: Report an issue - href: https://github.com/mehdibha/dotUI/issues/new/choose - - label: Edit this page - href: https://github.com/mehdibha/dotUI/tree/main/content/components/dates/calendar.mdx?plain=1 ---- - -`} /> - -## Installation - - - - - ```package-install -npx dotui-cli@latest add calendar -``` - - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Usage - -Use `Calendar` to allow users to select a single date. - -## Options - -### Label - -An `aria-label` must be provided to the Calendar for accessibility. If it is labeled by a separate element, an `aria-labelledby` prop must be provided using the id of the labeling element instead. - -`} -/> - -### Error message - -`Calendar` tries to avoid allowing the user to select invalid dates in the first place (see [Min and max values](#min-and-max-values) and [Unavailable dates](#unavailable-dates)). However, if according to application logic a selected date is invalid, Use `isInvalid` and `errorMessage` props. - - - );`} -/> - -### Min and max values - -By default, `Calendar` allows selecting any date. The `minValue` and `maxValue` props can also be used to prevent the user from selecting dates outside a certain range. - -`} -/> - -### Unavailable dates - -`Calendar` supports marking certain dates as unavailable. These dates cannot be selected by the user and are displayed with a crossed out appearance. The `isDateUnavailable` prop accepts a callback that is called to evaluate whether each visible date is unavailable. - -{/* prettier-ignore-start */} - - - isWeekend(date, locale) || - disabledRanges.some( - (interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0 - ); - - return ( - -);`} -/> - -{/* prettier-ignore-end */} - -### Visible months - -By default, `Calendar` displays a single month. The `visibleMonths` prop allows displaying up to 3 months at a time. - -`} -/> - -### Page behaviour - -The `pageBehavior` prop allows you to control how the calendar navigates between months. - -`} -/> - -### Disabled - -The `isDisabled` boolean prop makes the Calendar disabled. Cells cannot be focused or selected. - -`} -/> - -### Read only - -The `isReadOnly` boolean prop makes the Calendar's value immutable. Unlike `isDisabled`, the Calendar remains focusable. - -`} -/> - -## Uncontrolled - -An initial, uncontrolled value can be provided to the `Calendar` using the `defaultValue` prop. - -`} -/> - -## Controlled - -The `Calendar` component can be controlled by passing the `value` and `onChange` props. - -`} -/> - -## Composition - -If you need to customize things further, you can drop down to the composition level. - - - -## API Reference - -| Prop | Type | Default | Description | -| --------------------- | ----------------------------------------------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| `visibleMonths` | `number` | `1` | The number of months to display at once. Up to 3 months are supported. | -| `minValue` | `DateValue` | - | The minimum allowed date that a user may select. | -| `maxValue` | `DateValue` | - | The maximum allowed date that a user may select. | -| `isDateUnavailable` | `(date: DateValue) => boolean` | - | Callback that is called for each date of the calendar. If it returns true, then the date is unavailable. | -| `isDisabled` | `boolean` | `false` | Whether the calendar is disabled. | -| `isReadOnly` | `boolean` | `false` | Whether the calendar value is immutable. | -| `autoFocus` | `boolean` | `false` | Whether to automatically focus the calendar when it mounts. | -| `focusedValue` | `DateValue` | - | Controls the currently focused date within the calendar. | -| `defaultFocusedValue` | `DateValue` | - | The date that is focused when the calendar first mounts (uncountrolled). | -| `isInvalid` | `boolean` | - | Whether the current selection is invalid according to application logic. | -| `pageBehavior` | `'single' \| 'visible'` | `'visible'` | Controls the behavior of paging. Pagination either works by advancing the visible page by visibleDuration (default) or one unit of visibleDuration. | -| `value` | `DateValue \| null` | - | The current value (controlled). | -| `defaultValue` | `DateValue \| null` | - | The default value (uncontrolled). | -| `children` | `ReactNode \| (values: CalendarRenderProps & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | -| `className` | `string` | - | The CSS className for the element. | -| `style` | `CSSProperties \| (values: CalendarRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | - -| Event | Type | Description | -| --------------- | --------------------------------------------- | ----------------------------------------------------- | -| `onFocusChange` | `(date: CalendarDate) => void` | Handler that is called when the focused date changes. | -| `onChange` | `(value: MappedDateValue) => void` | Handler that is called when the value changes. | - -## Accessibility - -### Keyboard interactions - -| Key | Description | -| --------------- | ------------------------------------------------------------- | -| `Tab` | Moves focus to the next focusable item in the calendar. | -| `Shift+Tab` | Moves focus to the previous focusable item in the calendar. | -| `ArrowRight` | Moves focus to the next day. | -| `ArrowLeft` | Moves focus to the previous day. | -| `ArrowDown` | Moves focus to the same day of the week in the next week. | -| `ArrowUp` | Moves focus to the same day of the week in the previous week. | -| `Space` `Enter` | Selects the focused date. | diff --git a/www/content/docs/components/dates/range-calendar.mdx b/www/content/docs/components/dates/range-calendar.mdx deleted file mode 100644 index 7f0a202a..00000000 --- a/www/content/docs/components/dates/range-calendar.mdx +++ /dev/null @@ -1,283 +0,0 @@ ---- -title: Range Calendar -description: A component that allows users to select a range of dates. -thumbnail: - image: /previews/components/core/range-calendar.jpeg - video: /previews/components/core/range-calendar.mp4 -links: - - label: Aria docs - href: https://react-spectrum.adobe.com/react-aria/RangeCalendar.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/RangeCalendar.html#props - - label: Report an issue - href: https://github.com/mehdibha/dotUI/issues/new/choose - - label: Edit this page - href: https://github.com/mehdibha/dotUI/tree/main/content/components/dates/range-calendar.mdx?plain=1 ---- - -`} -/> - -## Installation - - - - - ```package-install -npx dotui-cli@latest add range-calendar -``` - - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Usage - -Use `RangeCalendar` to allow users to select a contiguous or non-contiguous range of dates. - -## Options - -### Label - -An `aria-label` must be provided to the `RangeCalendar` for accessibility. If it is labeled by a separate element, an `aria-labelledby` prop must be provided using the id of the labeling element instead. - -`} -/> - -### Error message - -`RangeCalendar` tries to avoid allowing the user to select invalid dates in the first place (see [Min and max values](#min-and-max-values) and [Unavailable dates](#unavailable-dates)). However, if according to application logic a selected date is invalid, Use `isInvalid` and `errorMessage` props. - - 7; - return ( - - );`} -/> - -### Min and max values - -By default, Calendar allows selecting any date. The minValue and maxValue props can also be used to prevent the user from selecting dates outside a certain range. - -`} -/> - -### Unavailable dates - -Calendar supports marking certain dates as unavailable. These dates cannot be selected by the user and are displayed with a crossed out appearance. The `isDateUnavailable` prop accepts a callback that is called to evaluate whether each visible date is unavailable. - -{/* prettier-ignore-start */} - - - disabledRanges.some( - (interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0 - ); - - return ( - - );`} -/> - -{/* prettier-ignore-end */} - -### Non-contiguous ranges - -The `allowsNonContiguousRanges` prop enables a range to be selected even if there are unavailable dates in the middle. - - - disabledRanges.some( - (interval) => date.compare(interval[0]) >= 0 && date.compare(interval[1]) <= 0 - ); - return ( - - );`} -/> - -### Visible months - -By default, the `RangeCalendar` displays a single month. The `visibleMonths` prop allows displaying up to 3 months at a time. - -`} -/> - -### Page behaviour - -The `pageBehavior` prop allows you to control how the range-calendar navigates between months. - -`} -/> - -### Disabled - -The `isDisabled` boolean prop makes the `RangeCalendar` disabled. cells cannot be focused or selected. - -`} -/> - -### Read only - -The `isReadOnly` boolean prop makes the `RangeCalendar`'s value immutable. Unlike `isDisabled`, the `RangeCalendar` remains focusable. - -`} -/> - -## Uncontrolled - -An initial, uncontrolled value can be provided to the `Calendar` using the `defaultValue` prop. - -`} -/> - -## Controlled - -The Range Calendar component can be controlled by passing the `value` and `onChange` props. - -({ - start: today(getLocalTimeZone()), - end: today(getLocalTimeZone()).add({ weeks: 1 }), - }); - return `} -/> - -## Composition - -If you need to customize things further, you can drop down to the composition level. - - - - - - - - - - {(day) => {day}} - - - {(date) => ( - - {({ formattedDate }) => {formattedDate}} - - )} - - - `} -/> - -## API Reference - -| Prop | Type | Default | Description | -| --------------------- | ---------------------------------------------------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| `visibleMonths` | `number` | `1` | The number of months to display at once. Up to 3 months are supported. | -| `minValue` | `DateValue` | - | The minimum allowed date that a user may select. | -| `maxValue` | `DateValue` | - | The maximum allowed date that a user may select. | -| `isDateUnavailable` | `(date: DateValue) => boolean` | - | Callback that is called for each date of the range calendar. If it returns true, then the date is unavailable. | -| `isDisabled` | `boolean` | `false` | Whether the range calendar is disabled. | -| `isReadOnly` | `boolean` | `false` | Whether the range calendar value is immutable. | -| `autoFocus` | `boolean` | `false` | Whether to automatically focus the range calendar when it mounts. | -| `focusedValue` | `DateValue` | - | Controls the currently focused date within the range calendar. | -| `defaultFocusedValue` | `DateValue` | - | The date that is focused when the range calendar first mounts (uncountrolled). | -| `isInvalid` | `boolean` | - | Whether the current selection is invalid according to application logic. | -| `pageBehavior` | `'single' \| 'visible'` | `'visible'` | Controls the behavior of paging. Pagination either works by advancing the visible page by visibleDuration (default) or one unit of visibleDuration. | -| `value` | `RangeValue \| null` | - | The current value (controlled). | -| `defaultValue` | `RangeValue \| null` | - | The default value (uncontrolled). | -| `children` | `ReactNode \| (values: RangeCalendarRenderProps & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | -| `className` | `string` | - | The CSS className for the element. | -| `style` | `CSSProperties \| (values: RangeCalendarRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | - -| Event | Type | Description | -| --------------- | --------------------------------------------------------- | ----------------------------------------------------- | -| `onFocusChange` | `(date: CalendarDate) => void` | Handler that is called when the focused date changes. | -| `onChange` | `(value: RangeValue>) => void` | Handler that is called when the value changes. | - -## Accessibility - -### Keyboard interactions - -| Key | Description | -| --------------- | ----------------------------------------------------------------- | -| `Tab` | Moves focus to the next focusable item in the range calendar. | -| `Shift+Tab` | Moves focus to the previous focusable item in the range calendar. | -| `ArrowRight` | Moves focus to the next day. | -| `ArrowLeft` | Moves focus to the previous day. | -| `ArrowDown` | Moves focus to the same day of the week in the next week. | -| `ArrowUp` | Moves focus to the same day of the week in the previous week. | -| `Space` `Enter` | Selects the focused date. | diff --git a/www/content/docs/components/drag-and-drop/drop-zone.mdx b/www/content/docs/components/drag-and-drop/drop-zone.mdx index d20de22d..36de76a7 100644 --- a/www/content/docs/components/drag-and-drop/drop-zone.mdx +++ b/www/content/docs/components/drag-and-drop/drop-zone.mdx @@ -1,14 +1,9 @@ --- title: Dropzone description: A drop zone is an area into which one or multiple objects can be dragged and dropped. -thumbnail: - image: /previews/components/core/drop-zone.jpeg - video: /previews/components/core/drop-zone.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/DropZone.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/DropZone.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,45 +11,22 @@ links: --- `} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add drop-zone ``` - - - - - Install the following dependencies: +## Label - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Options - -### Label - -A visual label can be provided for the `DropZone` using the `` component, or a hidden label using `aria-label` prop. +A visual label can be provided for the `DropZone` using the `` component, or a hidden label using `aria-label` prop. @@ -64,35 +36,69 @@ A visual label can be provided for the `DropZone` using the ` `} /> -### Disabled +## Events -Use the `isDisabled` prop to disable the drop zone. +DropZone supports user interactions via mouse, keyboard, and touch. You can handle all of these via the `onDrop` prop. In addition, the `onDropEnter`, `onDropMove`, and `onDropExit` events are fired as the user interacts with the dropzone. - - Drag and drop files here + name="drop-zone/events" + preview={` + + { + {/* handle drop event */} + }} + > + Droppable `} /> -## Examples +## File trigger -### File trigger +To allow the selection of files from the user's device, pass FileTrigger as a child of DropZone. - Drag and drop files here + Drag and drop files here `} /> +## Visual feedback + +A dropzone displays visual feedback to the user when a drag hovers over the drop target by passing the `getDropOperation` function. If a drop target only supports data of specific types (e.g. images, videos, text, etc.), then it should implement the `getDropOperation` prop and return `"cancel"` for types that aren't supported. This will prevent visual feedback indicating that the drop target accepts the dragged data when this is not true. + + (types.has("image/png") ? "copy" : "cancel")} + > + {dropped ? "Successful drop!" : "Drop files here"} + `} +/> + +## Options + +### Disabled + +Use the `isDisabled` prop to disable the drop zone. + + + + Drag and drop files here + `} +/> + ## API Reference +### DropZone + | Prop | Type | Default | Description | | ------------------ | ----------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------- | | `getDropOperation` | `(types: DragTypes, allowedOperations: DropOperation[]) => DropOperation` | - | A function returning the drop operation to be performed when items matching the given types are dropped on the drop target. | diff --git a/www/content/docs/components/feedback/alert.mdx b/www/content/docs/components/feedback/alert.mdx index e75c24c5..0b4a692b 100644 --- a/www/content/docs/components/feedback/alert.mdx +++ b/www/content/docs/components/feedback/alert.mdx @@ -1,8 +1,6 @@ --- title: Alert description: Displays a callout for user attention. -thumbnail: - image: /previews/components/core/alert.jpeg links: - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose @@ -11,42 +9,33 @@ links: --- You can add components to your app using the cli.`} + name="alert/default" + preview={`You can add components to your app using the cli.`} + fullWidth + resizable /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add alert ``` - - - - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - ## Examples ### Variants -Use the `variant` and `fill` props to change the visual style of the alert. +Use the `variant` prop to change the visual style of the alert. - You can add components to your app using the cli. - `} + name="alert/variants" + preview={` + + + +`} + fullWidth + resizable /> ### Title @@ -54,8 +43,10 @@ Use the `variant` and `fill` props to change the visual style of the alert. Use the `title` prop to add a title to the alert. `} + fullWidth + resizable /> ### Content @@ -63,10 +54,12 @@ Use the `title` prop to add a title to the alert. Pass children to the alert to add content. Enter your payment method to complete your purchase. `} + fullWidth + resizable /> ### Custom icon @@ -74,8 +67,10 @@ Pass children to the alert to add content. Use the `icon` prop to add a custom icon to the alert. An explicit `null` value can be used to remove the default icon. }>Hello world!`} + fullWidth + resizable /> ### Action @@ -83,7 +78,7 @@ Use the `icon` prop to add a custom icon to the alert. An explicit `null` value Use the `action` prop to add an action to the alert. Upgrade} > @@ -98,7 +93,7 @@ Use the `action` prop to add an action to the alert. If you need to customize things further, you can drop down the composition pattern.
@@ -117,7 +112,7 @@ If you need to customize things further, you can drop down the composition patte Alert accepts all HTML `div` element props and the following: -| Prop | Type | Default | Description | -| --------- | ---------------------------------------------------------- | ----------- | ------------------------------------------ | -| `variant` | `'default' \| 'success \| 'warning' \| 'danger \| 'info' ` | `'default'` | The visual style of the alert. | -| `fill` | `boolean` | `false` | Weather the visual style should be filled. | +| Prop | Type | Default | Description | +| --------- | ------------------------------------------------------------ | ----------- | ------------------------------------------ | +| `variant` | `'default' \| 'success' \| 'warning' \| 'danger' \| 'info' ` | `'default'` | The visual style of the alert. | +| `fill` | `boolean` | `false` | Weather the visual style should be filled. | diff --git a/www/content/docs/components/feedback/meta.json b/www/content/docs/components/feedback/meta.json index 2460acc1..df8dbe29 100644 --- a/www/content/docs/components/feedback/meta.json +++ b/www/content/docs/components/feedback/meta.json @@ -1,3 +1,3 @@ { - "pages": ["alert", "progress", "skeleton"] + "pages": ["alert", "progress-bar"] } \ No newline at end of file diff --git a/www/content/docs/components/feedback/progress-bar.mdx b/www/content/docs/components/feedback/progress-bar.mdx new file mode 100644 index 00000000..7d8b2640 --- /dev/null +++ b/www/content/docs/components/feedback/progress-bar.mdx @@ -0,0 +1,187 @@ +--- +title: Progress Bar +description: Progress bar show either determinate or indeterminate progress of an operation over time. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/ProgressBar.html + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/feedback/progress.mdx?plain=1 +--- + +`} +/> + +## Installation + +```package-install +npx dotui-cli@latest add progress +``` + +## Anatomy + +```tsx +import { ProgressBar } from "@/components/core/progress-bar"; + +; +``` + +```tsx +import { Label } from "@/components/core/field"; +import { + ProgressBarRoot, + ProgressBarValueLabel, + ProgressBarIndicator, +} from "@/components/core/progress-bar"; + + +
+ + +
+ +
; +``` + +## Visual options + +### Variant + +Use the `variant` prop to control the visual style of the `Progress`. The default variant is `"default"`. + + + + + +`} +/> + +### Size + +Use the `size` prop to control the size of the `Progress`. The default variant is `"md"`. + + + +`} +/> + +## Labelling + +### Label + +A visual label can be provided using the `label` prop, or a hidden label using `aria-label` prop. + + +`} +/> + +### Value label + +Set the `showValueLabel` prop to `true` to display the current value of the progress bar. + +`} +/> + +### Format options + +Values are formatted as a percentage by default, but this can be modified by using the `formatOptions` prop to specify a different format. + +`} +/> + +### Custom value label + +The `valueLabel` prop allows the formatted value to be replaced with a custom string. + +`} +/> + +## Value + +### Value scale + +A custom value scale can be used by setting the `minValue` and `maxValue` props. + +`} +/> + +### Indeterminate + +The `isIndeterminate` prop can be used to represent an interdeterminate operation. + +`} +/> + +### Duration + +Use the `duration` prop to indicate an approximate duration of an indeterminate task. Once the duration times out, the progress bar will start an indeterminate animation. + +`} +/> + +## Composition + +If you need to customize things further, you can drop down to the composition level. + + + + + + `} +/> + +## API Reference + +| Prop | Type | Default | Description | +| ----------------- | -------------------------------------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------- | +| `variant` | `"primary" \| "primary" \| "danger" \| "success" \| "warning"` | `"default"` | The visual style of the progress indicator. | +| `size` | `"sm" \| "md" \| "lg"` | `"md"` | The size of the progress indicator | +| `isIndeterminate` | `boolean` | - | Whether presentation is indeterminate when progress isn't known. | +| `duration` | `` `${number}s` \| `${number}ms` `` | `'0s'` | The estimated duration of an indeterminate progress. | +| `formatOptions` | `Intl.NumberFormatOptions` | `{style: 'percent'}` | The display format of the value label. | +| `valueLabel` | `ReactNode` | - | The content to display as the value's label (e.g. 1 of 4). | +| `showValueLabel` | `boolean` | `false` | Whether the value's label is displayed. | +| `value` | `number` | `0` | The current value (controlled). | +| `minValue` | `number` | `0` | The smallest value allowed for the input. | +| `maxValue` | `number` | `100` | The largest value allowed for the input. | +| `children` | `ReactNode \| (values: ProgressBarRenderProps & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | +| `className` | `string` | - | The CSS className for the element. | +| `style` | `CSSProperties \| (values: ProgressBarRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | diff --git a/www/content/docs/components/feedback/progress.mdx b/www/content/docs/components/feedback/progress.mdx deleted file mode 100644 index 3a597128..00000000 --- a/www/content/docs/components/feedback/progress.mdx +++ /dev/null @@ -1,218 +0,0 @@ ---- -title: Progress -description: Progress shows the completion progress of a task in shape of a bar, displayed as a progress bar.. -thumbnail: - image: /previews/components/core/progress.jpeg - video: /previews/components/core/progress.mp4 -links: - - label: Aria docs - href: https://react-spectrum.adobe.com/react-aria/ProgressBar.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/ProgressBar.html#props - - label: Report an issue - href: https://github.com/mehdibha/dotUI/issues/new/choose - - label: Edit this page - href: https://github.com/mehdibha/dotUI/tree/main/content/components/feedback/progress.mdx?plain=1 ---- - -`} -/> - -## Installation - - - - - ```package-install -npx dotui-cli@latest add progress -``` - - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - -## Usage - -Use `Progress` to show the completion progress of a task. It can represent either determinate or indeterminate progress. - -### Best pratices - -When possible, use a determinate progress indicator.
-An indeterminate progress indicator shows that a process is occurring, but it doesn't help people estimate how long a task will take.
-A determinate progress indicator can help people decide whether to do something else while waiting for the task to complete, restart the task at a different time, or abandon the task. - -## Options - -### Variant - -Use the `variant` prop to control the visual style of the `Progress`. The default variant is `"default"`. - - - - - -`} -/> - -### Size - -Use the `size` prop to control the size of the `Progress`. The default variant is `"md"`. - - - -`} -/> - -### Label - -A visual label can be provided for the `Progress` using the label prop, or a hidden label using `aria-label` prop. - - -`} -/> - -### Value label - -Set the `showValueLabel` prop to `true` to display the current value of the progress bar. - -`} -/> - -### Format options - -Values are formatted as a percentage by default, but this can be modified by using the `formatOptions` prop to specify a different format. - -`} -/> - -### Custom value label - -The `valueLabel` prop allows the formatted value to be replaced with a custom string. - -`} -/> - -### Indeterminate - -The `isIndeterminate` prop can be used to represent an interdeterminate operation. - -`} -/> - -### Duration - -Use the duration prop to indicate an approximate duration of an indeterminate task. Once the duration times out, the progress bar will start an indeterminate animation. - -`} -/> - -### Min and max values - -A custom value scale can be used by setting the `minValue` and `maxValue` props. - -`} -/> - -## Examples - -### Composition - -If you need to customize things further, you can drop down to the composition level. - - - - - - `} -/> - -### Custom color - -`} -/> - -### Toolbar - - - -## API Reference - -| Prop | Type | Default | Description | -| ----------------- | -------------------------------------------------------------------------------------------------------- | -------------------- | ----------------------------------------------------------------------------------------------------------- | -| `variant` | `"default" \| "primary" \| "danger" \| "success" \| "warning"` | `"default"` | The visual style of the progress indicator. | -| `size` | `"sm" \| "md" \| "lg"` | `"md"` | The size of the progress indicator | -| `isIndeterminate` | `boolean` | - | Whether presentation is indeterminate when progress isn't known. | -| `formatOptions` | `Intl.NumberFormatOptions` | `{style: 'percent'}` | The display format of the value label. | -| `valueLabel` | `ReactNode` | - | The content to display as the value's label (e.g. 1 of 4). | -| `showValueLabel` | `boolean` | `false` | Whether the value's label is displayed. | -| `value` | `number` | `0` | The current value (controlled). | -| `minValue` | `number` | `0` | The smallest value allowed for the input. | -| `maxValue` | `number` | `100` | The largest value allowed for the input. | -| `children` | `ReactNode \| (values: ProgressBarRenderProps & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | -| `className` | `string` | - | The CSS className for the element. | -| `style` | `CSSProperties \| (values: ProgressBarRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | - -| CSS Selector | Description | -| ----------------------- | ------------------------------------------ | -| `[aria-valuetext]` | A formatted version of the value. | -| `:not([aria-valuenow])` | Whether the progress bar is indeterminate. | diff --git a/www/content/docs/components/feedback/skeleton.mdx b/www/content/docs/components/feedback/skeleton.mdx index f329e6a3..7c8e2367 100644 --- a/www/content/docs/components/feedback/skeleton.mdx +++ b/www/content/docs/components/feedback/skeleton.mdx @@ -1,13 +1,12 @@ --- title: Skeleton description: Use to show a placeholder while content is loading. -thumbnail: - image: /previews/components/core/skeleton.jpeg - video: /previews/components/core/skeleton.mp4 --- +{/* Work in progress */} +
@@ -20,25 +19,10 @@ thumbnail: ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add skeleton ``` - - - - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - ## Usage Use the `Skeleton` component to show a placeholder while content is loading. @@ -50,7 +34,7 @@ Use the `Skeleton` component to show a placeholder while content is loading. If you do not pass a fixed size, skeleton will take the size of the children. `} @@ -61,7 +45,7 @@ If you do not pass a fixed size, skeleton will take the size of the children. Use the `show` prop to show/hide the skeleton. @@ -77,7 +61,7 @@ Use the `show` prop to show/hide the skeleton. {/* prettier-ignore-start */} ("idle"); const apiCall = () => { {/* Simulate API call */} @@ -102,7 +86,7 @@ Use the `show` prop to show/hide the skeleton. If you do not pass a fixed size, it will be calculated automatically. `} /> diff --git a/www/content/docs/components/inputs/checkbox-group.mdx b/www/content/docs/components/forms-and-inputs/checkbox-group.mdx similarity index 88% rename from www/content/docs/components/inputs/checkbox-group.mdx rename to www/content/docs/components/forms-and-inputs/checkbox-group.mdx index d1405e1a..9aa08789 100644 --- a/www/content/docs/components/inputs/checkbox-group.mdx +++ b/www/content/docs/components/forms-and-inputs/checkbox-group.mdx @@ -1,14 +1,9 @@ --- title: Checkbox Group description: A checkbox group allows a user to select multiple items from a list of options. -thumbnail: - image: /previews/components/core/checkbox-group.jpeg - video: /previews/components/core/checkbox-group.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/CheckboxGroup.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/CheckboxGroup.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,7 +11,7 @@ links: --- Next.js Remix @@ -26,34 +21,37 @@ links: ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add checkbox-group ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` +## Usage - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - +Use `CheckboxGroup` to allow users to select multiple items from a list of individual items, or to mark one individual item as selected. - - +```tsx +import { Checkbox } from "@/components/core/checkbox"; +import { CheckboxGroup } from "@/components/core/checkbox-group"; -## Usage + + Next.js + Remix + Gatsby +; +``` -Use `CheckboxGroup` to allow users to select multiple items from a list of individual items, or to mark one individual item as selected. +```tsx +import { Checkbox } from "@/components/core/checkbox"; +import { CheckboxGroup } from "@/components/core/checkbox-group"; +import { Label } from "@/components/core/field"; + + + + Next.js + Remix + Gatsby +; +``` ### Best practices @@ -67,7 +65,7 @@ Use `CheckboxGroup` to allow users to select multiple items from a list of indiv Use the `variant` prop to control the visual style of the `CheckBoxGroup`. Next.js Remix @@ -80,7 +78,7 @@ Use the `variant` prop to control the visual style of the `CheckBoxGroup`. A visual label can be provided for the `CheckboxGroup` using the `label` prop or a hidden label using `aria-label` prop. Next.js Remix @@ -96,7 +94,7 @@ A visual label can be provided for the `CheckboxGroup` using the `label` prop or A description can be supplied to a `CheckboxGroup` via the `description` prop. The description is always visible unless the `isInvalid` prop is `true` and an error message is provided. `} /> -### Contextual help - -A `ContextualHelp` element may be placed next to the label to provide additional information or help about a CheckboxGroup. - -} - > - Next.js - Remix - Gatsby - `} -/> - ### Error message -An error message can be supplied to a CheckboxGroup, which will be displayed when the `validationState` is `“invalid”`. +An error message can be supplied to a CheckboxGroup, which will be displayed when the `isInvalid` prop is set to `true`. Next.js Remix @@ -143,7 +124,7 @@ An error message can be supplied to a CheckboxGroup, which will be displayed whe Use the `isDisabled` prop to disable the CheckboxGroup. Next.js Remix @@ -156,7 +137,7 @@ Use the `isDisabled` prop to disable the CheckboxGroup. The `isReadOnly` boolean prop makes the CheckboxGroup's text content immutable. Unlike isDisabled, the CheckboxGroup remains focusable and the contents can still be copied. Next.js Remix @@ -170,7 +151,7 @@ Use the `isRequired` prop to mark the CheckboxGroup as required. Use the `necessityIndicator` prop to control the visual style of the required state. Next.js Remix @@ -194,7 +175,7 @@ Use the `necessityIndicator` prop to control the visual style of the required st The `defaultValue` prop can be used to set the default state. Next.js Remix @@ -207,7 +188,7 @@ The `defaultValue` prop can be used to set the default state. Use the `value` and `onChange` props to control the value of the input. @@ -223,7 +204,7 @@ Use the `value` and `onChange` props to control the value of the input. If you need to customize things further, you can drop down to the composition level. You can pick any frameworks. diff --git a/www/content/docs/components/inputs/checkbox.mdx b/www/content/docs/components/forms-and-inputs/checkbox.mdx similarity index 91% rename from www/content/docs/components/inputs/checkbox.mdx rename to www/content/docs/components/forms-and-inputs/checkbox.mdx index 40b6765f..d0da9c80 100644 --- a/www/content/docs/components/inputs/checkbox.mdx +++ b/www/content/docs/components/forms-and-inputs/checkbox.mdx @@ -1,14 +1,9 @@ --- title: Checkbox description: Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected. -thumbnail: - image: /previews/components/core/checkbox.jpeg - video: /previews/components/core/checkbox.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/Checkbox.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/Checkbox.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,49 +11,52 @@ links: --- I accept the terms and conditions`} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add checkbox ``` - - - - - Install the following dependencies: +## Usage - ```package-install - react-aria-components - ``` +Use `Checkbox` to allow users to select multiple items from a list of individual items, or to mark one individual item as selected. - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - +```tsx +import { Checkbox } from "@/components/core/checkbox"; - - +I accept the terms and conditions; +``` -## Usage +```tsx +import { CheckboxRoot, CheckboxIndicator } from "@/components/core/checkbox"; -Use `checkbox` to allow users to select multiple items from a list of individual items, or to mark one individual item as selected. + + I accept the terms and conditions + +; +``` ## Options -### Variant +### Variants Use the `variant` prop to control the visual style of the checkbox. I accept the terms and conditions`} +/> + +### Appearance + +You can make the checkbox appear as a card using the `appearance` prop. + +I accept the terms and conditions`} /> @@ -67,7 +65,7 @@ Use the `variant` prop to control the visual style of the checkbox. A checkbox can be in an indeterminate state, controlled using the `isIndeterminate` prop. Select all`} /> @@ -76,7 +74,7 @@ A checkbox can be in an indeterminate state, controlled using the `isIndetermina Use the `isDisabled` prop to disable the checkbox. I accept the terms and conditions`} /> @@ -85,16 +83,28 @@ Use the `isDisabled` prop to disable the checkbox. The `isReadOnly` prop makes the selection immutable. Unlike isDisabled, the Checkbox remains focusable. I accept the terms and conditions`} /> +## Composition + +If you need to customize things further, you can drop down to the composition level. + + + I agree to the terms and conditions + + `} +/> + ## Uncontrolled The `defaultSelected` prop can be used to set the default state. I accept the terms and conditions`} /> @@ -103,7 +113,7 @@ The `defaultSelected` prop can be used to set the default state. Use the `isSelected` and `onChange` props to control the value of the input. diff --git a/www/content/docs/components/forms-and-inputs/form.mdx b/www/content/docs/components/forms-and-inputs/form.mdx new file mode 100644 index 00000000..6027b600 --- /dev/null +++ b/www/content/docs/components/forms-and-inputs/form.mdx @@ -0,0 +1,100 @@ +--- +title: Form +description: Forms allow users to enter and submit data, and provide them with feedback along the way. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/Form.html + - label: React Hook Form docs + href: https://react-hook-form.com/ + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/buttons/toggle-button-group.mdx?plain=1 +--- + +) => { + /* Handle form submission */ + }; + + return ( +
+ + + + );`} +/> + +## Installation + +```package-install +npx dotui-cli@latest add form +``` + +## React Aria + +### Label & help text + +Accessible forms start with clear, descriptive labels for each field. All dotUI form components support labeling using the Label component or the `label` prop, which is automatically associated with the field via the id and for attributes on your behalf. + +In addition, the components support help text, which associates additional context with a field such as a description or error message. The label and help text are announced by assistive technology such as screen readers when the user focuses the field. + +```tsx +import {TextField, Label, Input, Text} from 'react-aria-components'; + + + + + Password must be at least 8 characters. +c +``` + +### Built-in validation + +All React Aria form components integrate with native HTML [constraint validation](https://developer.mozilla.org/en-US/docs/Web/HTML/Constraint_validation). This allows you to define constraints on each field such as required, minimum and maximum values, text formats such as email addresses, and even custom regular expression patterns. These constraints are checked by the browser when the user commits changes to the value (e.g. on blur) or submits the form. + + + +## React Hook Form + +In most cases, uncontrolled forms with the builtin validation features are enough. However, if you are building a truly complex form, a separate form library such as React Hook Form may be helpful. + +### Anatomy + +```tsx +const formSchema = z.object({ + // Define your form schema +}); + +const Demo = () => { + const { control, handleSubmit } = useForm(); + const onSubmit = (values: z.infer) => { + /* Handle form submission */ + }; + + return ( +
+ { + // Your form component + }} + /> + + ); +}; +``` + +### Example + + diff --git a/www/content/docs/components/forms-and-inputs/meta.json b/www/content/docs/components/forms-and-inputs/meta.json new file mode 100644 index 00000000..e3f56d43 --- /dev/null +++ b/www/content/docs/components/forms-and-inputs/meta.json @@ -0,0 +1,14 @@ +{ + "pages": [ + "text-field", + "text-area", + "search-field", + "number-field", + "checkbox", + "checkbox-group", + "radio-group", + "switch", + "slider", + "form" + ] +} \ No newline at end of file diff --git a/www/content/docs/components/inputs/number-field.mdx b/www/content/docs/components/forms-and-inputs/number-field.mdx similarity index 92% rename from www/content/docs/components/inputs/number-field.mdx rename to www/content/docs/components/forms-and-inputs/number-field.mdx index 451281f9..4f3f6ded 100644 --- a/www/content/docs/components/inputs/number-field.mdx +++ b/www/content/docs/components/forms-and-inputs/number-field.mdx @@ -1,9 +1,6 @@ --- title: NumberField description: NumberField allows a user to enter a number, and increment or decrement the value using stepper buttons. -thumbnail: - image: /previews/components/core/number-field.jpeg - video: /previews/components/core/number-field.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/NumberField.html @@ -16,37 +13,16 @@ links: --- `} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add number-field ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - ## Usage Use a `NumberField` to allow a user to enter a number. @@ -58,7 +34,7 @@ Use a `NumberField` to allow a user to enter a number. The NumberField value can be formatted by using the `formatOptions` prop. formatOptions is compatible with the option parameter of [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) and is applied based on the current locale. `} @@ -112,35 +88,26 @@ Use the `size` prop to control the size of the `NumberField`. The default size i A visual label can be provided for the `NumberField` using the `label` prop or a hidden label using `aria-label` prop. `} /> ### Description -A description can be supplied to a NumberField via the `description` prop. The description is always visible unless the `validationState` is `“invalid”` and an error message is provided. +A description can be supplied to a NumberField via the `description` prop. The description is always visible unless the `isInvalid` prop is set to `true` and an error message is provided. `} /> -### Contextual help - -A `ContextualHelp` element may be placed next to the label to provide additional information or help about a `NumberField`. - -} />`} -/> - ### Error message An `errorMessage` can be supplied to a `NumberField`, which will be displayed when the `isInvalid` prop is set to `true`. `} /> @@ -162,7 +129,7 @@ Use the `isDisabled` prop to disable the NumberField. The `isReadOnly` boolean prop makes the NumberField's text content immutable. Unlike `isDisabled`, the NumberField remains focusable and the contents can still be copied. `} /> @@ -172,7 +139,7 @@ Use the `isRequired` prop to mark the NumberField as required. Use the `necessityIndicator` prop to control the visual style of the required state. @@ -184,7 +151,7 @@ Use the `necessityIndicator` prop to control the visual style of the required st Use the `defaultValue` prop to set the default input value. `} /> @@ -193,7 +160,7 @@ Use the `defaultValue` prop to set the default input value. Use the `value` and `onChange` props to control the value of the input. ;`} /> @@ -203,7 +170,7 @@ return ;`} If you need to customize things further, you can drop down to the composition level. diff --git a/www/content/docs/components/inputs/radio-group.mdx b/www/content/docs/components/forms-and-inputs/radio-group.mdx similarity index 91% rename from www/content/docs/components/inputs/radio-group.mdx rename to www/content/docs/components/forms-and-inputs/radio-group.mdx index b1a824ef..d1455f32 100644 --- a/www/content/docs/components/inputs/radio-group.mdx +++ b/www/content/docs/components/forms-and-inputs/radio-group.mdx @@ -1,14 +1,9 @@ --- title: Radio Group description: A radio group allows a user to select a single item from a list of mutually exclusive options. -thumbnail: - image: /previews/components/core/radio-group.jpeg - video: /previews/components/core/radio-group.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/RadioGroup.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/RadioGroup.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,7 +11,7 @@ links: --- Small Medium @@ -26,34 +21,49 @@ links: ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add radio-group ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` +## Usage - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - +Use radio group to allow users to select a single option from a short list of related options. - - +```tsx +import { RadioGroup, Radio } from "@/components/core/radio-group"; -## Usage + + Small + Medium + Large +; +``` -Use radio group to allow users to select a single option from a short list of related options. +```tsx +import { Label, Description } from "@/components/core/field"; +import { + RadioGroupRoot, + RadioRoot, + RadioIndicator, +} from "@/components/core/radio-group"; + + + + + Next.js + + + + Next.js + + + + .. + + + Select a product size. +; +``` ## Options @@ -62,7 +72,7 @@ Use radio group to allow users to select a single option from a short list of re RadioGroups are vertically oriented by default. The `orientation` prop can be used to change the orientation to `'horizontal'`. @@ -75,7 +85,7 @@ RadioGroups are vertically oriented by default. The `orientation` prop can be us Use the `variant` prop to control the visual style of the radio buttons.
@@ -103,7 +113,7 @@ Use the `variant` prop to control the visual style of the radio buttons. A visual label can be provided for the radio group using the `label` prop or a hidden label using `aria-label` prop. Small Medium @@ -121,7 +131,7 @@ A visual label can be provided for the radio group using the `label` prop or a h A description can be supplied to a radio group via the `description` prop. The description is always visible unless the `isInvalid` prop is `true` and an error message is provided. Small Medium @@ -129,30 +139,12 @@ A description can be supplied to a radio group via the `description` prop. The d `} /> -### Contextual help - -A ContextualHelp element may be placed next to the label to provide additional information or help about a CheckboxGroup. - -} - > - Small - Medium - Large - `} -/> - ### Error message An `errorMessage` can be supplied to a `RadioGroup`, which will be displayed when the `isInvalid` prop is set to `true`. Small Medium @@ -188,7 +180,7 @@ Use the `isDisabled` prop to disable the `RadioGroup` or a single `Radio`. The `isReadOnly` prop makes the selection immutable. Unlike isDisabled, the RadioGroup remains focusable. Small Medium @@ -202,7 +194,7 @@ Use the `isRequired` prop to mark the radio group as required. Use the `necessityIndicator` prop to control the visual style of the required state. Small Large @@ -226,7 +218,7 @@ Use the `necessityIndicator` prop to control the visual style of the required st The `defaultValue` prop can be used to set the default state. Small Medium @@ -239,7 +231,7 @@ The `defaultValue` prop can be used to set the default state. Use the `value` and `onChange` props to control the value of the radio group. setSize(value)}> @@ -255,7 +247,7 @@ Use the `value` and `onChange` props to control the value of the radio group. If you need to customize things further, you can drop down to the composition level. Please select a size. diff --git a/www/content/docs/components/forms-and-inputs/search-field.mdx b/www/content/docs/components/forms-and-inputs/search-field.mdx new file mode 100644 index 00000000..590d5ffa --- /dev/null +++ b/www/content/docs/components/forms-and-inputs/search-field.mdx @@ -0,0 +1,216 @@ +--- +title: SearchField +description: SearchField is a text field designed for searches. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/SearchField.html + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/inputs/search-field.mdx?plain=1 +--- + +`} +/> + +## Installation + +```package-install +npx dotui-cli@latest add search-field +``` + +## Usage + +Use a `SearchField` to allow a user to enter and clear a search query. + +```tsx +import { SearchField } from "@/components/core/search-field"; + +; +``` + +```tsx +import { SearchIcon, XIcon } from "lucide-react"; +import { Button } from "@/components/core/button"; +import { Label, Description } from "@/components/core/field"; +import { InputRoot, Input } from "@/components/core/input"; +import { SearchFieldRoot } from "@/components/core/search-field"; + + + + + + + + + Enter your search query. +; +``` + +## Options + +### Label + +A visual label can be provided for the `SearchField` using the `label` prop or a hidden label using `aria-label` prop. + + +`} +/> + +### Description + +A description can be supplied to a SearchField via the `description` prop. The description is always visible unless the `isInvalid` prop is `true` and an error message is provided. + +`} +/> + +### Error message + +An `errorMessage` can be supplied to a SearchField, which will be displayed when the `isInvalid` prop is set to `true`. + +`} +/> + +### Size + +Use the `size` prop to control the size of the `SearchField`. The default size is `"md"`. + + + +`} +/> + +### Disabled + +Use the `isDisabled` prop to disable the SearchField. + +`} +/> + +### ReadOnly + +The `isReadOnly` boolean prop makes the SearchField's text content immutable. Unlike `isDisabled`, the SearchField remains focusable and the contents can still be copied. + +`} +/> + +### Required + +Use the `isRequired` prop to mark the SearchField as required. +Use the `necessityIndicator` prop to control the visual style of the required state. + + + + +`} +/> + +## Uncontrolled + +Use the `defaultValue` prop to set the default input value. + +`} +/> + +## Controlled + +Use the `value` and `onChange` props to control the value of the input. + +;`} +/> + +## Composition + +If you need to customize things further, you can drop down to the composition level. + + + + }> + + + Enter your search query. + `} +/> + +## API Reference + +| Prop | Type | Default | Description | +| -------------------- | -------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `label` | `ReactNode` | - | The content to display as the label. | +| `description` | `ReactNode` | - | A description for the field. Provides a hint such as specific requirements for what to choose. | +| `errorMessage` | `ReactNode \| (v: ValidationResult) => ReactNode` | - | An error message for the field. | +| `size` | `"sm" \| "md" \| "lg"` | `"md"` | The size of the input. | +| `isInvalid` | `boolean` | - | Whether the value is invalid. | +| `isDisabled` | `boolean` | - | Whether the input is disabled. | +| `isReadOnly` | `boolean` | - | Whether the input can be selected but not changed by the user. | +| `isRequired` | `boolean` | - | Whether user input is required on the input before form submission. | +| `validate` | `(value: string) => ValidationError \| true \| null \| undefined` | - | A function that returns an error message if a given value is invalid. Validation errors are displayed to the user when the form is submitted if validationBehavior="native". For realtime validation, use the isInvalid prop instead. | +| `autoFocus` | `boolean` | - | Whether the element should receive focus on render. | +| `value` | `string` | - | The current value (controlled). | +| `defaultValue` | `string` | - | The default value (uncontrolled). | +| `autoComplete` | `string` | - | Describes the type of autocomplete functionality the input should provide if any. | +| `maxLength` | `number` | - | The maximum number of characters supported by the input. | +| `minLength` | `number` | - | The minimum number of characters required by the input. | +| `pattern` | `string` | - | Regex pattern that the value of the input must match to be valid. | +| `type` | `'text' \| 'search' \| 'url' \| 'tel' \| 'email' \| 'password' \| string & {}` | - | The type of input to render. | +| `inputMode` | `'none' \| 'text' \| 'tel' \| 'url' \| 'email' \| 'numeric' \| 'decimal' \| 'search'` | - | Hints at the type of data that might be entered by the user while editing the element or its contents. | +| `name` | `string` | - | The name of the input element, used when submitting an HTML form. | +| `validationBehavior` | `'native' \| 'aria'` | 'native' | Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA. | +| `children` | `ReactNode \| (values: SearchFieldRenderProps & {defaultChildren: ReactNode \| undefined}) => ReactNode` | - | The children of the component. A function may be provided to alter the children based on component state. | +| `className` | `string` | - | The CSS className for the element. | +| `style` | `CSSProperties \| (values: SearchFieldRenderProps & {defaultStyle: CSSProperties}) => CSSProperties` | - | The inline style for the element. A function may be provided to compute the style based on component state. | + +| Event | Type | Description | +| --------------------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `onSubmit` | `(value: string) => void` | Handler that is called when the SearchField is submitted. | +| `onClear` | `() => void` | Handler that is called when the clear button is pressed. | +| `onFocus` | `(e: FocusEvent) => void` | Handler that is called when the element receives focus. | +| `onBlur` | `(e: FocusEvent) => void` | Handler that is called when the element loses focus. | +| `onFocusChange` | `(isFocused: boolean) => void` | Handler that is called when the element's focus status changes. | +| `onKeyDown` | `(e: KeyboardEvent) => void` | Handler that is called when a key is pressed. | +| `onKeyUp` | `(e: KeyboardEvent) => void` | Handler that is called when a key is released. | +| `onChange` | `(value: T) => void` | Handler that is called when the value changes. | +| `onCopy` | `ClipboardEventHandler` | Handler that is called when the user copies text. | +| `onCut` | `ClipboardEventHandler` | Handler that is called when the user cuts text. | +| `onPaste` | `ClipboardEventHandler` | Handler that is called when the user pastes text. | +| `onCompositionStart` | `CompositionEventHandler` | Handler that is called when a text composition system starts a new text composition session. | +| `onCompositionEnd` | `CompositionEventHandler` | Handler that is called when a text composition system completes or cancels the current text composition session. | +| `onCompositionUpdate` | `CompositionEventHandler` | Handler that is called when a new character is received in the current text composition session. | +| `onSelect` | `ReactEventHandler` | Handler that is called when text in the input is selected. | +| `onBeforeInput` | `FormEventHandler` | Handler that is called when the input value is about to be modified. | +| `onInput` | `FormEventHandler` | Handler that is called when the input value is modified. | + +| Data attribute | Description | +| ----------------- | ----------------------------------- | +| `[data-empty]` | Whether the search field is empty. | +| `[data-disabled]` | Whether the text field is disabled. | +| `[data-invalid]` | Whether the text field is invalid. | diff --git a/www/content/docs/components/inputs/slider.mdx b/www/content/docs/components/forms-and-inputs/slider.mdx similarity index 87% rename from www/content/docs/components/inputs/slider.mdx rename to www/content/docs/components/forms-and-inputs/slider.mdx index e3400481..65d28fd4 100644 --- a/www/content/docs/components/inputs/slider.mdx +++ b/www/content/docs/components/forms-and-inputs/slider.mdx @@ -1,14 +1,9 @@ --- title: Slider description: An input where the user selects a value from within a given range. -thumbnail: - image: /previews/components/core/slider.jpeg - video: /previews/components/core/slider.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/Slider.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/Slider.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,36 +11,50 @@ links: --- `} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add slider ``` - - - - - Install the following dependencies: +## Usage - ```package-install - react-aria-components @react-aria/utils - ``` +Use slider to allow users to select a value from within a given range. - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - +```tsx +import { Slider } from "@/components/core/slider"; - - +; +``` + +```tsx +import { + SliderRoot, + SliderTrack + SliderFiller, + SliderThumb, + SliderValueLabel +} from "@/components/core/switch"; +import { Label, Description } from "@/components/core/field"; + + + + + + + + + Adjust the background opacity. +; +``` ## Options @@ -54,7 +63,7 @@ npx dotui-cli@latest add slider Use the `size` prop to control the size of the slider. The default variant is `"md"`. `} @@ -65,7 +74,7 @@ Use the `size` prop to control the size of the slider. The default variant is `" Sliders are horizontally oriented by default. The `orientation` prop can be set to `"vertical"` to create a vertical slider. `} /> @@ -74,7 +83,7 @@ Sliders are horizontally oriented by default. The `orientation` prop can be set A visual label can be provided using the `label` prop or a hidden label using `aria-label` prop. `} /> @@ -84,7 +93,7 @@ A visual label can be provided using the `label` prop or a hidden label using `a A description can be supplied to the slider using the `description` prop. `} /> @@ -93,7 +102,7 @@ A description can be supplied to the slider using the `description` prop. The `valueLabel` boolean prop can be used to display the current value of the slider. The `valueLabel` prop can also be set to a function that returns a custom value label. `} /> @@ -115,7 +124,7 @@ By default, slider values are precentages between 0 and 100. A different scale c The `step` prop can be used to snap the value to certain increments. `} /> @@ -125,7 +134,7 @@ Values are formatted as a percentage by default, but this can be modified by usi `formatOptions` is compatible with the option parameter of [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) and is applied based on the current locale. `} /> @@ -134,7 +143,7 @@ Values are formatted as a percentage by default, but this can be modified by usi Passing an array to the `defaultValue` or `value` props will create a range slider. `} /> @@ -142,28 +151,14 @@ Passing an array to the `defaultValue` or `value` props will create a range slid Use the `isDisabled` prop to disable the slider. -`} -/> +`} /> ## Composition If you need to customize things further, you can drop down to the composition level. -
- - -
- - `} -/> - - @@ -183,7 +178,7 @@ If you need to customize things further, you can drop down to the composition le The `defaultValue` prop can be used to set the default state. `} /> @@ -192,7 +187,7 @@ The `defaultValue` prop can be used to set the default state. Use the `value` and `onChange` props to control the value of the input. setValue(value as number)} />;`} /> diff --git a/www/content/docs/components/inputs/switch.mdx b/www/content/docs/components/forms-and-inputs/switch.mdx similarity index 88% rename from www/content/docs/components/inputs/switch.mdx rename to www/content/docs/components/forms-and-inputs/switch.mdx index f735e9df..5aedef9f 100644 --- a/www/content/docs/components/inputs/switch.mdx +++ b/www/content/docs/components/forms-and-inputs/switch.mdx @@ -1,14 +1,9 @@ --- title: Switch description: Switches allow users to turn an individual option on or off. -thumbnail: - image: /previews/components/core/switch.jpeg - video: /previews/components/core/switch.mp4 links: - label: Aria docs href: https://react-spectrum.adobe.com/react-aria/Switch.html - - label: Aria API Reference - href: https://react-spectrum.adobe.com/react-aria/Switch.html#props - label: Report an issue href: https://github.com/mehdibha/dotUI/issues/new/choose - label: Edit this page @@ -16,50 +11,56 @@ links: --- Focus mode`} /> ## Installation - - - - ```package-install +```package-install npx dotui-cli@latest add switch ``` - - - - - Install the following dependencies: - - ```package-install - react-aria-components - ``` - - Copy and paste the following code into your project. - - Update the import paths to match your project setup. - - - - - ## Usage Use switch for communicating activation (e.g. on/off states), while checkboxes are best used for communicating selection (e.g. multiple table rows). Switches, unlike checkboxes, can't have an error state. +```tsx +import { Switch } from "@/components/core/switch"; + +Focus mode; +``` + +```tsx +import { + SwitchRoot, + SwitchIndicator, + SwitchThumb, +} from "@/components/core/switch"; + + + + + + Focus mode +; +``` + ## Options +### Variant + +Use the `variant` prop to control the visual style of the switch. + + + ### Size Use the `size` prop to control the size of the switch. The default variant is `"md"`. `} @@ -70,7 +71,7 @@ Use the `size` prop to control the size of the switch. The default variant is `" A visual label can be provided using the component children or a hidden label using `aria-label` prop. Focus mode `} /> @@ -80,16 +81,16 @@ A visual label can be provided using the component children or a hidden label us Use the `isDisabled` prop to disable the switch. Focus Mode`} /> ## Uncontrolled -The `defaultValue` prop can be used to set the default state. +The `defaultSelected` prop can be used to set the default state. Airplane Mode`} /> @@ -98,7 +99,7 @@ The `defaultValue` prop can be used to set the default state. Use the `isSelected` and `onChange` props to control the value of the input. @@ -107,6 +108,19 @@ Use the `isSelected` and `onChange` props to control the value of the input. )`} /> +## Composition + +If you need to customize things further, you can drop down to the composition level. + + + + + + `} +/> + ## API Reference | Prop | Type | Default | Description | diff --git a/www/content/docs/components/forms-and-inputs/text-area.mdx b/www/content/docs/components/forms-and-inputs/text-area.mdx new file mode 100644 index 00000000..beff2a9a --- /dev/null +++ b/www/content/docs/components/forms-and-inputs/text-area.mdx @@ -0,0 +1,218 @@ +--- +title: TextArea +description: TextArea is a multiline text input. +links: + - label: Aria docs + href: https://react-spectrum.adobe.com/react-aria/TextArea.html + - label: Report an issue + href: https://github.com/mehdibha/dotUI/issues/new/choose + - label: Edit this page + href: https://github.com/mehdibha/dotUI/tree/main/content/components/inputs/text-area.mdx?plain=1 +--- + +`} +/> + +## Installation + +```package-install +npx dotui-cli@latest add text-area +``` + +## Usage + +Use a `TextArea` to allow users to input a long string of free-form text. + +```tsx +import { TextArea } from "@/components/core/text-area"; + +