diff --git a/.svelte-kit/ambient.d.ts b/.svelte-kit/ambient.d.ts new file mode 100644 index 0000000..d59a6c3 --- /dev/null +++ b/.svelte-kit/ambient.d.ts @@ -0,0 +1,155 @@ + +// this file is generated — do not edit it + + +/// + +/** + * Environment variables [loaded by Vite](https://vitejs.dev/guide/env-and-mode.html#env-files) from `.env` files and `process.env`. Like [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), this module cannot be imported into client-side code. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://svelte.dev/docs/kit/configuration#env) (if configured). + * + * _Unlike_ [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), the values exported from this module are statically injected into your bundle at build time, enabling optimisations like dead code elimination. + * + * ```ts + * import { API_KEY } from '$env/static/private'; + * ``` + * + * Note that all environment variables referenced in your code should be declared (for example in an `.env` file), even if they don't have a value until the app is deployed: + * + * ``` + * MY_FEATURE_FLAG="" + * ``` + * + * You can override `.env` values from the command line like so: + * + * ```bash + * MY_FEATURE_FLAG="enabled" npm run dev + * ``` + */ +declare module '$env/static/private' { + export const npm_config_user_agent: string; + export const HOSTNAME: string; + export const npm_node_execpath: string; + export const SHLVL: string; + export const npm_config_noproxy: string; + export const HOME: string; + export const OLDPWD: string; + export const npm_package_json: string; + export const HOMEBREW_PREFIX: string; + export const npm_config_userconfig: string; + export const npm_config_local_prefix: string; + export const COLOR: string; + export const INFOPATH: string; + export const _: string; + export const npm_config_prefix: string; + export const npm_config_npm_version: string; + export const npm_config_cache: string; + export const npm_config_node_gyp: string; + export const PATH: string; + export const HOMEBREW_CELLAR: string; + export const NODE: string; + export const npm_package_name: string; + export const OTEL_EXPORTER_OTLP_ENDPOINT: string; + export const npm_lifecycle_script: string; + export const AUGMENT_AGENT_WORKSPACE_IMAGE: string; + export const npm_package_version: string; + export const npm_lifecycle_event: string; + export const npm_config_globalconfig: string; + export const npm_config_init_module: string; + export const PWD: string; + export const npm_execpath: string; + export const npm_config_global_prefix: string; + export const HOMEBREW_REPOSITORY: string; + export const npm_command: string; + export const INIT_CWD: string; + export const EDITOR: string; + export const NODE_ENV: string; +} + +/** + * Similar to [`$env/static/private`](https://svelte.dev/docs/kit/$env-static-private), except that it only includes environment variables that begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code. + * + * Values are replaced statically at build time. + * + * ```ts + * import { PUBLIC_BASE_URL } from '$env/static/public'; + * ``` + */ +declare module '$env/static/public' { + +} + +/** + * This module provides access to runtime environment variables, as defined by the platform you're running on. For example if you're using [`adapter-node`](https://github.com/sveltejs/kit/tree/main/packages/adapter-node) (or running [`vite preview`](https://svelte.dev/docs/kit/cli)), this is equivalent to `process.env`. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://svelte.dev/docs/kit/configuration#env) (if configured). + * + * This module cannot be imported into client-side code. + * + * Dynamic environment variables cannot be used during prerendering. + * + * ```ts + * import { env } from '$env/dynamic/private'; + * console.log(env.DEPLOYMENT_SPECIFIC_VARIABLE); + * ``` + * + * > In `dev`, `$env/dynamic` always includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter. + */ +declare module '$env/dynamic/private' { + export const env: { + npm_config_user_agent: string; + HOSTNAME: string; + npm_node_execpath: string; + SHLVL: string; + npm_config_noproxy: string; + HOME: string; + OLDPWD: string; + npm_package_json: string; + HOMEBREW_PREFIX: string; + npm_config_userconfig: string; + npm_config_local_prefix: string; + COLOR: string; + INFOPATH: string; + _: string; + npm_config_prefix: string; + npm_config_npm_version: string; + npm_config_cache: string; + npm_config_node_gyp: string; + PATH: string; + HOMEBREW_CELLAR: string; + NODE: string; + npm_package_name: string; + OTEL_EXPORTER_OTLP_ENDPOINT: string; + npm_lifecycle_script: string; + AUGMENT_AGENT_WORKSPACE_IMAGE: string; + npm_package_version: string; + npm_lifecycle_event: string; + npm_config_globalconfig: string; + npm_config_init_module: string; + PWD: string; + npm_execpath: string; + npm_config_global_prefix: string; + HOMEBREW_REPOSITORY: string; + npm_command: string; + INIT_CWD: string; + EDITOR: string; + NODE_ENV: string; + [key: `PUBLIC_${string}`]: undefined; + [key: `${string}`]: string | undefined; + } +} + +/** + * Similar to [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), but only includes variables that begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code. + * + * Note that public dynamic environment variables must all be sent from the server to the client, causing larger network requests — when possible, use `$env/static/public` instead. + * + * Dynamic environment variables cannot be used during prerendering. + * + * ```ts + * import { env } from '$env/dynamic/public'; + * console.log(env.PUBLIC_DEPLOYMENT_SPECIFIC_VARIABLE); + * ``` + */ +declare module '$env/dynamic/public' { + export const env: { + [key: `PUBLIC_${string}`]: string | undefined; + } +} diff --git a/.svelte-kit/generated/client-optimized/app.js b/.svelte-kit/generated/client-optimized/app.js new file mode 100644 index 0000000..ed856d2 --- /dev/null +++ b/.svelte-kit/generated/client-optimized/app.js @@ -0,0 +1,36 @@ +export { matchers } from './matchers.js'; + +export const nodes = [ + () => import('./nodes/0'), + () => import('./nodes/1'), + () => import('./nodes/2'), + () => import('./nodes/3'), + () => import('./nodes/4'), + () => import('./nodes/5'), + () => import('./nodes/6') +]; + +export const server_loads = []; + +export const dictionary = { + "/": [2], + "/domain/[domain]": [3], + "/email/[email]": [4], + "/password/[password]": [5], + "/username/[name]": [6] + }; + +export const hooks = { + handleError: (({ error }) => { console.error(error) }), + + reroute: (() => {}), + transport: {} +}; + +export const decoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.decode])); + +export const hash = false; + +export const decode = (type, value) => decoders[type](value); + +export { default as root } from '../root.js'; \ No newline at end of file diff --git a/.svelte-kit/generated/client-optimized/matchers.js b/.svelte-kit/generated/client-optimized/matchers.js new file mode 100644 index 0000000..f6bd30a --- /dev/null +++ b/.svelte-kit/generated/client-optimized/matchers.js @@ -0,0 +1 @@ +export const matchers = {}; \ No newline at end of file diff --git a/.svelte-kit/generated/client-optimized/nodes/0.js b/.svelte-kit/generated/client-optimized/nodes/0.js new file mode 100644 index 0000000..fed1375 --- /dev/null +++ b/.svelte-kit/generated/client-optimized/nodes/0.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/+layout.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client-optimized/nodes/1.js b/.svelte-kit/generated/client-optimized/nodes/1.js new file mode 100644 index 0000000..bf58bad --- /dev/null +++ b/.svelte-kit/generated/client-optimized/nodes/1.js @@ -0,0 +1 @@ +export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client-optimized/nodes/2.js b/.svelte-kit/generated/client-optimized/nodes/2.js new file mode 100644 index 0000000..1cb4f85 --- /dev/null +++ b/.svelte-kit/generated/client-optimized/nodes/2.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client-optimized/nodes/3.js b/.svelte-kit/generated/client-optimized/nodes/3.js new file mode 100644 index 0000000..436a47d --- /dev/null +++ b/.svelte-kit/generated/client-optimized/nodes/3.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/domain/[domain]/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client-optimized/nodes/4.js b/.svelte-kit/generated/client-optimized/nodes/4.js new file mode 100644 index 0000000..e1c9e29 --- /dev/null +++ b/.svelte-kit/generated/client-optimized/nodes/4.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/email/[email]/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client-optimized/nodes/5.js b/.svelte-kit/generated/client-optimized/nodes/5.js new file mode 100644 index 0000000..fee0709 --- /dev/null +++ b/.svelte-kit/generated/client-optimized/nodes/5.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/password/[password]/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client-optimized/nodes/6.js b/.svelte-kit/generated/client-optimized/nodes/6.js new file mode 100644 index 0000000..a7a3f65 --- /dev/null +++ b/.svelte-kit/generated/client-optimized/nodes/6.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/username/[name]/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client/app.js b/.svelte-kit/generated/client/app.js new file mode 100644 index 0000000..ed856d2 --- /dev/null +++ b/.svelte-kit/generated/client/app.js @@ -0,0 +1,36 @@ +export { matchers } from './matchers.js'; + +export const nodes = [ + () => import('./nodes/0'), + () => import('./nodes/1'), + () => import('./nodes/2'), + () => import('./nodes/3'), + () => import('./nodes/4'), + () => import('./nodes/5'), + () => import('./nodes/6') +]; + +export const server_loads = []; + +export const dictionary = { + "/": [2], + "/domain/[domain]": [3], + "/email/[email]": [4], + "/password/[password]": [5], + "/username/[name]": [6] + }; + +export const hooks = { + handleError: (({ error }) => { console.error(error) }), + + reroute: (() => {}), + transport: {} +}; + +export const decoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.decode])); + +export const hash = false; + +export const decode = (type, value) => decoders[type](value); + +export { default as root } from '../root.js'; \ No newline at end of file diff --git a/.svelte-kit/generated/client/matchers.js b/.svelte-kit/generated/client/matchers.js new file mode 100644 index 0000000..f6bd30a --- /dev/null +++ b/.svelte-kit/generated/client/matchers.js @@ -0,0 +1 @@ +export const matchers = {}; \ No newline at end of file diff --git a/.svelte-kit/generated/client/nodes/0.js b/.svelte-kit/generated/client/nodes/0.js new file mode 100644 index 0000000..fed1375 --- /dev/null +++ b/.svelte-kit/generated/client/nodes/0.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/+layout.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client/nodes/1.js b/.svelte-kit/generated/client/nodes/1.js new file mode 100644 index 0000000..bf58bad --- /dev/null +++ b/.svelte-kit/generated/client/nodes/1.js @@ -0,0 +1 @@ +export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client/nodes/2.js b/.svelte-kit/generated/client/nodes/2.js new file mode 100644 index 0000000..1cb4f85 --- /dev/null +++ b/.svelte-kit/generated/client/nodes/2.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client/nodes/3.js b/.svelte-kit/generated/client/nodes/3.js new file mode 100644 index 0000000..436a47d --- /dev/null +++ b/.svelte-kit/generated/client/nodes/3.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/domain/[domain]/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client/nodes/4.js b/.svelte-kit/generated/client/nodes/4.js new file mode 100644 index 0000000..e1c9e29 --- /dev/null +++ b/.svelte-kit/generated/client/nodes/4.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/email/[email]/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client/nodes/5.js b/.svelte-kit/generated/client/nodes/5.js new file mode 100644 index 0000000..fee0709 --- /dev/null +++ b/.svelte-kit/generated/client/nodes/5.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/password/[password]/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/client/nodes/6.js b/.svelte-kit/generated/client/nodes/6.js new file mode 100644 index 0000000..a7a3f65 --- /dev/null +++ b/.svelte-kit/generated/client/nodes/6.js @@ -0,0 +1 @@ +export { default as component } from "../../../../src/routes/username/[name]/+page.svelte"; \ No newline at end of file diff --git a/.svelte-kit/generated/root.js b/.svelte-kit/generated/root.js new file mode 100644 index 0000000..4d1e892 --- /dev/null +++ b/.svelte-kit/generated/root.js @@ -0,0 +1,3 @@ +import { asClassComponent } from 'svelte/legacy'; +import Root from './root.svelte'; +export default asClassComponent(Root); \ No newline at end of file diff --git a/.svelte-kit/generated/root.svelte b/.svelte-kit/generated/root.svelte new file mode 100644 index 0000000..8f82bae --- /dev/null +++ b/.svelte-kit/generated/root.svelte @@ -0,0 +1,66 @@ + + + + +{#if constructors[1]} + {@const Pyramid_0 = constructors[0]} + + + + + + +{:else} + {@const Pyramid_0 = constructors[0]} + + + +{/if} + +{#if mounted} +
+ {#if navigated} + {title} + {/if} +
+{/if} \ No newline at end of file diff --git a/.svelte-kit/generated/server/internal.js b/.svelte-kit/generated/server/internal.js new file mode 100644 index 0000000..3487820 --- /dev/null +++ b/.svelte-kit/generated/server/internal.js @@ -0,0 +1,48 @@ + +import root from '../root.js'; +import { set_building, set_prerendering } from '__sveltekit/environment'; +import { set_assets } from '__sveltekit/paths'; +import { set_manifest, set_read_implementation } from '__sveltekit/server'; +import { set_private_env, set_public_env, set_safe_public_env } from '../../../node_modules/@sveltejs/kit/src/runtime/shared-server.js'; + +export const options = { + app_template_contains_nonce: false, + csp: {"mode":"auto","directives":{"upgrade-insecure-requests":false,"block-all-mixed-content":false},"reportOnly":{"upgrade-insecure-requests":false,"block-all-mixed-content":false}}, + csrf_check_origin: true, + embedded: false, + env_public_prefix: 'PUBLIC_', + env_private_prefix: '', + hash_routing: false, + hooks: null, // added lazily, via `get_hooks` + preload_strategy: "modulepreload", + root, + service_worker: false, + templates: { + app: ({ head, body, assets, nonce, env }) => "\n\n \n \n \n \n \n \n \n PassDB\n " + head + "\n \n \n
" + body + "
\n \n\n", + error: ({ status, message }) => "\n\n\t\n\t\t\n\t\t" + message + "\n\n\t\t\n\t\n\t\n\t\t
\n\t\t\t" + status + "\n\t\t\t
\n\t\t\t\t

" + message + "

\n\t\t\t
\n\t\t
\n\t\n\n" + }, + version_hash: "dxzmwv" +}; + +export async function get_hooks() { + let handle; + let handleFetch; + let handleError; + let init; + + + let reroute; + let transport; + + + return { + handle, + handleFetch, + handleError, + init, + reroute, + transport + }; +} + +export { set_assets, set_building, set_manifest, set_prerendering, set_private_env, set_public_env, set_read_implementation, set_safe_public_env }; diff --git a/.svelte-kit/non-ambient.d.ts b/.svelte-kit/non-ambient.d.ts new file mode 100644 index 0000000..46bd7fb --- /dev/null +++ b/.svelte-kit/non-ambient.d.ts @@ -0,0 +1,25 @@ + +// this file is generated — do not edit it + + +declare module "svelte/elements" { + export interface HTMLAttributes { + 'data-sveltekit-keepfocus'?: true | '' | 'off' | undefined | null; + 'data-sveltekit-noscroll'?: true | '' | 'off' | undefined | null; + 'data-sveltekit-preload-code'?: + | true + | '' + | 'eager' + | 'viewport' + | 'hover' + | 'tap' + | 'off' + | undefined + | null; + 'data-sveltekit-preload-data'?: true | '' | 'hover' | 'tap' | 'off' | undefined | null; + 'data-sveltekit-reload'?: true | '' | 'off' | undefined | null; + 'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null; + } +} + +export {}; diff --git a/.svelte-kit/output/client/.vite/manifest.json b/.svelte-kit/output/client/.vite/manifest.json new file mode 100644 index 0000000..de805fc --- /dev/null +++ b/.svelte-kit/output/client/.vite/manifest.json @@ -0,0 +1,229 @@ +{ + ".svelte-kit/generated/client-optimized/app.js": { + "file": "_app/immutable/entry/app.BAGvgSeM.js", + "name": "entry/app", + "src": ".svelte-kit/generated/client-optimized/app.js", + "isEntry": true, + "imports": [ + "_CcQSGzXg.js", + "_CkeX2SFv.js", + "_CBa6YeNv.js", + "_CSbn2Ldu.js" + ], + "dynamicImports": [ + ".svelte-kit/generated/client-optimized/nodes/0.js", + ".svelte-kit/generated/client-optimized/nodes/1.js", + ".svelte-kit/generated/client-optimized/nodes/2.js", + ".svelte-kit/generated/client-optimized/nodes/3.js", + ".svelte-kit/generated/client-optimized/nodes/4.js", + ".svelte-kit/generated/client-optimized/nodes/5.js", + ".svelte-kit/generated/client-optimized/nodes/6.js" + ] + }, + ".svelte-kit/generated/client-optimized/nodes/0.js": { + "file": "_app/immutable/nodes/0.B6Ds9RUI.js", + "name": "nodes/0", + "src": ".svelte-kit/generated/client-optimized/nodes/0.js", + "isEntry": true, + "isDynamicEntry": true, + "imports": [ + "_CBa6YeNv.js", + "_D9r2v96-.js", + "_CcQSGzXg.js", + "_pk0RzIpj.js", + "_G-SkzPYD.js", + "_CSbn2Ldu.js", + "_C-0S9jGX.js", + "_CkeX2SFv.js", + "_CR6-c37r.js" + ], + "css": [ + "_app/immutable/assets/0.CoPY42nB.css" + ] + }, + ".svelte-kit/generated/client-optimized/nodes/1.js": { + "file": "_app/immutable/nodes/1.KYvgsKgm.js", + "name": "nodes/1", + "src": ".svelte-kit/generated/client-optimized/nodes/1.js", + "isEntry": true, + "isDynamicEntry": true, + "imports": [ + "_CBa6YeNv.js", + "_D9r2v96-.js", + "_CcQSGzXg.js", + "_CkeX2SFv.js", + "_G-SkzPYD.js" + ] + }, + ".svelte-kit/generated/client-optimized/nodes/2.js": { + "file": "_app/immutable/nodes/2.CDiNaOwl.js", + "name": "nodes/2", + "src": ".svelte-kit/generated/client-optimized/nodes/2.js", + "isEntry": true, + "isDynamicEntry": true, + "imports": [ + "_CBa6YeNv.js", + "_D9r2v96-.js", + "_CcQSGzXg.js", + "_C-0S9jGX.js", + "_CSbn2Ldu.js", + "_G-SkzPYD.js", + "_CR6-c37r.js" + ] + }, + ".svelte-kit/generated/client-optimized/nodes/3.js": { + "file": "_app/immutable/nodes/3.CJC8mRMn.js", + "name": "nodes/3", + "src": ".svelte-kit/generated/client-optimized/nodes/3.js", + "isEntry": true, + "isDynamicEntry": true, + "imports": [ + "_CBa6YeNv.js", + "_D9r2v96-.js", + "_CcQSGzXg.js", + "_CSbn2Ldu.js", + "_C-0S9jGX.js", + "_ChoBOLD_.js" + ] + }, + ".svelte-kit/generated/client-optimized/nodes/4.js": { + "file": "_app/immutable/nodes/4.CooLQXsS.js", + "name": "nodes/4", + "src": ".svelte-kit/generated/client-optimized/nodes/4.js", + "isEntry": true, + "isDynamicEntry": true, + "imports": [ + "_CBa6YeNv.js", + "_D9r2v96-.js", + "_CcQSGzXg.js", + "_CSbn2Ldu.js", + "_C-0S9jGX.js", + "_ChoBOLD_.js", + "_CkeX2SFv.js", + "_pk0RzIpj.js" + ] + }, + ".svelte-kit/generated/client-optimized/nodes/5.js": { + "file": "_app/immutable/nodes/5.D0T96Kel.js", + "name": "nodes/5", + "src": ".svelte-kit/generated/client-optimized/nodes/5.js", + "isEntry": true, + "isDynamicEntry": true, + "imports": [ + "_CBa6YeNv.js", + "_D9r2v96-.js", + "_CcQSGzXg.js", + "_CSbn2Ldu.js", + "_C-0S9jGX.js", + "_ChoBOLD_.js" + ] + }, + ".svelte-kit/generated/client-optimized/nodes/6.js": { + "file": "_app/immutable/nodes/6.BYAxnuLT.js", + "name": "nodes/6", + "src": ".svelte-kit/generated/client-optimized/nodes/6.js", + "isEntry": true, + "isDynamicEntry": true, + "imports": [ + "_CBa6YeNv.js", + "_D9r2v96-.js", + "_CcQSGzXg.js", + "_CSbn2Ldu.js", + "_C-0S9jGX.js", + "_ChoBOLD_.js" + ] + }, + "_C-0S9jGX.js": { + "file": "_app/immutable/chunks/C-0S9jGX.js", + "name": "breadcrumbs", + "imports": [ + "_CcQSGzXg.js", + "_CBa6YeNv.js", + "_G-SkzPYD.js" + ] + }, + "_CBa6YeNv.js": { + "file": "_app/immutable/chunks/CBa6YeNv.js", + "name": "disclose-version", + "imports": [ + "_CcQSGzXg.js" + ] + }, + "_CR6-c37r.js": { + "file": "_app/immutable/chunks/CR6-c37r.js", + "name": "noop", + "imports": [ + "_CcQSGzXg.js", + "_C-0S9jGX.js", + "_CBa6YeNv.js" + ] + }, + "_CSbn2Ldu.js": { + "file": "_app/immutable/chunks/CSbn2Ldu.js", + "name": "props", + "imports": [ + "_CcQSGzXg.js" + ] + }, + "_CcQSGzXg.js": { + "file": "_app/immutable/chunks/CcQSGzXg.js", + "name": "index-client" + }, + "_ChoBOLD_.js": { + "file": "_app/immutable/chunks/ChoBOLD_.js", + "name": "SearchResultLayout", + "imports": [ + "_CBa6YeNv.js", + "_D9r2v96-.js", + "_CcQSGzXg.js", + "_pk0RzIpj.js", + "_CSbn2Ldu.js", + "_C-0S9jGX.js", + "_CkeX2SFv.js", + "_G-SkzPYD.js" + ] + }, + "_CkeX2SFv.js": { + "file": "_app/immutable/chunks/CkeX2SFv.js", + "name": "render", + "imports": [ + "_CcQSGzXg.js", + "_CBa6YeNv.js" + ] + }, + "_D9r2v96-.js": { + "file": "_app/immutable/chunks/D9r2v96-.js", + "name": "legacy", + "imports": [ + "_CcQSGzXg.js" + ] + }, + "_G-SkzPYD.js": { + "file": "_app/immutable/chunks/G-SkzPYD.js", + "name": "entry", + "imports": [ + "_CcQSGzXg.js" + ] + }, + "_pk0RzIpj.js": { + "file": "_app/immutable/chunks/pk0RzIpj.js", + "name": "keyboard-shortcuts", + "imports": [ + "_CBa6YeNv.js", + "_CcQSGzXg.js", + "_C-0S9jGX.js", + "_CSbn2Ldu.js", + "_D9r2v96-.js", + "_G-SkzPYD.js" + ] + }, + "node_modules/@sveltejs/kit/src/runtime/client/entry.js": { + "file": "_app/immutable/entry/start.0HCr0Tke.js", + "name": "entry/start", + "src": "node_modules/@sveltejs/kit/src/runtime/client/entry.js", + "isEntry": true, + "imports": [ + "_G-SkzPYD.js" + ] + } +} \ No newline at end of file diff --git a/.svelte-kit/output/client/_app/immutable/assets/0.CoPY42nB.css b/.svelte-kit/output/client/_app/immutable/assets/0.CoPY42nB.css new file mode 100644 index 0000000..ea7bbdb --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/assets/0.CoPY42nB.css @@ -0,0 +1 @@ +[data-scroll-area-viewport]{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}[data-scroll-area-viewport]::-webkit-scrollbar{display:none!important}:where([data-scroll-area-viewport]){display:flex;flex-direction:column;align-items:stretch}:where([data-scroll-area-content]){flex-grow:1}[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1);animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform, 100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform, 100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{transition:opacity .5s cubic-bezier(.32,.72,0,1);opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true]):after{content:"";position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:hover,[data-vaul-handle]:active{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@keyframes fake-animation{}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{0%{transform:translate3d(0,var(--initial-transform, 100%),0)}to{transform:translateZ(0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform, 100%),0)}}@keyframes slideFromTop{0%{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}to{transform:translateZ(0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}}@keyframes slideFromLeft{0%{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}to{transform:translateZ(0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}}@keyframes slideFromRight{0%{transform:translate3d(var(--initial-transform, 100%),0,0)}to{transform:translateZ(0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform, 100%),0,0)}}@media (hover: hover) and (pointer: fine){[data-vaul-drawer]{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}}@media (pointer: fine){[data-vaul-handle-hitarea]{width:100%;height:100%}}.table-row-focused{background-color:hsl(var(--muted) / .5);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.table-cell-focused{background-color:hsl(var(--primary) / .1);box-shadow:0 0 0 2px hsl(var(--primary) / .4)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{font-family:var(--font-sans);letter-spacing:var(--tracking-normal)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.m-8{margin:2rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-2{width:.5rem;height:.5rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-9{width:2.25rem;height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[400px\]{height:400px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[300px\]{max-height:300px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.min-h-8{min-height:2rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-80{width:20rem}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[32px\]{min-width:32px}.min-w-\[8rem\]{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[200px\]{max-width:200px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(var(--border) / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-accent\/30{border-color:rgb(var(--accent) / .3)}.border-border{--tw-border-opacity: 1;border-color:rgb(var(--border) / var(--tw-border-opacity, 1))}.border-border\/20{border-color:rgb(var(--border) / .2)}.border-border\/30{border-color:rgb(var(--border) / .3)}.border-border\/40{border-color:rgb(var(--border) / .4)}.border-border\/50{border-color:rgb(var(--border) / .5)}.border-destructive{--tw-border-opacity: 1;border-color:rgb(var(--destructive) / var(--tw-border-opacity, 1))}.border-destructive\/30{border-color:rgb(var(--destructive) / .3)}.border-input{--tw-border-opacity: 1;border-color:rgb(var(--input) / var(--tw-border-opacity, 1))}.border-muted{--tw-border-opacity: 1;border-color:rgb(var(--muted) / var(--tw-border-opacity, 1))}.border-primary{--tw-border-opacity: 1;border-color:rgb(var(--primary) / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.bg-accent\/10{background-color:rgb(var(--accent) / .1)}.bg-background{--tw-bg-opacity: 1;background-color:rgb(var(--background) / var(--tw-bg-opacity, 1))}.bg-background\/40{background-color:rgb(var(--background) / .4)}.bg-background\/75{background-color:rgb(var(--background) / .75)}.bg-background\/90{background-color:rgb(var(--background) / .9)}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-border{--tw-bg-opacity: 1;background-color:rgb(var(--border) / var(--tw-bg-opacity, 1))}.bg-card{--tw-bg-opacity: 1;background-color:rgb(var(--card) / var(--tw-bg-opacity, 1))}.bg-destructive{--tw-bg-opacity: 1;background-color:rgb(var(--destructive) / var(--tw-bg-opacity, 1))}.bg-destructive\/10{background-color:rgb(var(--destructive) / .1)}.bg-destructive\/20{background-color:rgb(var(--destructive) / .2)}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-muted{--tw-bg-opacity: 1;background-color:rgb(var(--muted) / var(--tw-bg-opacity, 1))}.bg-muted\/20{background-color:rgb(var(--muted) / .2)}.bg-muted\/30{background-color:rgb(var(--muted) / .3)}.bg-muted\/50{background-color:rgb(var(--muted) / .5)}.bg-popover{--tw-bg-opacity: 1;background-color:rgb(var(--popover) / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(var(--primary) / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-px{padding:1px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent{--tw-text-opacity: 1;color:rgb(var(--accent) / var(--tw-text-opacity, 1))}.text-accent-foreground{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-background{--tw-text-opacity: 1;color:rgb(var(--background) / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-card-foreground{--tw-text-opacity: 1;color:rgb(var(--card-foreground) / var(--tw-text-opacity, 1))}.text-destructive{--tw-text-opacity: 1;color:rgb(var(--destructive) / var(--tw-text-opacity, 1))}.text-destructive-foreground{--tw-text-opacity: 1;color:rgb(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.text-muted-foreground\/50{color:rgb(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:rgb(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:rgb(var(--muted-foreground) / .7)}.text-popover-foreground{--tw-text-opacity: 1;color:rgb(var(--popover-foreground) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(var(--primary) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:rgb(var(--primary-foreground) / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary{--tw-text-opacity: 1;color:rgb(var(--secondary) / var(--tw-text-opacity, 1))}.text-secondary-foreground{--tw-text-opacity: 1;color:rgb(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: rgb(var(--background) / 1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--background: 249 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 100 149 237;--secondary-foreground: 255 255 255;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 102 217 239;--accent-foreground: 51 51 51;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 100 149 237;--chart-3: 102 217 239;--chart-4: 70 130 180;--chart-5: 26 150 65;--sidebar: 249 249 250;--sidebar-foreground: 51 51 51;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 102 217 239;--sidebar-accent-foreground: 51 51 51;--sidebar-border: 212 212 212;--sidebar-ring: 52 168 90;--font-sans: Plus Jakarta Sans, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .5rem;--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25)}.dark{--background: 26 29 35;--foreground: 229 229 229;--card: 47 52 54;--card-foreground: 229 229 229;--popover: 47 52 54;--popover-foreground: 229 229 229;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 70 130 180;--secondary-foreground: 229 229 229;--muted: 68 68 68;--muted-foreground: 163 163 163;--accent: 100 149 237;--accent-foreground: 229 229 229;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 70 130 180;--chart-3: 100 149 237;--chart-4: 102 217 239;--chart-5: 26 150 65;--sidebar: 26 29 35;--sidebar-foreground: 229 229 229;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 100 149 237;--sidebar-accent-foreground: 229 229 229;--sidebar-border: 68 68 68;--sidebar-ring: 52 168 90;--font-sans: Plus Jakarta Sans, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .5rem;--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25)}@theme inline{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); --font-sans: var(--font-sans); --font-mono: var(--font-mono); --font-serif: var(--font-serif); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --shadow-2xs: var(--shadow-2xs); --shadow-xs: var(--shadow-xs); --shadow-sm: var(--shadow-sm); --shadow: var(--shadow); --shadow-md: var(--shadow-md); --shadow-lg: var(--shadow-lg); --shadow-xl: var(--shadow-xl); --shadow-2xl: var(--shadow-2xl); }.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--chart-1: 59 130 246;--chart-2: 37 99 235;--chart-3: 29 78 216;--chart-4: 30 64 175;--chart-5: 30 58 138;--sidebar: 249 250 251;--sidebar-foreground: 51 51 51;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 242 254;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 229 231 235;--sidebar-ring: 59 130 246}.theme-twitter{--background: 255 255 255;--foreground: 15 20 25;--card: 247 248 248;--card-foreground: 15 20 25;--popover: 255 255 255;--popover-foreground: 15 20 25;--primary: 30 157 241;--primary-foreground: 255 255 255;--secondary: 15 20 25;--secondary-foreground: 255 255 255;--muted: 229 229 230;--muted-foreground: 15 20 25;--accent: 227 236 246;--accent-foreground: 30 157 241;--destructive: 244 33 46;--destructive-foreground: 255 255 255;--border: 225 234 239;--input: 247 249 250;--ring: 29 161 242;--chart-1: 30 157 241;--chart-2: 0 184 122;--chart-3: 247 185 40;--chart-4: 23 191 99;--chart-5: 224 36 94;--sidebar: 247 248 248;--sidebar-foreground: 15 20 25;--sidebar-primary: 30 157 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 227 236 246;--sidebar-accent-foreground: 30 157 241;--sidebar-border: 225 232 237;--sidebar-ring: 29 161 242}.theme-sunset{--background: 255 248 241;--foreground: 124 45 18;--card: 255 255 255;--card-foreground: 124 45 18;--popover: 255 255 255;--popover-foreground: 124 45 18;--primary: 251 146 60;--primary-foreground: 255 255 255;--secondary: 239 68 68;--secondary-foreground: 255 255 255;--muted: 254 215 170;--muted-foreground: 154 52 18;--accent: 252 211 77;--accent-foreground: 124 45 18;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 251 191 36;--input: 251 191 36;--ring: 251 146 60;--chart-1: 251 146 60;--chart-2: 239 68 68;--chart-3: 252 211 77;--chart-4: 154 52 18;--chart-5: 124 45 18;--sidebar: 255 248 241;--sidebar-foreground: 124 45 18;--sidebar-primary: 251 146 60;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 252 211 77;--sidebar-accent-foreground: 124 45 18;--sidebar-border: 251 191 36;--sidebar-ring: 251 146 60}.theme-midnight{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.theme-rose{--background: 255 241 242;--foreground: 136 19 55;--card: 255 255 255;--card-foreground: 136 19 55;--popover: 255 255 255;--popover-foreground: 136 19 55;--primary: 244 63 94;--primary-foreground: 255 255 255;--secondary: 236 72 153;--secondary-foreground: 255 255 255;--muted: 253 164 175;--muted-foreground: 159 18 57;--accent: 251 113 133;--accent-foreground: 136 19 55;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 251 207 232;--input: 251 207 232;--ring: 244 63 94;--chart-1: 244 63 94;--chart-2: 236 72 153;--chart-3: 251 113 133;--chart-4: 159 18 57;--chart-5: 136 19 55;--sidebar: 255 241 242;--sidebar-foreground: 136 19 55;--sidebar-primary: 244 63 94;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 251 113 133;--sidebar-accent-foreground: 136 19 55;--sidebar-border: 251 207 232;--sidebar-ring: 244 63 94}.theme-zinc{--background: 250 250 250;--foreground: 39 39 42;--card: 255 255 255;--card-foreground: 39 39 42;--popover: 255 255 255;--popover-foreground: 39 39 42;--primary: 113 113 122;--primary-foreground: 255 255 255;--secondary: 161 161 170;--secondary-foreground: 255 255 255;--muted: 228 228 231;--muted-foreground: 82 82 91;--accent: 212 212 216;--accent-foreground: 39 39 42;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 216;--input: 212 212 216;--ring: 113 113 122;--chart-1: 113 113 122;--chart-2: 161 161 170;--chart-3: 212 212 216;--chart-4: 82 82 91;--chart-5: 39 39 42;--sidebar: 250 250 250;--sidebar-foreground: 39 39 42;--sidebar-primary: 113 113 122;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 212 212 216;--sidebar-accent-foreground: 39 39 42;--sidebar-border: 212 212 216;--sidebar-ring: 113 113 122}.dark.theme-ocean{--background: 0 32 65;--foreground: 240 249 255;--card: 7 50 90;--card-foreground: 240 249 255;--popover: 7 50 90;--popover-foreground: 240 249 255;--primary: 56 189 248;--primary-foreground: 0 32 65;--secondary: 37 99 235;--secondary-foreground: 240 249 255;--muted: 30 58 138;--muted-foreground: 147 197 253;--accent: 14 165 233;--accent-foreground: 240 249 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 30 58 138;--input: 30 58 138;--ring: 56 189 248;--chart-1: 56 189 248;--chart-2: 37 99 235;--chart-3: 14 165 233;--chart-4: 147 197 253;--chart-5: 240 249 255;--sidebar: 0 32 65;--sidebar-foreground: 240 249 255;--sidebar-primary: 56 189 248;--sidebar-primary-foreground: 0 32 65;--sidebar-accent: 14 165 233;--sidebar-accent-foreground: 240 249 255;--sidebar-border: 30 58 138;--sidebar-ring: 56 189 248}.dark.theme-forest{--background: 6 26 15;--foreground: 240 253 244;--card: 20 83 45;--card-foreground: 240 253 244;--popover: 20 83 45;--popover-foreground: 240 253 244;--primary: 134 239 172;--primary-foreground: 6 26 15;--secondary: 74 222 128;--secondary-foreground: 6 26 15;--muted: 21 87 36;--muted-foreground: 187 247 208;--accent: 46 125 50;--accent-foreground: 240 253 244;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 21 87 36;--input: 21 87 36;--ring: 134 239 172;--chart-1: 134 239 172;--chart-2: 74 222 128;--chart-3: 46 125 50;--chart-4: 187 247 208;--chart-5: 240 253 244;--sidebar: 6 26 15;--sidebar-foreground: 240 253 244;--sidebar-primary: 134 239 172;--sidebar-primary-foreground: 6 26 15;--sidebar-accent: 46 125 50;--sidebar-accent-foreground: 240 253 244;--sidebar-border: 21 87 36;--sidebar-ring: 134 239 172}.dark.theme-sunset{--background: 67 20 7;--foreground: 255 237 213;--card: 124 45 18;--card-foreground: 255 237 213;--popover: 124 45 18;--popover-foreground: 255 237 213;--primary: 251 146 60;--primary-foreground: 67 20 7;--secondary: 252 211 77;--secondary-foreground: 67 20 7;--muted: 154 52 18;--muted-foreground: 254 215 170;--accent: 239 68 68;--accent-foreground: 255 237 213;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 154 52 18;--input: 154 52 18;--ring: 251 146 60;--chart-1: 251 146 60;--chart-2: 252 211 77;--chart-3: 239 68 68;--chart-4: 254 215 170;--chart-5: 255 237 213;--sidebar: 67 20 7;--sidebar-foreground: 255 237 213;--sidebar-primary: 251 146 60;--sidebar-primary-foreground: 67 20 7;--sidebar-accent: 239 68 68;--sidebar-accent-foreground: 255 237 213;--sidebar-border: 154 52 18;--sidebar-ring: 251 146 60}.dark.theme-midnight{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.dark.theme-rose{--background: 76 5 25;--foreground: 255 228 230;--card: 136 19 55;--card-foreground: 255 228 230;--popover: 136 19 55;--popover-foreground: 255 228 230;--primary: 251 113 133;--primary-foreground: 76 5 25;--secondary: 244 63 94;--secondary-foreground: 255 228 230;--muted: 159 18 57;--muted-foreground: 253 164 175;--accent: 236 72 153;--accent-foreground: 255 228 230;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 159 18 57;--input: 159 18 57;--ring: 251 113 133;--chart-1: 251 113 133;--chart-2: 244 63 94;--chart-3: 236 72 153;--chart-4: 253 164 175;--chart-5: 255 228 230;--sidebar: 76 5 25;--sidebar-foreground: 255 228 230;--sidebar-primary: 251 113 133;--sidebar-primary-foreground: 76 5 25;--sidebar-accent: 236 72 153;--sidebar-accent-foreground: 255 228 230;--sidebar-border: 159 18 57;--sidebar-ring: 251 113 133}.dark.theme-zinc{--background: 24 24 27;--foreground: 244 244 245;--card: 39 39 42;--card-foreground: 244 244 245;--popover: 39 39 42;--popover-foreground: 244 244 245;--primary: 161 161 170;--primary-foreground: 24 24 27;--secondary: 113 113 122;--secondary-foreground: 244 244 245;--muted: 63 63 70;--muted-foreground: 161 161 170;--accent: 82 82 91;--accent-foreground: 244 244 245;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 63 63 70;--input: 63 63 70;--ring: 161 161 170;--chart-1: 161 161 170;--chart-2: 113 113 122;--chart-3: 82 82 91;--chart-4: 212 212 216;--chart-5: 244 244 245;--sidebar: 24 24 27;--sidebar-foreground: 244 244 245;--sidebar-primary: 161 161 170;--sidebar-primary-foreground: 24 24 27;--sidebar-accent: 82 82 91;--sidebar-accent-foreground: 244 244 245;--sidebar-border: 63 63 70;--sidebar-ring: 161 161 170}.theme-t3-chat{--background: 250 245 250;--foreground: 80 24 84;--card: 250 245 250;--card-foreground: 80 24 84;--popover: 255 255 255;--popover-foreground: 80 24 84;--primary: 168 67 112;--primary-foreground: 255 255 255;--secondary: 241 196 230;--secondary-foreground: 119 52 124;--muted: 246 229 243;--muted-foreground: 131 69 136;--accent: 241 196 230;--accent-foreground: 119 52 124;--destructive: 171 67 71;--destructive-foreground: 255 255 255;--border: 239 189 235;--input: 231 193 220;--ring: 219 39 119;--chart-1: 217 38 162;--chart-2: 108 18 185;--chart-3: 39 71 84;--chart-4: 232 196 104;--chart-5: 244 164 98;--sidebar: 243 228 246;--sidebar-foreground: 172 22 104;--sidebar-primary: 69 69 84;--sidebar-primary-foreground: 250 241 247;--sidebar-accent: 248 248 247;--sidebar-accent-foreground: 69 69 84;--sidebar-border: 236 234 233;--sidebar-ring: 219 39 119}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 220 224 232;--card-foreground: 76 79 105;--popover: 255 255 255;--popover-foreground: 76 79 105;--primary: 138 173 244;--primary-foreground: 76 79 105;--secondary: 220 224 232;--secondary-foreground: 76 79 105;--muted: 230 233 239;--muted-foreground: 108 112 134;--accent: 166 227 161;--accent-foreground: 76 79 105;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 204 208 218;--input: 204 208 218;--ring: 138 173 244;--chart-1: 138 173 244;--chart-2: 166 227 161;--chart-3: 250 179 135;--chart-4: 245 169 184;--chart-5: 203 166 247;--sidebar: 239 241 245;--sidebar-foreground: 76 79 105;--sidebar-primary: 138 173 244;--sidebar-primary-foreground: 76 79 105;--sidebar-accent: 166 227 161;--sidebar-accent-foreground: 76 79 105;--sidebar-border: 204 208 218;--sidebar-ring: 138 173 244}.theme-supabase{--background: 252 252 252;--foreground: 15 23 42;--card: 255 255 255;--card-foreground: 15 23 42;--popover: 255 255 255;--popover-foreground: 15 23 42;--primary: 62 207 142;--primary-foreground: 255 255 255;--secondary: 245 245 245;--secondary-foreground: 51 65 85;--muted: 248 250 252;--muted-foreground: 100 116 139;--accent: 240 253 244;--accent-foreground: 22 101 52;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 226 232 240;--input: 226 232 240;--ring: 62 207 142;--chart-1: 62 207 142;--chart-2: 34 197 94;--chart-3: 132 204 22;--chart-4: 234 179 8;--chart-5: 251 146 60;--sidebar: 252 252 252;--sidebar-foreground: 15 23 42;--sidebar-primary: 62 207 142;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 253 244;--sidebar-accent-foreground: 22 101 52;--sidebar-border: 226 232 240;--sidebar-ring: 62 207 142}.theme-vercel{--background: 255 255 255;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 0 0 0;--primary-foreground: 255 255 255;--secondary: 250 250 250;--secondary-foreground: 0 0 0;--muted: 245 245 245;--muted-foreground: 115 115 115;--accent: 245 245 245;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 0 0 0;--chart-1: 0 0 0;--chart-2: 115 115 115;--chart-3: 163 163 163;--chart-4: 212 212 212;--chart-5: 245 245 245;--sidebar: 255 255 255;--sidebar-foreground: 0 0 0;--sidebar-primary: 0 0 0;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 245 245 245;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 229 229 229;--sidebar-ring: 0 0 0}.theme-claude{--background: 255 255 255;--foreground: 44 51 56;--card: 255 255 255;--card-foreground: 44 51 56;--popover: 255 255 255;--popover-foreground: 44 51 56;--primary: 204 109 61;--primary-foreground: 255 255 255;--secondary: 250 250 250;--secondary-foreground: 44 51 56;--muted: 245 245 245;--muted-foreground: 115 115 115;--accent: 254 243 232;--accent-foreground: 194 65 12;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 204 109 61;--chart-1: 204 109 61;--chart-2: 245 158 11;--chart-3: 251 191 36;--chart-4: 168 85 247;--chart-5: 59 130 246;--sidebar: 255 255 255;--sidebar-foreground: 44 51 56;--sidebar-primary: 204 109 61;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 243 232;--sidebar-accent-foreground: 194 65 12;--sidebar-border: 229 229 229;--sidebar-ring: 204 109 61}.theme-cyberpunk{--background: 245 245 245;--foreground: 24 24 27;--card: 255 255 255;--card-foreground: 24 24 27;--popover: 255 255 255;--popover-foreground: 24 24 27;--primary: 255 20 147;--primary-foreground: 255 255 255;--secondary: 0 255 255;--secondary-foreground: 24 24 27;--muted: 240 240 240;--muted-foreground: 113 113 122;--accent: 255 0 255;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 216;--input: 212 212 216;--ring: 255 20 147;--chart-1: 255 20 147;--chart-2: 0 255 255;--chart-3: 255 0 255;--chart-4: 0 255 0;--chart-5: 255 255 0;--sidebar: 245 245 245;--sidebar-foreground: 24 24 27;--sidebar-primary: 255 20 147;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 0 255;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 212 212 216;--sidebar-ring: 255 20 147}.theme-ocean-breeze{--background: 240 249 255;--foreground: 21 94 117;--card: 255 255 255;--card-foreground: 21 94 117;--popover: 255 255 255;--popover-foreground: 21 94 117;--primary: 6 182 212;--primary-foreground: 255 255 255;--secondary: 165 243 252;--secondary-foreground: 21 94 117;--muted: 240 249 255;--muted-foreground: 75 85 99;--accent: 186 230 253;--accent-foreground: 21 94 117;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 147 197 253;--input: 147 197 253;--ring: 6 182 212;--chart-1: 6 182 212;--chart-2: 34 211 238;--chart-3: 14 165 233;--chart-4: 56 189 248;--chart-5: 125 211 252;--sidebar: 240 249 255;--sidebar-foreground: 21 94 117;--sidebar-primary: 6 182 212;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 186 230 253;--sidebar-accent-foreground: 21 94 117;--sidebar-border: 147 197 253;--sidebar-ring: 6 182 212}.theme-sunset-horizon{--background: 255 251 235;--foreground: 120 53 15;--card: 255 255 255;--card-foreground: 120 53 15;--popover: 255 255 255;--popover-foreground: 120 53 15;--primary: 245 101 101;--primary-foreground: 255 255 255;--secondary: 251 191 36;--secondary-foreground: 120 53 15;--muted: 254 243 199;--muted-foreground: 146 64 14;--accent: 253 230 138;--accent-foreground: 120 53 15;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 251 191 36;--input: 251 191 36;--ring: 245 101 101;--chart-1: 245 101 101;--chart-2: 251 191 36;--chart-3: 251 146 60;--chart-4: 249 115 22;--chart-5: 234 88 12;--sidebar: 255 251 235;--sidebar-foreground: 120 53 15;--sidebar-primary: 245 101 101;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 253 230 138;--sidebar-accent-foreground: 120 53 15;--sidebar-border: 251 191 36;--sidebar-ring: 245 101 101}.theme-midnight-bloom{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246;--chart-1: 96 165 250;--chart-2: 59 130 246;--chart-3: 37 99 235;--chart-4: 29 78 216;--chart-5: 30 64 175;--sidebar: 23 23 23;--sidebar-foreground: 229 229 229;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 58 138;--sidebar-accent-foreground: 191 219 254;--sidebar-border: 64 64 64;--sidebar-ring: 59 130 246}.dark.theme-twitter{--background: 0 0 0;--foreground: 231 233 234;--card: 22 24 28;--card-foreground: 231 233 234;--popover: 0 0 0;--popover-foreground: 231 233 234;--primary: 29 155 240;--primary-foreground: 255 255 255;--secondary: 22 24 28;--secondary-foreground: 231 233 234;--muted: 32 35 39;--muted-foreground: 113 118 123;--accent: 29 155 240;--accent-foreground: 255 255 255;--destructive: 244 33 46;--destructive-foreground: 255 255 255;--border: 47 51 54;--input: 32 35 39;--ring: 29 161 242;--chart-1: 29 155 240;--chart-2: 0 186 124;--chart-3: 255 212 0;--chart-4: 23 191 99;--chart-5: 249 24 128;--sidebar: 0 0 0;--sidebar-foreground: 231 233 234;--sidebar-primary: 29 155 240;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 32 35 39;--sidebar-accent-foreground: 231 233 234;--sidebar-border: 47 51 54;--sidebar-ring: 29 161 242}.dark.theme-t3-chat{--background: 34 29 39;--foreground: 210 196 222;--card: 44 38 50;--card-foreground: 219 197 210;--popover: 16 10 14;--popover-foreground: 248 241 245;--primary: 163 0 76;--primary-foreground: 239 192 216;--secondary: 54 45 61;--secondary-foreground: 212 199 225;--muted: 40 34 45;--muted-foreground: 194 182 207;--accent: 70 55 83;--accent-foreground: 248 241 245;--destructive: 48 16 21;--destructive-foreground: 255 255 255;--border: 59 50 55;--input: 62 52 60;--ring: 219 39 119;--chart-1: 168 67 112;--chart-2: 147 77 203;--chart-3: 232 140 48;--chart-4: 175 87 219;--chart-5: 226 54 112;--sidebar: 24 17 23;--sidebar-foreground: 224 202 214;--sidebar-primary: 29 78 216;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 38 25 34;--sidebar-accent-foreground: 244 244 245;--sidebar-border: 0 0 0;--sidebar-ring: 219 39 119}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 49 50 68;--card-foreground: 205 214 244;--popover: 24 24 37;--popover-foreground: 205 214 244;--primary: 137 180 250;--primary-foreground: 24 24 37;--secondary: 49 50 68;--secondary-foreground: 205 214 244;--muted: 49 50 68;--muted-foreground: 166 173 200;--accent: 166 227 161;--accent-foreground: 24 24 37;--destructive: 243 139 168;--destructive-foreground: 24 24 37;--border: 88 91 112;--input: 88 91 112;--ring: 137 180 250;--chart-1: 137 180 250;--chart-2: 166 227 161;--chart-3: 250 179 135;--chart-4: 245 169 184;--chart-5: 203 166 247;--sidebar: 24 24 37;--sidebar-foreground: 205 214 244;--sidebar-primary: 137 180 250;--sidebar-primary-foreground: 24 24 37;--sidebar-accent: 49 50 68;--sidebar-accent-foreground: 205 214 244;--sidebar-border: 88 91 112;--sidebar-ring: 137 180 250}.dark.theme-supabase{--background: 16 16 16;--foreground: 248 250 252;--card: 26 26 26;--card-foreground: 248 250 252;--popover: 16 16 16;--popover-foreground: 248 250 252;--primary: 62 207 142;--primary-foreground: 255 255 255;--secondary: 26 26 26;--secondary-foreground: 248 250 252;--muted: 39 39 42;--muted-foreground: 161 161 170;--accent: 20 83 45;--accent-foreground: 187 247 208;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 39 39 42;--input: 39 39 42;--ring: 62 207 142;--chart-1: 62 207 142;--chart-2: 34 197 94;--chart-3: 132 204 22;--chart-4: 234 179 8;--chart-5: 251 146 60;--sidebar: 16 16 16;--sidebar-foreground: 248 250 252;--sidebar-primary: 62 207 142;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 20 83 45;--sidebar-accent-foreground: 187 247 208;--sidebar-border: 39 39 42;--sidebar-ring: 62 207 142}.dark.theme-vercel{--background: 0 0 0;--foreground: 255 255 255;--card: 26 26 26;--card-foreground: 255 255 255;--popover: 0 0 0;--popover-foreground: 255 255 255;--primary: 255 255 255;--primary-foreground: 0 0 0;--secondary: 26 26 26;--secondary-foreground: 255 255 255;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 38 38 38;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 255 255 255;--chart-1: 255 255 255;--chart-2: 163 163 163;--chart-3: 115 115 115;--chart-4: 82 82 82;--chart-5: 64 64 64;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 255 255;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 38 38 38;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 64 64 64;--sidebar-ring: 255 255 255}.dark.theme-claude{--background: 16 16 16;--foreground: 250 250 250;--card: 32 32 32;--card-foreground: 250 250 250;--popover: 16 16 16;--popover-foreground: 250 250 250;--primary: 204 109 61;--primary-foreground: 255 255 255;--secondary: 32 32 32;--secondary-foreground: 250 250 250;--muted: 39 39 42;--muted-foreground: 161 161 170;--accent: 124 45 18;--accent-foreground: 254 243 232;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 204 109 61;--chart-1: 204 109 61;--chart-2: 245 158 11;--chart-3: 251 191 36;--chart-4: 168 85 247;--chart-5: 59 130 246;--sidebar: 16 16 16;--sidebar-foreground: 250 250 250;--sidebar-primary: 204 109 61;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 124 45 18;--sidebar-accent-foreground: 254 243 232;--sidebar-border: 64 64 64;--sidebar-ring: 204 109 61}.dark.theme-cyberpunk{--background: 10 0 20;--foreground: 255 20 147;--card: 20 0 40;--card-foreground: 255 20 147;--popover: 10 0 20;--popover-foreground: 255 20 147;--primary: 255 20 147;--primary-foreground: 10 0 20;--secondary: 0 255 255;--secondary-foreground: 10 0 20;--muted: 30 10 50;--muted-foreground: 200 50 200;--accent: 255 0 255;--accent-foreground: 10 0 20;--destructive: 255 0 0;--destructive-foreground: 255 255 255;--border: 100 0 150;--input: 100 0 150;--ring: 255 20 147;--chart-1: 255 20 147;--chart-2: 0 255 255;--chart-3: 255 0 255;--chart-4: 0 255 0;--chart-5: 255 255 0;--sidebar: 10 0 20;--sidebar-foreground: 255 20 147;--sidebar-primary: 255 20 147;--sidebar-primary-foreground: 10 0 20;--sidebar-accent: 255 0 255;--sidebar-accent-foreground: 10 0 20;--sidebar-border: 100 0 150;--sidebar-ring: 255 20 147}.dark.theme-ocean-breeze{--background: 8 47 73;--foreground: 165 243 252;--card: 21 94 117;--card-foreground: 165 243 252;--popover: 8 47 73;--popover-foreground: 165 243 252;--primary: 34 211 238;--primary-foreground: 8 47 73;--secondary: 21 94 117;--secondary-foreground: 165 243 252;--muted: 30 58 138;--muted-foreground: 125 211 252;--accent: 14 165 233;--accent-foreground: 165 243 252;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 56 189 248;--input: 56 189 248;--ring: 34 211 238;--chart-1: 34 211 238;--chart-2: 6 182 212;--chart-3: 14 165 233;--chart-4: 56 189 248;--chart-5: 125 211 252;--sidebar: 8 47 73;--sidebar-foreground: 165 243 252;--sidebar-primary: 34 211 238;--sidebar-primary-foreground: 8 47 73;--sidebar-accent: 14 165 233;--sidebar-accent-foreground: 165 243 252;--sidebar-border: 56 189 248;--sidebar-ring: 34 211 238}.dark.theme-sunset-horizon{--background: 55 25 25;--foreground: 253 230 138;--card: 120 53 15;--card-foreground: 253 230 138;--popover: 55 25 25;--popover-foreground: 253 230 138;--primary: 248 113 113;--primary-foreground: 55 25 25;--secondary: 217 119 6;--secondary-foreground: 253 230 138;--muted: 146 64 14;--muted-foreground: 254 215 170;--accent: 249 115 22;--accent-foreground: 253 230 138;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 217 119 6;--input: 217 119 6;--ring: 248 113 113;--chart-1: 248 113 113;--chart-2: 217 119 6;--chart-3: 251 146 60;--chart-4: 249 115 22;--chart-5: 234 88 12;--sidebar: 55 25 25;--sidebar-foreground: 253 230 138;--sidebar-primary: 248 113 113;--sidebar-primary-foreground: 55 25 25;--sidebar-accent: 249 115 22;--sidebar-accent-foreground: 253 230 138;--sidebar-border: 217 119 6;--sidebar-ring: 248 113 113}.dark.theme-midnight-bloom{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.theme-doom-64{--background: 204 204 204;--foreground: 31 31 31;--card: 176 176 176;--card-foreground: 31 31 31;--popover: 176 176 176;--popover-foreground: 31 31 31;--primary: 183 28 28;--primary-foreground: 255 255 255;--secondary: 85 107 47;--secondary-foreground: 255 255 255;--muted: 184 184 184;--muted-foreground: 74 74 74;--accent: 70 130 180;--accent-foreground: 255 255 255;--destructive: 255 111 0;--destructive-foreground: 0 0 0;--border: 80 80 80;--input: 80 80 80;--ring: 183 28 28;--font-sans: "Oxanium", sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: "Source Code Pro", monospace;--radius: 0px}.dark.theme-doom-64{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 229 57 53;--primary-foreground: 255 255 255;--secondary: 104 159 56;--secondary-foreground: 0 0 0;--muted: 37 37 37;--muted-foreground: 160 160 160;--accent: 100 181 246;--accent-foreground: 0 0 0;--destructive: 255 160 0;--destructive-foreground: 0 0 0;--border: 74 74 74;--input: 74 74 74;--ring: 229 57 53;--font-sans: "Oxanium", sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: "Source Code Pro", monospace;--radius: 0px}.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--font-sans: Inter, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .375rem}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 255 255 255;--card-foreground: 76 79 105;--popover: 255 255 255;--popover-foreground: 76 79 105;--primary: 136 57 239;--primary-foreground: 255 255 255;--secondary: 204 208 218;--secondary-foreground: 76 79 105;--muted: 220 224 232;--muted-foreground: 108 111 133;--accent: 4 165 229;--accent-foreground: 255 255 255;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 188 192 204;--input: 204 208 218;--ring: 136 57 239}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 30 30 46;--card-foreground: 205 214 244;--popover: 30 30 46;--popover-foreground: 205 214 244;--primary: 203 166 247;--primary-foreground: 30 30 46;--secondary: 88 91 112;--secondary-foreground: 205 214 244;--muted: 41 44 60;--muted-foreground: 166 173 200;--accent: 137 220 235;--accent-foreground: 30 30 46;--destructive: 243 139 168;--destructive-foreground: 30 30 46;--border: 49 50 68;--input: 49 50 68;--ring: 203 166 247}.theme-graphite{--background: 240 240 240;--foreground: 96 96 96;--card: 255 255 255;--card-foreground: 96 96 96;--popover: 255 255 255;--popover-foreground: 96 96 96;--primary: 96 96 96;--primary-foreground: 255 255 255;--secondary: 224 224 224;--secondary-foreground: 96 96 96;--muted: 248 248 248;--muted-foreground: 128 128 128;--accent: 192 192 192;--accent-foreground: 64 64 64;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 224 224 224;--input: 224 224 224;--ring: 96 96 96}.dark.theme-graphite{--background: 26 26 26;--foreground: 160 160 160;--card: 38 38 38;--card-foreground: 160 160 160;--popover: 38 38 38;--popover-foreground: 160 160 160;--primary: 160 160 160;--primary-foreground: 26 26 26;--secondary: 48 48 48;--secondary-foreground: 160 160 160;--muted: 32 32 32;--muted-foreground: 128 128 128;--accent: 64 64 64;--accent-foreground: 192 192 192;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 48 48 48;--input: 48 48 48;--ring: 160 160 160}.theme-perpetuity{--background: 232 240 240;--foreground: 6 133 142;--card: 255 255 255;--card-foreground: 6 133 142;--popover: 255 255 255;--popover-foreground: 6 133 142;--primary: 6 133 142;--primary-foreground: 255 255 255;--secondary: 217 234 234;--secondary-foreground: 6 133 142;--muted: 237 246 246;--muted-foreground: 8 145 154;--accent: 204 251 241;--accent-foreground: 6 133 142;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 179 229 229;--input: 179 229 229;--ring: 6 133 142}.dark.theme-perpetuity{--background: 10 26 32;--foreground: 77 232 232;--card: 15 35 45;--card-foreground: 77 232 232;--popover: 15 35 45;--popover-foreground: 77 232 232;--primary: 77 232 232;--primary-foreground: 10 26 32;--secondary: 22 73 85;--secondary-foreground: 77 232 232;--muted: 18 46 56;--muted-foreground: 155 218 218;--accent: 28 96 112;--accent-foreground: 77 232 232;--destructive: 248 113 113;--destructive-foreground: 10 26 32;--border: 22 73 85;--input: 22 73 85;--ring: 77 232 232}.theme-amber-minimal{--background: 255 255 255;--foreground: 146 64 14;--card: 255 255 255;--card-foreground: 146 64 14;--popover: 255 255 255;--popover-foreground: 146 64 14;--primary: 245 158 11;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 146 64 14;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 254 243 199;--accent-foreground: 146 64 14;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 245 158 11}.dark.theme-amber-minimal{--background: 23 23 23;--foreground: 251 191 36;--card: 38 38 38;--card-foreground: 251 191 36;--popover: 38 38 38;--popover-foreground: 251 191 36;--primary: 245 158 11;--primary-foreground: 23 23 23;--secondary: 38 38 38;--secondary-foreground: 251 191 36;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 146 64 14;--accent-foreground: 254 243 199;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 245 158 11}.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--chart-1: 59 130 246;--chart-2: 37 99 235;--chart-3: 29 78 216;--chart-4: 30 64 175;--chart-5: 30 58 138;--sidebar: 249 250 251;--sidebar-foreground: 51 51 51;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 242 254;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 229 231 235;--sidebar-ring: 59 130 246;--font-sans: "Inter", sans-serif;--font-serif: "Source Serif 4", serif;--font-mono: "JetBrains Mono", monospace;--radius: .375rem}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246;--chart-1: 96 165 250;--chart-2: 59 130 246;--chart-3: 37 99 235;--chart-4: 29 78 216;--chart-5: 30 64 175;--sidebar: 23 23 23;--sidebar-foreground: 229 229 229;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 58 138;--sidebar-accent-foreground: 191 219 254;--sidebar-border: 64 64 64;--sidebar-ring: 59 130 246;--font-sans: "Inter", sans-serif;--font-serif: "Source Serif 4", serif;--font-mono: "JetBrains Mono", monospace;--radius: .375rem}.theme-t3-chat{--background: 250 245 250;--foreground: 80 24 84;--card: 250 245 250;--card-foreground: 80 24 84;--popover: 255 255 255;--popover-foreground: 80 24 84;--primary: 168 67 112;--primary-foreground: 255 255 255;--secondary: 241 196 230;--secondary-foreground: 119 52 124;--muted: 246 229 243;--muted-foreground: 131 69 136;--accent: 241 196 230;--accent-foreground: 119 52 124;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 234 179 220;--input: 234 179 220;--ring: 168 67 112;--chart-1: 168 67 112;--chart-2: 163 0 76;--chart-3: 133 30 94;--chart-4: 103 60 126;--chart-5: 73 90 158;--sidebar: 250 245 250;--sidebar-foreground: 80 24 84;--sidebar-primary: 168 67 112;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 241 196 230;--sidebar-accent-foreground: 119 52 124;--sidebar-border: 234 179 220;--sidebar-ring: 168 67 112}.dark.theme-t3-chat{--background: 34 29 39;--foreground: 243 232 255;--card: 54 45 61;--card-foreground: 243 232 255;--popover: 54 45 61;--popover-foreground: 243 232 255;--primary: 163 0 76;--primary-foreground: 255 255 255;--secondary: 54 45 61;--secondary-foreground: 243 232 255;--muted: 45 39 51;--muted-foreground: 168 159 182;--accent: 103 60 126;--accent-foreground: 241 196 230;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 73 67 87;--input: 73 67 87;--ring: 163 0 76;--chart-1: 163 0 76;--chart-2: 168 67 112;--chart-3: 133 30 94;--chart-4: 103 60 126;--chart-5: 73 90 158;--sidebar: 34 29 39;--sidebar-foreground: 243 232 255;--sidebar-primary: 163 0 76;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 103 60 126;--sidebar-accent-foreground: 241 196 230;--sidebar-border: 73 67 87;--sidebar-ring: 163 0 76}.theme-mocha-mousse{--background: 241 240 229;--foreground: 80 60 50;--card: 250 248 240;--card-foreground: 80 60 50;--popover: 250 248 240;--popover-foreground: 80 60 50;--primary: 163 119 100;--primary-foreground: 255 255 255;--secondary: 186 171 146;--secondary-foreground: 80 60 50;--muted: 235 230 218;--muted-foreground: 120 100 90;--accent: 210 195 170;--accent-foreground: 80 60 50;--destructive: 204 78 56;--destructive-foreground: 255 255 255;--border: 220 210 190;--input: 220 210 190;--ring: 163 119 100;--chart-1: 163 119 100;--chart-2: 186 171 146;--chart-3: 140 105 85;--chart-4: 115 90 70;--chart-5: 90 75 60;--sidebar: 241 240 229;--sidebar-foreground: 80 60 50;--sidebar-primary: 163 119 100;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 210 195 170;--sidebar-accent-foreground: 80 60 50;--sidebar-border: 220 210 190;--sidebar-ring: 163 119 100}.dark.theme-mocha-mousse{--background: 45 37 33;--foreground: 240 220 200;--card: 65 55 48;--card-foreground: 240 220 200;--popover: 65 55 48;--popover-foreground: 240 220 200;--primary: 195 158 136;--primary-foreground: 45 37 33;--secondary: 138 101 90;--secondary-foreground: 240 220 200;--muted: 55 47 42;--muted-foreground: 180 160 145;--accent: 160 130 110;--accent-foreground: 240 220 200;--destructive: 220 100 80;--destructive-foreground: 255 255 255;--border: 85 75 68;--input: 85 75 68;--ring: 195 158 136;--chart-1: 195 158 136;--chart-2: 138 101 90;--chart-3: 180 140 120;--chart-4: 160 120 100;--chart-5: 140 100 80;--sidebar: 45 37 33;--sidebar-foreground: 240 220 200;--sidebar-primary: 195 158 136;--sidebar-primary-foreground: 45 37 33;--sidebar-accent: 160 130 110;--sidebar-accent-foreground: 240 220 200;--sidebar-border: 85 75 68;--sidebar-ring: 195 158 136}.theme-bubblegum{--background: 246 230 238;--foreground: 80 30 60;--card: 252 240 246;--card-foreground: 80 30 60;--popover: 252 240 246;--popover-foreground: 80 30 60;--primary: 208 79 153;--primary-foreground: 255 255 255;--secondary: 138 207 209;--secondary-foreground: 80 30 60;--muted: 248 235 242;--muted-foreground: 120 80 100;--accent: 180 220 222;--accent-foreground: 80 30 60;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 228 190 210;--input: 228 190 210;--ring: 208 79 153;--chart-1: 208 79 153;--chart-2: 138 207 209;--chart-3: 255 182 193;--chart-4: 221 160 221;--chart-5: 255 20 147;--sidebar: 246 230 238;--sidebar-foreground: 80 30 60;--sidebar-primary: 208 79 153;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 180 220 222;--sidebar-accent-foreground: 80 30 60;--sidebar-border: 228 190 210;--sidebar-ring: 208 79 153}.dark.theme-bubblegum{--background: 18 36 46;--foreground: 240 220 230;--card: 35 50 58;--card-foreground: 240 220 230;--popover: 35 50 58;--popover-foreground: 240 220 230;--primary: 251 226 167;--primary-foreground: 18 36 46;--secondary: 228 162 177;--secondary-foreground: 18 36 46;--muted: 28 42 50;--muted-foreground: 180 160 170;--accent: 200 180 190;--accent-foreground: 18 36 46;--destructive: 255 107 114;--destructive-foreground: 18 36 46;--border: 60 75 85;--input: 60 75 85;--ring: 251 226 167;--chart-1: 251 226 167;--chart-2: 228 162 177;--chart-3: 255 182 193;--chart-4: 221 160 221;--chart-5: 255 20 147;--sidebar: 18 36 46;--sidebar-foreground: 240 220 230;--sidebar-primary: 251 226 167;--sidebar-primary-foreground: 18 36 46;--sidebar-accent: 200 180 190;--sidebar-accent-foreground: 18 36 46;--sidebar-border: 60 75 85;--sidebar-ring: 251 226 167}.theme-amethyst-haze{--background: 248 247 250;--foreground: 60 50 80;--card: 252 251 254;--card-foreground: 60 50 80;--popover: 252 251 254;--popover-foreground: 60 50 80;--primary: 138 121 171;--primary-foreground: 255 255 255;--secondary: 223 217 236;--secondary-foreground: 60 50 80;--muted: 240 238 245;--muted-foreground: 100 90 120;--accent: 210 200 230;--accent-foreground: 60 50 80;--destructive: 192 57 43;--destructive-foreground: 255 255 255;--border: 215 210 230;--input: 215 210 230;--ring: 138 121 171;--chart-1: 138 121 171;--chart-2: 169 149 201;--chart-3: 147 51 234;--chart-4: 168 85 247;--chart-5: 124 58 237;--sidebar: 248 247 250;--sidebar-foreground: 60 50 80;--sidebar-primary: 138 121 171;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 210 200 230;--sidebar-accent-foreground: 60 50 80;--sidebar-border: 215 210 230;--sidebar-ring: 138 121 171}.dark.theme-amethyst-haze{--background: 26 24 35;--foreground: 220 210 240;--card: 45 42 55;--card-foreground: 220 210 240;--popover: 45 42 55;--popover-foreground: 220 210 240;--primary: 169 149 201;--primary-foreground: 26 24 35;--secondary: 90 83 112;--secondary-foreground: 220 210 240;--muted: 35 32 45;--muted-foreground: 160 150 180;--accent: 120 110 140;--accent-foreground: 220 210 240;--destructive: 220 80 70;--destructive-foreground: 255 255 255;--border: 70 65 85;--input: 70 65 85;--ring: 169 149 201;--chart-1: 169 149 201;--chart-2: 90 83 112;--chart-3: 147 51 234;--chart-4: 168 85 247;--chart-5: 124 58 237;--sidebar: 26 24 35;--sidebar-foreground: 220 210 240;--sidebar-primary: 169 149 201;--sidebar-primary-foreground: 26 24 35;--sidebar-accent: 120 110 140;--sidebar-accent-foreground: 220 210 240;--sidebar-border: 70 65 85;--sidebar-ring: 169 149 201}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 230 233 239;--card-foreground: 76 79 105;--popover: 230 233 239;--popover-foreground: 76 79 105;--primary: 136 57 239;--primary-foreground: 255 255 255;--secondary: 204 208 218;--secondary-foreground: 76 79 105;--muted: 220 224 232;--muted-foreground: 108 112 134;--accent: 188 192 204;--accent-foreground: 76 79 105;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 172 176 190;--input: 172 176 190;--ring: 136 57 239;--chart-1: 136 57 239;--chart-2: 30 102 245;--chart-3: 64 160 43;--chart-4: 223 142 29;--chart-5: 210 15 57;--sidebar: 239 241 245;--sidebar-foreground: 76 79 105;--sidebar-primary: 136 57 239;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 188 192 204;--sidebar-accent-foreground: 76 79 105;--sidebar-border: 172 176 190;--sidebar-ring: 136 57 239}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 49 50 68;--card-foreground: 205 214 244;--popover: 49 50 68;--popover-foreground: 205 214 244;--primary: 203 166 247;--primary-foreground: 24 24 37;--secondary: 88 91 112;--secondary-foreground: 205 214 244;--muted: 69 71 90;--muted-foreground: 166 173 200;--accent: 127 132 156;--accent-foreground: 205 214 244;--destructive: 243 139 168;--destructive-foreground: 24 24 37;--border: 108 112 134;--input: 108 112 134;--ring: 203 166 247;--chart-1: 203 166 247;--chart-2: 137 180 250;--chart-3: 166 227 161;--chart-4: 249 226 175;--chart-5: 243 139 168;--sidebar: 24 24 37;--sidebar-foreground: 205 214 244;--sidebar-primary: 203 166 247;--sidebar-primary-foreground: 24 24 37;--sidebar-accent: 127 132 156;--sidebar-accent-foreground: 205 214 244;--sidebar-border: 108 112 134;--sidebar-ring: 203 166 247}.theme-supabase{--background: 252 252 252;--foreground: 37 99 235;--card: 253 253 253;--card-foreground: 37 99 235;--popover: 253 253 253;--popover-foreground: 37 99 235;--primary: 114 227 173;--primary-foreground: 0 0 0;--secondary: 240 253 244;--secondary-foreground: 22 163 74;--muted: 247 254 249;--muted-foreground: 75 85 99;--accent: 134 239 172;--accent-foreground: 21 128 61;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 114 227 173;--chart-1: 114 227 173;--chart-2: 52 211 153;--chart-3: 34 197 94;--chart-4: 22 163 74;--chart-5: 21 128 61;--sidebar: 252 252 252;--sidebar-foreground: 37 99 235;--sidebar-primary: 114 227 173;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 134 239 172;--sidebar-accent-foreground: 21 128 61;--sidebar-border: 229 231 235;--sidebar-ring: 114 227 173}.dark.theme-supabase{--background: 18 18 18;--foreground: 229 229 229;--card: 36 36 36;--card-foreground: 229 229 229;--popover: 36 36 36;--popover-foreground: 229 229 229;--primary: 0 98 57;--primary-foreground: 255 255 255;--secondary: 22 163 74;--secondary-foreground: 255 255 255;--muted: 54 54 54;--muted-foreground: 163 163 163;--accent: 34 197 94;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 82 82 82;--input: 82 82 82;--ring: 0 98 57;--chart-1: 0 98 57;--chart-2: 22 163 74;--chart-3: 34 197 94;--chart-4: 52 211 153;--chart-5: 114 227 173;--sidebar: 18 18 18;--sidebar-foreground: 229 229 229;--sidebar-primary: 0 98 57;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 34 197 94;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 82 82 82;--sidebar-ring: 0 98 57}.theme-vercel{--background: 252 252 252;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 0 0 0;--primary-foreground: 255 255 255;--secondary: 240 240 240;--secondary-foreground: 0 0 0;--muted: 250 250 250;--muted-foreground: 115 115 115;--accent: 240 240 240;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 0 0 0;--chart-1: 0 0 0;--chart-2: 64 64 64;--chart-3: 115 115 115;--chart-4: 163 163 163;--chart-5: 212 212 212;--sidebar: 252 252 252;--sidebar-foreground: 0 0 0;--sidebar-primary: 0 0 0;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 240 240;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 229 229 229;--sidebar-ring: 0 0 0}.dark.theme-vercel{--background: 0 0 0;--foreground: 255 255 255;--card: 20 20 20;--card-foreground: 255 255 255;--popover: 20 20 20;--popover-foreground: 255 255 255;--primary: 255 255 255;--primary-foreground: 0 0 0;--secondary: 64 64 64;--secondary-foreground: 255 255 255;--muted: 40 40 40;--muted-foreground: 163 163 163;--accent: 64 64 64;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 255 255 255;--chart-1: 255 255 255;--chart-2: 212 212 212;--chart-3: 163 163 163;--chart-4: 115 115 115;--chart-5: 64 64 64;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 255 255;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 64 64 64;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 64 64 64;--sidebar-ring: 255 255 255}.theme-claude{--background: 250 249 245;--foreground: 60 50 45;--card: 255 254 250;--card-foreground: 60 50 45;--popover: 255 254 250;--popover-foreground: 60 50 45;--primary: 201 100 66;--primary-foreground: 255 255 255;--secondary: 233 230 220;--secondary-foreground: 60 50 45;--muted: 245 240 235;--muted-foreground: 120 110 100;--accent: 240 215 200;--accent-foreground: 60 50 45;--destructive: 220 80 60;--destructive-foreground: 255 255 255;--border: 220 210 195;--input: 220 210 195;--ring: 201 100 66;--chart-1: 201 100 66;--chart-2: 217 119 87;--chart-3: 180 90 50;--chart-4: 160 80 40;--chart-5: 140 70 30;--sidebar: 250 249 245;--sidebar-foreground: 60 50 45;--sidebar-primary: 201 100 66;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 215 200;--sidebar-accent-foreground: 60 50 45;--sidebar-border: 220 210 195;--sidebar-ring: 201 100 66}.dark.theme-claude{--background: 38 38 36;--foreground: 250 249 245;--card: 55 55 52;--card-foreground: 250 249 245;--popover: 55 55 52;--popover-foreground: 250 249 245;--primary: 217 119 87;--primary-foreground: 38 38 36;--secondary: 95 90 85;--secondary-foreground: 250 249 245;--muted: 48 48 46;--muted-foreground: 180 170 160;--accent: 140 120 110;--accent-foreground: 250 249 245;--destructive: 240 100 80;--destructive-foreground: 255 255 255;--border: 85 82 78;--input: 85 82 78;--ring: 217 119 87;--chart-1: 217 119 87;--chart-2: 201 100 66;--chart-3: 180 90 50;--chart-4: 160 80 40;--chart-5: 140 70 30;--sidebar: 38 38 36;--sidebar-foreground: 250 249 245;--sidebar-primary: 217 119 87;--sidebar-primary-foreground: 38 38 36;--sidebar-accent: 140 120 110;--sidebar-accent-foreground: 250 249 245;--sidebar-border: 85 82 78;--sidebar-ring: 217 119 87}.theme-notebook{--background: 249 249 249;--foreground: 96 96 96;--card: 255 255 255;--card-foreground: 96 96 96;--popover: 255 255 255;--popover-foreground: 96 96 96;--primary: 96 96 96;--primary-foreground: 255 255 255;--secondary: 222 222 222;--secondary-foreground: 96 96 96;--muted: 240 240 240;--muted-foreground: 128 128 128;--accent: 235 235 235;--accent-foreground: 96 96 96;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 222 222 222;--input: 222 222 222;--ring: 96 96 96;--chart-1: 96 96 96;--chart-2: 128 128 128;--chart-3: 160 160 160;--chart-4: 192 192 192;--chart-5: 224 224 224;--sidebar: 249 249 249;--sidebar-foreground: 96 96 96;--sidebar-primary: 96 96 96;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 235 235 235;--sidebar-accent-foreground: 96 96 96;--sidebar-border: 222 222 222;--sidebar-ring: 96 96 96}.dark.theme-notebook{--background: 43 43 43;--foreground: 176 176 176;--card: 60 60 60;--card-foreground: 176 176 176;--popover: 60 60 60;--popover-foreground: 176 176 176;--primary: 176 176 176;--primary-foreground: 43 43 43;--secondary: 90 90 90;--secondary-foreground: 176 176 176;--muted: 50 50 50;--muted-foreground: 140 140 140;--accent: 120 120 120;--accent-foreground: 176 176 176;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 90 90 90;--input: 90 90 90;--ring: 176 176 176;--chart-1: 176 176 176;--chart-2: 140 140 140;--chart-3: 120 120 120;--chart-4: 100 100 100;--chart-5: 80 80 80;--sidebar: 43 43 43;--sidebar-foreground: 176 176 176;--sidebar-primary: 176 176 176;--sidebar-primary-foreground: 43 43 43;--sidebar-accent: 120 120 120;--sidebar-accent-foreground: 176 176 176;--sidebar-border: 90 90 90;--sidebar-ring: 176 176 176}.theme-mono{--background: 255 255 255;--foreground: 115 115 115;--card: 255 255 255;--card-foreground: 115 115 115;--popover: 255 255 255;--popover-foreground: 115 115 115;--primary: 115 115 115;--primary-foreground: 255 255 255;--secondary: 245 245 245;--secondary-foreground: 115 115 115;--muted: 250 250 250;--muted-foreground: 160 160 160;--accent: 240 240 240;--accent-foreground: 115 115 115;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 115 115 115;--chart-1: 115 115 115;--chart-2: 140 140 140;--chart-3: 165 165 165;--chart-4: 190 190 190;--chart-5: 215 215 215;--sidebar: 255 255 255;--sidebar-foreground: 115 115 115;--sidebar-primary: 115 115 115;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 240 240;--sidebar-accent-foreground: 115 115 115;--sidebar-border: 229 229 229;--sidebar-ring: 115 115 115}.dark.theme-mono{--background: 10 10 10;--foreground: 115 115 115;--card: 25 25 25;--card-foreground: 115 115 115;--popover: 25 25 25;--popover-foreground: 115 115 115;--primary: 115 115 115;--primary-foreground: 10 10 10;--secondary: 38 38 38;--secondary-foreground: 115 115 115;--muted: 20 20 20;--muted-foreground: 80 80 80;--accent: 50 50 50;--accent-foreground: 115 115 115;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 38 38 38;--input: 38 38 38;--ring: 115 115 115;--chart-1: 115 115 115;--chart-2: 90 90 90;--chart-3: 70 70 70;--chart-4: 50 50 50;--chart-5: 30 30 30;--sidebar: 10 10 10;--sidebar-foreground: 115 115 115;--sidebar-primary: 115 115 115;--sidebar-primary-foreground: 10 10 10;--sidebar-accent: 50 50 50;--sidebar-accent-foreground: 115 115 115;--sidebar-border: 38 38 38;--sidebar-ring: 115 115 115}.theme-nature{--background: 248 245 240;--foreground: 34 68 42;--card: 255 255 255;--card-foreground: 34 68 42;--popover: 255 255 255;--popover-foreground: 34 68 42;--primary: 46 125 50;--primary-foreground: 255 255 255;--secondary: 232 245 233;--secondary-foreground: 46 125 50;--muted: 240 253 241;--muted-foreground: 74 85 81;--accent: 220 238 221;--accent-foreground: 34 68 42;--destructive: 211 47 47;--destructive-foreground: 255 255 255;--border: 187 247 208;--input: 187 247 208;--ring: 46 125 50;--chart-1: 46 125 50;--chart-2: 34 197 94;--chart-3: 22 163 74;--chart-4: 21 128 61;--chart-5: 20 83 45;--sidebar: 248 245 240;--sidebar-foreground: 34 68 42;--sidebar-primary: 46 125 50;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 220 238 221;--sidebar-accent-foreground: 34 68 42;--sidebar-border: 187 247 208;--sidebar-ring: 46 125 50}.dark.theme-nature{--background: 28 42 31;--foreground: 220 252 231;--card: 45 65 50;--card-foreground: 220 252 231;--popover: 45 65 50;--popover-foreground: 220 252 231;--primary: 76 175 80;--primary-foreground: 28 42 31;--secondary: 62 74 61;--secondary-foreground: 220 252 231;--muted: 38 55 42;--muted-foreground: 156 163 175;--accent: 74 85 81;--accent-foreground: 220 252 231;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 62 74 61;--input: 62 74 61;--ring: 76 175 80;--chart-1: 76 175 80;--chart-2: 34 197 94;--chart-3: 22 163 74;--chart-4: 21 128 61;--chart-5: 20 83 45;--sidebar: 28 42 31;--sidebar-foreground: 220 252 231;--sidebar-primary: 76 175 80;--sidebar-primary-foreground: 28 42 31;--sidebar-accent: 74 85 81;--sidebar-accent-foreground: 220 252 231;--sidebar-border: 62 74 61;--sidebar-ring: 76 175 80}.theme-cyberpunk{--background: 248 249 250;--foreground: 30 20 60;--card: 255 255 255;--card-foreground: 30 20 60;--popover: 255 255 255;--popover-foreground: 30 20 60;--primary: 255 0 200;--primary-foreground: 255 255 255;--secondary: 240 240 255;--secondary-foreground: 30 20 60;--muted: 250 245 255;--muted-foreground: 100 80 140;--accent: 200 180 255;--accent-foreground: 30 20 60;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 200 180 255;--input: 200 180 255;--ring: 255 0 200;--chart-1: 255 0 200;--chart-2: 0 255 255;--chart-3: 255 255 0;--chart-4: 255 0 128;--chart-5: 128 0 255;--sidebar: 248 249 250;--sidebar-foreground: 30 20 60;--sidebar-primary: 255 0 200;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 200 180 255;--sidebar-accent-foreground: 30 20 60;--sidebar-border: 200 180 255;--sidebar-ring: 255 0 200}.dark.theme-cyberpunk{--background: 12 12 29;--foreground: 0 255 255;--card: 25 25 50;--card-foreground: 0 255 255;--popover: 25 25 50;--popover-foreground: 0 255 255;--primary: 255 0 200;--primary-foreground: 12 12 29;--secondary: 30 30 63;--secondary-foreground: 0 255 255;--muted: 20 20 40;--muted-foreground: 150 120 200;--accent: 100 80 160;--accent-foreground: 0 255 255;--destructive: 255 50 100;--destructive-foreground: 12 12 29;--border: 60 50 120;--input: 60 50 120;--ring: 255 0 200;--chart-1: 255 0 200;--chart-2: 0 255 255;--chart-3: 255 255 0;--chart-4: 255 0 128;--chart-5: 128 0 255;--sidebar: 12 12 29;--sidebar-foreground: 0 255 255;--sidebar-primary: 255 0 200;--sidebar-primary-foreground: 12 12 29;--sidebar-accent: 100 80 160;--sidebar-accent-foreground: 0 255 255;--sidebar-border: 60 50 120;--sidebar-ring: 255 0 200}.theme-neo-brutalism{--background: 255 255 255;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 255 51 51;--primary-foreground: 255 255 255;--secondary: 255 255 0;--secondary-foreground: 0 0 0;--muted: 240 240 240;--muted-foreground: 64 64 64;--accent: 0 255 128;--accent-foreground: 0 0 0;--destructive: 255 0 100;--destructive-foreground: 255 255 255;--border: 0 0 0;--input: 0 0 0;--ring: 255 51 51;--chart-1: 255 51 51;--chart-2: 255 255 0;--chart-3: 0 255 128;--chart-4: 255 0 100;--chart-5: 0 200 255;--sidebar: 255 255 255;--sidebar-foreground: 0 0 0;--sidebar-primary: 255 51 51;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 0 255 128;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 0 0 0;--sidebar-ring: 255 51 51;--radius: 0px}.dark.theme-neo-brutalism{--background: 0 0 0;--foreground: 255 255 255;--card: 0 0 0;--card-foreground: 255 255 255;--popover: 0 0 0;--popover-foreground: 255 255 255;--primary: 255 102 102;--primary-foreground: 0 0 0;--secondary: 255 255 51;--secondary-foreground: 0 0 0;--muted: 25 25 25;--muted-foreground: 200 200 200;--accent: 51 255 153;--accent-foreground: 0 0 0;--destructive: 255 51 128;--destructive-foreground: 0 0 0;--border: 255 255 255;--input: 255 255 255;--ring: 255 102 102;--chart-1: 255 102 102;--chart-2: 255 255 51;--chart-3: 51 255 153;--chart-4: 255 51 128;--chart-5: 51 230 255;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 102 102;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 51 255 153;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 255 255 255;--sidebar-ring: 255 102 102;--radius: 0px}.theme-bold-tech{--background: 255 255 255;--foreground: 49 46 129;--card: 255 255 255;--card-foreground: 49 46 129;--popover: 255 255 255;--popover-foreground: 49 46 129;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 243 240 255;--secondary-foreground: 67 56 202;--muted: 245 243 255;--muted-foreground: 124 58 237;--accent: 219 234 254;--accent-foreground: 30 64 175;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 224 231 255;--input: 224 231 255;--ring: 139 92 246;--chart-1: 139 92 246;--chart-2: 124 58 237;--chart-3: 109 40 217;--chart-4: 91 33 182;--chart-5: 76 29 149;--sidebar: 245 243 255;--sidebar-foreground: 49 46 129;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 219 234 254;--sidebar-accent-foreground: 30 64 175;--sidebar-border: 224 231 255;--sidebar-ring: 139 92 246;--radius: .625rem}.dark.theme-bold-tech{--background: 15 23 42;--foreground: 224 231 255;--card: 30 27 75;--card-foreground: 224 231 255;--popover: 30 27 75;--popover-foreground: 224 231 255;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 30 27 75;--secondary-foreground: 224 231 255;--muted: 30 27 75;--muted-foreground: 196 181 253;--accent: 67 56 202;--accent-foreground: 224 231 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 46 16 101;--input: 46 16 101;--ring: 139 92 246;--chart-1: 167 139 250;--chart-2: 139 92 246;--chart-3: 124 58 237;--chart-4: 109 40 217;--chart-5: 91 33 182;--sidebar: 15 23 42;--sidebar-foreground: 224 231 255;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 67 56 202;--sidebar-accent-foreground: 224 231 255;--sidebar-border: 46 16 101;--sidebar-ring: 139 92 246;--radius: .625rem}.theme-caffeine{--background: 249 249 249;--foreground: 32 32 32;--card: 252 252 252;--card-foreground: 32 32 32;--popover: 252 252 252;--popover-foreground: 32 32 32;--primary: 100 74 64;--primary-foreground: 255 255 255;--secondary: 255 223 181;--secondary-foreground: 88 45 29;--muted: 239 239 239;--muted-foreground: 100 100 100;--accent: 232 232 232;--accent-foreground: 32 32 32;--destructive: 229 77 46;--destructive-foreground: 255 255 255;--border: 216 216 216;--input: 216 216 216;--ring: 100 74 64;--chart-1: 100 74 64;--chart-2: 229 77 46;--chart-3: 255 223 181;--chart-4: 88 45 29;--chart-5: 32 32 32;--sidebar: 252 252 252;--sidebar-foreground: 32 32 32;--sidebar-primary: 100 74 64;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 223 181;--sidebar-accent-foreground: 88 45 29;--sidebar-border: 216 216 216;--sidebar-ring: 100 74 64;--radius: .5rem}.dark.theme-caffeine{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 139 111 71;--primary-foreground: 255 255 255;--secondary: 61 41 20;--secondary-foreground: 255 223 181;--muted: 51 51 51;--muted-foreground: 160 160 160;--accent: 68 68 68;--accent-foreground: 224 224 224;--destructive: 255 107 71;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 139 111 71;--chart-1: 139 111 71;--chart-2: 255 107 71;--chart-3: 255 223 181;--chart-4: 61 41 20;--chart-5: 224 224 224;--sidebar: 26 26 26;--sidebar-foreground: 224 224 224;--sidebar-primary: 139 111 71;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 61 41 20;--sidebar-accent-foreground: 255 223 181;--sidebar-border: 68 68 68;--sidebar-ring: 139 111 71;--radius: .5rem}.theme-candyland{--background: 247 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 255 192 203;--primary-foreground: 0 0 0;--secondary: 135 206 235;--secondary-foreground: 0 0 0;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 255 255 0;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 255 192 203;--chart-1: 255 192 203;--chart-2: 135 206 235;--chart-3: 255 255 0;--chart-4: 255 105 180;--chart-5: 152 251 152;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 255 192 203;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 135 206 235;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 212 212 212;--sidebar-ring: 255 192 203;--radius: 1rem}.dark.theme-candyland{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 255 105 180;--primary-foreground: 0 0 0;--secondary: 70 130 180;--secondary-foreground: 255 255 255;--muted: 58 58 58;--muted-foreground: 160 160 160;--accent: 255 215 0;--accent-foreground: 0 0 0;--destructive: 255 107 107;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 255 105 180;--chart-1: 255 105 180;--chart-2: 70 130 180;--chart-3: 255 215 0;--chart-4: 255 20 147;--chart-5: 144 238 144;--sidebar: 26 26 26;--sidebar-foreground: 224 224 224;--sidebar-primary: 255 105 180;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 70 130 180;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 68 68 68;--sidebar-ring: 255 105 180;--radius: 1rem}.theme-claymorphism{--background: 231 229 228;--foreground: 30 41 59;--card: 245 245 244;--card-foreground: 30 41 59;--popover: 245 245 244;--popover-foreground: 30 41 59;--primary: 99 102 241;--primary-foreground: 255 255 255;--secondary: 214 211 209;--secondary-foreground: 75 85 99;--muted: 231 229 228;--muted-foreground: 107 114 128;--accent: 243 229 245;--accent-foreground: 55 65 81;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 214 211 209;--input: 214 211 209;--ring: 99 102 241;--chart-1: 99 102 241;--chart-2: 139 92 246;--chart-3: 167 139 250;--chart-4: 196 181 253;--chart-5: 221 214 254;--sidebar: 245 245 244;--sidebar-foreground: 30 41 59;--sidebar-primary: 99 102 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 243 229 245;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 214 211 209;--sidebar-ring: 99 102 241;--radius: 1.5rem}.dark.theme-claymorphism{--background: 41 37 36;--foreground: 245 245 244;--card: 68 64 60;--card-foreground: 245 245 244;--popover: 68 64 60;--popover-foreground: 245 245 244;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 87 83 78;--secondary-foreground: 214 211 209;--muted: 60 58 57;--muted-foreground: 168 162 158;--accent: 124 45 18;--accent-foreground: 254 215 170;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 139 92 246;--chart-1: 139 92 246;--chart-2: 167 139 250;--chart-3: 196 181 253;--chart-4: 221 214 254;--chart-5: 237 233 254;--sidebar: 41 37 36;--sidebar-foreground: 245 245 244;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 124 45 18;--sidebar-accent-foreground: 254 215 170;--sidebar-border: 87 83 78;--sidebar-ring: 139 92 246;--radius: 1.5rem}.theme-clean-slate{--background: 248 250 252;--foreground: 30 41 59;--card: 255 255 255;--card-foreground: 30 41 59;--popover: 255 255 255;--popover-foreground: 30 41 59;--primary: 99 102 241;--primary-foreground: 255 255 255;--secondary: 229 231 235;--secondary-foreground: 55 65 81;--muted: 243 244 246;--muted-foreground: 107 114 128;--accent: 224 231 255;--accent-foreground: 55 65 81;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 209 213 219;--input: 209 213 219;--ring: 99 102 241;--chart-1: 99 102 241;--chart-2: 139 92 246;--chart-3: 168 85 247;--chart-4: 192 132 252;--chart-5: 216 180 254;--sidebar: 255 255 255;--sidebar-foreground: 30 41 59;--sidebar-primary: 99 102 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 231 255;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 209 213 219;--sidebar-ring: 99 102 241;--radius: .375rem}.dark.theme-clean-slate{--background: 15 23 42;--foreground: 226 232 240;--card: 30 41 59;--card-foreground: 226 232 240;--popover: 30 41 59;--popover-foreground: 226 232 240;--primary: 129 140 248;--primary-foreground: 255 255 255;--secondary: 51 65 85;--secondary-foreground: 203 213 225;--muted: 71 85 105;--muted-foreground: 148 163 184;--accent: 67 56 202;--accent-foreground: 226 232 240;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 71 85 105;--input: 71 85 105;--ring: 129 140 248;--chart-1: 129 140 248;--chart-2: 167 139 250;--chart-3: 192 132 252;--chart-4: 216 180 254;--chart-5: 233 213 255;--sidebar: 15 23 42;--sidebar-foreground: 226 232 240;--sidebar-primary: 129 140 248;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 67 56 202;--sidebar-accent-foreground: 226 232 240;--sidebar-border: 71 85 105;--sidebar-ring: 129 140 248;--radius: .375rem}.theme-cosmic-night{--background: 245 245 255;--foreground: 42 42 74;--card: 255 255 255;--card-foreground: 42 42 74;--popover: 255 255 255;--popover-foreground: 42 42 74;--primary: 110 86 207;--primary-foreground: 255 255 255;--secondary: 228 223 255;--secondary-foreground: 74 64 128;--muted: 240 240 250;--muted-foreground: 108 108 138;--accent: 216 230 255;--accent-foreground: 42 42 74;--destructive: 255 84 112;--destructive-foreground: 255 255 255;--border: 228 223 255;--input: 228 223 255;--ring: 110 86 207;--chart-1: 110 86 207;--chart-2: 138 112 217;--chart-3: 164 143 255;--chart-4: 191 168 255;--chart-5: 217 194 255;--sidebar: 255 255 255;--sidebar-foreground: 42 42 74;--sidebar-primary: 110 86 207;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 216 230 255;--sidebar-accent-foreground: 42 42 74;--sidebar-border: 228 223 255;--sidebar-ring: 110 86 207;--radius: .75rem}.dark.theme-cosmic-night{--background: 26 26 46;--foreground: 228 223 255;--card: 46 46 94;--card-foreground: 228 223 255;--popover: 46 46 94;--popover-foreground: 228 223 255;--primary: 164 143 255;--primary-foreground: 255 255 255;--secondary: 62 62 126;--secondary-foreground: 228 223 255;--muted: 62 62 126;--muted-foreground: 184 184 216;--accent: 255 0 200;--accent-foreground: 255 255 255;--destructive: 255 84 112;--destructive-foreground: 255 255 255;--border: 78 78 158;--input: 78 78 158;--ring: 164 143 255;--chart-1: 164 143 255;--chart-2: 191 168 255;--chart-3: 217 194 255;--chart-4: 230 211 255;--chart-5: 242 232 255;--sidebar: 26 26 46;--sidebar-foreground: 228 223 255;--sidebar-primary: 164 143 255;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 0 200;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 46 46 94;--sidebar-ring: 164 143 255;--radius: .75rem}.theme-elegant-luxury{--background: 250 247 245;--foreground: 26 26 26;--card: 250 247 245;--card-foreground: 26 26 26;--popover: 250 247 245;--popover-foreground: 26 26 26;--primary: 155 44 44;--primary-foreground: 255 255 255;--secondary: 253 242 214;--secondary-foreground: 128 85 0;--muted: 240 235 232;--muted-foreground: 87 83 78;--accent: 254 243 199;--accent-foreground: 127 29 29;--destructive: 153 27 27;--destructive-foreground: 255 255 255;--border: 245 232 210;--input: 245 232 210;--ring: 155 44 44;--chart-1: 155 44 44;--chart-2: 184 50 50;--chart-3: 214 57 57;--chart-4: 244 64 64;--chart-5: 255 71 71;--sidebar: 250 247 245;--sidebar-foreground: 26 26 26;--sidebar-primary: 155 44 44;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 243 199;--sidebar-accent-foreground: 127 29 29;--sidebar-border: 245 232 210;--sidebar-ring: 155 44 44;--radius: .5rem}.dark.theme-elegant-luxury{--background: 28 25 23;--foreground: 250 247 245;--card: 41 37 36;--card-foreground: 250 247 245;--popover: 41 37 36;--popover-foreground: 250 247 245;--primary: 255 102 102;--primary-foreground: 255 255 255;--secondary: 68 64 60;--secondary-foreground: 254 243 199;--muted: 60 56 54;--muted-foreground: 168 162 158;--accent: 202 138 4;--accent-foreground: 254 243 199;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 255 102 102;--chart-1: 255 102 102;--chart-2: 255 128 128;--chart-3: 255 153 153;--chart-4: 255 179 179;--chart-5: 255 204 204;--sidebar: 28 25 23;--sidebar-foreground: 250 247 245;--sidebar-primary: 255 102 102;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 202 138 4;--sidebar-accent-foreground: 254 243 199;--sidebar-border: 87 83 78;--sidebar-ring: 255 102 102;--radius: .5rem}.theme-kodama-grove{--background: 228 215 176;--foreground: 92 75 62;--card: 231 219 191;--card-foreground: 92 75 62;--popover: 243 234 210;--popover-foreground: 92 75 62;--primary: 141 157 79;--primary-foreground: 253 251 246;--secondary: 222 206 160;--secondary-foreground: 92 75 62;--muted: 222 206 160;--muted-foreground: 133 118 106;--accent: 219 200 148;--accent-foreground: 92 75 62;--destructive: 217 139 126;--destructive-foreground: 250 248 242;--border: 177 150 129;--input: 177 150 129;--ring: 141 157 79;--chart-1: 141 157 79;--chart-2: 154 170 92;--chart-3: 167 183 105;--chart-4: 180 196 118;--chart-5: 193 209 131;--sidebar: 231 219 191;--sidebar-foreground: 92 75 62;--sidebar-primary: 141 157 79;--sidebar-primary-foreground: 253 251 246;--sidebar-accent: 219 200 148;--sidebar-accent-foreground: 92 75 62;--sidebar-border: 177 150 129;--sidebar-ring: 141 157 79;--radius: .75rem}.dark.theme-kodama-grove{--background: 45 51 25;--foreground: 228 215 176;--card: 64 77 31;--card-foreground: 228 215 176;--popover: 64 77 31;--popover-foreground: 228 215 176;--primary: 138 159 123;--primary-foreground: 253 251 246;--secondary: 82 96 37;--secondary-foreground: 228 215 176;--muted: 63 74 30;--muted-foreground: 177 150 129;--accent: 125 138 95;--accent-foreground: 228 215 176;--destructive: 217 139 126;--destructive-foreground: 250 248 242;--border: 89 102 48;--input: 89 102 48;--ring: 138 159 123;--chart-1: 138 159 123;--chart-2: 151 172 136;--chart-3: 164 185 149;--chart-4: 177 198 162;--chart-5: 190 211 175;--sidebar: 45 51 25;--sidebar-foreground: 228 215 176;--sidebar-primary: 138 159 123;--sidebar-primary-foreground: 253 251 246;--sidebar-accent: 125 138 95;--sidebar-accent-foreground: 228 215 176;--sidebar-border: 89 102 48;--sidebar-ring: 138 159 123;--radius: .75rem}.theme-northern-lights{--background: 249 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 100 149 237;--secondary-foreground: 255 255 255;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 102 217 239;--accent-foreground: 51 51 51;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 100 149 237;--chart-3: 102 217 239;--chart-4: 144 238 144;--chart-5: 255 215 0;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 102 217 239;--sidebar-accent-foreground: 51 51 51;--sidebar-border: 212 212 212;--sidebar-ring: 52 168 90;--radius: .5rem}.dark.theme-northern-lights{--background: 10 10 10;--foreground: 240 240 240;--card: 26 26 26;--card-foreground: 240 240 240;--popover: 26 26 26;--popover-foreground: 240 240 240;--primary: 0 255 127;--primary-foreground: 0 0 0;--secondary: 65 105 225;--secondary-foreground: 255 255 255;--muted: 42 42 42;--muted-foreground: 160 160 160;--accent: 0 255 255;--accent-foreground: 0 0 0;--destructive: 255 99 71;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 0 255 127;--chart-1: 0 255 127;--chart-2: 65 105 225;--chart-3: 0 255 255;--chart-4: 152 251 152;--chart-5: 255 215 0;--sidebar: 10 10 10;--sidebar-foreground: 240 240 240;--sidebar-primary: 0 255 127;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 0 255 255;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 68 68 68;--sidebar-ring: 52 168 90;--radius: .5rem}.theme-pastel-dreams{--background: 247 243 249;--foreground: 55 65 81;--card: 255 255 255;--card-foreground: 55 65 81;--popover: 255 255 255;--popover-foreground: 55 65 81;--primary: 167 139 250;--primary-foreground: 255 255 255;--secondary: 233 216 253;--secondary-foreground: 75 85 99;--muted: 243 232 255;--muted-foreground: 107 114 128;--accent: 243 229 245;--accent-foreground: 55 65 81;--destructive: 252 165 165;--destructive-foreground: 255 255 255;--border: 233 216 253;--input: 233 216 253;--ring: 167 139 250;--chart-1: 167 139 250;--chart-2: 192 132 252;--chart-3: 216 180 254;--chart-4: 233 213 255;--chart-5: 243 232 255;--sidebar: 255 255 255;--sidebar-foreground: 55 65 81;--sidebar-primary: 167 139 250;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 243 229 245;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 233 216 253;--sidebar-ring: 167 139 250;--radius: 1rem}.dark.theme-pastel-dreams{--background: 31 27 36;--foreground: 233 216 253;--card: 45 36 54;--card-foreground: 233 216 253;--popover: 45 36 54;--popover-foreground: 233 216 253;--primary: 192 170 253;--primary-foreground: 255 255 255;--secondary: 61 45 72;--secondary-foreground: 233 216 253;--muted: 53 40 65;--muted-foreground: 167 139 250;--accent: 107 70 193;--accent-foreground: 233 216 253;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 76 51 89;--input: 76 51 89;--ring: 192 170 253;--chart-1: 192 170 253;--chart-2: 216 180 254;--chart-3: 233 213 255;--chart-4: 243 232 255;--chart-5: 250 245 255;--sidebar: 31 27 36;--sidebar-foreground: 233 216 253;--sidebar-primary: 192 170 253;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 107 70 193;--sidebar-accent-foreground: 233 216 253;--sidebar-border: 76 51 89;--sidebar-ring: 192 170 253;--radius: 1rem}.theme-quantum-rose{--background: 255 240 248;--foreground: 145 24 92;--card: 255 247 252;--card-foreground: 145 24 92;--popover: 255 247 252;--popover-foreground: 145 24 92;--primary: 230 6 122;--primary-foreground: 255 255 255;--secondary: 255 214 255;--secondary-foreground: 145 24 92;--muted: 255 227 242;--muted-foreground: 192 66 131;--accent: 255 193 227;--accent-foreground: 145 24 92;--destructive: 209 56 105;--destructive-foreground: 255 255 255;--border: 255 214 255;--input: 255 214 255;--ring: 230 6 122;--chart-1: 230 6 122;--chart-2: 242 52 160;--chart-3: 255 107 199;--chart-4: 255 168 226;--chart-5: 255 214 255;--sidebar: 255 247 252;--sidebar-foreground: 145 24 92;--sidebar-primary: 230 6 122;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 193 227;--sidebar-accent-foreground: 145 24 92;--sidebar-border: 255 214 255;--sidebar-ring: 230 6 122;--radius: .75rem}.dark.theme-quantum-rose{--background: 45 10 31;--foreground: 255 193 227;--card: 74 21 56;--card-foreground: 255 193 227;--popover: 74 21 56;--popover-foreground: 255 193 227;--primary: 76 175 80;--primary-foreground: 255 255 255;--secondary: 93 32 81;--secondary-foreground: 255 193 227;--muted: 61 18 41;--muted-foreground: 230 6 122;--accent: 16 185 129;--accent-foreground: 255 255 255;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 107 41 105;--input: 107 41 105;--ring: 76 175 80;--chart-1: 76 175 80;--chart-2: 16 185 129;--chart-3: 52 211 153;--chart-4: 110 231 183;--chart-5: 167 243 208;--sidebar: 45 10 31;--sidebar-foreground: 255 193 227;--sidebar-primary: 76 175 80;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 16 185 129;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 74 21 56;--sidebar-ring: 76 175 80;--radius: .75rem}.theme-retro-arcade{--background: 253 246 227;--foreground: 7 54 66;--card: 238 232 213;--card-foreground: 7 54 66;--popover: 238 232 213;--popover-foreground: 7 54 66;--primary: 211 54 130;--primary-foreground: 255 255 255;--secondary: 42 161 152;--secondary-foreground: 255 255 255;--muted: 147 161 161;--muted-foreground: 7 54 66;--accent: 203 75 22;--accent-foreground: 255 255 255;--destructive: 220 50 47;--destructive-foreground: 255 255 255;--border: 131 148 150;--input: 131 148 150;--ring: 211 54 130;--chart-1: 211 54 130;--chart-2: 42 161 152;--chart-3: 203 75 22;--chart-4: 133 153 0;--chart-5: 181 137 0;--sidebar: 238 232 213;--sidebar-foreground: 7 54 66;--sidebar-primary: 211 54 130;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 203 75 22;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 131 148 150;--sidebar-ring: 211 54 130;--radius: .25rem}.dark.theme-retro-arcade{--background: 0 43 54;--foreground: 253 246 227;--card: 7 54 66;--card-foreground: 253 246 227;--popover: 7 54 66;--popover-foreground: 253 246 227;--primary: 108 92 231;--primary-foreground: 255 255 255;--secondary: 0 210 211;--secondary-foreground: 0 43 54;--muted: 88 110 117;--muted-foreground: 147 161 161;--accent: 255 99 72;--accent-foreground: 0 43 54;--destructive: 255 71 87;--destructive-foreground: 255 255 255;--border: 88 110 117;--input: 88 110 117;--ring: 108 92 231;--chart-1: 108 92 231;--chart-2: 0 210 211;--chart-3: 255 99 72;--chart-4: 123 237 159;--chart-5: 255 165 2;--sidebar: 0 43 54;--sidebar-foreground: 253 246 227;--sidebar-primary: 108 92 231;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 99 72;--sidebar-accent-foreground: 0 43 54;--sidebar-border: 68 68 68;--sidebar-ring: 108 92 231;--radius: .25rem}.theme-solar-dusk{--background: 253 251 247;--foreground: 74 59 51;--card: 248 244 238;--card-foreground: 74 59 51;--popover: 248 244 238;--popover-foreground: 74 59 51;--primary: 180 83 9;--primary-foreground: 255 255 255;--secondary: 228 192 144;--secondary-foreground: 87 83 78;--muted: 241 233 218;--muted-foreground: 120 113 108;--accent: 242 218 186;--accent-foreground: 87 83 78;--destructive: 153 27 27;--destructive-foreground: 255 255 255;--border: 228 192 144;--input: 228 192 144;--ring: 180 83 9;--chart-1: 180 83 9;--chart-2: 217 119 6;--chart-3: 245 158 11;--chart-4: 252 211 77;--chart-5: 254 243 199;--sidebar: 248 244 238;--sidebar-foreground: 74 59 51;--sidebar-primary: 180 83 9;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 242 218 186;--sidebar-accent-foreground: 87 83 78;--sidebar-border: 228 192 144;--sidebar-ring: 180 83 9;--radius: .5rem}.dark.theme-solar-dusk{--background: 28 25 23;--foreground: 253 251 247;--card: 41 37 36;--card-foreground: 253 251 247;--popover: 41 37 36;--popover-foreground: 253 251 247;--primary: 255 126 95;--primary-foreground: 255 255 255;--secondary: 68 64 60;--secondary-foreground: 228 192 144;--muted: 60 56 54;--muted-foreground: 168 162 158;--accent: 254 178 168;--accent-foreground: 28 25 23;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 255 126 95;--chart-1: 255 126 95;--chart-2: 255 159 122;--chart-3: 255 193 149;--chart-4: 255 227 176;--chart-5: 255 245 202;--sidebar: 28 25 23;--sidebar-foreground: 253 251 247;--sidebar-primary: 255 126 95;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 178 168;--sidebar-accent-foreground: 28 25 23;--sidebar-border: 87 83 78;--sidebar-ring: 255 126 95;--radius: .5rem}.theme-starry-night{--background: 245 247 250;--foreground: 26 34 56;--card: 227 234 242;--card-foreground: 26 34 56;--popover: 255 251 230;--popover-foreground: 26 34 56;--primary: 58 91 160;--primary-foreground: 255 251 230;--secondary: 247 200 115;--secondary-foreground: 26 34 56;--muted: 229 229 223;--muted-foreground: 58 91 160;--accent: 110 163 193;--accent-foreground: 255 251 230;--destructive: 45 30 47;--destructive-foreground: 255 251 230;--border: 247 200 115;--input: 247 200 115;--ring: 58 91 160;--chart-1: 58 91 160;--chart-2: 247 200 115;--chart-3: 110 163 193;--chart-4: 255 230 109;--chart-5: 129 199 132;--sidebar: 227 234 242;--sidebar-foreground: 26 34 56;--sidebar-primary: 58 91 160;--sidebar-primary-foreground: 255 251 230;--sidebar-accent: 110 163 193;--sidebar-accent-foreground: 255 251 230;--sidebar-border: 247 200 115;--sidebar-ring: 58 91 160;--radius: .75rem}.dark.theme-starry-night{--background: 15 20 25;--foreground: 255 251 230;--card: 26 34 56;--card-foreground: 255 251 230;--popover: 45 30 47;--popover-foreground: 255 251 230;--primary: 255 204 2;--primary-foreground: 15 20 25;--secondary: 46 134 171;--secondary-foreground: 255 251 230;--muted: 36 52 71;--muted-foreground: 163 158 154;--accent: 241 135 1;--accent-foreground: 15 20 25;--destructive: 255 107 107;--destructive-foreground: 255 251 230;--border: 58 91 160;--input: 58 91 160;--ring: 255 204 2;--chart-1: 255 204 2;--chart-2: 46 134 171;--chart-3: 241 135 1;--chart-4: 78 205 196;--chart-5: 149 225 211;--sidebar: 15 20 25;--sidebar-foreground: 255 251 230;--sidebar-primary: 255 204 2;--sidebar-primary-foreground: 15 20 25;--sidebar-accent: 241 135 1;--sidebar-accent-foreground: 15 20 25;--sidebar-border: 26 34 56;--sidebar-ring: 255 204 2;--radius: .75rem}.theme-tangerine{--background: 232 235 237;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 224 93 56;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 214 228 240;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 209 213 219;--input: 209 213 219;--ring: 224 93 56;--chart-1: 224 93 56;--chart-2: 249 115 22;--chart-3: 251 191 36;--chart-4: 52 211 153;--chart-5: 96 165 250;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 224 93 56;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 214 228 240;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 209 213 219;--sidebar-ring: 224 93 56;--radius: .5rem}.dark.theme-tangerine{--background: 26 26 26;--foreground: 232 235 237;--card: 42 42 42;--card-foreground: 232 235 237;--popover: 42 42 42;--popover-foreground: 232 235 237;--primary: 255 112 67;--primary-foreground: 255 255 255;--secondary: 55 65 81;--secondary-foreground: 209 213 219;--muted: 75 85 99;--muted-foreground: 156 163 175;--accent: 30 64 175;--accent-foreground: 219 234 254;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 75 85 99;--input: 75 85 99;--ring: 255 112 67;--chart-1: 255 112 67;--chart-2: 251 146 60;--chart-3: 252 211 77;--chart-4: 52 211 153;--chart-5: 96 165 250;--sidebar: 26 26 26;--sidebar-foreground: 232 235 237;--sidebar-primary: 255 112 67;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 64 175;--sidebar-accent-foreground: 219 234 254;--sidebar-border: 75 85 99;--sidebar-ring: 224 93 56;--radius: .5rem}.theme-vintage-paper{--background: 245 241 230;--foreground: 74 63 53;--card: 255 252 245;--card-foreground: 74 63 53;--popover: 255 252 245;--popover-foreground: 74 63 53;--primary: 166 124 82;--primary-foreground: 255 255 255;--secondary: 226 216 195;--secondary-foreground: 92 77 63;--muted: 236 229 216;--muted-foreground: 125 107 86;--accent: 212 200 170;--accent-foreground: 74 63 53;--destructive: 181 74 53;--destructive-foreground: 255 255 255;--border: 219 208 186;--input: 219 208 186;--ring: 166 124 82;--chart-1: 166 124 82;--chart-2: 201 152 109;--chart-3: 212 165 116;--chart-4: 226 194 138;--chart-5: 240 223 159;--sidebar: 255 252 245;--sidebar-foreground: 74 63 53;--sidebar-primary: 166 124 82;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 212 200 170;--sidebar-accent-foreground: 74 63 53;--sidebar-border: 219 208 186;--sidebar-ring: 166 124 82;--radius: .375rem}.dark.theme-vintage-paper{--background: 45 39 33;--foreground: 245 241 230;--card: 61 53 42;--card-foreground: 245 241 230;--popover: 61 53 42;--popover-foreground: 245 241 230;--primary: 255 126 95;--primary-foreground: 255 255 255;--secondary: 77 66 54;--secondary-foreground: 226 216 195;--muted: 63 55 48;--muted-foreground: 166 124 82;--accent: 139 90 60;--accent-foreground: 245 241 230;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 93 82 62;--input: 93 82 62;--ring: 255 126 95;--chart-1: 255 126 95;--chart-2: 255 148 119;--chart-3: 255 170 143;--chart-4: 255 192 167;--chart-5: 255 214 191;--sidebar: 45 39 33;--sidebar-foreground: 245 241 230;--sidebar-primary: 255 126 95;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 90 60;--sidebar-accent-foreground: 245 241 230;--sidebar-border: 93 82 62;--sidebar-ring: 255 126 95;--radius: .375rem}.table-row-focused{background-color:rgb(var(--accent) / .1)!important;border-left:3px solid rgb(var(--accent))!important;outline:none!important}.table-cell-focused button,.table-cell-focused a{border:none!important;border-radius:none!important;background-color:none!important;outline:none!important}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.hover\:whitespace-normal:hover{white-space:normal}.hover\:break-all:hover{word-break:break-all}.hover\:border-border\/40:hover{border-color:rgb(var(--border) / .4)}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/90:hover{background-color:rgb(var(--destructive) / .9)}.hover\:bg-muted\/50:hover{background-color:rgb(var(--muted) / .5)}.hover\:bg-primary\/90:hover{background-color:rgb(var(--primary) / .9)}.hover\:bg-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/20:hover{background-color:rgb(var(--secondary) / .2)}.hover\:bg-secondary\/30:hover{background-color:rgb(var(--secondary) / .3)}.hover\:bg-secondary\/60:hover{background-color:rgb(var(--secondary) / .6)}.hover\:bg-secondary\/80:hover{background-color:rgb(var(--secondary) / .8)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-accent-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.hover\:text-primary\/80:hover{color:rgb(var(--primary) / .8)}.hover\:text-secondary-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ring) / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ring) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: rgb(var(--background) / 1)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:bg-accent[aria-selected=true]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.aria-selected\:text-accent-foreground[aria-selected=true]{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[highlighted\]\:bg-accent[data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[highlighted\]\:bg-secondary\/50[data-highlighted]{background-color:rgb(var(--secondary) / .5)}.data-\[state\=active\]\:bg-background[data-state=active]{--tw-bg-opacity: 1;background-color:rgb(var(--background) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity: 1;background-color:rgb(var(--primary) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity: 1;background-color:rgb(var(--muted) / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity: 1;background-color:rgb(var(--input) / var(--tw-bg-opacity, 1))}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=active\]\:text-foreground[data-state=active]{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&_\[data-command-group\]\:not\(\[hidden\]\)_\~\[data-command-group\]\]\:pt-0 [data-command-group]:not([hidden])~[data-command-group]{padding-top:0}.\[\&_\[data-command-group\]\]\:px-2 [data-command-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[data-command-input-wrapper\]_svg\]\:h-5 [data-command-input-wrapper] svg{height:1.25rem}.\[\&_\[data-command-input-wrapper\]_svg\]\:w-5 [data-command-input-wrapper] svg{width:1.25rem}.\[\&_\[data-command-input\]\]\:h-12 [data-command-input]{height:3rem}.\[\&_\[data-command-item\]\]\:px-2 [data-command-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[data-command-item\]\]\:py-3 [data-command-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[data-command-item\]_svg\]\:h-5 [data-command-item] svg{height:1.25rem}.\[\&_\[data-command-item\]_svg\]\:w-5 [data-command-item] svg{width:1.25rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}body{margin:0;padding:0} diff --git a/.svelte-kit/output/client/_app/immutable/assets/_layout.CoPY42nB.css b/.svelte-kit/output/client/_app/immutable/assets/_layout.CoPY42nB.css new file mode 100644 index 0000000..ea7bbdb --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/assets/_layout.CoPY42nB.css @@ -0,0 +1 @@ +[data-scroll-area-viewport]{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}[data-scroll-area-viewport]::-webkit-scrollbar{display:none!important}:where([data-scroll-area-viewport]){display:flex;flex-direction:column;align-items:stretch}:where([data-scroll-area-content]){flex-grow:1}[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1);animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform, 100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform, 100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{transition:opacity .5s cubic-bezier(.32,.72,0,1);opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true]):after{content:"";position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:hover,[data-vaul-handle]:active{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@keyframes fake-animation{}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{0%{transform:translate3d(0,var(--initial-transform, 100%),0)}to{transform:translateZ(0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform, 100%),0)}}@keyframes slideFromTop{0%{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}to{transform:translateZ(0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}}@keyframes slideFromLeft{0%{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}to{transform:translateZ(0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}}@keyframes slideFromRight{0%{transform:translate3d(var(--initial-transform, 100%),0,0)}to{transform:translateZ(0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform, 100%),0,0)}}@media (hover: hover) and (pointer: fine){[data-vaul-drawer]{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}}@media (pointer: fine){[data-vaul-handle-hitarea]{width:100%;height:100%}}.table-row-focused{background-color:hsl(var(--muted) / .5);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.table-cell-focused{background-color:hsl(var(--primary) / .1);box-shadow:0 0 0 2px hsl(var(--primary) / .4)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{font-family:var(--font-sans);letter-spacing:var(--tracking-normal)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.m-8{margin:2rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-2{width:.5rem;height:.5rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-9{width:2.25rem;height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[400px\]{height:400px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[300px\]{max-height:300px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.min-h-8{min-height:2rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-80{width:20rem}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[32px\]{min-width:32px}.min-w-\[8rem\]{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[200px\]{max-width:200px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(var(--border) / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-accent\/30{border-color:rgb(var(--accent) / .3)}.border-border{--tw-border-opacity: 1;border-color:rgb(var(--border) / var(--tw-border-opacity, 1))}.border-border\/20{border-color:rgb(var(--border) / .2)}.border-border\/30{border-color:rgb(var(--border) / .3)}.border-border\/40{border-color:rgb(var(--border) / .4)}.border-border\/50{border-color:rgb(var(--border) / .5)}.border-destructive{--tw-border-opacity: 1;border-color:rgb(var(--destructive) / var(--tw-border-opacity, 1))}.border-destructive\/30{border-color:rgb(var(--destructive) / .3)}.border-input{--tw-border-opacity: 1;border-color:rgb(var(--input) / var(--tw-border-opacity, 1))}.border-muted{--tw-border-opacity: 1;border-color:rgb(var(--muted) / var(--tw-border-opacity, 1))}.border-primary{--tw-border-opacity: 1;border-color:rgb(var(--primary) / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.bg-accent\/10{background-color:rgb(var(--accent) / .1)}.bg-background{--tw-bg-opacity: 1;background-color:rgb(var(--background) / var(--tw-bg-opacity, 1))}.bg-background\/40{background-color:rgb(var(--background) / .4)}.bg-background\/75{background-color:rgb(var(--background) / .75)}.bg-background\/90{background-color:rgb(var(--background) / .9)}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-border{--tw-bg-opacity: 1;background-color:rgb(var(--border) / var(--tw-bg-opacity, 1))}.bg-card{--tw-bg-opacity: 1;background-color:rgb(var(--card) / var(--tw-bg-opacity, 1))}.bg-destructive{--tw-bg-opacity: 1;background-color:rgb(var(--destructive) / var(--tw-bg-opacity, 1))}.bg-destructive\/10{background-color:rgb(var(--destructive) / .1)}.bg-destructive\/20{background-color:rgb(var(--destructive) / .2)}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-muted{--tw-bg-opacity: 1;background-color:rgb(var(--muted) / var(--tw-bg-opacity, 1))}.bg-muted\/20{background-color:rgb(var(--muted) / .2)}.bg-muted\/30{background-color:rgb(var(--muted) / .3)}.bg-muted\/50{background-color:rgb(var(--muted) / .5)}.bg-popover{--tw-bg-opacity: 1;background-color:rgb(var(--popover) / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(var(--primary) / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-px{padding:1px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent{--tw-text-opacity: 1;color:rgb(var(--accent) / var(--tw-text-opacity, 1))}.text-accent-foreground{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-background{--tw-text-opacity: 1;color:rgb(var(--background) / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-card-foreground{--tw-text-opacity: 1;color:rgb(var(--card-foreground) / var(--tw-text-opacity, 1))}.text-destructive{--tw-text-opacity: 1;color:rgb(var(--destructive) / var(--tw-text-opacity, 1))}.text-destructive-foreground{--tw-text-opacity: 1;color:rgb(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.text-muted-foreground\/50{color:rgb(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:rgb(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:rgb(var(--muted-foreground) / .7)}.text-popover-foreground{--tw-text-opacity: 1;color:rgb(var(--popover-foreground) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(var(--primary) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:rgb(var(--primary-foreground) / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary{--tw-text-opacity: 1;color:rgb(var(--secondary) / var(--tw-text-opacity, 1))}.text-secondary-foreground{--tw-text-opacity: 1;color:rgb(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: rgb(var(--background) / 1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--background: 249 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 100 149 237;--secondary-foreground: 255 255 255;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 102 217 239;--accent-foreground: 51 51 51;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 100 149 237;--chart-3: 102 217 239;--chart-4: 70 130 180;--chart-5: 26 150 65;--sidebar: 249 249 250;--sidebar-foreground: 51 51 51;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 102 217 239;--sidebar-accent-foreground: 51 51 51;--sidebar-border: 212 212 212;--sidebar-ring: 52 168 90;--font-sans: Plus Jakarta Sans, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .5rem;--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25)}.dark{--background: 26 29 35;--foreground: 229 229 229;--card: 47 52 54;--card-foreground: 229 229 229;--popover: 47 52 54;--popover-foreground: 229 229 229;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 70 130 180;--secondary-foreground: 229 229 229;--muted: 68 68 68;--muted-foreground: 163 163 163;--accent: 100 149 237;--accent-foreground: 229 229 229;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 70 130 180;--chart-3: 100 149 237;--chart-4: 102 217 239;--chart-5: 26 150 65;--sidebar: 26 29 35;--sidebar-foreground: 229 229 229;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 100 149 237;--sidebar-accent-foreground: 229 229 229;--sidebar-border: 68 68 68;--sidebar-ring: 52 168 90;--font-sans: Plus Jakarta Sans, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .5rem;--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25)}@theme inline{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); --font-sans: var(--font-sans); --font-mono: var(--font-mono); --font-serif: var(--font-serif); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --shadow-2xs: var(--shadow-2xs); --shadow-xs: var(--shadow-xs); --shadow-sm: var(--shadow-sm); --shadow: var(--shadow); --shadow-md: var(--shadow-md); --shadow-lg: var(--shadow-lg); --shadow-xl: var(--shadow-xl); --shadow-2xl: var(--shadow-2xl); }.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--chart-1: 59 130 246;--chart-2: 37 99 235;--chart-3: 29 78 216;--chart-4: 30 64 175;--chart-5: 30 58 138;--sidebar: 249 250 251;--sidebar-foreground: 51 51 51;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 242 254;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 229 231 235;--sidebar-ring: 59 130 246}.theme-twitter{--background: 255 255 255;--foreground: 15 20 25;--card: 247 248 248;--card-foreground: 15 20 25;--popover: 255 255 255;--popover-foreground: 15 20 25;--primary: 30 157 241;--primary-foreground: 255 255 255;--secondary: 15 20 25;--secondary-foreground: 255 255 255;--muted: 229 229 230;--muted-foreground: 15 20 25;--accent: 227 236 246;--accent-foreground: 30 157 241;--destructive: 244 33 46;--destructive-foreground: 255 255 255;--border: 225 234 239;--input: 247 249 250;--ring: 29 161 242;--chart-1: 30 157 241;--chart-2: 0 184 122;--chart-3: 247 185 40;--chart-4: 23 191 99;--chart-5: 224 36 94;--sidebar: 247 248 248;--sidebar-foreground: 15 20 25;--sidebar-primary: 30 157 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 227 236 246;--sidebar-accent-foreground: 30 157 241;--sidebar-border: 225 232 237;--sidebar-ring: 29 161 242}.theme-sunset{--background: 255 248 241;--foreground: 124 45 18;--card: 255 255 255;--card-foreground: 124 45 18;--popover: 255 255 255;--popover-foreground: 124 45 18;--primary: 251 146 60;--primary-foreground: 255 255 255;--secondary: 239 68 68;--secondary-foreground: 255 255 255;--muted: 254 215 170;--muted-foreground: 154 52 18;--accent: 252 211 77;--accent-foreground: 124 45 18;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 251 191 36;--input: 251 191 36;--ring: 251 146 60;--chart-1: 251 146 60;--chart-2: 239 68 68;--chart-3: 252 211 77;--chart-4: 154 52 18;--chart-5: 124 45 18;--sidebar: 255 248 241;--sidebar-foreground: 124 45 18;--sidebar-primary: 251 146 60;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 252 211 77;--sidebar-accent-foreground: 124 45 18;--sidebar-border: 251 191 36;--sidebar-ring: 251 146 60}.theme-midnight{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.theme-rose{--background: 255 241 242;--foreground: 136 19 55;--card: 255 255 255;--card-foreground: 136 19 55;--popover: 255 255 255;--popover-foreground: 136 19 55;--primary: 244 63 94;--primary-foreground: 255 255 255;--secondary: 236 72 153;--secondary-foreground: 255 255 255;--muted: 253 164 175;--muted-foreground: 159 18 57;--accent: 251 113 133;--accent-foreground: 136 19 55;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 251 207 232;--input: 251 207 232;--ring: 244 63 94;--chart-1: 244 63 94;--chart-2: 236 72 153;--chart-3: 251 113 133;--chart-4: 159 18 57;--chart-5: 136 19 55;--sidebar: 255 241 242;--sidebar-foreground: 136 19 55;--sidebar-primary: 244 63 94;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 251 113 133;--sidebar-accent-foreground: 136 19 55;--sidebar-border: 251 207 232;--sidebar-ring: 244 63 94}.theme-zinc{--background: 250 250 250;--foreground: 39 39 42;--card: 255 255 255;--card-foreground: 39 39 42;--popover: 255 255 255;--popover-foreground: 39 39 42;--primary: 113 113 122;--primary-foreground: 255 255 255;--secondary: 161 161 170;--secondary-foreground: 255 255 255;--muted: 228 228 231;--muted-foreground: 82 82 91;--accent: 212 212 216;--accent-foreground: 39 39 42;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 216;--input: 212 212 216;--ring: 113 113 122;--chart-1: 113 113 122;--chart-2: 161 161 170;--chart-3: 212 212 216;--chart-4: 82 82 91;--chart-5: 39 39 42;--sidebar: 250 250 250;--sidebar-foreground: 39 39 42;--sidebar-primary: 113 113 122;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 212 212 216;--sidebar-accent-foreground: 39 39 42;--sidebar-border: 212 212 216;--sidebar-ring: 113 113 122}.dark.theme-ocean{--background: 0 32 65;--foreground: 240 249 255;--card: 7 50 90;--card-foreground: 240 249 255;--popover: 7 50 90;--popover-foreground: 240 249 255;--primary: 56 189 248;--primary-foreground: 0 32 65;--secondary: 37 99 235;--secondary-foreground: 240 249 255;--muted: 30 58 138;--muted-foreground: 147 197 253;--accent: 14 165 233;--accent-foreground: 240 249 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 30 58 138;--input: 30 58 138;--ring: 56 189 248;--chart-1: 56 189 248;--chart-2: 37 99 235;--chart-3: 14 165 233;--chart-4: 147 197 253;--chart-5: 240 249 255;--sidebar: 0 32 65;--sidebar-foreground: 240 249 255;--sidebar-primary: 56 189 248;--sidebar-primary-foreground: 0 32 65;--sidebar-accent: 14 165 233;--sidebar-accent-foreground: 240 249 255;--sidebar-border: 30 58 138;--sidebar-ring: 56 189 248}.dark.theme-forest{--background: 6 26 15;--foreground: 240 253 244;--card: 20 83 45;--card-foreground: 240 253 244;--popover: 20 83 45;--popover-foreground: 240 253 244;--primary: 134 239 172;--primary-foreground: 6 26 15;--secondary: 74 222 128;--secondary-foreground: 6 26 15;--muted: 21 87 36;--muted-foreground: 187 247 208;--accent: 46 125 50;--accent-foreground: 240 253 244;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 21 87 36;--input: 21 87 36;--ring: 134 239 172;--chart-1: 134 239 172;--chart-2: 74 222 128;--chart-3: 46 125 50;--chart-4: 187 247 208;--chart-5: 240 253 244;--sidebar: 6 26 15;--sidebar-foreground: 240 253 244;--sidebar-primary: 134 239 172;--sidebar-primary-foreground: 6 26 15;--sidebar-accent: 46 125 50;--sidebar-accent-foreground: 240 253 244;--sidebar-border: 21 87 36;--sidebar-ring: 134 239 172}.dark.theme-sunset{--background: 67 20 7;--foreground: 255 237 213;--card: 124 45 18;--card-foreground: 255 237 213;--popover: 124 45 18;--popover-foreground: 255 237 213;--primary: 251 146 60;--primary-foreground: 67 20 7;--secondary: 252 211 77;--secondary-foreground: 67 20 7;--muted: 154 52 18;--muted-foreground: 254 215 170;--accent: 239 68 68;--accent-foreground: 255 237 213;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 154 52 18;--input: 154 52 18;--ring: 251 146 60;--chart-1: 251 146 60;--chart-2: 252 211 77;--chart-3: 239 68 68;--chart-4: 254 215 170;--chart-5: 255 237 213;--sidebar: 67 20 7;--sidebar-foreground: 255 237 213;--sidebar-primary: 251 146 60;--sidebar-primary-foreground: 67 20 7;--sidebar-accent: 239 68 68;--sidebar-accent-foreground: 255 237 213;--sidebar-border: 154 52 18;--sidebar-ring: 251 146 60}.dark.theme-midnight{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.dark.theme-rose{--background: 76 5 25;--foreground: 255 228 230;--card: 136 19 55;--card-foreground: 255 228 230;--popover: 136 19 55;--popover-foreground: 255 228 230;--primary: 251 113 133;--primary-foreground: 76 5 25;--secondary: 244 63 94;--secondary-foreground: 255 228 230;--muted: 159 18 57;--muted-foreground: 253 164 175;--accent: 236 72 153;--accent-foreground: 255 228 230;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 159 18 57;--input: 159 18 57;--ring: 251 113 133;--chart-1: 251 113 133;--chart-2: 244 63 94;--chart-3: 236 72 153;--chart-4: 253 164 175;--chart-5: 255 228 230;--sidebar: 76 5 25;--sidebar-foreground: 255 228 230;--sidebar-primary: 251 113 133;--sidebar-primary-foreground: 76 5 25;--sidebar-accent: 236 72 153;--sidebar-accent-foreground: 255 228 230;--sidebar-border: 159 18 57;--sidebar-ring: 251 113 133}.dark.theme-zinc{--background: 24 24 27;--foreground: 244 244 245;--card: 39 39 42;--card-foreground: 244 244 245;--popover: 39 39 42;--popover-foreground: 244 244 245;--primary: 161 161 170;--primary-foreground: 24 24 27;--secondary: 113 113 122;--secondary-foreground: 244 244 245;--muted: 63 63 70;--muted-foreground: 161 161 170;--accent: 82 82 91;--accent-foreground: 244 244 245;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 63 63 70;--input: 63 63 70;--ring: 161 161 170;--chart-1: 161 161 170;--chart-2: 113 113 122;--chart-3: 82 82 91;--chart-4: 212 212 216;--chart-5: 244 244 245;--sidebar: 24 24 27;--sidebar-foreground: 244 244 245;--sidebar-primary: 161 161 170;--sidebar-primary-foreground: 24 24 27;--sidebar-accent: 82 82 91;--sidebar-accent-foreground: 244 244 245;--sidebar-border: 63 63 70;--sidebar-ring: 161 161 170}.theme-t3-chat{--background: 250 245 250;--foreground: 80 24 84;--card: 250 245 250;--card-foreground: 80 24 84;--popover: 255 255 255;--popover-foreground: 80 24 84;--primary: 168 67 112;--primary-foreground: 255 255 255;--secondary: 241 196 230;--secondary-foreground: 119 52 124;--muted: 246 229 243;--muted-foreground: 131 69 136;--accent: 241 196 230;--accent-foreground: 119 52 124;--destructive: 171 67 71;--destructive-foreground: 255 255 255;--border: 239 189 235;--input: 231 193 220;--ring: 219 39 119;--chart-1: 217 38 162;--chart-2: 108 18 185;--chart-3: 39 71 84;--chart-4: 232 196 104;--chart-5: 244 164 98;--sidebar: 243 228 246;--sidebar-foreground: 172 22 104;--sidebar-primary: 69 69 84;--sidebar-primary-foreground: 250 241 247;--sidebar-accent: 248 248 247;--sidebar-accent-foreground: 69 69 84;--sidebar-border: 236 234 233;--sidebar-ring: 219 39 119}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 220 224 232;--card-foreground: 76 79 105;--popover: 255 255 255;--popover-foreground: 76 79 105;--primary: 138 173 244;--primary-foreground: 76 79 105;--secondary: 220 224 232;--secondary-foreground: 76 79 105;--muted: 230 233 239;--muted-foreground: 108 112 134;--accent: 166 227 161;--accent-foreground: 76 79 105;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 204 208 218;--input: 204 208 218;--ring: 138 173 244;--chart-1: 138 173 244;--chart-2: 166 227 161;--chart-3: 250 179 135;--chart-4: 245 169 184;--chart-5: 203 166 247;--sidebar: 239 241 245;--sidebar-foreground: 76 79 105;--sidebar-primary: 138 173 244;--sidebar-primary-foreground: 76 79 105;--sidebar-accent: 166 227 161;--sidebar-accent-foreground: 76 79 105;--sidebar-border: 204 208 218;--sidebar-ring: 138 173 244}.theme-supabase{--background: 252 252 252;--foreground: 15 23 42;--card: 255 255 255;--card-foreground: 15 23 42;--popover: 255 255 255;--popover-foreground: 15 23 42;--primary: 62 207 142;--primary-foreground: 255 255 255;--secondary: 245 245 245;--secondary-foreground: 51 65 85;--muted: 248 250 252;--muted-foreground: 100 116 139;--accent: 240 253 244;--accent-foreground: 22 101 52;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 226 232 240;--input: 226 232 240;--ring: 62 207 142;--chart-1: 62 207 142;--chart-2: 34 197 94;--chart-3: 132 204 22;--chart-4: 234 179 8;--chart-5: 251 146 60;--sidebar: 252 252 252;--sidebar-foreground: 15 23 42;--sidebar-primary: 62 207 142;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 253 244;--sidebar-accent-foreground: 22 101 52;--sidebar-border: 226 232 240;--sidebar-ring: 62 207 142}.theme-vercel{--background: 255 255 255;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 0 0 0;--primary-foreground: 255 255 255;--secondary: 250 250 250;--secondary-foreground: 0 0 0;--muted: 245 245 245;--muted-foreground: 115 115 115;--accent: 245 245 245;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 0 0 0;--chart-1: 0 0 0;--chart-2: 115 115 115;--chart-3: 163 163 163;--chart-4: 212 212 212;--chart-5: 245 245 245;--sidebar: 255 255 255;--sidebar-foreground: 0 0 0;--sidebar-primary: 0 0 0;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 245 245 245;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 229 229 229;--sidebar-ring: 0 0 0}.theme-claude{--background: 255 255 255;--foreground: 44 51 56;--card: 255 255 255;--card-foreground: 44 51 56;--popover: 255 255 255;--popover-foreground: 44 51 56;--primary: 204 109 61;--primary-foreground: 255 255 255;--secondary: 250 250 250;--secondary-foreground: 44 51 56;--muted: 245 245 245;--muted-foreground: 115 115 115;--accent: 254 243 232;--accent-foreground: 194 65 12;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 204 109 61;--chart-1: 204 109 61;--chart-2: 245 158 11;--chart-3: 251 191 36;--chart-4: 168 85 247;--chart-5: 59 130 246;--sidebar: 255 255 255;--sidebar-foreground: 44 51 56;--sidebar-primary: 204 109 61;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 243 232;--sidebar-accent-foreground: 194 65 12;--sidebar-border: 229 229 229;--sidebar-ring: 204 109 61}.theme-cyberpunk{--background: 245 245 245;--foreground: 24 24 27;--card: 255 255 255;--card-foreground: 24 24 27;--popover: 255 255 255;--popover-foreground: 24 24 27;--primary: 255 20 147;--primary-foreground: 255 255 255;--secondary: 0 255 255;--secondary-foreground: 24 24 27;--muted: 240 240 240;--muted-foreground: 113 113 122;--accent: 255 0 255;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 216;--input: 212 212 216;--ring: 255 20 147;--chart-1: 255 20 147;--chart-2: 0 255 255;--chart-3: 255 0 255;--chart-4: 0 255 0;--chart-5: 255 255 0;--sidebar: 245 245 245;--sidebar-foreground: 24 24 27;--sidebar-primary: 255 20 147;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 0 255;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 212 212 216;--sidebar-ring: 255 20 147}.theme-ocean-breeze{--background: 240 249 255;--foreground: 21 94 117;--card: 255 255 255;--card-foreground: 21 94 117;--popover: 255 255 255;--popover-foreground: 21 94 117;--primary: 6 182 212;--primary-foreground: 255 255 255;--secondary: 165 243 252;--secondary-foreground: 21 94 117;--muted: 240 249 255;--muted-foreground: 75 85 99;--accent: 186 230 253;--accent-foreground: 21 94 117;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 147 197 253;--input: 147 197 253;--ring: 6 182 212;--chart-1: 6 182 212;--chart-2: 34 211 238;--chart-3: 14 165 233;--chart-4: 56 189 248;--chart-5: 125 211 252;--sidebar: 240 249 255;--sidebar-foreground: 21 94 117;--sidebar-primary: 6 182 212;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 186 230 253;--sidebar-accent-foreground: 21 94 117;--sidebar-border: 147 197 253;--sidebar-ring: 6 182 212}.theme-sunset-horizon{--background: 255 251 235;--foreground: 120 53 15;--card: 255 255 255;--card-foreground: 120 53 15;--popover: 255 255 255;--popover-foreground: 120 53 15;--primary: 245 101 101;--primary-foreground: 255 255 255;--secondary: 251 191 36;--secondary-foreground: 120 53 15;--muted: 254 243 199;--muted-foreground: 146 64 14;--accent: 253 230 138;--accent-foreground: 120 53 15;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 251 191 36;--input: 251 191 36;--ring: 245 101 101;--chart-1: 245 101 101;--chart-2: 251 191 36;--chart-3: 251 146 60;--chart-4: 249 115 22;--chart-5: 234 88 12;--sidebar: 255 251 235;--sidebar-foreground: 120 53 15;--sidebar-primary: 245 101 101;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 253 230 138;--sidebar-accent-foreground: 120 53 15;--sidebar-border: 251 191 36;--sidebar-ring: 245 101 101}.theme-midnight-bloom{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246;--chart-1: 96 165 250;--chart-2: 59 130 246;--chart-3: 37 99 235;--chart-4: 29 78 216;--chart-5: 30 64 175;--sidebar: 23 23 23;--sidebar-foreground: 229 229 229;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 58 138;--sidebar-accent-foreground: 191 219 254;--sidebar-border: 64 64 64;--sidebar-ring: 59 130 246}.dark.theme-twitter{--background: 0 0 0;--foreground: 231 233 234;--card: 22 24 28;--card-foreground: 231 233 234;--popover: 0 0 0;--popover-foreground: 231 233 234;--primary: 29 155 240;--primary-foreground: 255 255 255;--secondary: 22 24 28;--secondary-foreground: 231 233 234;--muted: 32 35 39;--muted-foreground: 113 118 123;--accent: 29 155 240;--accent-foreground: 255 255 255;--destructive: 244 33 46;--destructive-foreground: 255 255 255;--border: 47 51 54;--input: 32 35 39;--ring: 29 161 242;--chart-1: 29 155 240;--chart-2: 0 186 124;--chart-3: 255 212 0;--chart-4: 23 191 99;--chart-5: 249 24 128;--sidebar: 0 0 0;--sidebar-foreground: 231 233 234;--sidebar-primary: 29 155 240;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 32 35 39;--sidebar-accent-foreground: 231 233 234;--sidebar-border: 47 51 54;--sidebar-ring: 29 161 242}.dark.theme-t3-chat{--background: 34 29 39;--foreground: 210 196 222;--card: 44 38 50;--card-foreground: 219 197 210;--popover: 16 10 14;--popover-foreground: 248 241 245;--primary: 163 0 76;--primary-foreground: 239 192 216;--secondary: 54 45 61;--secondary-foreground: 212 199 225;--muted: 40 34 45;--muted-foreground: 194 182 207;--accent: 70 55 83;--accent-foreground: 248 241 245;--destructive: 48 16 21;--destructive-foreground: 255 255 255;--border: 59 50 55;--input: 62 52 60;--ring: 219 39 119;--chart-1: 168 67 112;--chart-2: 147 77 203;--chart-3: 232 140 48;--chart-4: 175 87 219;--chart-5: 226 54 112;--sidebar: 24 17 23;--sidebar-foreground: 224 202 214;--sidebar-primary: 29 78 216;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 38 25 34;--sidebar-accent-foreground: 244 244 245;--sidebar-border: 0 0 0;--sidebar-ring: 219 39 119}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 49 50 68;--card-foreground: 205 214 244;--popover: 24 24 37;--popover-foreground: 205 214 244;--primary: 137 180 250;--primary-foreground: 24 24 37;--secondary: 49 50 68;--secondary-foreground: 205 214 244;--muted: 49 50 68;--muted-foreground: 166 173 200;--accent: 166 227 161;--accent-foreground: 24 24 37;--destructive: 243 139 168;--destructive-foreground: 24 24 37;--border: 88 91 112;--input: 88 91 112;--ring: 137 180 250;--chart-1: 137 180 250;--chart-2: 166 227 161;--chart-3: 250 179 135;--chart-4: 245 169 184;--chart-5: 203 166 247;--sidebar: 24 24 37;--sidebar-foreground: 205 214 244;--sidebar-primary: 137 180 250;--sidebar-primary-foreground: 24 24 37;--sidebar-accent: 49 50 68;--sidebar-accent-foreground: 205 214 244;--sidebar-border: 88 91 112;--sidebar-ring: 137 180 250}.dark.theme-supabase{--background: 16 16 16;--foreground: 248 250 252;--card: 26 26 26;--card-foreground: 248 250 252;--popover: 16 16 16;--popover-foreground: 248 250 252;--primary: 62 207 142;--primary-foreground: 255 255 255;--secondary: 26 26 26;--secondary-foreground: 248 250 252;--muted: 39 39 42;--muted-foreground: 161 161 170;--accent: 20 83 45;--accent-foreground: 187 247 208;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 39 39 42;--input: 39 39 42;--ring: 62 207 142;--chart-1: 62 207 142;--chart-2: 34 197 94;--chart-3: 132 204 22;--chart-4: 234 179 8;--chart-5: 251 146 60;--sidebar: 16 16 16;--sidebar-foreground: 248 250 252;--sidebar-primary: 62 207 142;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 20 83 45;--sidebar-accent-foreground: 187 247 208;--sidebar-border: 39 39 42;--sidebar-ring: 62 207 142}.dark.theme-vercel{--background: 0 0 0;--foreground: 255 255 255;--card: 26 26 26;--card-foreground: 255 255 255;--popover: 0 0 0;--popover-foreground: 255 255 255;--primary: 255 255 255;--primary-foreground: 0 0 0;--secondary: 26 26 26;--secondary-foreground: 255 255 255;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 38 38 38;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 255 255 255;--chart-1: 255 255 255;--chart-2: 163 163 163;--chart-3: 115 115 115;--chart-4: 82 82 82;--chart-5: 64 64 64;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 255 255;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 38 38 38;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 64 64 64;--sidebar-ring: 255 255 255}.dark.theme-claude{--background: 16 16 16;--foreground: 250 250 250;--card: 32 32 32;--card-foreground: 250 250 250;--popover: 16 16 16;--popover-foreground: 250 250 250;--primary: 204 109 61;--primary-foreground: 255 255 255;--secondary: 32 32 32;--secondary-foreground: 250 250 250;--muted: 39 39 42;--muted-foreground: 161 161 170;--accent: 124 45 18;--accent-foreground: 254 243 232;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 204 109 61;--chart-1: 204 109 61;--chart-2: 245 158 11;--chart-3: 251 191 36;--chart-4: 168 85 247;--chart-5: 59 130 246;--sidebar: 16 16 16;--sidebar-foreground: 250 250 250;--sidebar-primary: 204 109 61;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 124 45 18;--sidebar-accent-foreground: 254 243 232;--sidebar-border: 64 64 64;--sidebar-ring: 204 109 61}.dark.theme-cyberpunk{--background: 10 0 20;--foreground: 255 20 147;--card: 20 0 40;--card-foreground: 255 20 147;--popover: 10 0 20;--popover-foreground: 255 20 147;--primary: 255 20 147;--primary-foreground: 10 0 20;--secondary: 0 255 255;--secondary-foreground: 10 0 20;--muted: 30 10 50;--muted-foreground: 200 50 200;--accent: 255 0 255;--accent-foreground: 10 0 20;--destructive: 255 0 0;--destructive-foreground: 255 255 255;--border: 100 0 150;--input: 100 0 150;--ring: 255 20 147;--chart-1: 255 20 147;--chart-2: 0 255 255;--chart-3: 255 0 255;--chart-4: 0 255 0;--chart-5: 255 255 0;--sidebar: 10 0 20;--sidebar-foreground: 255 20 147;--sidebar-primary: 255 20 147;--sidebar-primary-foreground: 10 0 20;--sidebar-accent: 255 0 255;--sidebar-accent-foreground: 10 0 20;--sidebar-border: 100 0 150;--sidebar-ring: 255 20 147}.dark.theme-ocean-breeze{--background: 8 47 73;--foreground: 165 243 252;--card: 21 94 117;--card-foreground: 165 243 252;--popover: 8 47 73;--popover-foreground: 165 243 252;--primary: 34 211 238;--primary-foreground: 8 47 73;--secondary: 21 94 117;--secondary-foreground: 165 243 252;--muted: 30 58 138;--muted-foreground: 125 211 252;--accent: 14 165 233;--accent-foreground: 165 243 252;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 56 189 248;--input: 56 189 248;--ring: 34 211 238;--chart-1: 34 211 238;--chart-2: 6 182 212;--chart-3: 14 165 233;--chart-4: 56 189 248;--chart-5: 125 211 252;--sidebar: 8 47 73;--sidebar-foreground: 165 243 252;--sidebar-primary: 34 211 238;--sidebar-primary-foreground: 8 47 73;--sidebar-accent: 14 165 233;--sidebar-accent-foreground: 165 243 252;--sidebar-border: 56 189 248;--sidebar-ring: 34 211 238}.dark.theme-sunset-horizon{--background: 55 25 25;--foreground: 253 230 138;--card: 120 53 15;--card-foreground: 253 230 138;--popover: 55 25 25;--popover-foreground: 253 230 138;--primary: 248 113 113;--primary-foreground: 55 25 25;--secondary: 217 119 6;--secondary-foreground: 253 230 138;--muted: 146 64 14;--muted-foreground: 254 215 170;--accent: 249 115 22;--accent-foreground: 253 230 138;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 217 119 6;--input: 217 119 6;--ring: 248 113 113;--chart-1: 248 113 113;--chart-2: 217 119 6;--chart-3: 251 146 60;--chart-4: 249 115 22;--chart-5: 234 88 12;--sidebar: 55 25 25;--sidebar-foreground: 253 230 138;--sidebar-primary: 248 113 113;--sidebar-primary-foreground: 55 25 25;--sidebar-accent: 249 115 22;--sidebar-accent-foreground: 253 230 138;--sidebar-border: 217 119 6;--sidebar-ring: 248 113 113}.dark.theme-midnight-bloom{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.theme-doom-64{--background: 204 204 204;--foreground: 31 31 31;--card: 176 176 176;--card-foreground: 31 31 31;--popover: 176 176 176;--popover-foreground: 31 31 31;--primary: 183 28 28;--primary-foreground: 255 255 255;--secondary: 85 107 47;--secondary-foreground: 255 255 255;--muted: 184 184 184;--muted-foreground: 74 74 74;--accent: 70 130 180;--accent-foreground: 255 255 255;--destructive: 255 111 0;--destructive-foreground: 0 0 0;--border: 80 80 80;--input: 80 80 80;--ring: 183 28 28;--font-sans: "Oxanium", sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: "Source Code Pro", monospace;--radius: 0px}.dark.theme-doom-64{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 229 57 53;--primary-foreground: 255 255 255;--secondary: 104 159 56;--secondary-foreground: 0 0 0;--muted: 37 37 37;--muted-foreground: 160 160 160;--accent: 100 181 246;--accent-foreground: 0 0 0;--destructive: 255 160 0;--destructive-foreground: 0 0 0;--border: 74 74 74;--input: 74 74 74;--ring: 229 57 53;--font-sans: "Oxanium", sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: "Source Code Pro", monospace;--radius: 0px}.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--font-sans: Inter, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .375rem}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 255 255 255;--card-foreground: 76 79 105;--popover: 255 255 255;--popover-foreground: 76 79 105;--primary: 136 57 239;--primary-foreground: 255 255 255;--secondary: 204 208 218;--secondary-foreground: 76 79 105;--muted: 220 224 232;--muted-foreground: 108 111 133;--accent: 4 165 229;--accent-foreground: 255 255 255;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 188 192 204;--input: 204 208 218;--ring: 136 57 239}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 30 30 46;--card-foreground: 205 214 244;--popover: 30 30 46;--popover-foreground: 205 214 244;--primary: 203 166 247;--primary-foreground: 30 30 46;--secondary: 88 91 112;--secondary-foreground: 205 214 244;--muted: 41 44 60;--muted-foreground: 166 173 200;--accent: 137 220 235;--accent-foreground: 30 30 46;--destructive: 243 139 168;--destructive-foreground: 30 30 46;--border: 49 50 68;--input: 49 50 68;--ring: 203 166 247}.theme-graphite{--background: 240 240 240;--foreground: 96 96 96;--card: 255 255 255;--card-foreground: 96 96 96;--popover: 255 255 255;--popover-foreground: 96 96 96;--primary: 96 96 96;--primary-foreground: 255 255 255;--secondary: 224 224 224;--secondary-foreground: 96 96 96;--muted: 248 248 248;--muted-foreground: 128 128 128;--accent: 192 192 192;--accent-foreground: 64 64 64;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 224 224 224;--input: 224 224 224;--ring: 96 96 96}.dark.theme-graphite{--background: 26 26 26;--foreground: 160 160 160;--card: 38 38 38;--card-foreground: 160 160 160;--popover: 38 38 38;--popover-foreground: 160 160 160;--primary: 160 160 160;--primary-foreground: 26 26 26;--secondary: 48 48 48;--secondary-foreground: 160 160 160;--muted: 32 32 32;--muted-foreground: 128 128 128;--accent: 64 64 64;--accent-foreground: 192 192 192;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 48 48 48;--input: 48 48 48;--ring: 160 160 160}.theme-perpetuity{--background: 232 240 240;--foreground: 6 133 142;--card: 255 255 255;--card-foreground: 6 133 142;--popover: 255 255 255;--popover-foreground: 6 133 142;--primary: 6 133 142;--primary-foreground: 255 255 255;--secondary: 217 234 234;--secondary-foreground: 6 133 142;--muted: 237 246 246;--muted-foreground: 8 145 154;--accent: 204 251 241;--accent-foreground: 6 133 142;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 179 229 229;--input: 179 229 229;--ring: 6 133 142}.dark.theme-perpetuity{--background: 10 26 32;--foreground: 77 232 232;--card: 15 35 45;--card-foreground: 77 232 232;--popover: 15 35 45;--popover-foreground: 77 232 232;--primary: 77 232 232;--primary-foreground: 10 26 32;--secondary: 22 73 85;--secondary-foreground: 77 232 232;--muted: 18 46 56;--muted-foreground: 155 218 218;--accent: 28 96 112;--accent-foreground: 77 232 232;--destructive: 248 113 113;--destructive-foreground: 10 26 32;--border: 22 73 85;--input: 22 73 85;--ring: 77 232 232}.theme-amber-minimal{--background: 255 255 255;--foreground: 146 64 14;--card: 255 255 255;--card-foreground: 146 64 14;--popover: 255 255 255;--popover-foreground: 146 64 14;--primary: 245 158 11;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 146 64 14;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 254 243 199;--accent-foreground: 146 64 14;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 245 158 11}.dark.theme-amber-minimal{--background: 23 23 23;--foreground: 251 191 36;--card: 38 38 38;--card-foreground: 251 191 36;--popover: 38 38 38;--popover-foreground: 251 191 36;--primary: 245 158 11;--primary-foreground: 23 23 23;--secondary: 38 38 38;--secondary-foreground: 251 191 36;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 146 64 14;--accent-foreground: 254 243 199;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 245 158 11}.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--chart-1: 59 130 246;--chart-2: 37 99 235;--chart-3: 29 78 216;--chart-4: 30 64 175;--chart-5: 30 58 138;--sidebar: 249 250 251;--sidebar-foreground: 51 51 51;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 242 254;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 229 231 235;--sidebar-ring: 59 130 246;--font-sans: "Inter", sans-serif;--font-serif: "Source Serif 4", serif;--font-mono: "JetBrains Mono", monospace;--radius: .375rem}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246;--chart-1: 96 165 250;--chart-2: 59 130 246;--chart-3: 37 99 235;--chart-4: 29 78 216;--chart-5: 30 64 175;--sidebar: 23 23 23;--sidebar-foreground: 229 229 229;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 58 138;--sidebar-accent-foreground: 191 219 254;--sidebar-border: 64 64 64;--sidebar-ring: 59 130 246;--font-sans: "Inter", sans-serif;--font-serif: "Source Serif 4", serif;--font-mono: "JetBrains Mono", monospace;--radius: .375rem}.theme-t3-chat{--background: 250 245 250;--foreground: 80 24 84;--card: 250 245 250;--card-foreground: 80 24 84;--popover: 255 255 255;--popover-foreground: 80 24 84;--primary: 168 67 112;--primary-foreground: 255 255 255;--secondary: 241 196 230;--secondary-foreground: 119 52 124;--muted: 246 229 243;--muted-foreground: 131 69 136;--accent: 241 196 230;--accent-foreground: 119 52 124;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 234 179 220;--input: 234 179 220;--ring: 168 67 112;--chart-1: 168 67 112;--chart-2: 163 0 76;--chart-3: 133 30 94;--chart-4: 103 60 126;--chart-5: 73 90 158;--sidebar: 250 245 250;--sidebar-foreground: 80 24 84;--sidebar-primary: 168 67 112;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 241 196 230;--sidebar-accent-foreground: 119 52 124;--sidebar-border: 234 179 220;--sidebar-ring: 168 67 112}.dark.theme-t3-chat{--background: 34 29 39;--foreground: 243 232 255;--card: 54 45 61;--card-foreground: 243 232 255;--popover: 54 45 61;--popover-foreground: 243 232 255;--primary: 163 0 76;--primary-foreground: 255 255 255;--secondary: 54 45 61;--secondary-foreground: 243 232 255;--muted: 45 39 51;--muted-foreground: 168 159 182;--accent: 103 60 126;--accent-foreground: 241 196 230;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 73 67 87;--input: 73 67 87;--ring: 163 0 76;--chart-1: 163 0 76;--chart-2: 168 67 112;--chart-3: 133 30 94;--chart-4: 103 60 126;--chart-5: 73 90 158;--sidebar: 34 29 39;--sidebar-foreground: 243 232 255;--sidebar-primary: 163 0 76;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 103 60 126;--sidebar-accent-foreground: 241 196 230;--sidebar-border: 73 67 87;--sidebar-ring: 163 0 76}.theme-mocha-mousse{--background: 241 240 229;--foreground: 80 60 50;--card: 250 248 240;--card-foreground: 80 60 50;--popover: 250 248 240;--popover-foreground: 80 60 50;--primary: 163 119 100;--primary-foreground: 255 255 255;--secondary: 186 171 146;--secondary-foreground: 80 60 50;--muted: 235 230 218;--muted-foreground: 120 100 90;--accent: 210 195 170;--accent-foreground: 80 60 50;--destructive: 204 78 56;--destructive-foreground: 255 255 255;--border: 220 210 190;--input: 220 210 190;--ring: 163 119 100;--chart-1: 163 119 100;--chart-2: 186 171 146;--chart-3: 140 105 85;--chart-4: 115 90 70;--chart-5: 90 75 60;--sidebar: 241 240 229;--sidebar-foreground: 80 60 50;--sidebar-primary: 163 119 100;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 210 195 170;--sidebar-accent-foreground: 80 60 50;--sidebar-border: 220 210 190;--sidebar-ring: 163 119 100}.dark.theme-mocha-mousse{--background: 45 37 33;--foreground: 240 220 200;--card: 65 55 48;--card-foreground: 240 220 200;--popover: 65 55 48;--popover-foreground: 240 220 200;--primary: 195 158 136;--primary-foreground: 45 37 33;--secondary: 138 101 90;--secondary-foreground: 240 220 200;--muted: 55 47 42;--muted-foreground: 180 160 145;--accent: 160 130 110;--accent-foreground: 240 220 200;--destructive: 220 100 80;--destructive-foreground: 255 255 255;--border: 85 75 68;--input: 85 75 68;--ring: 195 158 136;--chart-1: 195 158 136;--chart-2: 138 101 90;--chart-3: 180 140 120;--chart-4: 160 120 100;--chart-5: 140 100 80;--sidebar: 45 37 33;--sidebar-foreground: 240 220 200;--sidebar-primary: 195 158 136;--sidebar-primary-foreground: 45 37 33;--sidebar-accent: 160 130 110;--sidebar-accent-foreground: 240 220 200;--sidebar-border: 85 75 68;--sidebar-ring: 195 158 136}.theme-bubblegum{--background: 246 230 238;--foreground: 80 30 60;--card: 252 240 246;--card-foreground: 80 30 60;--popover: 252 240 246;--popover-foreground: 80 30 60;--primary: 208 79 153;--primary-foreground: 255 255 255;--secondary: 138 207 209;--secondary-foreground: 80 30 60;--muted: 248 235 242;--muted-foreground: 120 80 100;--accent: 180 220 222;--accent-foreground: 80 30 60;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 228 190 210;--input: 228 190 210;--ring: 208 79 153;--chart-1: 208 79 153;--chart-2: 138 207 209;--chart-3: 255 182 193;--chart-4: 221 160 221;--chart-5: 255 20 147;--sidebar: 246 230 238;--sidebar-foreground: 80 30 60;--sidebar-primary: 208 79 153;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 180 220 222;--sidebar-accent-foreground: 80 30 60;--sidebar-border: 228 190 210;--sidebar-ring: 208 79 153}.dark.theme-bubblegum{--background: 18 36 46;--foreground: 240 220 230;--card: 35 50 58;--card-foreground: 240 220 230;--popover: 35 50 58;--popover-foreground: 240 220 230;--primary: 251 226 167;--primary-foreground: 18 36 46;--secondary: 228 162 177;--secondary-foreground: 18 36 46;--muted: 28 42 50;--muted-foreground: 180 160 170;--accent: 200 180 190;--accent-foreground: 18 36 46;--destructive: 255 107 114;--destructive-foreground: 18 36 46;--border: 60 75 85;--input: 60 75 85;--ring: 251 226 167;--chart-1: 251 226 167;--chart-2: 228 162 177;--chart-3: 255 182 193;--chart-4: 221 160 221;--chart-5: 255 20 147;--sidebar: 18 36 46;--sidebar-foreground: 240 220 230;--sidebar-primary: 251 226 167;--sidebar-primary-foreground: 18 36 46;--sidebar-accent: 200 180 190;--sidebar-accent-foreground: 18 36 46;--sidebar-border: 60 75 85;--sidebar-ring: 251 226 167}.theme-amethyst-haze{--background: 248 247 250;--foreground: 60 50 80;--card: 252 251 254;--card-foreground: 60 50 80;--popover: 252 251 254;--popover-foreground: 60 50 80;--primary: 138 121 171;--primary-foreground: 255 255 255;--secondary: 223 217 236;--secondary-foreground: 60 50 80;--muted: 240 238 245;--muted-foreground: 100 90 120;--accent: 210 200 230;--accent-foreground: 60 50 80;--destructive: 192 57 43;--destructive-foreground: 255 255 255;--border: 215 210 230;--input: 215 210 230;--ring: 138 121 171;--chart-1: 138 121 171;--chart-2: 169 149 201;--chart-3: 147 51 234;--chart-4: 168 85 247;--chart-5: 124 58 237;--sidebar: 248 247 250;--sidebar-foreground: 60 50 80;--sidebar-primary: 138 121 171;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 210 200 230;--sidebar-accent-foreground: 60 50 80;--sidebar-border: 215 210 230;--sidebar-ring: 138 121 171}.dark.theme-amethyst-haze{--background: 26 24 35;--foreground: 220 210 240;--card: 45 42 55;--card-foreground: 220 210 240;--popover: 45 42 55;--popover-foreground: 220 210 240;--primary: 169 149 201;--primary-foreground: 26 24 35;--secondary: 90 83 112;--secondary-foreground: 220 210 240;--muted: 35 32 45;--muted-foreground: 160 150 180;--accent: 120 110 140;--accent-foreground: 220 210 240;--destructive: 220 80 70;--destructive-foreground: 255 255 255;--border: 70 65 85;--input: 70 65 85;--ring: 169 149 201;--chart-1: 169 149 201;--chart-2: 90 83 112;--chart-3: 147 51 234;--chart-4: 168 85 247;--chart-5: 124 58 237;--sidebar: 26 24 35;--sidebar-foreground: 220 210 240;--sidebar-primary: 169 149 201;--sidebar-primary-foreground: 26 24 35;--sidebar-accent: 120 110 140;--sidebar-accent-foreground: 220 210 240;--sidebar-border: 70 65 85;--sidebar-ring: 169 149 201}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 230 233 239;--card-foreground: 76 79 105;--popover: 230 233 239;--popover-foreground: 76 79 105;--primary: 136 57 239;--primary-foreground: 255 255 255;--secondary: 204 208 218;--secondary-foreground: 76 79 105;--muted: 220 224 232;--muted-foreground: 108 112 134;--accent: 188 192 204;--accent-foreground: 76 79 105;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 172 176 190;--input: 172 176 190;--ring: 136 57 239;--chart-1: 136 57 239;--chart-2: 30 102 245;--chart-3: 64 160 43;--chart-4: 223 142 29;--chart-5: 210 15 57;--sidebar: 239 241 245;--sidebar-foreground: 76 79 105;--sidebar-primary: 136 57 239;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 188 192 204;--sidebar-accent-foreground: 76 79 105;--sidebar-border: 172 176 190;--sidebar-ring: 136 57 239}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 49 50 68;--card-foreground: 205 214 244;--popover: 49 50 68;--popover-foreground: 205 214 244;--primary: 203 166 247;--primary-foreground: 24 24 37;--secondary: 88 91 112;--secondary-foreground: 205 214 244;--muted: 69 71 90;--muted-foreground: 166 173 200;--accent: 127 132 156;--accent-foreground: 205 214 244;--destructive: 243 139 168;--destructive-foreground: 24 24 37;--border: 108 112 134;--input: 108 112 134;--ring: 203 166 247;--chart-1: 203 166 247;--chart-2: 137 180 250;--chart-3: 166 227 161;--chart-4: 249 226 175;--chart-5: 243 139 168;--sidebar: 24 24 37;--sidebar-foreground: 205 214 244;--sidebar-primary: 203 166 247;--sidebar-primary-foreground: 24 24 37;--sidebar-accent: 127 132 156;--sidebar-accent-foreground: 205 214 244;--sidebar-border: 108 112 134;--sidebar-ring: 203 166 247}.theme-supabase{--background: 252 252 252;--foreground: 37 99 235;--card: 253 253 253;--card-foreground: 37 99 235;--popover: 253 253 253;--popover-foreground: 37 99 235;--primary: 114 227 173;--primary-foreground: 0 0 0;--secondary: 240 253 244;--secondary-foreground: 22 163 74;--muted: 247 254 249;--muted-foreground: 75 85 99;--accent: 134 239 172;--accent-foreground: 21 128 61;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 114 227 173;--chart-1: 114 227 173;--chart-2: 52 211 153;--chart-3: 34 197 94;--chart-4: 22 163 74;--chart-5: 21 128 61;--sidebar: 252 252 252;--sidebar-foreground: 37 99 235;--sidebar-primary: 114 227 173;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 134 239 172;--sidebar-accent-foreground: 21 128 61;--sidebar-border: 229 231 235;--sidebar-ring: 114 227 173}.dark.theme-supabase{--background: 18 18 18;--foreground: 229 229 229;--card: 36 36 36;--card-foreground: 229 229 229;--popover: 36 36 36;--popover-foreground: 229 229 229;--primary: 0 98 57;--primary-foreground: 255 255 255;--secondary: 22 163 74;--secondary-foreground: 255 255 255;--muted: 54 54 54;--muted-foreground: 163 163 163;--accent: 34 197 94;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 82 82 82;--input: 82 82 82;--ring: 0 98 57;--chart-1: 0 98 57;--chart-2: 22 163 74;--chart-3: 34 197 94;--chart-4: 52 211 153;--chart-5: 114 227 173;--sidebar: 18 18 18;--sidebar-foreground: 229 229 229;--sidebar-primary: 0 98 57;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 34 197 94;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 82 82 82;--sidebar-ring: 0 98 57}.theme-vercel{--background: 252 252 252;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 0 0 0;--primary-foreground: 255 255 255;--secondary: 240 240 240;--secondary-foreground: 0 0 0;--muted: 250 250 250;--muted-foreground: 115 115 115;--accent: 240 240 240;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 0 0 0;--chart-1: 0 0 0;--chart-2: 64 64 64;--chart-3: 115 115 115;--chart-4: 163 163 163;--chart-5: 212 212 212;--sidebar: 252 252 252;--sidebar-foreground: 0 0 0;--sidebar-primary: 0 0 0;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 240 240;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 229 229 229;--sidebar-ring: 0 0 0}.dark.theme-vercel{--background: 0 0 0;--foreground: 255 255 255;--card: 20 20 20;--card-foreground: 255 255 255;--popover: 20 20 20;--popover-foreground: 255 255 255;--primary: 255 255 255;--primary-foreground: 0 0 0;--secondary: 64 64 64;--secondary-foreground: 255 255 255;--muted: 40 40 40;--muted-foreground: 163 163 163;--accent: 64 64 64;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 255 255 255;--chart-1: 255 255 255;--chart-2: 212 212 212;--chart-3: 163 163 163;--chart-4: 115 115 115;--chart-5: 64 64 64;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 255 255;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 64 64 64;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 64 64 64;--sidebar-ring: 255 255 255}.theme-claude{--background: 250 249 245;--foreground: 60 50 45;--card: 255 254 250;--card-foreground: 60 50 45;--popover: 255 254 250;--popover-foreground: 60 50 45;--primary: 201 100 66;--primary-foreground: 255 255 255;--secondary: 233 230 220;--secondary-foreground: 60 50 45;--muted: 245 240 235;--muted-foreground: 120 110 100;--accent: 240 215 200;--accent-foreground: 60 50 45;--destructive: 220 80 60;--destructive-foreground: 255 255 255;--border: 220 210 195;--input: 220 210 195;--ring: 201 100 66;--chart-1: 201 100 66;--chart-2: 217 119 87;--chart-3: 180 90 50;--chart-4: 160 80 40;--chart-5: 140 70 30;--sidebar: 250 249 245;--sidebar-foreground: 60 50 45;--sidebar-primary: 201 100 66;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 215 200;--sidebar-accent-foreground: 60 50 45;--sidebar-border: 220 210 195;--sidebar-ring: 201 100 66}.dark.theme-claude{--background: 38 38 36;--foreground: 250 249 245;--card: 55 55 52;--card-foreground: 250 249 245;--popover: 55 55 52;--popover-foreground: 250 249 245;--primary: 217 119 87;--primary-foreground: 38 38 36;--secondary: 95 90 85;--secondary-foreground: 250 249 245;--muted: 48 48 46;--muted-foreground: 180 170 160;--accent: 140 120 110;--accent-foreground: 250 249 245;--destructive: 240 100 80;--destructive-foreground: 255 255 255;--border: 85 82 78;--input: 85 82 78;--ring: 217 119 87;--chart-1: 217 119 87;--chart-2: 201 100 66;--chart-3: 180 90 50;--chart-4: 160 80 40;--chart-5: 140 70 30;--sidebar: 38 38 36;--sidebar-foreground: 250 249 245;--sidebar-primary: 217 119 87;--sidebar-primary-foreground: 38 38 36;--sidebar-accent: 140 120 110;--sidebar-accent-foreground: 250 249 245;--sidebar-border: 85 82 78;--sidebar-ring: 217 119 87}.theme-notebook{--background: 249 249 249;--foreground: 96 96 96;--card: 255 255 255;--card-foreground: 96 96 96;--popover: 255 255 255;--popover-foreground: 96 96 96;--primary: 96 96 96;--primary-foreground: 255 255 255;--secondary: 222 222 222;--secondary-foreground: 96 96 96;--muted: 240 240 240;--muted-foreground: 128 128 128;--accent: 235 235 235;--accent-foreground: 96 96 96;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 222 222 222;--input: 222 222 222;--ring: 96 96 96;--chart-1: 96 96 96;--chart-2: 128 128 128;--chart-3: 160 160 160;--chart-4: 192 192 192;--chart-5: 224 224 224;--sidebar: 249 249 249;--sidebar-foreground: 96 96 96;--sidebar-primary: 96 96 96;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 235 235 235;--sidebar-accent-foreground: 96 96 96;--sidebar-border: 222 222 222;--sidebar-ring: 96 96 96}.dark.theme-notebook{--background: 43 43 43;--foreground: 176 176 176;--card: 60 60 60;--card-foreground: 176 176 176;--popover: 60 60 60;--popover-foreground: 176 176 176;--primary: 176 176 176;--primary-foreground: 43 43 43;--secondary: 90 90 90;--secondary-foreground: 176 176 176;--muted: 50 50 50;--muted-foreground: 140 140 140;--accent: 120 120 120;--accent-foreground: 176 176 176;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 90 90 90;--input: 90 90 90;--ring: 176 176 176;--chart-1: 176 176 176;--chart-2: 140 140 140;--chart-3: 120 120 120;--chart-4: 100 100 100;--chart-5: 80 80 80;--sidebar: 43 43 43;--sidebar-foreground: 176 176 176;--sidebar-primary: 176 176 176;--sidebar-primary-foreground: 43 43 43;--sidebar-accent: 120 120 120;--sidebar-accent-foreground: 176 176 176;--sidebar-border: 90 90 90;--sidebar-ring: 176 176 176}.theme-mono{--background: 255 255 255;--foreground: 115 115 115;--card: 255 255 255;--card-foreground: 115 115 115;--popover: 255 255 255;--popover-foreground: 115 115 115;--primary: 115 115 115;--primary-foreground: 255 255 255;--secondary: 245 245 245;--secondary-foreground: 115 115 115;--muted: 250 250 250;--muted-foreground: 160 160 160;--accent: 240 240 240;--accent-foreground: 115 115 115;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 115 115 115;--chart-1: 115 115 115;--chart-2: 140 140 140;--chart-3: 165 165 165;--chart-4: 190 190 190;--chart-5: 215 215 215;--sidebar: 255 255 255;--sidebar-foreground: 115 115 115;--sidebar-primary: 115 115 115;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 240 240;--sidebar-accent-foreground: 115 115 115;--sidebar-border: 229 229 229;--sidebar-ring: 115 115 115}.dark.theme-mono{--background: 10 10 10;--foreground: 115 115 115;--card: 25 25 25;--card-foreground: 115 115 115;--popover: 25 25 25;--popover-foreground: 115 115 115;--primary: 115 115 115;--primary-foreground: 10 10 10;--secondary: 38 38 38;--secondary-foreground: 115 115 115;--muted: 20 20 20;--muted-foreground: 80 80 80;--accent: 50 50 50;--accent-foreground: 115 115 115;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 38 38 38;--input: 38 38 38;--ring: 115 115 115;--chart-1: 115 115 115;--chart-2: 90 90 90;--chart-3: 70 70 70;--chart-4: 50 50 50;--chart-5: 30 30 30;--sidebar: 10 10 10;--sidebar-foreground: 115 115 115;--sidebar-primary: 115 115 115;--sidebar-primary-foreground: 10 10 10;--sidebar-accent: 50 50 50;--sidebar-accent-foreground: 115 115 115;--sidebar-border: 38 38 38;--sidebar-ring: 115 115 115}.theme-nature{--background: 248 245 240;--foreground: 34 68 42;--card: 255 255 255;--card-foreground: 34 68 42;--popover: 255 255 255;--popover-foreground: 34 68 42;--primary: 46 125 50;--primary-foreground: 255 255 255;--secondary: 232 245 233;--secondary-foreground: 46 125 50;--muted: 240 253 241;--muted-foreground: 74 85 81;--accent: 220 238 221;--accent-foreground: 34 68 42;--destructive: 211 47 47;--destructive-foreground: 255 255 255;--border: 187 247 208;--input: 187 247 208;--ring: 46 125 50;--chart-1: 46 125 50;--chart-2: 34 197 94;--chart-3: 22 163 74;--chart-4: 21 128 61;--chart-5: 20 83 45;--sidebar: 248 245 240;--sidebar-foreground: 34 68 42;--sidebar-primary: 46 125 50;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 220 238 221;--sidebar-accent-foreground: 34 68 42;--sidebar-border: 187 247 208;--sidebar-ring: 46 125 50}.dark.theme-nature{--background: 28 42 31;--foreground: 220 252 231;--card: 45 65 50;--card-foreground: 220 252 231;--popover: 45 65 50;--popover-foreground: 220 252 231;--primary: 76 175 80;--primary-foreground: 28 42 31;--secondary: 62 74 61;--secondary-foreground: 220 252 231;--muted: 38 55 42;--muted-foreground: 156 163 175;--accent: 74 85 81;--accent-foreground: 220 252 231;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 62 74 61;--input: 62 74 61;--ring: 76 175 80;--chart-1: 76 175 80;--chart-2: 34 197 94;--chart-3: 22 163 74;--chart-4: 21 128 61;--chart-5: 20 83 45;--sidebar: 28 42 31;--sidebar-foreground: 220 252 231;--sidebar-primary: 76 175 80;--sidebar-primary-foreground: 28 42 31;--sidebar-accent: 74 85 81;--sidebar-accent-foreground: 220 252 231;--sidebar-border: 62 74 61;--sidebar-ring: 76 175 80}.theme-cyberpunk{--background: 248 249 250;--foreground: 30 20 60;--card: 255 255 255;--card-foreground: 30 20 60;--popover: 255 255 255;--popover-foreground: 30 20 60;--primary: 255 0 200;--primary-foreground: 255 255 255;--secondary: 240 240 255;--secondary-foreground: 30 20 60;--muted: 250 245 255;--muted-foreground: 100 80 140;--accent: 200 180 255;--accent-foreground: 30 20 60;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 200 180 255;--input: 200 180 255;--ring: 255 0 200;--chart-1: 255 0 200;--chart-2: 0 255 255;--chart-3: 255 255 0;--chart-4: 255 0 128;--chart-5: 128 0 255;--sidebar: 248 249 250;--sidebar-foreground: 30 20 60;--sidebar-primary: 255 0 200;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 200 180 255;--sidebar-accent-foreground: 30 20 60;--sidebar-border: 200 180 255;--sidebar-ring: 255 0 200}.dark.theme-cyberpunk{--background: 12 12 29;--foreground: 0 255 255;--card: 25 25 50;--card-foreground: 0 255 255;--popover: 25 25 50;--popover-foreground: 0 255 255;--primary: 255 0 200;--primary-foreground: 12 12 29;--secondary: 30 30 63;--secondary-foreground: 0 255 255;--muted: 20 20 40;--muted-foreground: 150 120 200;--accent: 100 80 160;--accent-foreground: 0 255 255;--destructive: 255 50 100;--destructive-foreground: 12 12 29;--border: 60 50 120;--input: 60 50 120;--ring: 255 0 200;--chart-1: 255 0 200;--chart-2: 0 255 255;--chart-3: 255 255 0;--chart-4: 255 0 128;--chart-5: 128 0 255;--sidebar: 12 12 29;--sidebar-foreground: 0 255 255;--sidebar-primary: 255 0 200;--sidebar-primary-foreground: 12 12 29;--sidebar-accent: 100 80 160;--sidebar-accent-foreground: 0 255 255;--sidebar-border: 60 50 120;--sidebar-ring: 255 0 200}.theme-neo-brutalism{--background: 255 255 255;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 255 51 51;--primary-foreground: 255 255 255;--secondary: 255 255 0;--secondary-foreground: 0 0 0;--muted: 240 240 240;--muted-foreground: 64 64 64;--accent: 0 255 128;--accent-foreground: 0 0 0;--destructive: 255 0 100;--destructive-foreground: 255 255 255;--border: 0 0 0;--input: 0 0 0;--ring: 255 51 51;--chart-1: 255 51 51;--chart-2: 255 255 0;--chart-3: 0 255 128;--chart-4: 255 0 100;--chart-5: 0 200 255;--sidebar: 255 255 255;--sidebar-foreground: 0 0 0;--sidebar-primary: 255 51 51;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 0 255 128;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 0 0 0;--sidebar-ring: 255 51 51;--radius: 0px}.dark.theme-neo-brutalism{--background: 0 0 0;--foreground: 255 255 255;--card: 0 0 0;--card-foreground: 255 255 255;--popover: 0 0 0;--popover-foreground: 255 255 255;--primary: 255 102 102;--primary-foreground: 0 0 0;--secondary: 255 255 51;--secondary-foreground: 0 0 0;--muted: 25 25 25;--muted-foreground: 200 200 200;--accent: 51 255 153;--accent-foreground: 0 0 0;--destructive: 255 51 128;--destructive-foreground: 0 0 0;--border: 255 255 255;--input: 255 255 255;--ring: 255 102 102;--chart-1: 255 102 102;--chart-2: 255 255 51;--chart-3: 51 255 153;--chart-4: 255 51 128;--chart-5: 51 230 255;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 102 102;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 51 255 153;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 255 255 255;--sidebar-ring: 255 102 102;--radius: 0px}.theme-bold-tech{--background: 255 255 255;--foreground: 49 46 129;--card: 255 255 255;--card-foreground: 49 46 129;--popover: 255 255 255;--popover-foreground: 49 46 129;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 243 240 255;--secondary-foreground: 67 56 202;--muted: 245 243 255;--muted-foreground: 124 58 237;--accent: 219 234 254;--accent-foreground: 30 64 175;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 224 231 255;--input: 224 231 255;--ring: 139 92 246;--chart-1: 139 92 246;--chart-2: 124 58 237;--chart-3: 109 40 217;--chart-4: 91 33 182;--chart-5: 76 29 149;--sidebar: 245 243 255;--sidebar-foreground: 49 46 129;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 219 234 254;--sidebar-accent-foreground: 30 64 175;--sidebar-border: 224 231 255;--sidebar-ring: 139 92 246;--radius: .625rem}.dark.theme-bold-tech{--background: 15 23 42;--foreground: 224 231 255;--card: 30 27 75;--card-foreground: 224 231 255;--popover: 30 27 75;--popover-foreground: 224 231 255;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 30 27 75;--secondary-foreground: 224 231 255;--muted: 30 27 75;--muted-foreground: 196 181 253;--accent: 67 56 202;--accent-foreground: 224 231 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 46 16 101;--input: 46 16 101;--ring: 139 92 246;--chart-1: 167 139 250;--chart-2: 139 92 246;--chart-3: 124 58 237;--chart-4: 109 40 217;--chart-5: 91 33 182;--sidebar: 15 23 42;--sidebar-foreground: 224 231 255;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 67 56 202;--sidebar-accent-foreground: 224 231 255;--sidebar-border: 46 16 101;--sidebar-ring: 139 92 246;--radius: .625rem}.theme-caffeine{--background: 249 249 249;--foreground: 32 32 32;--card: 252 252 252;--card-foreground: 32 32 32;--popover: 252 252 252;--popover-foreground: 32 32 32;--primary: 100 74 64;--primary-foreground: 255 255 255;--secondary: 255 223 181;--secondary-foreground: 88 45 29;--muted: 239 239 239;--muted-foreground: 100 100 100;--accent: 232 232 232;--accent-foreground: 32 32 32;--destructive: 229 77 46;--destructive-foreground: 255 255 255;--border: 216 216 216;--input: 216 216 216;--ring: 100 74 64;--chart-1: 100 74 64;--chart-2: 229 77 46;--chart-3: 255 223 181;--chart-4: 88 45 29;--chart-5: 32 32 32;--sidebar: 252 252 252;--sidebar-foreground: 32 32 32;--sidebar-primary: 100 74 64;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 223 181;--sidebar-accent-foreground: 88 45 29;--sidebar-border: 216 216 216;--sidebar-ring: 100 74 64;--radius: .5rem}.dark.theme-caffeine{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 139 111 71;--primary-foreground: 255 255 255;--secondary: 61 41 20;--secondary-foreground: 255 223 181;--muted: 51 51 51;--muted-foreground: 160 160 160;--accent: 68 68 68;--accent-foreground: 224 224 224;--destructive: 255 107 71;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 139 111 71;--chart-1: 139 111 71;--chart-2: 255 107 71;--chart-3: 255 223 181;--chart-4: 61 41 20;--chart-5: 224 224 224;--sidebar: 26 26 26;--sidebar-foreground: 224 224 224;--sidebar-primary: 139 111 71;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 61 41 20;--sidebar-accent-foreground: 255 223 181;--sidebar-border: 68 68 68;--sidebar-ring: 139 111 71;--radius: .5rem}.theme-candyland{--background: 247 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 255 192 203;--primary-foreground: 0 0 0;--secondary: 135 206 235;--secondary-foreground: 0 0 0;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 255 255 0;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 255 192 203;--chart-1: 255 192 203;--chart-2: 135 206 235;--chart-3: 255 255 0;--chart-4: 255 105 180;--chart-5: 152 251 152;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 255 192 203;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 135 206 235;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 212 212 212;--sidebar-ring: 255 192 203;--radius: 1rem}.dark.theme-candyland{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 255 105 180;--primary-foreground: 0 0 0;--secondary: 70 130 180;--secondary-foreground: 255 255 255;--muted: 58 58 58;--muted-foreground: 160 160 160;--accent: 255 215 0;--accent-foreground: 0 0 0;--destructive: 255 107 107;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 255 105 180;--chart-1: 255 105 180;--chart-2: 70 130 180;--chart-3: 255 215 0;--chart-4: 255 20 147;--chart-5: 144 238 144;--sidebar: 26 26 26;--sidebar-foreground: 224 224 224;--sidebar-primary: 255 105 180;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 70 130 180;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 68 68 68;--sidebar-ring: 255 105 180;--radius: 1rem}.theme-claymorphism{--background: 231 229 228;--foreground: 30 41 59;--card: 245 245 244;--card-foreground: 30 41 59;--popover: 245 245 244;--popover-foreground: 30 41 59;--primary: 99 102 241;--primary-foreground: 255 255 255;--secondary: 214 211 209;--secondary-foreground: 75 85 99;--muted: 231 229 228;--muted-foreground: 107 114 128;--accent: 243 229 245;--accent-foreground: 55 65 81;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 214 211 209;--input: 214 211 209;--ring: 99 102 241;--chart-1: 99 102 241;--chart-2: 139 92 246;--chart-3: 167 139 250;--chart-4: 196 181 253;--chart-5: 221 214 254;--sidebar: 245 245 244;--sidebar-foreground: 30 41 59;--sidebar-primary: 99 102 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 243 229 245;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 214 211 209;--sidebar-ring: 99 102 241;--radius: 1.5rem}.dark.theme-claymorphism{--background: 41 37 36;--foreground: 245 245 244;--card: 68 64 60;--card-foreground: 245 245 244;--popover: 68 64 60;--popover-foreground: 245 245 244;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 87 83 78;--secondary-foreground: 214 211 209;--muted: 60 58 57;--muted-foreground: 168 162 158;--accent: 124 45 18;--accent-foreground: 254 215 170;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 139 92 246;--chart-1: 139 92 246;--chart-2: 167 139 250;--chart-3: 196 181 253;--chart-4: 221 214 254;--chart-5: 237 233 254;--sidebar: 41 37 36;--sidebar-foreground: 245 245 244;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 124 45 18;--sidebar-accent-foreground: 254 215 170;--sidebar-border: 87 83 78;--sidebar-ring: 139 92 246;--radius: 1.5rem}.theme-clean-slate{--background: 248 250 252;--foreground: 30 41 59;--card: 255 255 255;--card-foreground: 30 41 59;--popover: 255 255 255;--popover-foreground: 30 41 59;--primary: 99 102 241;--primary-foreground: 255 255 255;--secondary: 229 231 235;--secondary-foreground: 55 65 81;--muted: 243 244 246;--muted-foreground: 107 114 128;--accent: 224 231 255;--accent-foreground: 55 65 81;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 209 213 219;--input: 209 213 219;--ring: 99 102 241;--chart-1: 99 102 241;--chart-2: 139 92 246;--chart-3: 168 85 247;--chart-4: 192 132 252;--chart-5: 216 180 254;--sidebar: 255 255 255;--sidebar-foreground: 30 41 59;--sidebar-primary: 99 102 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 231 255;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 209 213 219;--sidebar-ring: 99 102 241;--radius: .375rem}.dark.theme-clean-slate{--background: 15 23 42;--foreground: 226 232 240;--card: 30 41 59;--card-foreground: 226 232 240;--popover: 30 41 59;--popover-foreground: 226 232 240;--primary: 129 140 248;--primary-foreground: 255 255 255;--secondary: 51 65 85;--secondary-foreground: 203 213 225;--muted: 71 85 105;--muted-foreground: 148 163 184;--accent: 67 56 202;--accent-foreground: 226 232 240;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 71 85 105;--input: 71 85 105;--ring: 129 140 248;--chart-1: 129 140 248;--chart-2: 167 139 250;--chart-3: 192 132 252;--chart-4: 216 180 254;--chart-5: 233 213 255;--sidebar: 15 23 42;--sidebar-foreground: 226 232 240;--sidebar-primary: 129 140 248;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 67 56 202;--sidebar-accent-foreground: 226 232 240;--sidebar-border: 71 85 105;--sidebar-ring: 129 140 248;--radius: .375rem}.theme-cosmic-night{--background: 245 245 255;--foreground: 42 42 74;--card: 255 255 255;--card-foreground: 42 42 74;--popover: 255 255 255;--popover-foreground: 42 42 74;--primary: 110 86 207;--primary-foreground: 255 255 255;--secondary: 228 223 255;--secondary-foreground: 74 64 128;--muted: 240 240 250;--muted-foreground: 108 108 138;--accent: 216 230 255;--accent-foreground: 42 42 74;--destructive: 255 84 112;--destructive-foreground: 255 255 255;--border: 228 223 255;--input: 228 223 255;--ring: 110 86 207;--chart-1: 110 86 207;--chart-2: 138 112 217;--chart-3: 164 143 255;--chart-4: 191 168 255;--chart-5: 217 194 255;--sidebar: 255 255 255;--sidebar-foreground: 42 42 74;--sidebar-primary: 110 86 207;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 216 230 255;--sidebar-accent-foreground: 42 42 74;--sidebar-border: 228 223 255;--sidebar-ring: 110 86 207;--radius: .75rem}.dark.theme-cosmic-night{--background: 26 26 46;--foreground: 228 223 255;--card: 46 46 94;--card-foreground: 228 223 255;--popover: 46 46 94;--popover-foreground: 228 223 255;--primary: 164 143 255;--primary-foreground: 255 255 255;--secondary: 62 62 126;--secondary-foreground: 228 223 255;--muted: 62 62 126;--muted-foreground: 184 184 216;--accent: 255 0 200;--accent-foreground: 255 255 255;--destructive: 255 84 112;--destructive-foreground: 255 255 255;--border: 78 78 158;--input: 78 78 158;--ring: 164 143 255;--chart-1: 164 143 255;--chart-2: 191 168 255;--chart-3: 217 194 255;--chart-4: 230 211 255;--chart-5: 242 232 255;--sidebar: 26 26 46;--sidebar-foreground: 228 223 255;--sidebar-primary: 164 143 255;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 0 200;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 46 46 94;--sidebar-ring: 164 143 255;--radius: .75rem}.theme-elegant-luxury{--background: 250 247 245;--foreground: 26 26 26;--card: 250 247 245;--card-foreground: 26 26 26;--popover: 250 247 245;--popover-foreground: 26 26 26;--primary: 155 44 44;--primary-foreground: 255 255 255;--secondary: 253 242 214;--secondary-foreground: 128 85 0;--muted: 240 235 232;--muted-foreground: 87 83 78;--accent: 254 243 199;--accent-foreground: 127 29 29;--destructive: 153 27 27;--destructive-foreground: 255 255 255;--border: 245 232 210;--input: 245 232 210;--ring: 155 44 44;--chart-1: 155 44 44;--chart-2: 184 50 50;--chart-3: 214 57 57;--chart-4: 244 64 64;--chart-5: 255 71 71;--sidebar: 250 247 245;--sidebar-foreground: 26 26 26;--sidebar-primary: 155 44 44;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 243 199;--sidebar-accent-foreground: 127 29 29;--sidebar-border: 245 232 210;--sidebar-ring: 155 44 44;--radius: .5rem}.dark.theme-elegant-luxury{--background: 28 25 23;--foreground: 250 247 245;--card: 41 37 36;--card-foreground: 250 247 245;--popover: 41 37 36;--popover-foreground: 250 247 245;--primary: 255 102 102;--primary-foreground: 255 255 255;--secondary: 68 64 60;--secondary-foreground: 254 243 199;--muted: 60 56 54;--muted-foreground: 168 162 158;--accent: 202 138 4;--accent-foreground: 254 243 199;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 255 102 102;--chart-1: 255 102 102;--chart-2: 255 128 128;--chart-3: 255 153 153;--chart-4: 255 179 179;--chart-5: 255 204 204;--sidebar: 28 25 23;--sidebar-foreground: 250 247 245;--sidebar-primary: 255 102 102;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 202 138 4;--sidebar-accent-foreground: 254 243 199;--sidebar-border: 87 83 78;--sidebar-ring: 255 102 102;--radius: .5rem}.theme-kodama-grove{--background: 228 215 176;--foreground: 92 75 62;--card: 231 219 191;--card-foreground: 92 75 62;--popover: 243 234 210;--popover-foreground: 92 75 62;--primary: 141 157 79;--primary-foreground: 253 251 246;--secondary: 222 206 160;--secondary-foreground: 92 75 62;--muted: 222 206 160;--muted-foreground: 133 118 106;--accent: 219 200 148;--accent-foreground: 92 75 62;--destructive: 217 139 126;--destructive-foreground: 250 248 242;--border: 177 150 129;--input: 177 150 129;--ring: 141 157 79;--chart-1: 141 157 79;--chart-2: 154 170 92;--chart-3: 167 183 105;--chart-4: 180 196 118;--chart-5: 193 209 131;--sidebar: 231 219 191;--sidebar-foreground: 92 75 62;--sidebar-primary: 141 157 79;--sidebar-primary-foreground: 253 251 246;--sidebar-accent: 219 200 148;--sidebar-accent-foreground: 92 75 62;--sidebar-border: 177 150 129;--sidebar-ring: 141 157 79;--radius: .75rem}.dark.theme-kodama-grove{--background: 45 51 25;--foreground: 228 215 176;--card: 64 77 31;--card-foreground: 228 215 176;--popover: 64 77 31;--popover-foreground: 228 215 176;--primary: 138 159 123;--primary-foreground: 253 251 246;--secondary: 82 96 37;--secondary-foreground: 228 215 176;--muted: 63 74 30;--muted-foreground: 177 150 129;--accent: 125 138 95;--accent-foreground: 228 215 176;--destructive: 217 139 126;--destructive-foreground: 250 248 242;--border: 89 102 48;--input: 89 102 48;--ring: 138 159 123;--chart-1: 138 159 123;--chart-2: 151 172 136;--chart-3: 164 185 149;--chart-4: 177 198 162;--chart-5: 190 211 175;--sidebar: 45 51 25;--sidebar-foreground: 228 215 176;--sidebar-primary: 138 159 123;--sidebar-primary-foreground: 253 251 246;--sidebar-accent: 125 138 95;--sidebar-accent-foreground: 228 215 176;--sidebar-border: 89 102 48;--sidebar-ring: 138 159 123;--radius: .75rem}.theme-northern-lights{--background: 249 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 100 149 237;--secondary-foreground: 255 255 255;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 102 217 239;--accent-foreground: 51 51 51;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 100 149 237;--chart-3: 102 217 239;--chart-4: 144 238 144;--chart-5: 255 215 0;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 102 217 239;--sidebar-accent-foreground: 51 51 51;--sidebar-border: 212 212 212;--sidebar-ring: 52 168 90;--radius: .5rem}.dark.theme-northern-lights{--background: 10 10 10;--foreground: 240 240 240;--card: 26 26 26;--card-foreground: 240 240 240;--popover: 26 26 26;--popover-foreground: 240 240 240;--primary: 0 255 127;--primary-foreground: 0 0 0;--secondary: 65 105 225;--secondary-foreground: 255 255 255;--muted: 42 42 42;--muted-foreground: 160 160 160;--accent: 0 255 255;--accent-foreground: 0 0 0;--destructive: 255 99 71;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 0 255 127;--chart-1: 0 255 127;--chart-2: 65 105 225;--chart-3: 0 255 255;--chart-4: 152 251 152;--chart-5: 255 215 0;--sidebar: 10 10 10;--sidebar-foreground: 240 240 240;--sidebar-primary: 0 255 127;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 0 255 255;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 68 68 68;--sidebar-ring: 52 168 90;--radius: .5rem}.theme-pastel-dreams{--background: 247 243 249;--foreground: 55 65 81;--card: 255 255 255;--card-foreground: 55 65 81;--popover: 255 255 255;--popover-foreground: 55 65 81;--primary: 167 139 250;--primary-foreground: 255 255 255;--secondary: 233 216 253;--secondary-foreground: 75 85 99;--muted: 243 232 255;--muted-foreground: 107 114 128;--accent: 243 229 245;--accent-foreground: 55 65 81;--destructive: 252 165 165;--destructive-foreground: 255 255 255;--border: 233 216 253;--input: 233 216 253;--ring: 167 139 250;--chart-1: 167 139 250;--chart-2: 192 132 252;--chart-3: 216 180 254;--chart-4: 233 213 255;--chart-5: 243 232 255;--sidebar: 255 255 255;--sidebar-foreground: 55 65 81;--sidebar-primary: 167 139 250;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 243 229 245;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 233 216 253;--sidebar-ring: 167 139 250;--radius: 1rem}.dark.theme-pastel-dreams{--background: 31 27 36;--foreground: 233 216 253;--card: 45 36 54;--card-foreground: 233 216 253;--popover: 45 36 54;--popover-foreground: 233 216 253;--primary: 192 170 253;--primary-foreground: 255 255 255;--secondary: 61 45 72;--secondary-foreground: 233 216 253;--muted: 53 40 65;--muted-foreground: 167 139 250;--accent: 107 70 193;--accent-foreground: 233 216 253;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 76 51 89;--input: 76 51 89;--ring: 192 170 253;--chart-1: 192 170 253;--chart-2: 216 180 254;--chart-3: 233 213 255;--chart-4: 243 232 255;--chart-5: 250 245 255;--sidebar: 31 27 36;--sidebar-foreground: 233 216 253;--sidebar-primary: 192 170 253;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 107 70 193;--sidebar-accent-foreground: 233 216 253;--sidebar-border: 76 51 89;--sidebar-ring: 192 170 253;--radius: 1rem}.theme-quantum-rose{--background: 255 240 248;--foreground: 145 24 92;--card: 255 247 252;--card-foreground: 145 24 92;--popover: 255 247 252;--popover-foreground: 145 24 92;--primary: 230 6 122;--primary-foreground: 255 255 255;--secondary: 255 214 255;--secondary-foreground: 145 24 92;--muted: 255 227 242;--muted-foreground: 192 66 131;--accent: 255 193 227;--accent-foreground: 145 24 92;--destructive: 209 56 105;--destructive-foreground: 255 255 255;--border: 255 214 255;--input: 255 214 255;--ring: 230 6 122;--chart-1: 230 6 122;--chart-2: 242 52 160;--chart-3: 255 107 199;--chart-4: 255 168 226;--chart-5: 255 214 255;--sidebar: 255 247 252;--sidebar-foreground: 145 24 92;--sidebar-primary: 230 6 122;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 193 227;--sidebar-accent-foreground: 145 24 92;--sidebar-border: 255 214 255;--sidebar-ring: 230 6 122;--radius: .75rem}.dark.theme-quantum-rose{--background: 45 10 31;--foreground: 255 193 227;--card: 74 21 56;--card-foreground: 255 193 227;--popover: 74 21 56;--popover-foreground: 255 193 227;--primary: 76 175 80;--primary-foreground: 255 255 255;--secondary: 93 32 81;--secondary-foreground: 255 193 227;--muted: 61 18 41;--muted-foreground: 230 6 122;--accent: 16 185 129;--accent-foreground: 255 255 255;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 107 41 105;--input: 107 41 105;--ring: 76 175 80;--chart-1: 76 175 80;--chart-2: 16 185 129;--chart-3: 52 211 153;--chart-4: 110 231 183;--chart-5: 167 243 208;--sidebar: 45 10 31;--sidebar-foreground: 255 193 227;--sidebar-primary: 76 175 80;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 16 185 129;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 74 21 56;--sidebar-ring: 76 175 80;--radius: .75rem}.theme-retro-arcade{--background: 253 246 227;--foreground: 7 54 66;--card: 238 232 213;--card-foreground: 7 54 66;--popover: 238 232 213;--popover-foreground: 7 54 66;--primary: 211 54 130;--primary-foreground: 255 255 255;--secondary: 42 161 152;--secondary-foreground: 255 255 255;--muted: 147 161 161;--muted-foreground: 7 54 66;--accent: 203 75 22;--accent-foreground: 255 255 255;--destructive: 220 50 47;--destructive-foreground: 255 255 255;--border: 131 148 150;--input: 131 148 150;--ring: 211 54 130;--chart-1: 211 54 130;--chart-2: 42 161 152;--chart-3: 203 75 22;--chart-4: 133 153 0;--chart-5: 181 137 0;--sidebar: 238 232 213;--sidebar-foreground: 7 54 66;--sidebar-primary: 211 54 130;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 203 75 22;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 131 148 150;--sidebar-ring: 211 54 130;--radius: .25rem}.dark.theme-retro-arcade{--background: 0 43 54;--foreground: 253 246 227;--card: 7 54 66;--card-foreground: 253 246 227;--popover: 7 54 66;--popover-foreground: 253 246 227;--primary: 108 92 231;--primary-foreground: 255 255 255;--secondary: 0 210 211;--secondary-foreground: 0 43 54;--muted: 88 110 117;--muted-foreground: 147 161 161;--accent: 255 99 72;--accent-foreground: 0 43 54;--destructive: 255 71 87;--destructive-foreground: 255 255 255;--border: 88 110 117;--input: 88 110 117;--ring: 108 92 231;--chart-1: 108 92 231;--chart-2: 0 210 211;--chart-3: 255 99 72;--chart-4: 123 237 159;--chart-5: 255 165 2;--sidebar: 0 43 54;--sidebar-foreground: 253 246 227;--sidebar-primary: 108 92 231;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 99 72;--sidebar-accent-foreground: 0 43 54;--sidebar-border: 68 68 68;--sidebar-ring: 108 92 231;--radius: .25rem}.theme-solar-dusk{--background: 253 251 247;--foreground: 74 59 51;--card: 248 244 238;--card-foreground: 74 59 51;--popover: 248 244 238;--popover-foreground: 74 59 51;--primary: 180 83 9;--primary-foreground: 255 255 255;--secondary: 228 192 144;--secondary-foreground: 87 83 78;--muted: 241 233 218;--muted-foreground: 120 113 108;--accent: 242 218 186;--accent-foreground: 87 83 78;--destructive: 153 27 27;--destructive-foreground: 255 255 255;--border: 228 192 144;--input: 228 192 144;--ring: 180 83 9;--chart-1: 180 83 9;--chart-2: 217 119 6;--chart-3: 245 158 11;--chart-4: 252 211 77;--chart-5: 254 243 199;--sidebar: 248 244 238;--sidebar-foreground: 74 59 51;--sidebar-primary: 180 83 9;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 242 218 186;--sidebar-accent-foreground: 87 83 78;--sidebar-border: 228 192 144;--sidebar-ring: 180 83 9;--radius: .5rem}.dark.theme-solar-dusk{--background: 28 25 23;--foreground: 253 251 247;--card: 41 37 36;--card-foreground: 253 251 247;--popover: 41 37 36;--popover-foreground: 253 251 247;--primary: 255 126 95;--primary-foreground: 255 255 255;--secondary: 68 64 60;--secondary-foreground: 228 192 144;--muted: 60 56 54;--muted-foreground: 168 162 158;--accent: 254 178 168;--accent-foreground: 28 25 23;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 255 126 95;--chart-1: 255 126 95;--chart-2: 255 159 122;--chart-3: 255 193 149;--chart-4: 255 227 176;--chart-5: 255 245 202;--sidebar: 28 25 23;--sidebar-foreground: 253 251 247;--sidebar-primary: 255 126 95;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 178 168;--sidebar-accent-foreground: 28 25 23;--sidebar-border: 87 83 78;--sidebar-ring: 255 126 95;--radius: .5rem}.theme-starry-night{--background: 245 247 250;--foreground: 26 34 56;--card: 227 234 242;--card-foreground: 26 34 56;--popover: 255 251 230;--popover-foreground: 26 34 56;--primary: 58 91 160;--primary-foreground: 255 251 230;--secondary: 247 200 115;--secondary-foreground: 26 34 56;--muted: 229 229 223;--muted-foreground: 58 91 160;--accent: 110 163 193;--accent-foreground: 255 251 230;--destructive: 45 30 47;--destructive-foreground: 255 251 230;--border: 247 200 115;--input: 247 200 115;--ring: 58 91 160;--chart-1: 58 91 160;--chart-2: 247 200 115;--chart-3: 110 163 193;--chart-4: 255 230 109;--chart-5: 129 199 132;--sidebar: 227 234 242;--sidebar-foreground: 26 34 56;--sidebar-primary: 58 91 160;--sidebar-primary-foreground: 255 251 230;--sidebar-accent: 110 163 193;--sidebar-accent-foreground: 255 251 230;--sidebar-border: 247 200 115;--sidebar-ring: 58 91 160;--radius: .75rem}.dark.theme-starry-night{--background: 15 20 25;--foreground: 255 251 230;--card: 26 34 56;--card-foreground: 255 251 230;--popover: 45 30 47;--popover-foreground: 255 251 230;--primary: 255 204 2;--primary-foreground: 15 20 25;--secondary: 46 134 171;--secondary-foreground: 255 251 230;--muted: 36 52 71;--muted-foreground: 163 158 154;--accent: 241 135 1;--accent-foreground: 15 20 25;--destructive: 255 107 107;--destructive-foreground: 255 251 230;--border: 58 91 160;--input: 58 91 160;--ring: 255 204 2;--chart-1: 255 204 2;--chart-2: 46 134 171;--chart-3: 241 135 1;--chart-4: 78 205 196;--chart-5: 149 225 211;--sidebar: 15 20 25;--sidebar-foreground: 255 251 230;--sidebar-primary: 255 204 2;--sidebar-primary-foreground: 15 20 25;--sidebar-accent: 241 135 1;--sidebar-accent-foreground: 15 20 25;--sidebar-border: 26 34 56;--sidebar-ring: 255 204 2;--radius: .75rem}.theme-tangerine{--background: 232 235 237;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 224 93 56;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 214 228 240;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 209 213 219;--input: 209 213 219;--ring: 224 93 56;--chart-1: 224 93 56;--chart-2: 249 115 22;--chart-3: 251 191 36;--chart-4: 52 211 153;--chart-5: 96 165 250;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 224 93 56;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 214 228 240;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 209 213 219;--sidebar-ring: 224 93 56;--radius: .5rem}.dark.theme-tangerine{--background: 26 26 26;--foreground: 232 235 237;--card: 42 42 42;--card-foreground: 232 235 237;--popover: 42 42 42;--popover-foreground: 232 235 237;--primary: 255 112 67;--primary-foreground: 255 255 255;--secondary: 55 65 81;--secondary-foreground: 209 213 219;--muted: 75 85 99;--muted-foreground: 156 163 175;--accent: 30 64 175;--accent-foreground: 219 234 254;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 75 85 99;--input: 75 85 99;--ring: 255 112 67;--chart-1: 255 112 67;--chart-2: 251 146 60;--chart-3: 252 211 77;--chart-4: 52 211 153;--chart-5: 96 165 250;--sidebar: 26 26 26;--sidebar-foreground: 232 235 237;--sidebar-primary: 255 112 67;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 64 175;--sidebar-accent-foreground: 219 234 254;--sidebar-border: 75 85 99;--sidebar-ring: 224 93 56;--radius: .5rem}.theme-vintage-paper{--background: 245 241 230;--foreground: 74 63 53;--card: 255 252 245;--card-foreground: 74 63 53;--popover: 255 252 245;--popover-foreground: 74 63 53;--primary: 166 124 82;--primary-foreground: 255 255 255;--secondary: 226 216 195;--secondary-foreground: 92 77 63;--muted: 236 229 216;--muted-foreground: 125 107 86;--accent: 212 200 170;--accent-foreground: 74 63 53;--destructive: 181 74 53;--destructive-foreground: 255 255 255;--border: 219 208 186;--input: 219 208 186;--ring: 166 124 82;--chart-1: 166 124 82;--chart-2: 201 152 109;--chart-3: 212 165 116;--chart-4: 226 194 138;--chart-5: 240 223 159;--sidebar: 255 252 245;--sidebar-foreground: 74 63 53;--sidebar-primary: 166 124 82;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 212 200 170;--sidebar-accent-foreground: 74 63 53;--sidebar-border: 219 208 186;--sidebar-ring: 166 124 82;--radius: .375rem}.dark.theme-vintage-paper{--background: 45 39 33;--foreground: 245 241 230;--card: 61 53 42;--card-foreground: 245 241 230;--popover: 61 53 42;--popover-foreground: 245 241 230;--primary: 255 126 95;--primary-foreground: 255 255 255;--secondary: 77 66 54;--secondary-foreground: 226 216 195;--muted: 63 55 48;--muted-foreground: 166 124 82;--accent: 139 90 60;--accent-foreground: 245 241 230;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 93 82 62;--input: 93 82 62;--ring: 255 126 95;--chart-1: 255 126 95;--chart-2: 255 148 119;--chart-3: 255 170 143;--chart-4: 255 192 167;--chart-5: 255 214 191;--sidebar: 45 39 33;--sidebar-foreground: 245 241 230;--sidebar-primary: 255 126 95;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 90 60;--sidebar-accent-foreground: 245 241 230;--sidebar-border: 93 82 62;--sidebar-ring: 255 126 95;--radius: .375rem}.table-row-focused{background-color:rgb(var(--accent) / .1)!important;border-left:3px solid rgb(var(--accent))!important;outline:none!important}.table-cell-focused button,.table-cell-focused a{border:none!important;border-radius:none!important;background-color:none!important;outline:none!important}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.hover\:whitespace-normal:hover{white-space:normal}.hover\:break-all:hover{word-break:break-all}.hover\:border-border\/40:hover{border-color:rgb(var(--border) / .4)}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/90:hover{background-color:rgb(var(--destructive) / .9)}.hover\:bg-muted\/50:hover{background-color:rgb(var(--muted) / .5)}.hover\:bg-primary\/90:hover{background-color:rgb(var(--primary) / .9)}.hover\:bg-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/20:hover{background-color:rgb(var(--secondary) / .2)}.hover\:bg-secondary\/30:hover{background-color:rgb(var(--secondary) / .3)}.hover\:bg-secondary\/60:hover{background-color:rgb(var(--secondary) / .6)}.hover\:bg-secondary\/80:hover{background-color:rgb(var(--secondary) / .8)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-accent-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.hover\:text-primary\/80:hover{color:rgb(var(--primary) / .8)}.hover\:text-secondary-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ring) / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ring) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: rgb(var(--background) / 1)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:bg-accent[aria-selected=true]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.aria-selected\:text-accent-foreground[aria-selected=true]{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[highlighted\]\:bg-accent[data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[highlighted\]\:bg-secondary\/50[data-highlighted]{background-color:rgb(var(--secondary) / .5)}.data-\[state\=active\]\:bg-background[data-state=active]{--tw-bg-opacity: 1;background-color:rgb(var(--background) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity: 1;background-color:rgb(var(--primary) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity: 1;background-color:rgb(var(--muted) / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity: 1;background-color:rgb(var(--input) / var(--tw-bg-opacity, 1))}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=active\]\:text-foreground[data-state=active]{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&_\[data-command-group\]\:not\(\[hidden\]\)_\~\[data-command-group\]\]\:pt-0 [data-command-group]:not([hidden])~[data-command-group]{padding-top:0}.\[\&_\[data-command-group\]\]\:px-2 [data-command-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[data-command-input-wrapper\]_svg\]\:h-5 [data-command-input-wrapper] svg{height:1.25rem}.\[\&_\[data-command-input-wrapper\]_svg\]\:w-5 [data-command-input-wrapper] svg{width:1.25rem}.\[\&_\[data-command-input\]\]\:h-12 [data-command-input]{height:3rem}.\[\&_\[data-command-item\]\]\:px-2 [data-command-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[data-command-item\]\]\:py-3 [data-command-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[data-command-item\]_svg\]\:h-5 [data-command-item] svg{height:1.25rem}.\[\&_\[data-command-item\]_svg\]\:w-5 [data-command-item] svg{width:1.25rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}body{margin:0;padding:0} diff --git a/.svelte-kit/output/client/_app/immutable/chunks/C-0S9jGX.js b/.svelte-kit/output/client/_app/immutable/chunks/C-0S9jGX.js new file mode 100644 index 0000000..c04e4f7 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/C-0S9jGX.js @@ -0,0 +1,2 @@ +import{Q as ge,R as ar,x as he,a0 as nr,ax as ee,z as R,n as ir,Y as Be,E as je,as as lr,ay as cr,az as dr,I as ur,g as fr,aA as mr,h as Ce,aB as pr,aC as br,aD as gr,aE as hr,aF as vr,aG as wr,Z as $e,aH as Ve,a2 as ae}from"./CcQSGzXg.js";import{j as yr,k as kr,g as xr,l as Ar,n as Sr,m as _r,o as zr,p as Fe}from"./CBa6YeNv.js";import{s as Cr,g as Mr}from"./G-SkzPYD.js";function _t(e,o,...r){var t=e,s=nr,a;ge(()=>{s!==(s=o())&&(a&&(ee(a),a=null),a=he(()=>s(t,...r)))},ar),R&&(t=ir)}function Ir(e,o){var r=void 0,t;ge(()=>{r!==(r=o())&&(t&&(ee(t),t=null),r&&(t=he(()=>{Be(()=>r(e))})))})}function Ue(e){var o,r,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(o=0;o=0;){var d=n+a;(n===0||Me.includes(t[n-1]))&&(d===t.length||Me.includes(t[d]))?t=(n===0?"":t.substring(0,n))+t.substring(d+1):n=d}}return t===""?null:t}function Ie(e,o=!1){var r=o?" !important;":";",t="";for(var s in e){var a=e[s];a!=null&&a!==""&&(t+=" "+s+": "+a+r)}return t}function ne(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function Er(e,o){if(o){var r="",t,s;if(Array.isArray(o)?(t=o[0],s=o[1]):t=o,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var a=!1,n=0,d=!1,c=[];t&&c.push(...Object.keys(t).map(ne)),s&&c.push(...Object.keys(s).map(ne));var b=0,k=-1;const w=e.length;for(var m=0;m{o&&fe(e,je(o),r),r=!1;var t=new MutationObserver(()=>{var s=e.__value;fe(e,s)});return t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),()=>{t.disconnect()}})}function Te(e){return"__value"in e?e.__value:e.value}const W=Symbol("class"),H=Symbol("style"),He=Symbol("is custom element"),De=Symbol("is html");function zt(e){if(R){var o=!1,r=()=>{if(!o){if(o=!0,e.hasAttribute("value")){var t=e.value;re(e,"value",null),e.value=t}if(e.hasAttribute("checked")){var s=e.checked;re(e,"checked",null),e.checked=s}}};e.__on_r=r,hr(r),_r()}}function Lr(e,o){o?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function re(e,o,r,t){var s=Ye(e);R&&(s[o]=e.getAttribute(o),o==="src"||o==="srcset"||o==="href"&&e.nodeName==="LINK")||s[o]!==(s[o]=r)&&(o==="loading"&&(e[gr]=r),r==null?e.removeAttribute(o):typeof r!="string"&&qe(e).includes(o)?e[o]=r:e.setAttribute(o,r))}function Or(e,o,r,t,s=!1){var a=Ye(e),n=a[He],d=!a[De];let c=R&&n;c&&Ce(!1);var b=o||{},k=e.tagName==="OPTION";for(var m in o)m in r||(r[m]=null);r.class?r.class=Tr(r.class):r[W]&&(r.class=null),r[H]&&(r.style??=null);var h=qe(e);for(const y in r){let x=r[y];if(k&&y==="value"&&x==null){e.value=e.__value="",b[y]=x;continue}if(y==="class"){var v=e.namespaceURI==="http://www.w3.org/1999/xhtml";Rr(e,v,x,t,o?.[W],r[W]),b[y]=x,b[W]=r[W];continue}if(y==="style"){Nr(e,x,o?.[H],r[H]),b[y]=x,b[H]=r[H];continue}var u=b[y];if(!(x===u&&!(x===void 0&&e.hasAttribute(y)))){b[y]=x;var w=y[0]+y[1];if(w!=="$$")if(w==="on"){const _={},T="$$"+y;let S=y.slice(2);var I=zr(S);if(yr(S)&&(S=S.slice(0,-7),_.capture=!0),!I&&u){if(x!=null)continue;e.removeEventListener(S,b[T],_),b[T]=null}if(x!=null)if(I)e[`__${S}`]=x,xr([S]);else{let p=function(E){b[y].call(this,E)};b[T]=kr(S,e,p,_)}else I&&(e[`__${S}`]=void 0)}else if(y==="style")re(e,y,x);else if(y==="autofocus")Ar(e,!!x);else if(!n&&(y==="__value"||y==="value"&&x!=null))e.value=e.__value=x;else if(y==="selected"&&k)Lr(e,x);else{var A=y;d||(A=Sr(A));var N=A==="defaultValue"||A==="defaultChecked";if(x==null&&!n&&!N)if(a[y]=null,A==="value"||A==="checked"){let _=e;const T=o===void 0;if(A==="value"){let S=_.defaultValue;_.removeAttribute(A),_.defaultValue=S,_.value=_.__value=T?S:null}else{let S=_.defaultChecked;_.removeAttribute(A),_.defaultChecked=S,_.checked=T?S:!1}}else e.removeAttribute(y);else N||h.includes(A)&&(n||typeof x!="string")?e[A]=x:typeof x!="function"&&re(e,A,x)}}}return c&&Ce(!0),b}function Ct(e,o,r=[],t,s=!1,a=ur){const n=r.map(a);var d=void 0,c={},b=e.nodeName==="SELECT",k=!1;ge(()=>{var m=o(...n.map(fr)),h=Or(e,d,m,t,s);k&&b&&"value"in m&&fe(e,m.value,!1);for(let u of Object.getOwnPropertySymbols(c))m[u]||ee(c[u]);for(let u of Object.getOwnPropertySymbols(m)){var v=m[u];u.description===mr&&(!d||v!==d[u])&&(c[u]&&ee(c[u]),c[u]=he(()=>Ir(e,()=>v))),h[u]=v}d=h}),b&&Gr(e,()=>d.value),k=!0}function Ye(e){return e.__attributes??={[He]:e.nodeName.includes("-"),[De]:e.namespaceURI===pr}}var Pe=new Map;function qe(e){var o=Pe.get(e.nodeName);if(o)return o;Pe.set(e.nodeName,o=[]);for(var r,t=e,s=Element.prototype;s!==t;){r=vr(t);for(var a in r)r[a].set&&o.push(a);t=br(t)}return o}function Mt(e,o,r=o){var t=wr();Fe(e,"input",s=>{var a=s?e.defaultValue:e.value;if(a=le(e)?ce(a):a,r(a),t&&a!==(a=o())){var n=e.selectionStart,d=e.selectionEnd;e.value=a??"",d!==null&&(e.selectionStart=n,e.selectionEnd=Math.min(d,e.value.length))}}),(R&&e.defaultValue!==e.value||je(o)==null&&e.value)&&r(le(e)?ce(e.value):e.value),$e(()=>{var s=o();le(e)&&s===ce(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function le(e){var o=e.type;return o==="number"||o==="range"}function ce(e){return e===""?null:+e}function It(e,o,r=o){Fe(e,"change",()=>{r(e.files)}),R&&e.files&&r(e.files),$e(()=>{e.files=o()})}const Br=()=>{const e=Cr;return{page:{subscribe:e.page.subscribe},navigating:{subscribe:e.navigating.subscribe},updated:e.updated}},jr={subscribe(e){return Br().page.subscribe(e)}},ve="-",$r=e=>{const o=Fr(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:n=>{const d=n.split(ve);return d[0]===""&&d.length!==1&&d.shift(),Je(d,o)||Vr(n)},getConflictingClassGroupIds:(n,d)=>{const c=r[n]||[];return d&&t[n]?[...c,...t[n]]:c}}},Je=(e,o)=>{if(e.length===0)return o.classGroupId;const r=e[0],t=o.nextPart.get(r),s=t?Je(e.slice(1),t):void 0;if(s)return s;if(o.validators.length===0)return;const a=e.join(ve);return o.validators.find(({validator:n})=>n(a))?.classGroupId},Ee=/^\[(.+)\]$/,Vr=e=>{if(Ee.test(e)){const o=Ee.exec(e)[1],r=o?.substring(0,o.indexOf(":"));if(r)return"arbitrary.."+r}},Fr=e=>{const{theme:o,classGroups:r}=e,t={nextPart:new Map,validators:[]};for(const s in r)me(r[s],t,s,o);return t},me=(e,o,r,t)=>{e.forEach(s=>{if(typeof s=="string"){const a=s===""?o:Re(o,s);a.classGroupId=r;return}if(typeof s=="function"){if(Ur(s)){me(s(t),o,r,t);return}o.validators.push({validator:s,classGroupId:r});return}Object.entries(s).forEach(([a,n])=>{me(n,Re(o,a),r,t)})})},Re=(e,o)=>{let r=e;return o.split(ve).forEach(t=>{r.nextPart.has(t)||r.nextPart.set(t,{nextPart:new Map,validators:[]}),r=r.nextPart.get(t)}),r},Ur=e=>e.isThemeGetter,Wr=e=>{if(e<1)return{get:()=>{},set:()=>{}};let o=0,r=new Map,t=new Map;const s=(a,n)=>{r.set(a,n),o++,o>e&&(o=0,t=r,r=new Map)};return{get(a){let n=r.get(a);if(n!==void 0)return n;if((n=t.get(a))!==void 0)return s(a,n),n},set(a,n){r.has(a)?r.set(a,n):s(a,n)}}},pe="!",be=":",Hr=be.length,Dr=e=>{const{prefix:o,experimentalParseClassName:r}=e;let t=s=>{const a=[];let n=0,d=0,c=0,b;for(let u=0;uc?b-c:void 0;return{modifiers:a,hasImportantModifier:h,baseClassName:m,maybePostfixModifierPosition:v}};if(o){const s=o+be,a=t;t=n=>n.startsWith(s)?a(n.substring(s.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:n,maybePostfixModifierPosition:void 0}}if(r){const s=t;t=a=>r({className:a,parseClassName:s})}return t},Yr=e=>e.endsWith(pe)?e.substring(0,e.length-1):e.startsWith(pe)?e.substring(1):e,qr=e=>{const o=Object.fromEntries(e.orderSensitiveModifiers.map(t=>[t,!0]));return t=>{if(t.length<=1)return t;const s=[];let a=[];return t.forEach(n=>{n[0]==="["||o[n]?(s.push(...a.sort(),n),a=[]):a.push(n)}),s.push(...a.sort()),s}},Jr=e=>({cache:Wr(e.cacheSize),parseClassName:Dr(e),sortModifiers:qr(e),...$r(e)}),Kr=/\s+/,Qr=(e,o)=>{const{parseClassName:r,getClassGroupId:t,getConflictingClassGroupIds:s,sortModifiers:a}=o,n=[],d=e.trim().split(Kr);let c="";for(let b=d.length-1;b>=0;b-=1){const k=d[b],{isExternal:m,modifiers:h,hasImportantModifier:v,baseClassName:u,maybePostfixModifierPosition:w}=r(k);if(m){c=k+(c.length>0?" "+c:c);continue}let I=!!w,A=t(I?u.substring(0,w):u);if(!A){if(!I){c=k+(c.length>0?" "+c:c);continue}if(A=t(u),!A){c=k+(c.length>0?" "+c:c);continue}I=!1}const N=a(h).join(":"),y=v?N+pe:N,x=y+A;if(n.includes(x))continue;n.push(x);const _=s(A,I);for(let T=0;T<_.length;++T){const S=_[T];n.push(y+S)}c=k+(c.length>0?" "+c:c)}return c};function Xr(){let e=0,o,r,t="";for(;e{if(typeof e=="string")return e;let o,r="";for(let t=0;tm(k),e());return r=Jr(b),t=r.cache.get,s=r.cache.set,a=d,d(c)}function d(c){const b=t(c);if(b)return b;const k=Qr(c,r);return s(c,k),k}return function(){return a(Xr.apply(null,arguments))}}const z=e=>{const o=r=>r[e]||[];return o.isThemeGetter=!0,o},Qe=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Xe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,et=/^\d+\/\d+$/,rt=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,tt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ot=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,st=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,at=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,V=e=>et.test(e),g=e=>!!e&&!Number.isNaN(Number(e)),O=e=>!!e&&Number.isInteger(Number(e)),de=e=>e.endsWith("%")&&g(e.slice(0,-1)),L=e=>rt.test(e),nt=()=>!0,it=e=>tt.test(e)&&!ot.test(e),Ze=()=>!1,lt=e=>st.test(e),ct=e=>at.test(e),dt=e=>!i(e)&&!l(e),ut=e=>F(e,tr,Ze),i=e=>Qe.test(e),j=e=>F(e,or,it),ue=e=>F(e,gt,g),Ne=e=>F(e,er,Ze),ft=e=>F(e,rr,ct),X=e=>F(e,sr,lt),l=e=>Xe.test(e),D=e=>U(e,or),mt=e=>U(e,ht),Ge=e=>U(e,er),pt=e=>U(e,tr),bt=e=>U(e,rr),Z=e=>U(e,sr,!0),F=(e,o,r)=>{const t=Qe.exec(e);return t?t[1]?o(t[1]):r(t[2]):!1},U=(e,o,r=!1)=>{const t=Xe.exec(e);return t?t[1]?o(t[1]):r:!1},er=e=>e==="position"||e==="percentage",rr=e=>e==="image"||e==="url",tr=e=>e==="length"||e==="size"||e==="bg-size",or=e=>e==="length",gt=e=>e==="number",ht=e=>e==="family-name",sr=e=>e==="shadow",vt=()=>{const e=z("color"),o=z("font"),r=z("text"),t=z("font-weight"),s=z("tracking"),a=z("leading"),n=z("breakpoint"),d=z("container"),c=z("spacing"),b=z("radius"),k=z("shadow"),m=z("inset-shadow"),h=z("text-shadow"),v=z("drop-shadow"),u=z("blur"),w=z("perspective"),I=z("aspect"),A=z("ease"),N=z("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],_=()=>[...x(),l,i],T=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto","contain","none"],p=()=>[l,i,c],E=()=>[V,"full","auto",...p()],we=()=>[O,"none","subgrid",l,i],ye=()=>["auto",{span:["full",O,l,i]},O,l,i],Y=()=>[O,"auto",l,i],ke=()=>["auto","min","max","fr",l,i],te=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],$=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...p()],B=()=>[V,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...p()],f=()=>[e,l,i],xe=()=>[...x(),Ge,Ne,{position:[l,i]}],Ae=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Se=()=>["auto","cover","contain",pt,ut,{size:[l,i]}],oe=()=>[de,D,j],M=()=>["","none","full",b,l,i],P=()=>["",g,D,j],q=()=>["solid","dashed","dotted","double"],_e=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],C=()=>[g,de,Ge,Ne],ze=()=>["","none",u,l,i],J=()=>["none",g,l,i],K=()=>["none",g,l,i],se=()=>[g,l,i],Q=()=>[V,"full",...p()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[L],breakpoint:[L],color:[nt],container:[L],"drop-shadow":[L],ease:["in","out","in-out"],font:[dt],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[L],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[L],shadow:[L],spacing:["px",g],text:[L],"text-shadow":[L],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",V,i,l,I]}],container:["container"],columns:[{columns:[g,i,l,d]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:_()}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:E()}],"inset-x":[{"inset-x":E()}],"inset-y":[{"inset-y":E()}],start:[{start:E()}],end:[{end:E()}],top:[{top:E()}],right:[{right:E()}],bottom:[{bottom:E()}],left:[{left:E()}],visibility:["visible","invisible","collapse"],z:[{z:[O,"auto",l,i]}],basis:[{basis:[V,"full","auto",d,...p()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[g,V,"auto","initial","none",i]}],grow:[{grow:["",g,l,i]}],shrink:[{shrink:["",g,l,i]}],order:[{order:[O,"first","last","none",l,i]}],"grid-cols":[{"grid-cols":we()}],"col-start-end":[{col:ye()}],"col-start":[{"col-start":Y()}],"col-end":[{"col-end":Y()}],"grid-rows":[{"grid-rows":we()}],"row-start-end":[{row:ye()}],"row-start":[{"row-start":Y()}],"row-end":[{"row-end":Y()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ke()}],"auto-rows":[{"auto-rows":ke()}],gap:[{gap:p()}],"gap-x":[{"gap-x":p()}],"gap-y":[{"gap-y":p()}],"justify-content":[{justify:[...te(),"normal"]}],"justify-items":[{"justify-items":[...$(),"normal"]}],"justify-self":[{"justify-self":["auto",...$()]}],"align-content":[{content:["normal",...te()]}],"align-items":[{items:[...$(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...$(),{baseline:["","last"]}]}],"place-content":[{"place-content":te()}],"place-items":[{"place-items":[...$(),"baseline"]}],"place-self":[{"place-self":["auto",...$()]}],p:[{p:p()}],px:[{px:p()}],py:[{py:p()}],ps:[{ps:p()}],pe:[{pe:p()}],pt:[{pt:p()}],pr:[{pr:p()}],pb:[{pb:p()}],pl:[{pl:p()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":p()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":p()}],"space-y-reverse":["space-y-reverse"],size:[{size:B()}],w:[{w:[d,"screen",...B()]}],"min-w":[{"min-w":[d,"screen","none",...B()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[n]},...B()]}],h:[{h:["screen","lh",...B()]}],"min-h":[{"min-h":["screen","lh","none",...B()]}],"max-h":[{"max-h":["screen","lh",...B()]}],"font-size":[{text:["base",r,D,j]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,l,ue]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",de,i]}],"font-family":[{font:[mt,i,o]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,l,i]}],"line-clamp":[{"line-clamp":[g,"none",l,ue]}],leading:[{leading:[a,...p()]}],"list-image":[{"list-image":["none",l,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",l,i]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:f()}],"text-color":[{text:f()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...q(),"wavy"]}],"text-decoration-thickness":[{decoration:[g,"from-font","auto",l,j]}],"text-decoration-color":[{decoration:f()}],"underline-offset":[{"underline-offset":[g,"auto",l,i]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:p()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",l,i]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",l,i]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:xe()}],"bg-repeat":[{bg:Ae()}],"bg-size":[{bg:Se()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},O,l,i],radial:["",l,i],conic:[O,l,i]},bt,ft]}],"bg-color":[{bg:f()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:f()}],"gradient-via":[{via:f()}],"gradient-to":[{to:f()}],rounded:[{rounded:M()}],"rounded-s":[{"rounded-s":M()}],"rounded-e":[{"rounded-e":M()}],"rounded-t":[{"rounded-t":M()}],"rounded-r":[{"rounded-r":M()}],"rounded-b":[{"rounded-b":M()}],"rounded-l":[{"rounded-l":M()}],"rounded-ss":[{"rounded-ss":M()}],"rounded-se":[{"rounded-se":M()}],"rounded-ee":[{"rounded-ee":M()}],"rounded-es":[{"rounded-es":M()}],"rounded-tl":[{"rounded-tl":M()}],"rounded-tr":[{"rounded-tr":M()}],"rounded-br":[{"rounded-br":M()}],"rounded-bl":[{"rounded-bl":M()}],"border-w":[{border:P()}],"border-w-x":[{"border-x":P()}],"border-w-y":[{"border-y":P()}],"border-w-s":[{"border-s":P()}],"border-w-e":[{"border-e":P()}],"border-w-t":[{"border-t":P()}],"border-w-r":[{"border-r":P()}],"border-w-b":[{"border-b":P()}],"border-w-l":[{"border-l":P()}],"divide-x":[{"divide-x":P()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":P()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...q(),"hidden","none"]}],"divide-style":[{divide:[...q(),"hidden","none"]}],"border-color":[{border:f()}],"border-color-x":[{"border-x":f()}],"border-color-y":[{"border-y":f()}],"border-color-s":[{"border-s":f()}],"border-color-e":[{"border-e":f()}],"border-color-t":[{"border-t":f()}],"border-color-r":[{"border-r":f()}],"border-color-b":[{"border-b":f()}],"border-color-l":[{"border-l":f()}],"divide-color":[{divide:f()}],"outline-style":[{outline:[...q(),"none","hidden"]}],"outline-offset":[{"outline-offset":[g,l,i]}],"outline-w":[{outline:["",g,D,j]}],"outline-color":[{outline:f()}],shadow:[{shadow:["","none",k,Z,X]}],"shadow-color":[{shadow:f()}],"inset-shadow":[{"inset-shadow":["none",m,Z,X]}],"inset-shadow-color":[{"inset-shadow":f()}],"ring-w":[{ring:P()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:f()}],"ring-offset-w":[{"ring-offset":[g,j]}],"ring-offset-color":[{"ring-offset":f()}],"inset-ring-w":[{"inset-ring":P()}],"inset-ring-color":[{"inset-ring":f()}],"text-shadow":[{"text-shadow":["none",h,Z,X]}],"text-shadow-color":[{"text-shadow":f()}],opacity:[{opacity:[g,l,i]}],"mix-blend":[{"mix-blend":[..._e(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":_e()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[g]}],"mask-image-linear-from-pos":[{"mask-linear-from":C()}],"mask-image-linear-to-pos":[{"mask-linear-to":C()}],"mask-image-linear-from-color":[{"mask-linear-from":f()}],"mask-image-linear-to-color":[{"mask-linear-to":f()}],"mask-image-t-from-pos":[{"mask-t-from":C()}],"mask-image-t-to-pos":[{"mask-t-to":C()}],"mask-image-t-from-color":[{"mask-t-from":f()}],"mask-image-t-to-color":[{"mask-t-to":f()}],"mask-image-r-from-pos":[{"mask-r-from":C()}],"mask-image-r-to-pos":[{"mask-r-to":C()}],"mask-image-r-from-color":[{"mask-r-from":f()}],"mask-image-r-to-color":[{"mask-r-to":f()}],"mask-image-b-from-pos":[{"mask-b-from":C()}],"mask-image-b-to-pos":[{"mask-b-to":C()}],"mask-image-b-from-color":[{"mask-b-from":f()}],"mask-image-b-to-color":[{"mask-b-to":f()}],"mask-image-l-from-pos":[{"mask-l-from":C()}],"mask-image-l-to-pos":[{"mask-l-to":C()}],"mask-image-l-from-color":[{"mask-l-from":f()}],"mask-image-l-to-color":[{"mask-l-to":f()}],"mask-image-x-from-pos":[{"mask-x-from":C()}],"mask-image-x-to-pos":[{"mask-x-to":C()}],"mask-image-x-from-color":[{"mask-x-from":f()}],"mask-image-x-to-color":[{"mask-x-to":f()}],"mask-image-y-from-pos":[{"mask-y-from":C()}],"mask-image-y-to-pos":[{"mask-y-to":C()}],"mask-image-y-from-color":[{"mask-y-from":f()}],"mask-image-y-to-color":[{"mask-y-to":f()}],"mask-image-radial":[{"mask-radial":[l,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":C()}],"mask-image-radial-to-pos":[{"mask-radial-to":C()}],"mask-image-radial-from-color":[{"mask-radial-from":f()}],"mask-image-radial-to-color":[{"mask-radial-to":f()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[g]}],"mask-image-conic-from-pos":[{"mask-conic-from":C()}],"mask-image-conic-to-pos":[{"mask-conic-to":C()}],"mask-image-conic-from-color":[{"mask-conic-from":f()}],"mask-image-conic-to-color":[{"mask-conic-to":f()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:xe()}],"mask-repeat":[{mask:Ae()}],"mask-size":[{mask:Se()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",l,i]}],filter:[{filter:["","none",l,i]}],blur:[{blur:ze()}],brightness:[{brightness:[g,l,i]}],contrast:[{contrast:[g,l,i]}],"drop-shadow":[{"drop-shadow":["","none",v,Z,X]}],"drop-shadow-color":[{"drop-shadow":f()}],grayscale:[{grayscale:["",g,l,i]}],"hue-rotate":[{"hue-rotate":[g,l,i]}],invert:[{invert:["",g,l,i]}],saturate:[{saturate:[g,l,i]}],sepia:[{sepia:["",g,l,i]}],"backdrop-filter":[{"backdrop-filter":["","none",l,i]}],"backdrop-blur":[{"backdrop-blur":ze()}],"backdrop-brightness":[{"backdrop-brightness":[g,l,i]}],"backdrop-contrast":[{"backdrop-contrast":[g,l,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",g,l,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[g,l,i]}],"backdrop-invert":[{"backdrop-invert":["",g,l,i]}],"backdrop-opacity":[{"backdrop-opacity":[g,l,i]}],"backdrop-saturate":[{"backdrop-saturate":[g,l,i]}],"backdrop-sepia":[{"backdrop-sepia":["",g,l,i]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":p()}],"border-spacing-x":[{"border-spacing-x":p()}],"border-spacing-y":[{"border-spacing-y":p()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",l,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[g,"initial",l,i]}],ease:[{ease:["linear","initial",A,l,i]}],delay:[{delay:[g,l,i]}],animate:[{animate:["none",N,l,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,l,i]}],"perspective-origin":[{"perspective-origin":_()}],rotate:[{rotate:J()}],"rotate-x":[{"rotate-x":J()}],"rotate-y":[{"rotate-y":J()}],"rotate-z":[{"rotate-z":J()}],scale:[{scale:K()}],"scale-x":[{"scale-x":K()}],"scale-y":[{"scale-y":K()}],"scale-z":[{"scale-z":K()}],"scale-3d":["scale-3d"],skew:[{skew:se()}],"skew-x":[{"skew-x":se()}],"skew-y":[{"skew-y":se()}],transform:[{transform:[l,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:_()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Q()}],"translate-x":[{"translate-x":Q()}],"translate-y":[{"translate-y":Q()}],"translate-z":[{"translate-z":Q()}],"translate-none":["translate-none"],accent:[{accent:f()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:f()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",l,i]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":p()}],"scroll-mx":[{"scroll-mx":p()}],"scroll-my":[{"scroll-my":p()}],"scroll-ms":[{"scroll-ms":p()}],"scroll-me":[{"scroll-me":p()}],"scroll-mt":[{"scroll-mt":p()}],"scroll-mr":[{"scroll-mr":p()}],"scroll-mb":[{"scroll-mb":p()}],"scroll-ml":[{"scroll-ml":p()}],"scroll-p":[{"scroll-p":p()}],"scroll-px":[{"scroll-px":p()}],"scroll-py":[{"scroll-py":p()}],"scroll-ps":[{"scroll-ps":p()}],"scroll-pe":[{"scroll-pe":p()}],"scroll-pt":[{"scroll-pt":p()}],"scroll-pr":[{"scroll-pr":p()}],"scroll-pb":[{"scroll-pb":p()}],"scroll-pl":[{"scroll-pl":p()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",l,i]}],fill:[{fill:["none",...f()]}],"stroke-w":[{stroke:[g,D,j,ue]}],stroke:[{stroke:["none",...f()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},wt=Zr(vt);function Tt(...e){return wt(We(e))}var Pt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Et(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function yt(){const{subscribe:e,set:o}=Ve("none");return{subscribe:e,setNavigationType:r=>{o(r),setTimeout(()=>o("none"),100)}}}const Le=yt(),Oe="passdb-breadcrumbs";function kt(){const e=typeof window<"u"?JSON.parse(localStorage.getItem(Oe)||"[]"):[];(e.length===0||e[0].path!=="/")&&e.unshift({label:"Home",path:"/",timestamp:Date.now()});const{subscribe:o,set:r,update:t}=Ve(e);function s(m){typeof window<"u"&&localStorage.setItem(Oe,JSON.stringify(m))}function a(m,h){ae(Le)!=="back"&&t(u=>{const w=u[u.length-1];if(w&&w.path===h||h==="/"&&u.some(N=>N.path==="/"))return u;const I={label:m,path:h,timestamp:Date.now()},A=[...u,I];return s(A),A})}function n(m){t(h=>{const v=h.slice(0,m+1);return s(v),v})}function d(){const m=ae({subscribe:o});if(m.length>1){Le.setNavigationType("back");const h=m[m.length-2];t(v=>{const u=v.slice(0,-1);return s(u),u}),Mr(h.path)}}function c(){const m=[{label:"Home",path:"/",timestamp:Date.now()}];r(m),s(m)}function b(){c()}function k(m){const v=ae(jr).url.pathname;if(!v)return;let u=m;if(!u)if(v==="/")u="Home";else if(v.startsWith("/username/")){const w=v.split("/")[2];u=`Username: ${decodeURIComponent(w)}`}else if(v.startsWith("/domain/")){const w=v.split("/")[2];u=`Domain: ${decodeURIComponent(w)}`}else if(v.startsWith("/password/")){const w=v.split("/")[2],I=w.length>20?w.substring(0,20)+"...":w;u=`Password: ${decodeURIComponent(I)}`}else if(v.startsWith("/email/")){const w=v.split("/")[2];u=`Email: ${decodeURIComponent(w)}`}else u="Page";a(u,v)}return{subscribe:o,addBreadcrumb:a,navigateToBreadcrumb:n,goBack:d,clearBreadcrumbs:c,reset:b,addFromLocation:k}}const Rt=kt();export{_t as a,Ct as b,Tt as c,Mt as d,Rt as e,It as f,Et as g,We as h,Rr as i,Pt as j,Nr as k,Tr as l,jr as p,zt as r,re as s}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/CBa6YeNv.js b/.svelte-kit/output/client/_app/immutable/chunks/CBa6YeNv.js new file mode 100644 index 0000000..551ed1f --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/CBa6YeNv.js @@ -0,0 +1 @@ +import{_ as L,ap as p,aq as h,ar as k,A as E,a4 as O,as as V,a3 as R,w as y,c as m,at as W,au as C,av as D,z as f,n as c,k as j,j as q}from"./CcQSGzXg.js";function Y(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const B=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Z(e){return B.includes(e)}const F={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function ee(e){return e=e.toLowerCase(),F[e]??e}const U=["touchstart","touchmove"];function te(e){return U.includes(e)}const $=["textarea","script","style","title"];function re(e){return $.includes(e)}function ae(e,t){if(t){const r=document.body;e.autofocus=!0,L(()=>{document.activeElement===r&&e.focus()})}}let T=!1;function z(){T||(T=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function S(e){var t=k,r=E;p(null),h(null);try{return e()}finally{p(t),h(r)}}function ne(e,t,r,o=r){e.addEventListener(t,()=>S(r));const n=e.__on_r;n?e.__on_r=()=>{n(),o(!0)}:e.__on_r=()=>o(!0),z()}const G=new Set,H=new Set;function A(e,t,r,o={}){function n(a){if(o.capture||X.call(t,a),!a.cancelBubble)return S(()=>r?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?L(()=>{t.addEventListener(e,n,o)}):t.addEventListener(e,n,o),n}function oe(e,t,r,o={}){var n=A(t,e,r,o);return()=>{e.removeEventListener(t,n,o)}}function ie(e,t,r,o,n){var a={capture:o,passive:n},i=A(e,t,r,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&R(()=>{t.removeEventListener(e,i,a)})}function ue(e){for(var t=0;t{throw v});throw d}}finally{e.__root=t,delete e.currentTarget,p(N),h(P)}}}function M(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function s(e,t){var r=E;r.nodes_start===null&&(r.nodes_start=e,r.nodes_end=t)}function se(e,t){var r=(t&C)!==0,o=(t&D)!==0,n,a=!e.startsWith("");return()=>{if(f)return s(c,null),c;n===void 0&&(n=M(a?e:""+e),r||(n=m(n)));var i=o||W?document.importNode(n,!0):n.cloneNode(!0);if(r){var l=m(i),u=i.lastChild;s(l,u)}else s(i,i);return i}}function J(e,t,r="svg"){var o=!e.startsWith(""),n=`<${r}>${o?e:""+e}`,a;return()=>{if(f)return s(c,null),c;if(!a){var i=M(n),l=m(i);a=m(l)}var u=a.cloneNode(!0);return s(u,u),u}}function ce(e,t){return J(e,t,"svg")}function le(e=""){if(!f){var t=y(e+"");return s(t,t),t}var r=c;return r.nodeType!==3&&(r.before(r=y()),q(r)),s(r,r),r}function fe(){if(f)return s(c,null),c;var e=document.createDocumentFragment(),t=document.createComment(""),r=y();return e.append(t,r),s(t,r),e}function de(e,t){if(f){E.nodes_end=c,j();return}e!==null&&e.before(t)}const K="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(K);export{G as a,s as b,de as c,M as d,fe as e,se as f,ue as g,X as h,te as i,Y as j,A as k,ae as l,z as m,ee as n,Z as o,ne as p,re as q,H as r,ce as s,le as t,oe as u,ie as v}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/CR6-c37r.js b/.svelte-kit/output/client/_app/immutable/chunks/CR6-c37r.js new file mode 100644 index 0000000..ee32ff7 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/CR6-c37r.js @@ -0,0 +1,5 @@ +import{s as y,aU as re,g as E,Z as ne,ah as w,E as q,an as se,am as ie,aa as oe,ao as ue,B as ae,C as Y,aV as ce,aW as G,aX as fe}from"./CcQSGzXg.js";import{g as le,h as P}from"./C-0S9jGX.js";import{u as U}from"./CBa6YeNv.js";function x(e){y(e,e.v+1)}function de(e){let t=0,r=w(0),n;return()=>{re()&&(E(r),ne(()=>(t===0&&(n=q(()=>e(()=>x(r)))),t+=1,()=>{se().then(()=>{t-=1,t===0&&(n?.(),n=void 0)})})))}}function pe(e){return typeof e=="function"}function he(e){return e!==null&&typeof e=="object"}const ge=["string","number","bigint","boolean"];function W(e){return e==null||ge.includes(typeof e)?!0:Array.isArray(e)?e.every(t=>W(t)):typeof e=="object"?Object.getPrototypeOf(e)===Object.prototype:!1}const C=Symbol("box"),M=Symbol("is-writable");function ve(e){return he(e)&&C in e}function Ee(e){return h.isBox(e)&&M in e}function h(e){let t=ie(oe(e));return{[C]:!0,[M]:!0,get current(){return E(t)},set current(r){y(t,r,!0)}}}function be(e,t){const r=ue(e);return t?{[C]:!0,[M]:!0,get current(){return E(r)},set current(n){t(n)}}:{[C]:!0,get current(){return e()}}}function me(e){return h.isBox(e)?e:pe(e)?h.with(e):h(e)}function we(e){return Object.entries(e).reduce((t,[r,n])=>h.isBox(n)?(h.isWritableBox(n)?Object.defineProperty(t,r,{get(){return n.current},set(s){n.current=s}}):Object.defineProperty(t,r,{get(){return n.current}}),t):Object.assign(t,{[r]:n}),{})}function ye(e){return h.isWritableBox(e)?{[C]:!0,get current(){return e.current}}:e}h.from=me;h.with=be;h.flatten=we;h.readonly=ye;h.isBox=ve;h.isWritableBox=Ee;function Se(...e){return function(t){for(const r of e)if(r){if(t.defaultPrevented)return;typeof r=="function"?r.call(this,t):r.current?.call(this,t)}}}var A={},j,V;function Ae(){if(V)return j;V=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,r=/^\s*/,n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,s=/^:\s*/,i=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,c=/^\s+|\s+$/g,p=` +`,l="/",d="*",g="",_="comment",m="declaration";j=function(f,S){if(typeof f!="string")throw new TypeError("First argument must be a string");if(!f)return[];S=S||{};var R=1,b=1;function B(a){var o=a.match(t);o&&(R+=o.length);var v=a.lastIndexOf(p);b=~v?a.length-v:b+a.length}function L(){var a={line:R,column:b};return function(o){return o.position=new N(a),H(),o}}function N(a){this.start=a,this.end={line:R,column:b},this.source=S.source}N.prototype.content=f;function D(a){var o=new Error(S.source+":"+R+":"+b+": "+a);if(o.reason=a,o.filename=S.source,o.line=R,o.column=b,o.source=f,!S.silent)throw o}function T(a){var o=a.exec(f);if(o){var v=o[0];return B(v),f=f.slice(v.length),o}}function H(){T(r)}function F(a){var o;for(a=a||[];o=z();)o!==!1&&a.push(o);return a}function z(){var a=L();if(!(l!=f.charAt(0)||d!=f.charAt(1))){for(var o=2;g!=f.charAt(o)&&(d!=f.charAt(o)||l!=f.charAt(o+1));)++o;if(o+=2,g===f.charAt(o-1))return D("End of comment missing");var v=f.slice(2,o-2);return b+=2,B(v),f=f.slice(o),b+=2,a({type:_,comment:v})}}function Q(){var a=L(),o=T(n);if(o){if(z(),!T(s))return D("property missing ':'");var v=T(i),te=a({type:m,property:I(o[0].replace(e,g)),value:v?I(v[0].replace(e,g)):g});return T(u),te}}function ee(){var a=[];F(a);for(var o;o=Q();)o!==!1&&(a.push(o),F(a));return a}return H(),ee()};function I(f){return f?f.replace(c,g):g}return j}var X;function xe(){if(X)return A;X=1;var e=A&&A.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(A,"__esModule",{value:!0}),A.default=r;var t=e(Ae());function r(n,s){var i=null;if(!n||typeof n!="string")return i;var u=(0,t.default)(n),c=typeof s=="function";return u.forEach(function(p){if(p.type==="declaration"){var l=p.property,d=p.value;c?s(l,d,p):d&&(i=i||{},i[l]=d)}}),i}return A}var _e=xe();const $=le(_e),Re=$.default||$,Te=/\d/,Ce=["-","_","/","."];function Ie(e=""){if(!Te.test(e))return e!==e.toLowerCase()}function Oe(e){const t=[];let r="",n,s;for(const i of e){const u=Ce.includes(i);if(u===!0){t.push(r),r="",n=void 0;continue}const c=Ie(i);if(s===!1){if(n===!1&&c===!0){t.push(r),r=i,n=c;continue}if(n===!0&&c===!1&&r.length>1){const p=r.at(-1);t.push(r.slice(0,Math.max(0,r.length-1))),r=p+i,n=c;continue}}r+=i,n=c,s=u}return t.push(r),t}function k(e){return e?Oe(e).map(t=>je(t)).join(""):""}function Pe(e){return We(k(e||""))}function je(e){return e?e[0].toUpperCase()+e.slice(1):""}function We(e){return e?e[0].toLowerCase()+e.slice(1):""}function O(e){if(!e)return{};const t={};function r(n,s){if(n.startsWith("-moz-")||n.startsWith("-webkit-")||n.startsWith("-ms-")||n.startsWith("-o-")){t[k(n)]=s;return}if(n.startsWith("--")){t[n]=s;return}t[Pe(n)]=s}return Re(e,r),t}function Me(...e){return(...t)=>{for(const r of e)typeof r=="function"&&r(...t)}}function Be(e,t){const r=RegExp(e,"g");return n=>{if(typeof n!="string")throw new TypeError(`expected an argument of type string, but got ${typeof n}`);return n.match(r)?n.replace(r,t):n}}const Le=Be(/[A-Z]/,e=>`-${e.toLowerCase()}`);function Ne(e){if(!e||typeof e!="object"||Array.isArray(e))throw new TypeError(`expected an argument of type object, but got ${typeof e}`);return Object.keys(e).map(t=>`${Le(t)}: ${e[t]};`).join(` +`)}function K(e={}){return Ne(e).replace(` +`," ")}const De={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",transform:"translateX(-100%)"};K(De);function He(e){return e.length>2&&e.startsWith("on")&&e[2]===e[2]?.toLowerCase()}function Ze(...e){const t={...e[0]};for(let r=1;rp.has(d));l&&x(c)}return u}delete(t){var r=this.#t,n=r.get(t),s=super.delete(t);return n!==void 0&&(r.delete(t),y(this.#r,super.size),y(n,-1),x(this.#e)),s}clear(){if(super.size!==0){super.clear();var t=this.#t;y(this.#r,0);for(var r of t.values())y(r,-1);x(this.#e),t.clear()}}#n(){E(this.#e);var t=this.#t;if(this.#r.v!==t.size){for(var r of super.keys())if(!t.has(r)){var n=w(0);t.set(r,n)}}for([,n]of this.#t)E(n)}keys(){return E(this.#e),super.keys()}values(){return this.#n(),super.values()}entries(){return this.#n(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return E(this.#r),super.size}}class Ge{#t;#e;constructor(t={}){const{window:r=Fe,document:n=r?.document}=t;r!==void 0&&(this.#t=n,this.#e=de(s=>{const i=U(r,"focusin",s),u=U(r,"focusout",s);return()=>{i(),u()}}))}get current(){return this.#e?.(),this.#t?ze(this.#t):null}}new Ge;function Ue(e,t){switch(e){case"post":Y(t);break;case"pre":ae(t);break}}function Z(e,t,r,n={}){const{lazy:s=!1}=n;let i=!s,u=Array.isArray(e)?[]:void 0;Ue(t,()=>{const c=Array.isArray(e)?e.map(l=>l()):e();if(!i){i=!0,u=c;return}const p=q(()=>r(c,u));return u=c,p})}function J(e,t,r){Z(e,"post",t,r)}function Ve(e,t,r){Z(e,"pre",t,r)}J.pre=Ve;class Qe{#t;#e;constructor(t){this.#t=t,this.#e=Symbol(t)}get key(){return this.#e}exists(){return ce(this.#e)}get(){const t=G(this.#e);if(t===void 0)throw new Error(`Context "${this.#t}" not found`);return t}getOr(t){const r=G(this.#e);return r===void 0?t:r}set(t){return fe(this.#e,t)}}function Xe(e){Y(()=>()=>{e()})}function et({id:e,ref:t,deps:r=()=>!0,onRefChange:n,getRootNode:s}){J([()=>e.current,r],([i])=>{const c=(s?.()??document)?.getElementById(i);c?t.current=c:t.current=null,n?.(t.current)}),Xe(()=>{t.current=null,n?.(null)})}function tt(e){return e?"open":"closed"}function rt(e){return e?"true":"false"}function nt(e){return e?"true":"false"}function st(e){return e?"":void 0}function it(e){return e?"true":"false"}function ot(e){return e}function ut(e){return e?"true":void 0}function at(e){return e}function ct(e){return e?"":void 0}function ft(e){return e?!0:void 0}function lt(e){return e?!0:void 0}const dt="ArrowDown",pt="ArrowLeft",ht="ArrowRight",gt="ArrowUp",vt="End",Et="Enter",bt="Escape",mt="Home",wt=" ",yt="Tab",St="p",At="n",xt="j",_t="k",$e=typeof document<"u",Rt=qe();function qe(){return $e&&window?.navigator?.userAgent&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||window?.navigator?.maxTouchPoints>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Tt(e){return e instanceof HTMLElement}function Ct(e){return e instanceof Element}function It(e){return e.pointerType==="touch"}function Ot(e){return e.matches(":focus-visible")}function Pt(e){return e!==null}function jt(e){return e instanceof HTMLInputElement&&"select"in e}function Wt(e,t){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}globalThis.bitsIdCounter??={current:0};function Mt(e="bits"){return globalThis.bitsIdCounter.current++,`${e}-${globalThis.bitsIdCounter.current}`}function Bt(){}export{gt as A,Tt as B,Qe as C,Se as D,vt as E,Rt as F,O as G,mt as H,Pt as I,K as J,ut as K,_t as L,St as M,xt as N,At as O,De as P,ct as Q,rt as R,wt as S,yt as T,nt as U,It as V,Ot as W,ht as a,pt as b,dt as c,h as d,at as e,ot as f,st as g,Et as h,$e as i,lt as j,it as k,ft as l,Je as m,Mt as n,Bt as o,Ze as p,Fe as q,Me as r,tt as s,Xe as t,et as u,Ct as v,J as w,bt as x,jt as y,Wt as z}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/CSbn2Ldu.js b/.svelte-kit/output/client/_app/immutable/chunks/CSbn2Ldu.js new file mode 100644 index 0000000..d92d640 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/CSbn2Ldu.js @@ -0,0 +1 @@ +import{Q as $,z as I,k as C,R as H,S as W,H as X,T as J,U as k,j as ee,h as q,V as x,x as m,W as g,X as re,n as Z,Y as se,Z as ne,E as D,_ as ue,$ as U,a0 as y,m as z,a1 as ie,s as F,a2 as ae,g as d,a3 as te,a4 as fe,a5 as N,a6 as le,a7 as ce,I as j,d as oe,a8 as G,a9 as pe,aa as _e,ab as de,ac as V,ad as ve,ae as be,af as he,ag as Pe,ah as Ie,ai as P,aj as K}from"./CcQSGzXg.js";function Ae(e,r,[n,s]=[0,0]){I&&n===0&&C();var u=e,i=null,t=null,v=re,S=n>0?H:0,l=!1;const E=(f,c=!0)=>{l=!0,_(c,f)},_=(f,c)=>{if(v===(v=f))return;let b=!1;if(I&&s!==-1){if(n===0){const o=W(u);o===X?s=0:o===J?s=1/0:(s=parseInt(o.substring(1)),s!==s&&(s=v?1/0:-1))}const R=s>n;!!v===R&&(u=k(),ee(u),q(!1),b=!0,s=-1)}v?(i?x(i):c&&(i=m(()=>c(u))),t&&g(t,()=>{t=null})):(t?x(t):c&&(t=m(()=>c(u,[n+1,s]))),i&&g(i,()=>{i=null})),b&&q(!0)};$(()=>{l=!1,r(E),l||_(null,null)},S),I&&(u=Z)}function me(e,r,n){I&&C();var s=e,u,i;$(()=>{u!==(u=r())&&(i&&(g(i),i=null),u&&(i=m(()=>n(s,u))))},H),I&&(s=Z)}function B(e,r){return e===r||e?.[U]===r}function ge(e={},r,n,s){return se(()=>{var u,i;return ne(()=>{u=i,i=[],D(()=>{e!==n(...i)&&(r(e,...i),u&&B(n(...u),e)&&r(null,...u))})}),()=>{ue(()=>{i&&B(n(...i),e)&&r(null,...i)})}}),e}let w=!1,L=Symbol();function De(e,r,n){const s=n[r]??={store:null,source:z(void 0),unsubscribe:y};if(s.store!==e&&!(L in n))if(s.unsubscribe(),s.store=e??null,e==null)s.source.v=void 0,s.unsubscribe=y;else{var u=!0;s.unsubscribe=ie(e,i=>{u?s.source.v=i:F(s.source,i)}),u=!1}return e&&L in n?ae(e):d(s.source)}function Ne(){const e={};function r(){te(()=>{for(var n in e)e[n].unsubscribe();fe(e,L,{enumerable:!1,value:!0})})}return[e,r]}function Se(e){var r=w;try{return w=!1,[e(),w]}finally{w=r}}const Re={get(e,r){if(!e.exclude.includes(r))return e.props[r]},set(e,r){return!1},getOwnPropertyDescriptor(e,r){if(!e.exclude.includes(r)&&r in e.props)return{enumerable:!0,configurable:!0,value:e.props[r]}},has(e,r){return e.exclude.includes(r)?!1:r in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(r=>!e.exclude.includes(r))}};function Le(e,r,n){return new Proxy({props:e,exclude:r},Re)}const we={get(e,r){if(!e.exclude.includes(r))return d(e.version),r in e.special?e.special[r]():e.props[r]},set(e,r,n){return r in e.special||(e.special[r]=Te({get[r](){return e.props[r]}},r,G)),e.special[r](n),K(e.version),!0},getOwnPropertyDescriptor(e,r){if(!e.exclude.includes(r)&&r in e.props)return{enumerable:!0,configurable:!0,value:e.props[r]}},deleteProperty(e,r){return e.exclude.includes(r)||(e.exclude.push(r),K(e.version)),!0},has(e,r){return e.exclude.includes(r)?!1:r in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(r=>!e.exclude.includes(r))}};function Ue(e,r){return new Proxy({props:e,exclude:r,special:{},version:Ie(0)},we)}const Ee={get(e,r){let n=e.props.length;for(;n--;){let s=e.props[n];if(P(s)&&(s=s()),typeof s=="object"&&s!==null&&r in s)return s[r]}},set(e,r,n){let s=e.props.length;for(;s--;){let u=e.props[s];P(u)&&(u=u());const i=N(u,r);if(i&&i.set)return i.set(n),!0}return!1},getOwnPropertyDescriptor(e,r){let n=e.props.length;for(;n--;){let s=e.props[n];if(P(s)&&(s=s()),typeof s=="object"&&s!==null&&r in s){const u=N(s,r);return u&&!u.configurable&&(u.configurable=!0),u}}},has(e,r){if(r===U||r===V)return!1;for(let n of e.props)if(P(n)&&(n=n()),n!=null&&r in n)return!0;return!1},ownKeys(e){const r=[];for(let n of e.props)if(P(n)&&(n=n()),!!n){for(const s in n)r.includes(s)||r.push(s);for(const s of Object.getOwnPropertySymbols(n))r.includes(s)||r.push(s)}return r}};function Ye(...e){return new Proxy({props:e},Ee)}function M(e){return e.ctx?.d??!1}function Te(e,r,n,s){var u=(n&he)!==0,i=!ve||(n&be)!==0,t=(n&de)!==0,v=(n&Pe)!==0,S=!1,l;t?[l,S]=Se(()=>e[r]):l=e[r];var E=U in e||V in e,_=t&&(N(e,r)?.set??(E&&r in e&&(a=>e[r]=a)))||void 0,f=s,c=!0,b=!1,R=()=>(b=!0,c&&(c=!1,v?f=D(s):f=s),f);l===void 0&&s!==void 0&&(_&&i&&le(),l=R(),_&&_(l));var o;if(i)o=()=>{var a=e[r];return a===void 0?R():(c=!0,b=!1,a)};else{var Y=(u?j:oe)(()=>e[r]);Y.f|=ce,o=()=>{var a=d(Y);return a!==void 0&&(f=void 0),a===void 0?f:a}}if((n&G)===0&&i)return o;if(_){var Q=e.$$legacy;return function(a,h){return arguments.length>0?((!i||!h||Q||S)&&_(h?o():a),a):o()}}var T=!1,O=z(l),p=j(()=>{var a=o(),h=d(O);return T?(T=!1,h):O.v=a});return t&&d(p),u||(p.equals=pe),function(a,h){if(arguments.length>0){const A=h?d(p):i&&t?_e(a):a;if(!p.equals(A)){if(T=!0,F(O,A),b&&f!==void 0&&(f=A),M(p))return a;D(()=>d(p))}return a}return M(p)?p.v:d(p)}}export{De as a,ge as b,me as c,Ye as d,Ae as i,Ue as l,Te as p,Le as r,Ne as s}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/CcQSGzXg.js b/.svelte-kit/output/client/_app/immutable/chunks/CcQSGzXg.js new file mode 100644 index 0000000..4b39440 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/CcQSGzXg.js @@ -0,0 +1 @@ +var he=Array.isArray,ye=Array.prototype.indexOf,sn=Array.from,an=Object.defineProperty,W=Object.getOwnPropertyDescriptor,we=Object.getOwnPropertyDescriptors,ge=Object.prototype,Ee=Array.prototype,Yt=Object.getPrototypeOf,Pt=Object.isExtensible;function ln(t){return typeof t=="function"}const V=()=>{};function un(t){return t()}function mt(t){for(var e=0;e{r.d=!0})}function qn(t){const e=d;if(e!==null){t!==void 0&&(e.x=t);const f=e.e;if(f!==null){var n=p,r=v;e.e=null;try{for(var s=0;s{var u=v;K(a);var l=i();return K(u),l};return r&&n.set("length",S(t.length)),new Proxy(t,{defineProperty(i,u,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&Re();var _=n.get(u);return _===void 0?_=f(()=>{var o=S(l.value);return n.set(u,o),o}):I(_,l.value,!0),!0},deleteProperty(i,u){var l=n.get(u);if(l===void 0){if(u in i){const c=f(()=>S(g));n.set(u,c),yt(s)}}else{if(r&&typeof u=="string"){var _=n.get("length"),o=Number(u);Number.isInteger(o)&&o<_.v&&I(_,o)}I(l,g),yt(s)}return!0},get(i,u,l){if(u===q)return t;var _=n.get(u),o=u in i;if(_===void 0&&(!o||W(i,u)?.writable)&&(_=f(()=>{var y=Z(o?i[u]:g),w=S(y);return w}),n.set(u,_)),_!==void 0){var c=F(_);return c===g?void 0:c}return Reflect.get(i,u,l)},getOwnPropertyDescriptor(i,u){var l=Reflect.getOwnPropertyDescriptor(i,u);if(l&&"value"in l){var _=n.get(u);_&&(l.value=F(_))}else if(l===void 0){var o=n.get(u),c=o?.v;if(o!==void 0&&c!==g)return{enumerable:!0,configurable:!0,value:c,writable:!0}}return l},has(i,u){if(u===q)return!0;var l=n.get(u),_=l!==void 0&&l.v!==g||Reflect.has(i,u);if(l!==void 0||p!==null&&(!_||W(i,u)?.writable)){l===void 0&&(l=f(()=>{var c=_?Z(i[u]):g,y=S(c);return y}),n.set(u,l));var o=F(l);if(o===g)return!1}return _},set(i,u,l,_){var o=n.get(u),c=u in i;if(r&&u==="length")for(var y=l;yS(g)),n.set(y+"",w))}if(o===void 0)(!c||W(i,u)?.writable)&&(o=f(()=>S(void 0)),I(o,Z(l)),n.set(u,o));else{c=o.v!==g;var z=f(()=>Z(l));I(o,z)}var lt=Reflect.getOwnPropertyDescriptor(i,u);if(lt?.set&<.set.call(_,l),!c){if(r&&typeof u=="string"){var Nt=n.get("length"),ht=Number(u);Number.isInteger(ht)&&ht>=Nt.v&&I(Nt,ht+1)}yt(s)}return!0},ownKeys(i){F(s);var u=Reflect.ownKeys(i).filter(o=>{var c=n.get(o);return c===void 0||c.v!==g});for(var[l,_]of n)_.v!==g&&!(l in i)&&u.push(l);return u},setPrototypeOf(){ke()}})}function yt(t,e=1){I(t,t.v+e)}function Ft(t){try{if(t!==null&&typeof t=="object"&&q in t)return t[q]}catch{}return t}function Ln(t,e){return Object.is(Ft(t),Ft(e))}function Dt(t){var e=R|N,n=v!==null&&(v.f&R)!==0?v:null;return p===null||n!==null&&(n.f&b)!==0?e|=b:p.f|=Ut,{ctx:d,deps:null,effects:null,equals:Vt,f:e,fn:t,reactions:null,rv:0,v:null,wv:0,parent:n??p}}function Yn(t){const e=Dt(t);return fe(e),e}function jn(t){const e=Dt(t);return e.equals=Kt,e}function $t(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;n{P(e)}}function sr(t){const e=B(j,t,!0);return(n={})=>new Promise(r=>{n.outro?Be(e,()=>{P(e),r(void 0)}):(P(e),r(void 0))})}function te(t){return B(jt,t,!1)}function ar(t,e){var n=d,r={effect:null,ran:!1};n.l.r1.push(r),r.effect=St(()=>{t(),!r.ran&&(r.ran=!0,I(n.l.r2,!0),pt(e))})}function lr(){var t=d;St(()=>{if(F(t.l.r2)){for(var e of t.l.r1){var n=e.effect;(n.f&m)!==0&&D(n,M),at(n)&&dt(n),e.ran=!1}t.l.r2.v=!1}})}function St(t){return B(ct,t,!0)}function ur(t,e=[],n=Dt){const r=e.map(n);return Ye(()=>t(...r.map(F)))}function Ye(t,e=0){return B(ct|xt|e,t,!0)}function ir(t,e=!0){return B(ct|O,t,!0,e)}function ee(t){var e=t.teardown;if(e!==null){const n=$,r=v;Lt(!0),K(null);try{e.call(null)}finally{Lt(n),K(r)}}}function ne(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){var r=n.next;(n.f&j)!==0?n.parent=null:P(n,e),n=r}}function je(t){for(var e=t.first;e!==null;){var n=e.next;(e.f&O)===0&&P(e),e=n}}function P(t,e=!0){var n=!1;(e||(t.f&be)!==0)&&t.nodes_start!==null&&t.nodes_end!==null&&(He(t.nodes_start,t.nodes_end),n=!0),ne(t,e&&!n),ot(t,0),D(t,At);var r=t.transitions;if(r!==null)for(const a of r)a.stop();ee(t);var s=t.parent;s!==null&&s.first!==null&&re(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=null}function He(t,e){for(;t!==null;){var n=t===e?null:H(t);t.remove(),t=n}}function re(t){var e=t.parent,n=t.prev,r=t.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),e!==null&&(e.first===t&&(e.first=r),e.last===t&&(e.last=n))}function Be(t,e){var n=[];se(t,n,!0),Ue(n,()=>{P(t),e&&e()})}function Ue(t,e){var n=t.length;if(n>0){var r=()=>--n||e();for(var s of t)s.out(r)}else e()}function se(t,e,n){if((t.f&G)===0){if(t.f^=G,t.transitions!==null)for(const f of t.transitions)(f.is_global||n)&&e.push(f);for(var r=t.first;r!==null;){var s=r.next,a=(r.f&Bt)!==0||(r.f&O)!==0;se(r,e,a?n:!1),r=s}}}function fr(t){ae(t,!0)}function ae(t,e){if((t.f&G)!==0){t.f^=G;for(var n=t.first;n!==null;){var r=n.next,s=(n.f&Bt)!==0||(n.f&O)!==0;ae(n,s?e:!1),n=r}if(t.transitions!==null)for(const a of t.transitions)(a.is_global||e)&&a.in()}}const Ve=typeof requestIdleCallback>"u"?t=>setTimeout(t,1):requestIdleCallback;let tt=[],et=[];function le(){var t=tt;tt=[],mt(t)}function ue(){var t=et;et=[],mt(t)}function or(t){tt.length===0&&queueMicrotask(le),tt.push(t)}function cr(t){et.length===0&&Ve(ue),et.push(t)}function Ge(){tt.length>0&&le(),et.length>0&&ue()}function Ke(t){var e=p;if((e.f&Ht)===0){if((e.f&Tt)===0)throw t;e.fn(t)}else ie(t,e)}function ie(t,e){for(;e!==null;){if((e.f&Tt)!==0)try{e.fn(t);return}catch{}e=e.parent}throw t}let nt=!1,rt=null,L=!1,$=!1;function Lt(t){$=t}let X=[];let v=null,A=!1;function K(t){v=t}let p=null;function it(t){p=t}let T=null;function fe(t){v!==null&&v.f&wt&&(T===null?T=[v,[t]]:T[1].push(t))}let h=null,E=0,x=null;function $e(t){x=t}let oe=1,ft=0,C=!1;function ce(){return++oe}function at(t){var e=t.f;if((e&N)!==0)return!0;if((e&M)!==0){var n=t.deps,r=(e&b)!==0;if(n!==null){var s,a,f=(e&ut)!==0,i=r&&p!==null&&!C,u=n.length;if(f||i){var l=t,_=l.parent;for(s=0;st.wv)return!0}(!r||p!==null&&!C)&&D(t,m)}return!1}function _e(t,e,n=!0){var r=t.reactions;if(r!==null)for(var s=0;s0)for(o.length=E+h.length,c=0;c0;){e++>1e3&&Ze();var n=X,r=n.length;X=[];for(var s=0;st.subscribe(e,n));return r.unsubscribe?()=>r.unsubscribe():r}const U=[];function tn(t,e){return{subscribe:en(t,e).subscribe}}function en(t,e=V){let n=null;const r=new Set;function s(i){if(Gt(t,i)&&(t=i,n)){const u=!U.length;for(const l of r)l[1](),U.push(l,t);if(u){for(let l=0;l{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:s,update:a,subscribe:f}}function dr(t,e,n){const r=!Array.isArray(t),s=r?[t]:t;if(!s.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const a=e.length<2;return tn(n,(f,i)=>{let u=!1;const l=[];let _=0,o=V;const c=()=>{if(_)return;o();const w=e(r?l[0]:l,f,i);a?f(w):o=typeof w=="function"?w:V},y=s.map((w,z)=>pe(w,lt=>{l[z]=lt,_&=~(1<{_|=1<e=n)(),e}function nn(t){d===null&&kt(),st&&d.l!==null?rn(d).m.push(t):Le(()=>{const e=pt(t);if(typeof e=="function")return e})}function hr(t){d===null&&kt(),nn(()=>()=>pt(t))}function rn(t){var e=t.l;return e.u??={a:[],b:[],m:[]}}export{q as $,p as A,nr as B,Le as C,mt as D,pt as E,un as F,vr as G,Ie as H,Dt as I,hn as J,Jn as K,ur as L,Xn as M,Kn as N,Qn as O,He as P,Ye as Q,Bt as R,Zn as S,Oe as T,zn as U,fr as V,Be as W,g as X,te as Y,St as Z,or as _,lr as a,Gt as a$,V as a0,pe as a1,pr as a2,qe as a3,an as a4,W as a5,pn as a6,on as a7,Tn as a8,Kt as a9,Sn as aA,In as aB,Yt as aC,_n as aD,cr as aE,we as aF,_t as aG,en as aH,gn as aI,G as aJ,wn as aK,En as aL,yn as aM,Pe as aN,se as aO,Ue as aP,bn as aQ,On as aR,dr as aS,fn as aT,er as aU,Pn as aV,Cn as aW,Nn as aX,hr as aY,ge as aZ,vn as a_,Z as aa,An as ab,cn as ac,st as ad,xn as ae,mn as af,Rn as ag,It as ah,ln as ai,Bn as aj,Je as ak,nn as al,S as am,_r as an,Yn as ao,K as ap,it as aq,v as ar,he as as,Me as at,kn as au,Dn as av,$n as aw,P as ax,Un as ay,Ln as az,qn as b,Mn as b0,rr as b1,Et as c,jn as d,H as e,Rt as f,F as g,Vn as h,Wn as i,Q as j,Gn as k,ar as l,Hn as m,k as n,Se as o,Fn as p,Ot as q,dn as r,I as s,tr as t,sn as u,sr as v,gt as w,ir as x,d as y,Y as z}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/ChoBOLD_.js b/.svelte-kit/output/client/_app/immutable/chunks/ChoBOLD_.js new file mode 100644 index 0000000..98338d9 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/ChoBOLD_.js @@ -0,0 +1,13 @@ +import{e as D,c as h,t as Me,f as y,g as Rn,v as xn}from"./CBa6YeNv.js";import{i as ut}from"./D9r2v96-.js";import{K as E,p as b,b as B,L as X,g as m,ao as j,am as de,aa as Ht,B as Fn,s as G,M as P,a0 as ee,N as $,aH as $n,O,aw as Nt,al as Pn,aY as yn,l as ge,m as fe,a as qt,E as W,C as Mn,an as ot,d as xt,G as Be}from"./CcQSGzXg.js";import{I as Ue,s as Ie,a as en,B as Te,e as Pe,i as ye,k as Ft}from"./pk0RzIpj.js";import{l as Ke,d as Ve,i as z,c as ie,p as A,r as te,b as ne,s as Xe,a as Je}from"./CSbn2Ldu.js";import{a as J,b as oe,c as le,p as jt,s as At,e as at,i as In}from"./C-0S9jGX.js";import{s as Q}from"./CkeX2SFv.js";import{g as sn}from"./G-SkzPYD.js";function Vn(e,n){const t=Ke(n,["children","$$slots","$$events","$$legacy"]),o=[["path",{d:"m21 16-4 4-4-4"}],["path",{d:"M17 20V4"}],["path",{d:"m3 8 4-4 4 4"}],["path",{d:"M7 4v16"}]];Ue(e,Ve({name:"arrow-up-down"},()=>t,{get iconNode(){return o},children:(r,i)=>{var l=D(),s=E(l);Ie(s,n,"default",{}),h(r,l)},$$slots:{default:!0}}))}function En(e,n){const t=Ke(n,["children","$$slots","$$events","$$legacy"]),o=[["path",{d:"m15 18-6-6 6-6"}]];Ue(e,Ve({name:"chevron-left"},()=>t,{get iconNode(){return o},children:(r,i)=>{var l=D(),s=E(l);Ie(s,n,"default",{}),h(r,l)},$$slots:{default:!0}}))}function Ut(e,n){const t=Ke(n,["children","$$slots","$$events","$$legacy"]),o=[["path",{d:"m9 18 6-6-6-6"}]];Ue(e,Ve({name:"chevron-right"},()=>t,{get iconNode(){return o},children:(r,i)=>{var l=D(),s=E(l);Ie(s,n,"default",{}),h(r,l)},$$slots:{default:!0}}))}function Dn(e,n){const t=Ke(n,["children","$$slots","$$events","$$legacy"]),o=[["path",{d:"m11 17-5-5 5-5"}],["path",{d:"m18 17-5-5 5-5"}]];Ue(e,Ve({name:"chevrons-left"},()=>t,{get iconNode(){return o},children:(r,i)=>{var l=D(),s=E(l);Ie(s,n,"default",{}),h(r,l)},$$slots:{default:!0}}))}function zn(e,n){const t=Ke(n,["children","$$slots","$$events","$$legacy"]),o=[["path",{d:"m6 17 5-5-5-5"}],["path",{d:"m13 17 5-5-5-5"}]];Ue(e,Ve({name:"chevrons-right"},()=>t,{get iconNode(){return o},children:(r,i)=>{var l=D(),s=E(l);Ie(s,n,"default",{}),h(r,l)},$$slots:{default:!0}}))}/** + * table-core + * + * Copyright (c) TanStack + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function ce(e,n){return typeof e=="function"?e(n):e}function U(e,n){return t=>{n.setState(o=>({...o,[e]:ce(t,o[e])}))}}function gt(e){return e instanceof Function}function Gn(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function Ln(e,n){const t=[],o=r=>{r.forEach(i=>{t.push(i);const l=n(i);l!=null&&l.length&&o(l)})};return o(e),t}function x(e,n,t){let o=[],r;return i=>{let l;t.key&&t.debug&&(l=Date.now());const s=e(i);if(!(s.length!==o.length||s.some((p,c)=>o[c]!==p)))return r;o=s;let d;if(t.key&&t.debug&&(d=Date.now()),r=n(...s),t==null||t.onChange==null||t.onChange(r),t.key&&t.debug&&t!=null&&t.debug()){const p=Math.round((Date.now()-l)*100)/100,c=Math.round((Date.now()-d)*100)/100,g=c/16,a=(f,v)=>{for(f=String(f);f.length{var r;return(r=e?.debugAll)!=null?r:e[n]},key:!1,onChange:o}}function Hn(e,n,t,o){const r=()=>{var l;return(l=i.getValue())!=null?l:e.options.renderFallbackValue},i={id:`${n.id}_${t.id}`,row:n,column:t,getValue:()=>n.getValue(o),renderValue:r,getContext:x(()=>[e,t,n,i],(l,s,u,d)=>({table:l,column:s,row:u,cell:d,getValue:d.getValue,renderValue:d.renderValue}),F(e.options,"debugCells"))};return e._features.forEach(l=>{l.createCell==null||l.createCell(i,t,n,e)},{}),i}function An(e,n,t,o){var r,i;const s={...e._getDefaultColumnDef(),...n},u=s.accessorKey;let d=(r=(i=s.id)!=null?i:u?typeof String.prototype.replaceAll=="function"?u.replaceAll(".","_"):u.replace(/\./g,"_"):void 0)!=null?r:typeof s.header=="string"?s.header:void 0,p;if(s.accessorFn?p=s.accessorFn:u&&(u.includes(".")?p=g=>{let a=g;for(const v of u.split(".")){var f;a=(f=a)==null?void 0:f[v]}return a}:p=g=>g[s.accessorKey]),!d)throw new Error;let c={id:`${String(d)}`,accessorFn:p,parent:o,depth:t,columnDef:s,columns:[],getFlatColumns:x(()=>[!0],()=>{var g;return[c,...(g=c.columns)==null?void 0:g.flatMap(a=>a.getFlatColumns())]},F(e.options,"debugColumns")),getLeafColumns:x(()=>[e._getOrderColumnsFn()],g=>{var a;if((a=c.columns)!=null&&a.length){let f=c.columns.flatMap(v=>v.getLeafColumns());return g(f)}return[c]},F(e.options,"debugColumns"))};for(const g of e._features)g.createColumn==null||g.createColumn(c,e);return c}const N="debugHeaders";function tn(e,n,t){var o;let i={id:(o=t.id)!=null?o:n.id,column:n,index:t.index,isPlaceholder:!!t.isPlaceholder,placeholderId:t.placeholderId,depth:t.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const l=[],s=u=>{u.subHeaders&&u.subHeaders.length&&u.subHeaders.map(s),l.push(u)};return s(i),l},getContext:()=>({table:e,header:i,column:n})};return e._features.forEach(l=>{l.createHeader==null||l.createHeader(i,e)}),i}const kn={createTable:e=>{e.getHeaderGroups=x(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,o,r)=>{var i,l;const s=(i=o?.map(c=>t.find(g=>g.id===c)).filter(Boolean))!=null?i:[],u=(l=r?.map(c=>t.find(g=>g.id===c)).filter(Boolean))!=null?l:[],d=t.filter(c=>!(o!=null&&o.includes(c.id))&&!(r!=null&&r.includes(c.id)));return rt(n,[...s,...d,...u],e)},F(e.options,N)),e.getCenterHeaderGroups=x(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,o,r)=>(t=t.filter(i=>!(o!=null&&o.includes(i.id))&&!(r!=null&&r.includes(i.id))),rt(n,t,e,"center")),F(e.options,N)),e.getLeftHeaderGroups=x(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,t,o)=>{var r;const i=(r=o?.map(l=>t.find(s=>s.id===l)).filter(Boolean))!=null?r:[];return rt(n,i,e,"left")},F(e.options,N)),e.getRightHeaderGroups=x(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,t,o)=>{var r;const i=(r=o?.map(l=>t.find(s=>s.id===l)).filter(Boolean))!=null?r:[];return rt(n,i,e,"right")},F(e.options,N)),e.getFooterGroups=x(()=>[e.getHeaderGroups()],n=>[...n].reverse(),F(e.options,N)),e.getLeftFooterGroups=x(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),F(e.options,N)),e.getCenterFooterGroups=x(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),F(e.options,N)),e.getRightFooterGroups=x(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),F(e.options,N)),e.getFlatHeaders=x(()=>[e.getHeaderGroups()],n=>n.map(t=>t.headers).flat(),F(e.options,N)),e.getLeftFlatHeaders=x(()=>[e.getLeftHeaderGroups()],n=>n.map(t=>t.headers).flat(),F(e.options,N)),e.getCenterFlatHeaders=x(()=>[e.getCenterHeaderGroups()],n=>n.map(t=>t.headers).flat(),F(e.options,N)),e.getRightFlatHeaders=x(()=>[e.getRightHeaderGroups()],n=>n.map(t=>t.headers).flat(),F(e.options,N)),e.getCenterLeafHeaders=x(()=>[e.getCenterFlatHeaders()],n=>n.filter(t=>{var o;return!((o=t.subHeaders)!=null&&o.length)}),F(e.options,N)),e.getLeftLeafHeaders=x(()=>[e.getLeftFlatHeaders()],n=>n.filter(t=>{var o;return!((o=t.subHeaders)!=null&&o.length)}),F(e.options,N)),e.getRightLeafHeaders=x(()=>[e.getRightFlatHeaders()],n=>n.filter(t=>{var o;return!((o=t.subHeaders)!=null&&o.length)}),F(e.options,N)),e.getLeafHeaders=x(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,t,o)=>{var r,i,l,s,u,d;return[...(r=(i=n[0])==null?void 0:i.headers)!=null?r:[],...(l=(s=t[0])==null?void 0:s.headers)!=null?l:[],...(u=(d=o[0])==null?void 0:d.headers)!=null?u:[]].map(p=>p.getLeafHeaders()).flat()},F(e.options,N))}};function rt(e,n,t,o){var r,i;let l=0;const s=function(g,a){a===void 0&&(a=1),l=Math.max(l,a),g.filter(f=>f.getIsVisible()).forEach(f=>{var v;(v=f.columns)!=null&&v.length&&s(f.columns,a+1)},0)};s(e);let u=[];const d=(g,a)=>{const f={depth:a,id:[o,`${a}`].filter(Boolean).join("_"),headers:[]},v=[];g.forEach(S=>{const w=[...v].reverse()[0],R=S.column.depth===f.depth;let _,C=!1;if(R&&S.column.parent?_=S.column.parent:(_=S.column,C=!0),w&&w?.column===_)w.subHeaders.push(S);else{const M=tn(t,_,{id:[o,a,_.id,S?.id].filter(Boolean).join("_"),isPlaceholder:C,placeholderId:C?`${v.filter(H=>H.column===_).length}`:void 0,depth:a,index:v.length});M.subHeaders.push(S),v.push(M)}f.headers.push(S),S.headerGroup=f}),u.push(f),a>0&&d(v,a-1)},p=n.map((g,a)=>tn(t,g,{depth:l,index:a}));d(p,l-1),u.reverse();const c=g=>g.filter(f=>f.column.getIsVisible()).map(f=>{let v=0,S=0,w=[0];f.subHeaders&&f.subHeaders.length?(w=[],c(f.subHeaders).forEach(_=>{let{colSpan:C,rowSpan:M}=_;v+=C,w.push(M)})):v=1;const R=Math.min(...w);return S=S+R,f.colSpan=v,f.rowSpan=S,{colSpan:v,rowSpan:S}});return c((r=(i=u[0])==null?void 0:i.headers)!=null?r:[]),u}const Kt=(e,n,t,o,r,i,l)=>{let s={id:n,index:o,original:t,depth:r,parentId:l,_valuesCache:{},_uniqueValuesCache:{},getValue:u=>{if(s._valuesCache.hasOwnProperty(u))return s._valuesCache[u];const d=e.getColumn(u);if(d!=null&&d.accessorFn)return s._valuesCache[u]=d.accessorFn(s.original,o),s._valuesCache[u]},getUniqueValues:u=>{if(s._uniqueValuesCache.hasOwnProperty(u))return s._uniqueValuesCache[u];const d=e.getColumn(u);if(d!=null&&d.accessorFn)return d.columnDef.getUniqueValues?(s._uniqueValuesCache[u]=d.columnDef.getUniqueValues(s.original,o),s._uniqueValuesCache[u]):(s._uniqueValuesCache[u]=[s.getValue(u)],s._uniqueValuesCache[u])},renderValue:u=>{var d;return(d=s.getValue(u))!=null?d:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>Ln(s.subRows,u=>u.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let u=[],d=s;for(;;){const p=d.getParentRow();if(!p)break;u.push(p),d=p}return u.reverse()},getAllCells:x(()=>[e.getAllLeafColumns()],u=>u.map(d=>Hn(e,s,d,d.id)),F(e.options,"debugRows")),_getAllCellsByColumnId:x(()=>[s.getAllCells()],u=>u.reduce((d,p)=>(d[p.column.id]=p,d),{}),F(e.options,"debugRows"))};for(let u=0;u{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},an=(e,n,t)=>{var o,r;const i=t==null||(o=t.toString())==null?void 0:o.toLowerCase();return!!(!((r=e.getValue(n))==null||(r=r.toString())==null||(r=r.toLowerCase())==null)&&r.includes(i))};an.autoRemove=e=>Z(e);const un=(e,n,t)=>{var o;return!!(!((o=e.getValue(n))==null||(o=o.toString())==null)&&o.includes(t))};un.autoRemove=e=>Z(e);const gn=(e,n,t)=>{var o;return((o=e.getValue(n))==null||(o=o.toString())==null?void 0:o.toLowerCase())===t?.toLowerCase()};gn.autoRemove=e=>Z(e);const dn=(e,n,t)=>{var o;return(o=e.getValue(n))==null?void 0:o.includes(t)};dn.autoRemove=e=>Z(e);const cn=(e,n,t)=>!t.some(o=>{var r;return!((r=e.getValue(n))!=null&&r.includes(o))});cn.autoRemove=e=>Z(e)||!(e!=null&&e.length);const fn=(e,n,t)=>t.some(o=>{var r;return(r=e.getValue(n))==null?void 0:r.includes(o)});fn.autoRemove=e=>Z(e)||!(e!=null&&e.length);const pn=(e,n,t)=>e.getValue(n)===t;pn.autoRemove=e=>Z(e);const vn=(e,n,t)=>e.getValue(n)==t;vn.autoRemove=e=>Z(e);const Xt=(e,n,t)=>{let[o,r]=t;const i=e.getValue(n);return i>=o&&i<=r};Xt.resolveFilterValue=e=>{let[n,t]=e,o=typeof n!="number"?parseFloat(n):n,r=typeof t!="number"?parseFloat(t):t,i=n===null||Number.isNaN(o)?-1/0:o,l=t===null||Number.isNaN(r)?1/0:r;if(i>l){const s=i;i=l,l=s}return[i,l]};Xt.autoRemove=e=>Z(e)||Z(e[0])&&Z(e[1]);const ue={includesString:an,includesStringSensitive:un,equalsString:gn,arrIncludes:dn,arrIncludesAll:cn,arrIncludesSome:fn,equals:pn,weakEquals:vn,inNumberRange:Xt};function Z(e){return e==null||e===""}const bn={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:U("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{const t=n.getCoreRowModel().flatRows[0],o=t?.getValue(e.id);return typeof o=="string"?ue.includesString:typeof o=="number"?ue.inNumberRange:typeof o=="boolean"||o!==null&&typeof o=="object"?ue.equals:Array.isArray(o)?ue.arrIncludes:ue.weakEquals},e.getFilterFn=()=>{var t,o;return gt(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(t=(o=n.options.filterFns)==null?void 0:o[e.columnDef.filterFn])!=null?t:ue[e.columnDef.filterFn]},e.getCanFilter=()=>{var t,o,r;return((t=e.columnDef.enableColumnFilter)!=null?t:!0)&&((o=n.options.enableColumnFilters)!=null?o:!0)&&((r=n.options.enableFilters)!=null?r:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var t;return(t=n.getState().columnFilters)==null||(t=t.find(o=>o.id===e.id))==null?void 0:t.value},e.getFilterIndex=()=>{var t,o;return(t=(o=n.getState().columnFilters)==null?void 0:o.findIndex(r=>r.id===e.id))!=null?t:-1},e.setFilterValue=t=>{n.setColumnFilters(o=>{const r=e.getFilterFn(),i=o?.find(p=>p.id===e.id),l=ce(t,i?i.value:void 0);if(nn(r,l,e)){var s;return(s=o?.filter(p=>p.id!==e.id))!=null?s:[]}const u={id:e.id,value:l};if(i){var d;return(d=o?.map(p=>p.id===e.id?u:p))!=null?d:[]}return o!=null&&o.length?[...o,u]:[u]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=n=>{const t=e.getAllLeafColumns(),o=r=>{var i;return(i=ce(n,r))==null?void 0:i.filter(l=>{const s=t.find(u=>u.id===l.id);if(s){const u=s.getFilterFn();if(nn(u,l.value,s))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(o)},e.resetColumnFilters=n=>{var t,o;e.setColumnFilters(n?[]:(t=(o=e.initialState)==null?void 0:o.columnFilters)!=null?t:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function nn(e,n,t){return(e&&e.autoRemove?e.autoRemove(n,t):!1)||typeof n>"u"||typeof n=="string"&&!n}const Bn=(e,n,t)=>t.reduce((o,r)=>{const i=r.getValue(e);return o+(typeof i=="number"?i:0)},0),Tn=(e,n,t)=>{let o;return t.forEach(r=>{const i=r.getValue(e);i!=null&&(o>i||o===void 0&&i>=i)&&(o=i)}),o},Nn=(e,n,t)=>{let o;return t.forEach(r=>{const i=r.getValue(e);i!=null&&(o=i)&&(o=i)}),o},qn=(e,n,t)=>{let o,r;return t.forEach(i=>{const l=i.getValue(e);l!=null&&(o===void 0?l>=l&&(o=r=l):(o>l&&(o=l),r{let t=0,o=0;if(n.forEach(r=>{let i=r.getValue(e);i!=null&&(i=+i)>=i&&(++t,o+=i)}),t)return o/t},Un=(e,n)=>{if(!n.length)return;const t=n.map(i=>i.getValue(e));if(!Gn(t))return;if(t.length===1)return t[0];const o=Math.floor(t.length/2),r=t.sort((i,l)=>i-l);return t.length%2!==0?r[o]:(r[o-1]+r[o])/2},Kn=(e,n)=>Array.from(new Set(n.map(t=>t.getValue(e))).values()),Xn=(e,n)=>new Set(n.map(t=>t.getValue(e))).size,Jn=(e,n)=>n.length,$t={sum:Bn,min:Tn,max:Nn,extent:qn,mean:jn,median:Un,unique:Kn,uniqueCount:Xn,count:Jn},Yn={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,t;return(n=(t=e.getValue())==null||t.toString==null?void 0:t.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:U("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(o=>o!==e.id):[...t??[],e.id])},e.getCanGroup=()=>{var t,o;return((t=e.columnDef.enableGrouping)!=null?t:!0)&&((o=n.options.enableGrouping)!=null?o:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var t;return(t=n.getState().grouping)==null?void 0:t.includes(e.id)},e.getGroupedIndex=()=>{var t;return(t=n.getState().grouping)==null?void 0:t.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const t=n.getCoreRowModel().flatRows[0],o=t?.getValue(e.id);if(typeof o=="number")return $t.sum;if(Object.prototype.toString.call(o)==="[object Date]")return $t.extent},e.getAggregationFn=()=>{var t,o;if(!e)throw new Error;return gt(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(t=(o=n.options.aggregationFns)==null?void 0:o[e.columnDef.aggregationFn])!=null?t:$t[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=n=>{var t,o;e.setGrouping(n?[]:(t=(o=e.initialState)==null?void 0:o.grouping)!=null?t:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=t=>{if(e._groupingValuesCache.hasOwnProperty(t))return e._groupingValuesCache[t];const o=n.getColumn(t);return o!=null&&o.columnDef.getGroupingValue?(e._groupingValuesCache[t]=o.columnDef.getGroupingValue(e.original),e._groupingValuesCache[t]):e.getValue(t)},e._groupingValuesCache={}},createCell:(e,n,t,o)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===t.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var r;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((r=t.subRows)!=null&&r.length)}}};function Wn(e,n,t){if(!(n!=null&&n.length)||!t)return e;const o=e.filter(i=>!n.includes(i.id));return t==="remove"?o:[...n.map(i=>e.find(l=>l.id===i)).filter(Boolean),...o]}const Qn={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:U("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=x(t=>[je(n,t)],t=>t.findIndex(o=>o.id===e.id),F(n.options,"debugColumns")),e.getIsFirstColumn=t=>{var o;return((o=je(n,t)[0])==null?void 0:o.id)===e.id},e.getIsLastColumn=t=>{var o;const r=je(n,t);return((o=r[r.length-1])==null?void 0:o.id)===e.id}},createTable:e=>{e.setColumnOrder=n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=n=>{var t;e.setColumnOrder(n?[]:(t=e.initialState.columnOrder)!=null?t:[])},e._getOrderColumnsFn=x(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,t,o)=>r=>{let i=[];if(!(n!=null&&n.length))i=r;else{const l=[...n],s=[...r];for(;s.length&&l.length;){const u=l.shift(),d=s.findIndex(p=>p.id===u);d>-1&&i.push(s.splice(d,1)[0])}i=[...i,...s]}return Wn(i,t,o)},F(e.options,"debugTable"))}},Pt=()=>({left:[],right:[]}),Zn={getInitialState:e=>({columnPinning:Pt(),...e}),getDefaultOptions:e=>({onColumnPinningChange:U("columnPinning",e)}),createColumn:(e,n)=>{e.pin=t=>{const o=e.getLeafColumns().map(r=>r.id).filter(Boolean);n.setColumnPinning(r=>{var i,l;if(t==="right"){var s,u;return{left:((s=r?.left)!=null?s:[]).filter(c=>!(o!=null&&o.includes(c))),right:[...((u=r?.right)!=null?u:[]).filter(c=>!(o!=null&&o.includes(c))),...o]}}if(t==="left"){var d,p;return{left:[...((d=r?.left)!=null?d:[]).filter(c=>!(o!=null&&o.includes(c))),...o],right:((p=r?.right)!=null?p:[]).filter(c=>!(o!=null&&o.includes(c)))}}return{left:((i=r?.left)!=null?i:[]).filter(c=>!(o!=null&&o.includes(c))),right:((l=r?.right)!=null?l:[]).filter(c=>!(o!=null&&o.includes(c)))}})},e.getCanPin=()=>e.getLeafColumns().some(o=>{var r,i,l;return((r=o.columnDef.enablePinning)!=null?r:!0)&&((i=(l=n.options.enableColumnPinning)!=null?l:n.options.enablePinning)!=null?i:!0)}),e.getIsPinned=()=>{const t=e.getLeafColumns().map(s=>s.id),{left:o,right:r}=n.getState().columnPinning,i=t.some(s=>o?.includes(s)),l=t.some(s=>r?.includes(s));return i?"left":l?"right":!1},e.getPinnedIndex=()=>{var t,o;const r=e.getIsPinned();return r?(t=(o=n.getState().columnPinning)==null||(o=o[r])==null?void 0:o.indexOf(e.id))!=null?t:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=x(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(t,o,r)=>{const i=[...o??[],...r??[]];return t.filter(l=>!i.includes(l.column.id))},F(n.options,"debugRows")),e.getLeftVisibleCells=x(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(t,o)=>(o??[]).map(i=>t.find(l=>l.column.id===i)).filter(Boolean).map(i=>({...i,position:"left"})),F(n.options,"debugRows")),e.getRightVisibleCells=x(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(t,o)=>(o??[]).map(i=>t.find(l=>l.column.id===i)).filter(Boolean).map(i=>({...i,position:"right"})),F(n.options,"debugRows"))},createTable:e=>{e.setColumnPinning=n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=n=>{var t,o;return e.setColumnPinning(n?Pt():(t=(o=e.initialState)==null?void 0:o.columnPinning)!=null?t:Pt())},e.getIsSomeColumnsPinned=n=>{var t;const o=e.getState().columnPinning;if(!n){var r,i;return!!((r=o.left)!=null&&r.length||(i=o.right)!=null&&i.length)}return!!((t=o[n])!=null&&t.length)},e.getLeftLeafColumns=x(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,t)=>(t??[]).map(o=>n.find(r=>r.id===o)).filter(Boolean),F(e.options,"debugColumns")),e.getRightLeafColumns=x(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,t)=>(t??[]).map(o=>n.find(r=>r.id===o)).filter(Boolean),F(e.options,"debugColumns")),e.getCenterLeafColumns=x(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,o)=>{const r=[...t??[],...o??[]];return n.filter(i=>!r.includes(i.id))},F(e.options,"debugColumns"))}};function eo(e){return e||(typeof document<"u"?document:null)}const it={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},yt=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),to={getDefaultColumnDef:()=>it,getInitialState:e=>({columnSizing:{},columnSizingInfo:yt(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:U("columnSizing",e),onColumnSizingInfoChange:U("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var t,o,r;const i=n.getState().columnSizing[e.id];return Math.min(Math.max((t=e.columnDef.minSize)!=null?t:it.minSize,(o=i??e.columnDef.size)!=null?o:it.size),(r=e.columnDef.maxSize)!=null?r:it.maxSize)},e.getStart=x(t=>[t,je(n,t),n.getState().columnSizing],(t,o)=>o.slice(0,e.getIndex(t)).reduce((r,i)=>r+i.getSize(),0),F(n.options,"debugColumns")),e.getAfter=x(t=>[t,je(n,t),n.getState().columnSizing],(t,o)=>o.slice(e.getIndex(t)+1).reduce((r,i)=>r+i.getSize(),0),F(n.options,"debugColumns")),e.resetSize=()=>{n.setColumnSizing(t=>{let{[e.id]:o,...r}=t;return r})},e.getCanResize=()=>{var t,o;return((t=e.columnDef.enableResizing)!=null?t:!0)&&((o=n.options.enableColumnResizing)!=null?o:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let t=0;const o=r=>{if(r.subHeaders.length)r.subHeaders.forEach(o);else{var i;t+=(i=r.column.getSize())!=null?i:0}};return o(e),t},e.getStart=()=>{if(e.index>0){const t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=t=>{const o=n.getColumn(e.column.id),r=o?.getCanResize();return i=>{if(!o||!r||(i.persist==null||i.persist(),Mt(i)&&i.touches&&i.touches.length>1))return;const l=e.getSize(),s=e?e.getLeafHeaders().map(w=>[w.column.id,w.column.getSize()]):[[o.id,o.getSize()]],u=Mt(i)?Math.round(i.touches[0].clientX):i.clientX,d={},p=(w,R)=>{typeof R=="number"&&(n.setColumnSizingInfo(_=>{var C,M;const H=n.options.columnResizeDirection==="rtl"?-1:1,I=(R-((C=_?.startOffset)!=null?C:0))*H,k=Math.max(I/((M=_?.startSize)!=null?M:0),-.999999);return _.columnSizingStart.forEach(re=>{let[_e,ve]=re;d[_e]=Math.round(Math.max(ve+ve*k,0)*100)/100}),{..._,deltaOffset:I,deltaPercentage:k}}),(n.options.columnResizeMode==="onChange"||w==="end")&&n.setColumnSizing(_=>({..._,...d})))},c=w=>p("move",w),g=w=>{p("end",w),n.setColumnSizingInfo(R=>({...R,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},a=eo(t),f={moveHandler:w=>c(w.clientX),upHandler:w=>{a?.removeEventListener("mousemove",f.moveHandler),a?.removeEventListener("mouseup",f.upHandler),g(w.clientX)}},v={moveHandler:w=>(w.cancelable&&(w.preventDefault(),w.stopPropagation()),c(w.touches[0].clientX),!1),upHandler:w=>{var R;a?.removeEventListener("touchmove",v.moveHandler),a?.removeEventListener("touchend",v.upHandler),w.cancelable&&(w.preventDefault(),w.stopPropagation()),g((R=w.touches[0])==null?void 0:R.clientX)}},S=no()?{passive:!1}:!1;Mt(i)?(a?.addEventListener("touchmove",v.moveHandler,S),a?.addEventListener("touchend",v.upHandler,S)):(a?.addEventListener("mousemove",f.moveHandler,S),a?.addEventListener("mouseup",f.upHandler,S)),n.setColumnSizingInfo(w=>({...w,startOffset:u,startSize:l,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:o.id}))}}},createTable:e=>{e.setColumnSizing=n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=n=>{var t;e.setColumnSizing(n?{}:(t=e.initialState.columnSizing)!=null?t:{})},e.resetHeaderSizeInfo=n=>{var t;e.setColumnSizingInfo(n?yt():(t=e.initialState.columnSizingInfo)!=null?t:yt())},e.getTotalSize=()=>{var n,t;return(n=(t=e.getHeaderGroups()[0])==null?void 0:t.headers.reduce((o,r)=>o+r.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,t;return(n=(t=e.getLeftHeaderGroups()[0])==null?void 0:t.headers.reduce((o,r)=>o+r.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,t;return(n=(t=e.getCenterHeaderGroups()[0])==null?void 0:t.headers.reduce((o,r)=>o+r.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,t;return(n=(t=e.getRightHeaderGroups()[0])==null?void 0:t.headers.reduce((o,r)=>o+r.getSize(),0))!=null?n:0}}};let lt=null;function no(){if(typeof lt=="boolean")return lt;let e=!1;try{const n={get passive(){return e=!0,!1}},t=()=>{};window.addEventListener("test",t,n),window.removeEventListener("test",t)}catch{e=!1}return lt=e,lt}function Mt(e){return e.type==="touchstart"}const oo={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:U("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=t=>{e.getCanHide()&&n.setColumnVisibility(o=>({...o,[e.id]:t??!e.getIsVisible()}))},e.getIsVisible=()=>{var t,o;const r=e.columns;return(t=r.length?r.some(i=>i.getIsVisible()):(o=n.getState().columnVisibility)==null?void 0:o[e.id])!=null?t:!0},e.getCanHide=()=>{var t,o;return((t=e.columnDef.enableHiding)!=null?t:!0)&&((o=n.options.enableHiding)!=null?o:!0)},e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=x(()=>[e.getAllCells(),n.getState().columnVisibility],t=>t.filter(o=>o.column.getIsVisible()),F(n.options,"debugRows")),e.getVisibleCells=x(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(t,o,r)=>[...t,...o,...r],F(n.options,"debugRows"))},createTable:e=>{const n=(t,o)=>x(()=>[o(),o().filter(r=>r.getIsVisible()).map(r=>r.id).join("_")],r=>r.filter(i=>i.getIsVisible==null?void 0:i.getIsVisible()),F(e.options,"debugColumns"));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var o;e.setColumnVisibility(t?{}:(o=e.initialState.columnVisibility)!=null?o:{})},e.toggleAllColumnsVisible=t=>{var o;t=(o=t)!=null?o:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((r,i)=>({...r,[i.id]:t||!(i.getCanHide!=null&&i.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(t=>!(t.getIsVisible!=null&&t.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(t=>t.getIsVisible==null?void 0:t.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var o;e.toggleAllColumnsVisible((o=t.target)==null?void 0:o.checked)}}};function je(e,n){return n?n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const ro={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},io={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:U("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:n=>{var t;const o=(t=e.getCoreRowModel().flatRows[0])==null||(t=t._getAllCellsByColumnId()[n.id])==null?void 0:t.getValue();return typeof o=="string"||typeof o=="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var t,o,r,i;return((t=e.columnDef.enableGlobalFilter)!=null?t:!0)&&((o=n.options.enableGlobalFilter)!=null?o:!0)&&((r=n.options.enableFilters)!=null?r:!0)&&((i=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?i:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>ue.includesString,e.getGlobalFilterFn=()=>{var n,t;const{globalFilterFn:o}=e.options;return gt(o)?o:o==="auto"?e.getGlobalAutoFilterFn():(n=(t=e.options.filterFns)==null?void 0:t[o])!=null?n:ue[o]},e.setGlobalFilter=n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},lo={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:U("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,t=!1;e._autoResetExpanded=()=>{var o,r;if(!n){e._queue(()=>{n=!0});return}if((o=(r=e.options.autoResetAll)!=null?r:e.options.autoResetExpanded)!=null?o:!e.options.manualExpanding){if(t)return;t=!0,e._queue(()=>{e.resetExpanded(),t=!1})}},e.setExpanded=o=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(o),e.toggleAllRowsExpanded=o=>{o??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=o=>{var r,i;e.setExpanded(o?{}:(r=(i=e.initialState)==null?void 0:i.expanded)!=null?r:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(o=>o.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>o=>{o.persist==null||o.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const o=e.getState().expanded;return o===!0||Object.values(o).some(Boolean)},e.getIsAllRowsExpanded=()=>{const o=e.getState().expanded;return typeof o=="boolean"?o===!0:!(!Object.keys(o).length||e.getRowModel().flatRows.some(r=>!r.getIsExpanded()))},e.getExpandedDepth=()=>{let o=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(i=>{const l=i.split(".");o=Math.max(o,l.length)}),o},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,n)=>{e.toggleExpanded=t=>{n.setExpanded(o=>{var r;const i=o===!0?!0:!!(o!=null&&o[e.id]);let l={};if(o===!0?Object.keys(n.getRowModel().rowsById).forEach(s=>{l[s]=!0}):l=o,t=(r=t)!=null?r:!i,!i&&t)return{...l,[e.id]:!0};if(i&&!t){const{[e.id]:s,...u}=l;return u}return o})},e.getIsExpanded=()=>{var t;const o=n.getState().expanded;return!!((t=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?t:o===!0||o?.[e.id])},e.getCanExpand=()=>{var t,o,r;return(t=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?t:((o=n.options.enableExpanding)!=null?o:!0)&&!!((r=e.subRows)!=null&&r.length)},e.getIsAllParentsExpanded=()=>{let t=!0,o=e;for(;t&&o.parentId;)o=n.getRow(o.parentId,!0),t=o.getIsExpanded();return t},e.getToggleExpandedHandler=()=>{const t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},kt=0,Ot=10,It=()=>({pageIndex:kt,pageSize:Ot}),so={getInitialState:e=>({...e,pagination:{...It(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:U("pagination",e)}),createTable:e=>{let n=!1,t=!1;e._autoResetPageIndex=()=>{var o,r;if(!n){e._queue(()=>{n=!0});return}if((o=(r=e.options.autoResetAll)!=null?r:e.options.autoResetPageIndex)!=null?o:!e.options.manualPagination){if(t)return;t=!0,e._queue(()=>{e.resetPageIndex(),t=!1})}},e.setPagination=o=>{const r=i=>ce(o,i);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(r)},e.resetPagination=o=>{var r;e.setPagination(o?It():(r=e.initialState.pagination)!=null?r:It())},e.setPageIndex=o=>{e.setPagination(r=>{let i=ce(o,r.pageIndex);const l=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return i=Math.max(0,Math.min(i,l)),{...r,pageIndex:i}})},e.resetPageIndex=o=>{var r,i;e.setPageIndex(o?kt:(r=(i=e.initialState)==null||(i=i.pagination)==null?void 0:i.pageIndex)!=null?r:kt)},e.resetPageSize=o=>{var r,i;e.setPageSize(o?Ot:(r=(i=e.initialState)==null||(i=i.pagination)==null?void 0:i.pageSize)!=null?r:Ot)},e.setPageSize=o=>{e.setPagination(r=>{const i=Math.max(1,ce(o,r.pageSize)),l=r.pageSize*r.pageIndex,s=Math.floor(l/i);return{...r,pageIndex:s,pageSize:i}})},e.setPageCount=o=>e.setPagination(r=>{var i;let l=ce(o,(i=e.options.pageCount)!=null?i:-1);return typeof l=="number"&&(l=Math.max(-1,l)),{...r,pageCount:l}}),e.getPageOptions=x(()=>[e.getPageCount()],o=>{let r=[];return o&&o>0&&(r=[...new Array(o)].fill(null).map((i,l)=>l)),r},F(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:o}=e.getState().pagination,r=e.getPageCount();return r===-1?!0:r===0?!1:oe.setPageIndex(o=>o-1),e.nextPage=()=>e.setPageIndex(o=>o+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var o;return(o=e.options.pageCount)!=null?o:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var o;return(o=e.options.rowCount)!=null?o:e.getPrePaginationRowModel().rows.length}}},Vt=()=>({top:[],bottom:[]}),ao={getInitialState:e=>({rowPinning:Vt(),...e}),getDefaultOptions:e=>({onRowPinningChange:U("rowPinning",e)}),createRow:(e,n)=>{e.pin=(t,o,r)=>{const i=o?e.getLeafRows().map(u=>{let{id:d}=u;return d}):[],l=r?e.getParentRows().map(u=>{let{id:d}=u;return d}):[],s=new Set([...l,e.id,...i]);n.setRowPinning(u=>{var d,p;if(t==="bottom"){var c,g;return{top:((c=u?.top)!=null?c:[]).filter(v=>!(s!=null&&s.has(v))),bottom:[...((g=u?.bottom)!=null?g:[]).filter(v=>!(s!=null&&s.has(v))),...Array.from(s)]}}if(t==="top"){var a,f;return{top:[...((a=u?.top)!=null?a:[]).filter(v=>!(s!=null&&s.has(v))),...Array.from(s)],bottom:((f=u?.bottom)!=null?f:[]).filter(v=>!(s!=null&&s.has(v)))}}return{top:((d=u?.top)!=null?d:[]).filter(v=>!(s!=null&&s.has(v))),bottom:((p=u?.bottom)!=null?p:[]).filter(v=>!(s!=null&&s.has(v)))}})},e.getCanPin=()=>{var t;const{enableRowPinning:o,enablePinning:r}=n.options;return typeof o=="function"?o(e):(t=o??r)!=null?t:!0},e.getIsPinned=()=>{const t=[e.id],{top:o,bottom:r}=n.getState().rowPinning,i=t.some(s=>o?.includes(s)),l=t.some(s=>r?.includes(s));return i?"top":l?"bottom":!1},e.getPinnedIndex=()=>{var t,o;const r=e.getIsPinned();if(!r)return-1;const i=(t=r==="top"?n.getTopRows():n.getBottomRows())==null?void 0:t.map(l=>{let{id:s}=l;return s});return(o=i?.indexOf(e.id))!=null?o:-1}},createTable:e=>{e.setRowPinning=n=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=n=>{var t,o;return e.setRowPinning(n?Vt():(t=(o=e.initialState)==null?void 0:o.rowPinning)!=null?t:Vt())},e.getIsSomeRowsPinned=n=>{var t;const o=e.getState().rowPinning;if(!n){var r,i;return!!((r=o.top)!=null&&r.length||(i=o.bottom)!=null&&i.length)}return!!((t=o[n])!=null&&t.length)},e._getPinnedRows=(n,t,o)=>{var r;return((r=e.options.keepPinnedRows)==null||r?(t??[]).map(l=>{const s=e.getRow(l,!0);return s.getIsAllParentsExpanded()?s:null}):(t??[]).map(l=>n.find(s=>s.id===l))).filter(Boolean).map(l=>({...l,position:o}))},e.getTopRows=x(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,t)=>e._getPinnedRows(n,t,"top"),F(e.options,"debugRows")),e.getBottomRows=x(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,t)=>e._getPinnedRows(n,t,"bottom"),F(e.options,"debugRows")),e.getCenterRows=x(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,t,o)=>{const r=new Set([...t??[],...o??[]]);return n.filter(i=>!r.has(i.id))},F(e.options,"debugRows"))}},uo={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:U("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=n=>{var t;return e.setRowSelection(n?{}:(t=e.initialState.rowSelection)!=null?t:{})},e.toggleAllRowsSelected=n=>{e.setRowSelection(t=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();const o={...t},r=e.getPreGroupedRowModel().flatRows;return n?r.forEach(i=>{i.getCanSelect()&&(o[i.id]=!0)}):r.forEach(i=>{delete o[i.id]}),o})},e.toggleAllPageRowsSelected=n=>e.setRowSelection(t=>{const o=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),r={...t};return e.getRowModel().rows.forEach(i=>{bt(r,i.id,o,!0,e)}),r}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=x(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,t)=>Object.keys(n).length?Et(e,t):{rows:[],flatRows:[],rowsById:{}},F(e.options,"debugTable")),e.getFilteredSelectedRowModel=x(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,t)=>Object.keys(n).length?Et(e,t):{rows:[],flatRows:[],rowsById:{}},F(e.options,"debugTable")),e.getGroupedSelectedRowModel=x(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,t)=>Object.keys(n).length?Et(e,t):{rows:[],flatRows:[],rowsById:{}},F(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const n=e.getFilteredRowModel().flatRows,{rowSelection:t}=e.getState();let o=!!(n.length&&Object.keys(t).length);return o&&n.some(r=>r.getCanSelect()&&!t[r.id])&&(o=!1),o},e.getIsAllPageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows.filter(r=>r.getCanSelect()),{rowSelection:t}=e.getState();let o=!!n.length;return o&&n.some(r=>!t[r.id])&&(o=!1),o},e.getIsSomeRowsSelected=()=>{var n;const t=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return t>0&&t{const n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(t=>t.getCanSelect()).some(t=>t.getIsSelected()||t.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>n=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(t,o)=>{const r=e.getIsSelected();n.setRowSelection(i=>{var l;if(t=typeof t<"u"?t:!r,e.getCanSelect()&&r===t)return i;const s={...i};return bt(s,e.id,t,(l=o?.selectChildren)!=null?l:!0,n),s})},e.getIsSelected=()=>{const{rowSelection:t}=n.getState();return Jt(e,t)},e.getIsSomeSelected=()=>{const{rowSelection:t}=n.getState();return Bt(e,t)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:t}=n.getState();return Bt(e,t)==="all"},e.getCanSelect=()=>{var t;return typeof n.options.enableRowSelection=="function"?n.options.enableRowSelection(e):(t=n.options.enableRowSelection)!=null?t:!0},e.getCanSelectSubRows=()=>{var t;return typeof n.options.enableSubRowSelection=="function"?n.options.enableSubRowSelection(e):(t=n.options.enableSubRowSelection)!=null?t:!0},e.getCanMultiSelect=()=>{var t;return typeof n.options.enableMultiRowSelection=="function"?n.options.enableMultiRowSelection(e):(t=n.options.enableMultiRowSelection)!=null?t:!0},e.getToggleSelectedHandler=()=>{const t=e.getCanSelect();return o=>{var r;t&&e.toggleSelected((r=o.target)==null?void 0:r.checked)}}}},bt=(e,n,t,o,r)=>{var i;const l=r.getRow(n,!0);t?(l.getCanMultiSelect()||Object.keys(e).forEach(s=>delete e[s]),l.getCanSelect()&&(e[n]=!0)):delete e[n],o&&(i=l.subRows)!=null&&i.length&&l.getCanSelectSubRows()&&l.subRows.forEach(s=>bt(e,s.id,t,o,r))};function Et(e,n){const t=e.getState().rowSelection,o=[],r={},i=function(l,s){return l.map(u=>{var d;const p=Jt(u,t);if(p&&(o.push(u),r[u.id]=u),(d=u.subRows)!=null&&d.length&&(u={...u,subRows:i(u.subRows)}),p)return u}).filter(Boolean)};return{rows:i(n.rows),flatRows:o,rowsById:r}}function Jt(e,n){var t;return(t=n[e.id])!=null?t:!1}function Bt(e,n,t){var o;if(!((o=e.subRows)!=null&&o.length))return!1;let r=!0,i=!1;return e.subRows.forEach(l=>{if(!(i&&!r)&&(l.getCanSelect()&&(Jt(l,n)?i=!0:r=!1),l.subRows&&l.subRows.length)){const s=Bt(l,n);s==="all"?i=!0:(s==="some"&&(i=!0),r=!1)}}),r?"all":i?"some":!1}const Tt=/([0-9]+)/gm,go=(e,n,t)=>mn(pe(e.getValue(t)).toLowerCase(),pe(n.getValue(t)).toLowerCase()),co=(e,n,t)=>mn(pe(e.getValue(t)),pe(n.getValue(t))),fo=(e,n,t)=>Yt(pe(e.getValue(t)).toLowerCase(),pe(n.getValue(t)).toLowerCase()),po=(e,n,t)=>Yt(pe(e.getValue(t)),pe(n.getValue(t))),vo=(e,n,t)=>{const o=e.getValue(t),r=n.getValue(t);return o>r?1:oYt(e.getValue(t),n.getValue(t));function Yt(e,n){return e===n?0:e>n?1:-1}function pe(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function mn(e,n){const t=e.split(Tt).filter(Boolean),o=n.split(Tt).filter(Boolean);for(;t.length&&o.length;){const r=t.shift(),i=o.shift(),l=parseInt(r,10),s=parseInt(i,10),u=[l,s].sort();if(isNaN(u[0])){if(r>i)return 1;if(i>r)return-1;continue}if(isNaN(u[1]))return isNaN(l)?-1:1;if(l>s)return 1;if(s>l)return-1}return t.length-o.length}const Ne={alphanumeric:go,alphanumericCaseSensitive:co,text:fo,textCaseSensitive:po,datetime:vo,basic:mo},ho={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:U("sorting",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{const t=n.getFilteredRowModel().flatRows.slice(10);let o=!1;for(const r of t){const i=r?.getValue(e.id);if(Object.prototype.toString.call(i)==="[object Date]")return Ne.datetime;if(typeof i=="string"&&(o=!0,i.split(Tt).length>1))return Ne.alphanumeric}return o?Ne.text:Ne.basic},e.getAutoSortDir=()=>{const t=n.getFilteredRowModel().flatRows[0];return typeof t?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var t,o;if(!e)throw new Error;return gt(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(t=(o=n.options.sortingFns)==null?void 0:o[e.columnDef.sortingFn])!=null?t:Ne[e.columnDef.sortingFn]},e.toggleSorting=(t,o)=>{const r=e.getNextSortingOrder(),i=typeof t<"u"&&t!==null;n.setSorting(l=>{const s=l?.find(a=>a.id===e.id),u=l?.findIndex(a=>a.id===e.id);let d=[],p,c=i?t:r==="desc";if(l!=null&&l.length&&e.getCanMultiSort()&&o?s?p="toggle":p="add":l!=null&&l.length&&u!==l.length-1?p="replace":s?p="toggle":p="replace",p==="toggle"&&(i||r||(p="remove")),p==="add"){var g;d=[...l,{id:e.id,desc:c}],d.splice(0,d.length-((g=n.options.maxMultiSortColCount)!=null?g:Number.MAX_SAFE_INTEGER))}else p==="toggle"?d=l.map(a=>a.id===e.id?{...a,desc:c}:a):p==="remove"?d=l.filter(a=>a.id!==e.id):d=[{id:e.id,desc:c}];return d})},e.getFirstSortDir=()=>{var t,o;return((t=(o=e.columnDef.sortDescFirst)!=null?o:n.options.sortDescFirst)!=null?t:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=t=>{var o,r;const i=e.getFirstSortDir(),l=e.getIsSorted();return l?l!==i&&((o=n.options.enableSortingRemoval)==null||o)&&(!(t&&(r=n.options.enableMultiRemove)!=null)||r)?!1:l==="desc"?"asc":"desc":i},e.getCanSort=()=>{var t,o;return((t=e.columnDef.enableSorting)!=null?t:!0)&&((o=n.options.enableSorting)!=null?o:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var t,o;return(t=(o=e.columnDef.enableMultiSort)!=null?o:n.options.enableMultiSort)!=null?t:!!e.accessorFn},e.getIsSorted=()=>{var t;const o=(t=n.getState().sorting)==null?void 0:t.find(r=>r.id===e.id);return o?o.desc?"desc":"asc":!1},e.getSortIndex=()=>{var t,o;return(t=(o=n.getState().sorting)==null?void 0:o.findIndex(r=>r.id===e.id))!=null?t:-1},e.clearSorting=()=>{n.setSorting(t=>t!=null&&t.length?t.filter(o=>o.id!==e.id):[])},e.getToggleSortingHandler=()=>{const t=e.getCanSort();return o=>{t&&(o.persist==null||o.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(o):!1))}}},createTable:e=>{e.setSorting=n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=n=>{var t,o;e.setSorting(n?[]:(t=(o=e.initialState)==null?void 0:o.sorting)!=null?t:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},So=[kn,oo,Qn,Zn,On,bn,ro,io,ho,Yn,lo,so,ao,uo,to];function _o(e){var n,t;const o=[...So,...(n=e._features)!=null?n:[]];let r={_features:o};const i=r._features.reduce((g,a)=>Object.assign(g,a.getDefaultOptions==null?void 0:a.getDefaultOptions(r)),{}),l=g=>r.options.mergeOptions?r.options.mergeOptions(i,g):{...i,...g};let u={...{},...(t=e.initialState)!=null?t:{}};r._features.forEach(g=>{var a;u=(a=g.getInitialState==null?void 0:g.getInitialState(u))!=null?a:u});const d=[];let p=!1;const c={_features:o,options:{...i,...e},initialState:u,_queue:g=>{d.push(g),p||(p=!0,Promise.resolve().then(()=>{for(;d.length;)d.shift()();p=!1}).catch(a=>setTimeout(()=>{throw a})))},reset:()=>{r.setState(r.initialState)},setOptions:g=>{const a=ce(g,r.options);r.options=l(a)},getState:()=>r.options.state,setState:g=>{r.options.onStateChange==null||r.options.onStateChange(g)},_getRowId:(g,a,f)=>{var v;return(v=r.options.getRowId==null?void 0:r.options.getRowId(g,a,f))!=null?v:`${f?[f.id,a].join("."):a}`},getCoreRowModel:()=>(r._getCoreRowModel||(r._getCoreRowModel=r.options.getCoreRowModel(r)),r._getCoreRowModel()),getRowModel:()=>r.getPaginationRowModel(),getRow:(g,a)=>{let f=(a?r.getPrePaginationRowModel():r.getRowModel()).rowsById[g];if(!f&&(f=r.getCoreRowModel().rowsById[g],!f))throw new Error;return f},_getDefaultColumnDef:x(()=>[r.options.defaultColumn],g=>{var a;return g=(a=g)!=null?a:{},{header:f=>{const v=f.header.column.columnDef;return v.accessorKey?v.accessorKey:v.accessorFn?v.id:null},cell:f=>{var v,S;return(v=(S=f.renderValue())==null||S.toString==null?void 0:S.toString())!=null?v:null},...r._features.reduce((f,v)=>Object.assign(f,v.getDefaultColumnDef==null?void 0:v.getDefaultColumnDef()),{}),...g}},F(e,"debugColumns")),_getColumnDefs:()=>r.options.columns,getAllColumns:x(()=>[r._getColumnDefs()],g=>{const a=function(f,v,S){return S===void 0&&(S=0),f.map(w=>{const R=An(r,w,S,v),_=w;return R.columns=_.columns?a(_.columns,R,S+1):[],R})};return a(g)},F(e,"debugColumns")),getAllFlatColumns:x(()=>[r.getAllColumns()],g=>g.flatMap(a=>a.getFlatColumns()),F(e,"debugColumns")),_getAllFlatColumnsById:x(()=>[r.getAllFlatColumns()],g=>g.reduce((a,f)=>(a[f.id]=f,a),{}),F(e,"debugColumns")),getAllLeafColumns:x(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(g,a)=>{let f=g.flatMap(v=>v.getLeafColumns());return a(f)},F(e,"debugColumns")),getColumn:g=>r._getAllFlatColumnsById()[g]};Object.assign(r,c);for(let g=0;gx(()=>[e.options.data],n=>{const t={rows:[],flatRows:[],rowsById:{}},o=function(r,i,l){i===void 0&&(i=0);const s=[];for(let d=0;de._autoResetPageIndex()))}function Co(e){const n=[],t=o=>{var r;n.push(o),(r=o.subRows)!=null&&r.length&&o.getIsExpanded()&&o.subRows.forEach(t)};return e.rows.forEach(t),{rows:n,flatRows:e.flatRows,rowsById:e.rowsById}}function Ro(e,n,t){return t.options.filterFromLeafRows?xo(e,n,t):Fo(e,n,t)}function xo(e,n,t){var o;const r=[],i={},l=(o=t.options.maxLeafRowFilterDepth)!=null?o:100,s=function(u,d){d===void 0&&(d=0);const p=[];for(let g=0;gx(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(n,t,o)=>{if(!n.rows.length||!(t!=null&&t.length)&&!o){for(let g=0;g{var a;const f=e.getColumn(g.id);if(!f)return;const v=f.getFilterFn();v&&r.push({id:g.id,filterFn:v,resolvedValue:(a=v.resolveFilterValue==null?void 0:v.resolveFilterValue(g.value))!=null?a:g.value})});const l=(t??[]).map(g=>g.id),s=e.getGlobalFilterFn(),u=e.getAllLeafColumns().filter(g=>g.getCanGlobalFilter());o&&s&&u.length&&(l.push("__global__"),u.forEach(g=>{var a;i.push({id:g.id,filterFn:s,resolvedValue:(a=s.resolveFilterValue==null?void 0:s.resolveFilterValue(o))!=null?a:o})}));let d,p;for(let g=0;g{a.columnFiltersMeta[v]=S})}if(i.length){for(let f=0;f{a.columnFiltersMeta[v]=S})){a.columnFilters.__global__=!0;break}}a.columnFilters.__global__!==!0&&(a.columnFilters.__global__=!1)}}const c=g=>{for(let a=0;ae._autoResetPageIndex()))}function Po(e){return n=>x(()=>[n.getState().pagination,n.getPrePaginationRowModel(),n.options.paginateExpandedRows?void 0:n.getState().expanded],(t,o)=>{if(!o.rows.length)return o;const{pageSize:r,pageIndex:i}=t;let{rows:l,flatRows:s,rowsById:u}=o;const d=r*i,p=d+r;l=l.slice(d,p);let c;n.options.paginateExpandedRows?c={rows:l,flatRows:s,rowsById:u}:c=Co({rows:l,flatRows:s,rowsById:u}),c.flatRows=[];const g=a=>{c.flatRows.push(a),a.subRows.length&&a.subRows.forEach(g)};return c.rows.forEach(g),c},F(n.options,"debugTable"))}function yo(){return e=>x(()=>[e.getState().sorting,e.getPreSortedRowModel()],(n,t)=>{if(!t.rows.length||!(n!=null&&n.length))return t;const o=e.getState().sorting,r=[],i=o.filter(u=>{var d;return(d=e.getColumn(u.id))==null?void 0:d.getCanSort()}),l={};i.forEach(u=>{const d=e.getColumn(u.id);d&&(l[u.id]={sortUndefined:d.columnDef.sortUndefined,invertSorting:d.columnDef.invertSorting,sortingFn:d.getSortingFn()})});const s=u=>{const d=u.map(p=>({...p}));return d.sort((p,c)=>{for(let a=0;a{var c;r.push(p),(c=p.subRows)!=null&&c.length&&(p.subRows=s(p.subRows))}),d};return{rows:s(t.rows),flatRows:r,rowsById:t.rowsById}},F(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}class hn{component;props;constructor(n,t={}){this.component=n,this.props=t}}class Mo{snippet;params;constructor(n,t){this.snippet=n,this.params=t}}function Dt(e,n){return new hn(e,n)}function zt(e,n){b(n,!0);var t=D(),o=E(t);{var r=l=>{var s=Me();X(()=>Q(s,n.content)),h(l,s)},i=(l,s)=>{{var u=d=>{var p=D();const c=j(()=>n.content(n.context));var g=E(p);{var a=v=>{var S=D();const w=j(()=>{const{component:_,props:C}=m(c);return{Component:_,props:C}});var R=E(S);ie(R,()=>m(w).Component,(_,C)=>{C(_,Ve(()=>m(w).props))}),h(v,S)},f=(v,S)=>{{var w=_=>{var C=D();const M=j(()=>{const{snippet:I,params:k}=m(c);return{snippet:I,params:k}});var H=E(C);J(H,()=>m(M).snippet,()=>m(M).params),h(_,C)},R=_=>{var C=Me();X(()=>Q(C,m(c))),h(_,C)};z(v,_=>{m(c)instanceof Mo?_(w):_(R,!1)},S)}};z(g,v=>{m(c)instanceof hn?v(a):v(f,!1)})}h(d,p)};z(l,d=>{n.content instanceof Function&&d(u)},s)}};z(o,l=>{typeof n.content=="string"?l(r):l(i,!1)})}h(e,t),B()}function Io(e){const n=qe({state:{},onStateChange(){},renderFallbackValue:null,mergeOptions:(i,l)=>qe(i,l)},e),t=_o(n);let o=de(Ht(t.initialState));function r(){t.setOptions(i=>qe(i,e,{state:qe(m(o),e.state||{}),onStateChange:l=>{l instanceof Function?G(o,l(m(o)),!0):G(o,qe(m(o),l),!0),e.onStateChange?.(l)}}))}return r(),Fn(()=>{r()}),t}function qe(...e){const n={};for(let t=0;t=0;l--){let s=e[l];typeof s=="function"&&(s=s());const u=(s||{})[i];if(u!==void 0)return u}}})}}return n}var Vo=y('
');function Eo(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Vo(),i=P(r);oe(i,s=>({class:s,...o}),[()=>le("w-full caption-bottom text-sm",n.class)]);var l=P(i);J(l,()=>n.children??ee),$(i),ne(i,s=>t(s),()=>t()),$(r),h(e,r),B()}var Do=y("");function zo(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Do();oe(r,l=>({class:l,...o}),[()=>le("[&_tr:last-child]:border-0",n.class)]);var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}var Go=y("");function on(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Go();oe(r,l=>({class:l,...o}),[()=>le("p-4 align-middle [&:has([role=checkbox])]:pr-0",n.class)]);var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}var Lo=y("");function Ho(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Lo();oe(r,l=>({class:l,...o}),[()=>le("text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",n.class)]);var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}var Ao=y("");function ko(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Ao();oe(r,l=>({class:l,...o}),[()=>le("[&_tr]:border-b",n.class)]);var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}var Oo=y("");function Gt(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Oo();oe(r,l=>({class:l,...o}),[()=>le("hover:bg-secondary/20 hover:text-secondary-foreground data-[state=selected]:bg-muted border-b transition-colors",n.class)]);var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}const rn="passdb-table-settings",st={pageSize:15};function bo(){const e=(()=>{if(typeof window<"u")try{const i=localStorage.getItem(rn);if(i){const l=JSON.parse(i);return{...st,...l}}}catch(i){console.warn("Failed to parse table settings from localStorage:",i)}return st})(),{subscribe:n,set:t,update:o}=$n(e);function r(i){if(typeof window<"u")try{localStorage.setItem(rn,JSON.stringify(i))}catch(l){console.warn("Failed to save table settings to localStorage:",l)}}return{subscribe:n,setPageSize:i=>{o(l=>{const s={...l,pageSize:i};return r(s),s})},reset:()=>{r(st),t(st)}}}const ln=bo();var Bo=y('
'),To=y(" ",1),No=y(" ",1),qo=y('
Items per page:
');function jo(e,n){b(n,!0);const[t,o]=Xe(),r=()=>Je(ln,"$tableSettings",t),i=j(()=>n.pageSize||r().pageSize);let l=de(""),s=de(Ht([])),u=de(Ht([])),d=de(0);const p=j(()=>({pageIndex:m(d),pageSize:m(i)})),c=Io({get data(){return n.data},get columns(){return n.columns},getCoreRowModel:wo(),getSortedRowModel:yo(),getFilteredRowModel:$o(),getPaginationRowModel:Po(),state:{get globalFilter(){return m(l)},get sorting(){return m(s)},get columnFilters(){return m(u)},get pagination(){return m(p)}},onGlobalFilterChange:V=>{G(l,typeof V=="function"?V(m(l)):V,!0),G(d,0)},onSortingChange:V=>{G(s,typeof V=="function"?V(m(s)):V,!0)},onColumnFiltersChange:V=>{G(u,typeof V=="function"?V(m(u)):V,!0)},onPaginationChange:V=>{const L=typeof V=="function"?V(m(p)):V;G(d,L.pageIndex,!0)},globalFilterFn:"includesString"});function g(V){const L=V.target;c.setGlobalFilter(L.value)}var a=qo(),f=P(a),v=P(f),S=P(v);const w=j(()=>c.getState().globalFilter??"");en(S,{placeholder:"Filter results...",get value(){return m(w)},oninput:g,class:"w-full","data-filter-input":!0}),$(v);var R=O(v,2);{var _=V=>{var L=Bo(),K=P(L);{var We=T=>{var q=Me();X((se,he)=>Q(q,`Showing ${se??""} of ${he??""} results`),[()=>c.getFilteredRowModel().rows.length,()=>c.getCoreRowModel().rows.length]),h(T,q)},Ce=T=>{var q=Me("No results found for current filter");h(T,q)};z(K,T=>{c.getFilteredRowModel().rows.length>0?T(We):T(Ce,!1)})}$(L),h(V,L)};z(R,V=>{c.getState().globalFilter&&c.getState().globalFilter.length>0&&V(_)})}var C=O(R,2),M=P(C);const H=j(()=>!c.getCanPreviousPage());Te(M,{variant:"outline",size:"sm",onclick:()=>c.setPageIndex(0),get disabled(){return m(H)},children:(V,L)=>{Dn(V,{class:"h-4 w-4"})},$$slots:{default:!0}});var I=O(M,2);const k=j(()=>!c.getCanPreviousPage());Te(I,{variant:"outline",size:"sm",onclick:()=>c.previousPage(),get disabled(){return m(k)},"data-pagination-prev":!0,children:(V,L)=>{En(V,{class:"h-4 w-4"})},$$slots:{default:!0}});var re=O(I,2),_e=P(re);$(re);var ve=O(re,2);const dt=j(()=>!c.getCanNextPage());Te(ve,{variant:"outline",size:"sm",onclick:()=>c.nextPage(),get disabled(){return m(dt)},"data-pagination-next":!0,children:(V,L)=>{Ut(V,{class:"h-4 w-4"})},$$slots:{default:!0}});var ct=O(ve,2);const me=j(()=>!c.getCanNextPage());Te(ct,{variant:"outline",size:"sm",onclick:()=>c.setPageIndex(c.getPageCount()-1),get disabled(){return m(me)},children:(V,L)=>{zn(V,{class:"h-4 w-4"})},$$slots:{default:!0}}),$(C),$(f);var we=O(f,2),Ee=P(we);ie(Ee,()=>Eo,(V,L)=>{L(V,{children:(K,We)=>{var Ce=No(),T=E(Ce);ie(T,()=>ko,(se,he)=>{he(se,{class:"bg-muted/50",children:(Qe,Ze)=>{var De=D(),pt=E(De);Pe(pt,17,()=>c.getHeaderGroups(),ye,(vt,mt)=>{var ae=D(),Se=E(ae);ie(Se,()=>Gt,(ze,Ge)=>{Ge(ze,{class:" border-border hover:bg-transparent bg-background",children:(Le,et)=>{var Re=D(),xe=E(Re);Pe(xe,17,()=>m(mt).headers,ye,(He,Y)=>{var Fe=D(),tt=E(Fe);ie(tt,()=>Ho,(Ae,ke)=>{ke(Ae,{class:"text-card-foreground font-semibold",children:(ht,St)=>{var Oe=D(),_t=E(Oe);{var wt=be=>{var nt=D(),Wt=E(nt);{var Ct=$e=>{const Rt=j(()=>m(Y).column.getToggleSortingHandler());Te($e,{variant:"ghost",get onclick(){return m(Rt)},class:"h-auto p-0 font-semibold hover:bg-secondary hover:text-secondary-foreground",children:(_n,Ar)=>{var Qt=To(),Zt=E(Qt);const wn=j(()=>m(Y).getContext());zt(Zt,{get content(){return m(Y).column.columnDef.header},get context(){return m(wn)}});var Cn=O(Zt,2);Vn(Cn,{class:"ml-2 h-4 w-4"}),h(_n,Qt)},$$slots:{default:!0}})},Sn=$e=>{const Rt=j(()=>m(Y).getContext());zt($e,{get content(){return m(Y).column.columnDef.header},get context(){return m(Rt)}})};z(Wt,$e=>{m(Y).column.getCanSort()?$e(Ct):$e(Sn,!1)})}h(be,nt)};z(_t,be=>{m(Y).isPlaceholder||be(wt)})}h(ht,Oe)},$$slots:{default:!0}})}),h(He,Fe)}),h(Le,Re)},$$slots:{default:!0}})}),h(vt,ae)}),h(Qe,De)},$$slots:{default:!0}})});var q=O(T,2);ie(q,()=>zo,(se,he)=>{he(se,{children:(Qe,Ze)=>{var De=D(),pt=E(De);{var vt=ae=>{var Se=D(),ze=E(Se);Pe(ze,17,()=>c.getRowModel().rows,ye,(Ge,Le,et)=>{var Re=D(),xe=E(Re);ie(xe,()=>Gt,(He,Y)=>{Y(He,{class:`border-b border-border/50 transition-colors ${et%2===0?"bg-background/75 hover:bg-secondary/20":"bg-background/90 hover:bg-secondary/30"}`,"data-table-row":!0,children:(Fe,tt)=>{var Ae=D(),ke=E(Ae);Pe(ke,17,()=>m(Le).getVisibleCells(),ye,(ht,St)=>{var Oe=D(),_t=E(Oe);ie(_t,()=>on,(wt,be)=>{be(wt,{class:"text-card-foreground","data-table-cell":!0,children:(nt,Wt)=>{const Ct=j(()=>m(St).getContext());zt(nt,{get content(){return m(St).column.columnDef.cell},get context(){return m(Ct)}})},$$slots:{default:!0}})}),h(ht,Oe)}),h(Fe,Ae)},$$slots:{default:!0}})}),h(Ge,Re)}),h(ae,Se)},mt=ae=>{var Se=D(),ze=E(Se);ie(ze,()=>Gt,(Ge,Le)=>{Le(Ge,{children:(et,Re)=>{var xe=D(),He=E(xe);ie(He,()=>on,(Y,Fe)=>{Fe(Y,{get colspan(){return n.columns.length},class:"h-24 text-center",children:(tt,Ae)=>{Nt();var ke=Me("No results found.");h(tt,ke)},$$slots:{default:!0}})}),h(et,xe)},$$slots:{default:!0}})}),h(ae,Se)};z(pt,ae=>{c.getRowModel().rows?.length?ae(vt):ae(mt,!1)})}h(Qe,De)},$$slots:{default:!0}})}),h(K,Ce)},$$slots:{default:!0}})}),$(we);var Ye=O(we,2),ft=O(P(Ye),2);en(ft,{type:"number",min:"1",max:"1000",get value(){return c.getState().pagination.pageSize},oninput:V=>{const L=V.target,K=parseInt(L.value);K>0&&K<=1e3&&(c.setPageSize(K),ln.setPageSize(K))},class:"w-20 h-8 text-center"}),$(Ye),$(a),X((V,L)=>Q(_e,`Page ${V??""} of ${L??""}`),[()=>c.getState().pagination.pageIndex+1,()=>Math.max(1,c.getPageCount())]),h(e,a),B(),o()}var Uo=(e,n,t)=>n(`/email/${t.username}@${t.domain}`,`Email: ${t.username}@${t.domain}`),Ko=y(''),Xo=y('
'),Jo=(e,n,t)=>n(`/username/${t.username}`,`Username: ${t.username}`),Yo=y(''),Wo=y('-'),Qo=y('
'),Zo=(e,n,t)=>n(`/domain/${t.domain}`,`Domain: ${t.domain}`),er=y(''),tr=y('-'),nr=(e,n,t)=>n(`/password/${t.password}`,`Password: ${t.password.length>20?t.password.substring(0,20)+"...":t.password}`),or=y(''),rr=y('-'),ir=y('
');function Lt(e,n){b(n,!0);const[t,o]=Xe(),r=()=>Je(jt,"$page",t);let i=A(n,"showEmailLink",3,!1);function l(c,g){at.addBreadcrumb(g,c),sn(c)}var s=D(),u=E(s);{var d=c=>{var g=Qo(),a=P(g);{var f=_=>{var C=Ko();C.__click=[Uo,l,n],X(()=>At(C,"aria-label",`View email breach info for ${n.username??""}@${n.domain??""}`)),h(_,C)},v=(_,C)=>{{var M=H=>{var I=Xo();h(H,I)};z(_,H=>{i()&&!r().route.id?.includes("/email/")&&H(M)},C)}};z(a,_=>{i()&&!r().route.id?.includes("/email/")&&n.username&&n.username!=="-"&&n.domain&&n.domain!=="-"?_(f):_(v,!1)})}var S=O(a,2);{var w=_=>{var C=Yo();C.__click=[Jo,l,n];var M=P(C,!0);$(C),X(()=>Q(M,n.username)),h(_,C)},R=_=>{var C=Wo();h(_,C)};z(S,_=>{n.username&&n.username!=="-"?_(w):_(R,!1)})}$(g),h(c,g)},p=(c,g)=>{{var a=v=>{var S=D(),w=E(S);{var R=C=>{var M=er();M.__click=[Zo,l,n];var H=P(M,!0);$(M),X(()=>Q(H,n.domain)),h(C,M)},_=C=>{var M=tr();h(C,M)};z(w,C=>{n.domain&&n.domain!=="-"?C(R):C(_,!1)})}h(v,S)},f=(v,S)=>{{var w=R=>{var _=ir(),C=P(_);{var M=I=>{var k=or();k.__click=[nr,l,n];var re=P(k,!0);$(k),X(()=>{At(k,"title",n.password),Q(re,n.password)}),h(I,k)},H=I=>{var k=rr();h(I,k)};z(C,I=>{n.password&&n.password!=="-"?I(M):I(H,!1)})}$(_),h(R,_)};z(v,R=>{n.type==="password"&&R(w)},S)}};z(c,v=>{n.type==="domain"?v(a):v(f,!1)},g)}};z(u,c=>{n.type==="username"?c(d):c(p,!1)})}h(e,s),B(),o()}Rn(["click"]);const lr=[{accessorKey:"username",header:"Username",enableSorting:!0,enableGlobalFilter:!0,cell:({row:e})=>{const n=e.getValue("username"),t=e.original.domain;return Dt(Lt,{type:"username",username:n,domain:t,showEmailLink:!0})}},{accessorKey:"domain",header:"Domain",enableSorting:!0,enableGlobalFilter:!0,cell:({row:e})=>{const n=e.getValue("domain");return Dt(Lt,{type:"domain",domain:n})}},{accessorKey:"password",header:"Password",enableSorting:!1,enableGlobalFilter:!0,cell:({row:e})=>{const n=e.getValue("password");return Dt(Lt,{type:"password",password:n})}}];var sr=y('
');function ar(e,n){b(n,!1);const[t,o]=Xe(),r=()=>Je(jt,"$page",t),i=fe(),l=fe();let s=A(n,"results",8);Pn(()=>{Ft.setupResultsShortcuts(),Ft.setupTableShortcuts()}),yn(()=>{Ft.setContext("global")}),ge(()=>r(),()=>{G(i,r().url.searchParams)}),ge(()=>m(i),()=>{G(l,{page:m(i).get("page")?parseInt(m(i).get("page")):1,per_page:m(i).get("per_page")?parseInt(m(i).get("per_page")):void 0,...Object.fromEntries(m(i).entries())})}),qt(),ut();var u=sr(),d=P(u);jo(d,{get columns(){return lr},get data(){return s()},get pageSize(){return m(l),W(()=>m(l).per_page)}}),$(u),h(e,u),B(),o()}var ur=y('

'),gr=y('
'),dr=y('
'),cr=y('
'),fr=y('
');function pr(e,n){let t=A(n,"type",3,"spinner"),o=A(n,"message",3,"");var r=D(),i=E(r);{var l=u=>{var d=gr(),p=O(P(d),2);{var c=g=>{var a=ur(),f=P(a,!0);$(a),X(()=>Q(f,o())),h(g,a)};z(p,g=>{o()&&g(c)})}$(d),h(u,d)},s=(u,d)=>{{var p=g=>{var a=cr();Pe(a,20,()=>Array(3),ye,(f,v)=>{var S=dr();h(f,S)}),$(a),h(g,a)},c=(g,a)=>{{var f=v=>{var S=fr();h(v,S)};z(g,v=>{t()==="dots"&&v(f)},a)}};z(u,g=>{t()==="skeleton"?g(p):g(c,!1)},d)}};z(i,u=>{t()==="spinner"?u(l):u(s,!1)})}h(e,r)}function vr(e,n={}){const{immediate:t=!0,retry:o=3,retryDelay:r=1e3,...i}=n;let l=de(null),s=de(null),u=de(!1);const d=()=>typeof e=="function"?e():e;async function p(a=0){G(u,!0),G(s,null);try{const f=await fetch(d(),i);if(!f.ok)throw new Error(`HTTP ${f.status}: ${f.statusText}`);f.headers.get("content-type")?.includes("application/json")?G(l,await f.json(),!0):G(l,await f.text(),!0),G(u,!1),await ot()}catch(f){const v=f;if(asetTimeout(S,r*Math.pow(2,a))),p(a+1);G(s,v,!0),G(l,null),G(u,!1),await ot()}}async function c(){return p(0)}async function g(a){G(l,a,!0),await ot()}return t&&typeof window<"u"&&c(),typeof e=="function"&&Mn(()=>{d()&&t&&c()}),{get data(){return m(l)},get error(){return m(s)},get loading(){return m(u)},get isIdle(){return!m(u)&&!m(s)&&!m(l)},get isSuccess(){return!m(u)&&!m(s)&&m(l)!==null},get isError(){return!m(u)&&m(s)!==null},execute:c,mutate:g,refresh:c,reset:async()=>{G(l,null),G(s,null),G(u,!1),await ot()}}}function mr(e,n){const t=()=>typeof window<"u"&&localStorage.getItem("host")||"http://localhost:4567";return vr(()=>`${t()}${e}`,n)}var hr=y('

Failed to fetch results

Please check your API host configuration and try again.

'),Sr=y('

No results found

Try adjusting your search terms

'),_r=y('
');function wr(e,n){b(n,!1);let t=A(n,"endpoint",8);const{data:o,loading:r,error:i,isSuccess:l}=mr(t());ut();var s=_r(),u=P(s);{var d=c=>{pr(c,{type:"spinner",message:"Searching database..."})},p=(c,g)=>{{var a=v=>{var S=hr(),w=P(S),R=P(w),_=O(P(R),2),C=O(P(_),2),M=P(C,!0);$(C),Nt(2),$(_),$(R),$(w),$(S),X(()=>Q(M,W(()=>i.message))),h(v,S)},f=(v,S)=>{{var w=R=>{var _=D(),C=E(_);{var M=I=>{var k=Sr();h(I,k)},H=I=>{ar(I,{get results(){return o}})};z(C,I=>{W(()=>o.length===0)?I(M):I(H,!1)})}h(R,_)};z(v,R=>{l&&o&&R(w)},S)}};z(c,v=>{i?v(a):v(f,!1)},g)}};z(u,c=>{r?c(d):c(p,!1)})}$(s),h(e,s),B()}var Cr=y("");function Rr(e,n){b(n,!0);let t=A(n,"ref",15),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Cr();oe(r,()=>({class:n.class,"aria-label":"breadcrumb",...o}));var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}var xr=y("
  • ");function Fr(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=xr();oe(r,l=>({class:l,...o}),[()=>le("inline-flex items-center gap-1.5",n.class)]);var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}var $r=y("
  • ");function Pr(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=$r();oe(r,u=>({role:"presentation","aria-hidden":"true",class:u,...o}),[()=>le("[&>svg]:size-3.5",n.class)]);var i=P(r);{var l=u=>{var d=D(),p=E(d);J(p,()=>n.children??ee),h(u,d)},s=u=>{Ut(u,{})};z(i,u=>{n.children?u(l):u(s,!1)})}$(r),ne(r,u=>t(u),()=>t()),h(e,r),B()}var yr=y("
    ");function Mr(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=yr();oe(r,l=>({class:l,...o}),[()=>le("text-muted-foreground flex flex-wrap items-center gap-1.5 break-words text-sm sm:gap-2.5",n.class)]);var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}var Ir=y("");function Vr(e,n){b(n,!0);let t=A(n,"ref",15,null),o=te(n,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Ir();oe(r,l=>({role:"link","aria-disabled":"true","aria-current":"page",class:l,...o}),[()=>le("text-foreground font-normal",n.class)]);var i=P(r);J(i,()=>n.children??ee),$(r),ne(r,l=>t(l),()=>t()),h(e,r),B()}var Er=y('
    ...
    '),Dr=y(""),zr=y(" ",1),Gr=y('
    ');function Lr(e,n){b(n,!1);const[t,o]=Xe(),r=()=>Je(at,"$breadcrumbs",t),i=fe(),l=fe(),s=fe();function u(g,a){at.navigateToBreadcrumb(g),sn(a)}ge(()=>r(),()=>{G(i,(()=>{const g=r().length;if(g<=4)return r().map((a,f)=>({...a,originalIndex:f,showEllipsis:!1}));{const a=[];return a.push({...r()[0],originalIndex:0,showEllipsis:!1}),a.push({label:"...",path:"",timestamp:0,originalIndex:-1,showEllipsis:!0}),r().slice(-3).forEach((v,S)=>{a.push({...v,originalIndex:g-3+S,showEllipsis:!1})}),a}})())}),ge(()=>r(),()=>{G(l,(()=>{const g=r().length;return g<=3?"text-sm px-3 py-1.5":g<=4?"text-sm px-2.5 py-1.5":"text-xs px-2 py-1.5"})())}),ge(()=>r(),()=>{G(s,r().length>4)}),qt(),ut();var d=D(),p=E(d);{var c=g=>{var a=Gr(),f=P(a),v=P(f);Rr(v,{children:(S,w)=>{Mr(S,{class:"gap-1 flex-nowrap overflow-hidden",children:(R,_)=>{var C=D(),M=E(C);Pe(M,1,()=>m(i),ye,(H,I,k)=>{var re=zr(),_e=E(re);const ve=xt(()=>m(s)?"flex-shrink min-w-0":"flex-shrink-0");Fr(_e,{get class(){return m(ve)},children:(me,we)=>{var Ee=D(),Ye=E(Ee);{var ft=L=>{var K=Er();h(L,K)},V=(L,K)=>{{var We=T=>{const q=xt(()=>m(l)),se=xt(()=>m(s)?"truncate max-w-[200px]":"");Vr(T,{get class(){return`${m(q)??""} font-medium text-foreground bg-background/40 rounded border border-border/40 ${m(se)??""}`},get title(){return m(I),W(()=>m(I).label)},children:(he,Qe)=>{Nt();var Ze=Me();X(()=>Q(Ze,(m(I),W(()=>m(I).label)))),h(he,Ze)},$$slots:{default:!0}})},Ce=T=>{var q=Dr(),se=P(q,!0);$(q),X(()=>{In(q,1,`${m(l)??""} text-muted-foreground hover:text-secondary-foreground hover:bg-secondary/60 transition-all duration-200 cursor-pointer rounded border border-transparent hover:border-border/40 ${m(s)?"truncate max-w-[200px]":""}`),At(q,"title",(m(I),W(()=>m(I).label))),Q(se,(m(I),W(()=>m(I).label)))}),xn("click",q,()=>u(m(I).originalIndex,m(I).path)),h(T,q)};z(L,T=>{m(I),r(),W(()=>m(I).originalIndex===r().length-1)?T(We):T(Ce,!1)},K)}};z(Ye,L=>{m(I),W(()=>m(I).showEllipsis)?L(ft):L(V,!1)})}h(me,Ee)},$$slots:{default:!0}});var dt=O(_e,2);{var ct=me=>{Pr(me,{class:"mx-1 flex-shrink-0",children:(we,Ee)=>{Ut(we,{class:"h-3 w-3 text-muted-foreground/50"})},$$slots:{default:!0}})};z(dt,me=>{m(i),W(()=>k{r(),W(()=>r().length>1)&&g(c)})}h(e,d),B(),o()}var Hr=y('
    ');function Ur(e,n){b(n,!1);const[t,o]=Xe(),r=()=>Je(jt,"$page",t),i=fe(),l=fe(),s=fe();let u=A(n,"params",24,()=>({})),d=A(n,"apiPath",8),p=A(n,"paramKey",8),c=A(n,"breadcrumbLabel",8),g=A(n,"formatBreadcrumb",8,R=>R);ge(()=>(Be(u()),Be(p())),()=>{G(i,u()[p()])}),ge(()=>r(),()=>{G(l,r().url.search)}),ge(()=>(Be(d()),m(i),m(l)),()=>{G(s,`/api/v1/${d()}/${m(i)}${m(l)}`)}),ge(()=>(m(i),Be(g()),Be(c())),()=>{if(m(i)){const R=g()(decodeURIComponent(m(i)));at.addFromLocation(`${c()}: ${R}`)}}),qt(),ut();var a=Hr(),f=P(a);Lr(f,{});var v=O(f,2),S=P(v);wr(S,{get endpoint(){return m(s)}});var w=O(S,2);Ie(w,n,"default",{}),$(v),$(a),h(e,a),B(),o()}export{pr as L,Ur as S,mr as u}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/CkeX2SFv.js b/.svelte-kit/output/client/_app/immutable/chunks/CkeX2SFv.js new file mode 100644 index 0000000..48ac68d --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/CkeX2SFv.js @@ -0,0 +1 @@ +import{i as p,c as D,H,e as L,f as g,h as l,j as E,k as O,n as f,o as x,q as I,r as Y,t as j,u as k,v as C,w as M,x as S,p as V,y as $,z as m,A as q,b as z}from"./CcQSGzXg.js";import{a as P,r as b,h as c,i as W,b as B}from"./CBa6YeNv.js";function K(t,e){var r=e==null?"":typeof e=="object"?e+"":e;r!==(t.__t??=t.nodeValue)&&(t.__t=r,t.nodeValue=r+"")}function F(t,e){return A(t,e)}function Q(t,e){p(),e.intro=e.intro??!1;const r=e.target,_=m,u=f;try{for(var a=D(r);a&&(a.nodeType!==8||a.data!==H);)a=L(a);if(!a)throw g;l(!0),E(a),O();const d=A(t,{...e,anchor:a});if(f===null||f.nodeType!==8||f.data!==x)throw I(),g;return l(!1),d}catch(d){if(d===g)return e.recover===!1&&Y(),p(),j(r),l(!1),F(t,e);throw d}finally{l(_),E(u)}}const o=new Map;function A(t,{target:e,anchor:r,props:_={},events:u,context:a,intro:d=!0}){p();var h=new Set,v=i=>{for(var s=0;s{var i=r??e.appendChild(M());return S(()=>{if(a){V({});var s=$;s.c=a}u&&(_.$$events=u),m&&B(i,null),y=t(i,_)||{},m&&(q.nodes_end=f),a&&z()}),()=>{for(var s of h){e.removeEventListener(s,c);var n=o.get(s);--n===0?(document.removeEventListener(s,c),o.delete(s)):o.set(s,n)}b.delete(v),i!==r&&i.parentNode?.removeChild(i)}});return w.set(y,N),y}let w=new WeakMap;function U(t,e){const r=w.get(t);return r?(w.delete(t),r(e)):Promise.resolve()}export{Q as h,F as m,K as s,U as u}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/D9r2v96-.js b/.svelte-kit/output/client/_app/immutable/chunks/D9r2v96-.js new file mode 100644 index 0000000..11c2267 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/D9r2v96-.js @@ -0,0 +1 @@ +import{y as g,B as d,C as c,D as i,E as m,F as b,g as p,G as v,I as y,J as h}from"./CcQSGzXg.js";function x(n=!1){const s=g,e=s.l.u;if(!e)return;let f=()=>v(s.s);if(n){let a=0,t={};const _=y(()=>{let l=!1;const r=s.s;for(const o in r)r[o]!==t[o]&&(t[o]=r[o],l=!0);return l&&a++,a});f=()=>p(_)}e.b.length&&d(()=>{u(s,f),i(e.b)}),c(()=>{const a=m(()=>e.m.map(b));return()=>{for(const t of a)typeof t=="function"&&t()}}),e.a.length&&c(()=>{u(s,f),i(e.a)})}function u(n,s){if(n.l.s)for(const e of n.l.s)p(e);s()}h();export{x as i}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/G-SkzPYD.js b/.svelte-kit/output/client/_app/immutable/chunks/G-SkzPYD.js new file mode 100644 index 0000000..d1a2c06 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/G-SkzPYD.js @@ -0,0 +1,3 @@ +import{aH as Ee,al as De,am as T,g as x,s as P,an as _t}from"./CcQSGzXg.js";new URL("sveltekit-internal://");function mt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function yt(e){return e.split("%25").map(decodeURI).join("%25")}function wt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function _e({href:e}){return e.split("#")[0]}function vt(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,o){if(o==="get"||o==="getAll"||o==="has")return f=>(n(f),i[o](f));t();const c=Reflect.get(i,o);return typeof c=="function"?c.bind(i):c}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];r&&s.push("hash");for(const i of s)Object.defineProperty(a,i,{get(){return t(),e[i]},enumerable:!0,configurable:!0});return a}function bt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}function At(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&G.delete(Se(e)),kt(e,t));const G=new Map;function Et(e,t){const n=Se(e,t),r=document.querySelector(n);if(r?.textContent){let{body:a,...s}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&G.set(n,{body:a,init:s,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=At(a)),Promise.resolve(new Response(a,s))}return window.fetch(e,t)}function St(e,t,n){if(G.size>0){const r=Se(e,n),a=G.get(r);if(a){if(performance.now(){const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return t.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,f)=>{if(f%2){if(c.startsWith("x+"))return me(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return me(String.fromCharCode(...c.slice(2).split("-").map(m=>parseInt(m,16))));const d=Rt.exec(c),[,h,u,l,p]=d;return t.push({name:l,matcher:p,optional:!!h,rest:!!u,chained:u?f===1&&i[0]==="":!1}),u?"(.*?)":h?"([^/]*)?":"([^/]+?)"}return me(c)}).join("")}).join("")}/?$`),params:t}}function Ut(e){return!/^\([^)]+\)$/.test(e)}function Lt(e){return e.slice(1).split("/").filter(Ut)}function Tt(e,t,n){const r={},a=e.slice(1),s=a.filter(o=>o!==void 0);let i=0;for(let o=0;od).join("/"),i=0),f===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||n[c.matcher](f)){r[c.name]=f;const d=t[o+1],h=a[o+1];d&&!d.rest&&d.optional&&h&&c.chained&&(i=0),!d&&!h&&Object.keys(r).length===s.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function me(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function xt({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([o,[c,f,d]])=>{const{pattern:h,params:u}=It(o),l={id:o,exec:p=>{const m=h.exec(p);if(m)return Tt(m,u,r)},errors:[1,...d||[]].map(p=>e[p]),layouts:[0,...f||[]].map(i),leaf:s(c)};return l.errors.length=l.layouts.length=Math.max(l.errors.length,l.layouts.length),l});function s(o){const c=o<0;return c&&(o=~o),[c,e[o]]}function i(o){return o===void 0?o:[a.has(o),e[o]]}}function We(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Be(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const U=globalThis.__sveltekit_z86zug?.base??"",Pt=globalThis.__sveltekit_z86zug?.assets??U,Ct="1751228651306",Ye="sveltekit:snapshot",Je="sveltekit:scroll",Xe="sveltekit:states",Ot="sveltekit:pageurl",F="sveltekit:history",W="sveltekit:navigation",j={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Z=location.origin;function Re(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function le(){return{x:pageXOffset,y:pageYOffset}}function B(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const Fe={...j,"":j.hover};function Ze(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Qe(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Ze(e)}}function ve(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,s=!r||!!a||fe(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=r?.origin===Z&&e.hasAttribute("download");return{url:r,external:s,target:a,download:i}}function te(e){let t=null,n=null,r=null,a=null,s=null,i=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=B(o,"preload-code")),a===null&&(a=B(o,"preload-data")),t===null&&(t=B(o,"keepfocus")),n===null&&(n=B(o,"noscroll")),s===null&&(s=B(o,"reload")),i===null&&(i=B(o,"replacestate")),o=Ze(o);function c(f){switch(f){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Fe[r??"off"],preload_data:Fe[a??"off"],keepfocus:c(t),noscroll:c(n),reload:c(s),replace_state:c(i)}}function Ve(e){const t=Ee(e);let n=!0;function r(){n=!0,t.update(i=>i)}function a(i){n=!1,t.set(i)}function s(i){let o;return t.subscribe(c=>{(o===void 0||n&&c!==o)&&i(o=c)})}return{notify:r,set:a,subscribe:s}}const et={v:()=>{}};function Nt(){const{set:e,subscribe:t}=Ee(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Pt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Ct;return i&&(e(!0),et.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:t,check:r}}function fe(e,t,n){return e.origin!==Z||!e.pathname.startsWith(t)?!0:n?!(e.pathname===t+"/"||e.pathname===t+"/index.html"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===t):!1}function yn(e){}function Me(e){const t=$t(e),n=new ArrayBuffer(t.length),r=new DataView(n);for(let a=0;a>16),t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255),n=r=0);return r===12?(n>>=4,t+=String.fromCharCode(n)):r===18&&(n>>=2,t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255)),t}const Dt=-1,Bt=-2,Ft=-3,Vt=-4,Mt=-5,qt=-6;function Gt(e,t){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);function a(s,i=!1){if(s===Dt)return;if(s===Ft)return NaN;if(s===Vt)return 1/0;if(s===Mt)return-1/0;if(s===qt)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const o=n[s];if(!o||typeof o!="object")r[s]=o;else if(Array.isArray(o))if(typeof o[0]=="string"){const c=o[0],f=t?.[c];if(f)return r[s]=f(a(o[1]));switch(c){case"Date":r[s]=new Date(o[1]);break;case"Set":const d=new Set;r[s]=d;for(let l=1;lt!=null)}class ue{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ie{constructor(t,n){this.status=t,this.location=n}}class Ue extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}const Kt="x-sveltekit-invalidated",Wt="x-sveltekit-trailing-slash";function ne(e){return e instanceof ue||e instanceof Ue?e.status:500}function Yt(e){return e instanceof Ue?e.text:"Internal Error"}let E,Y,ye;const Jt=De.toString().includes("$$")||/function \w+\(\) \{\}/.test(De.toString());Jt?(E={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},Y={current:null},ye={current:!1}):(E=new class{#e=T({});get data(){return x(this.#e)}set data(t){P(this.#e,t)}#t=T(null);get form(){return x(this.#t)}set form(t){P(this.#t,t)}#n=T(null);get error(){return x(this.#n)}set error(t){P(this.#n,t)}#r=T({});get params(){return x(this.#r)}set params(t){P(this.#r,t)}#a=T({id:null});get route(){return x(this.#a)}set route(t){P(this.#a,t)}#o=T({});get state(){return x(this.#o)}set state(t){P(this.#o,t)}#s=T(-1);get status(){return x(this.#s)}set status(t){P(this.#s,t)}#i=T(new URL("https://example.com"));get url(){return x(this.#i)}set url(t){P(this.#i,t)}},Y=new class{#e=T(null);get current(){return x(this.#e)}set current(t){P(this.#e,t)}},ye=new class{#e=T(!1);get current(){return x(this.#e)}set current(t){P(this.#e,t)}},et.v=()=>ye.current=!0);function Xt(e){Object.assign(E,e)}const Zt="/__data.json",Qt=".html__data.json";function en(e){return e.endsWith(".html")?e.replace(/\.html$/,Qt):e.replace(/\/$/,"")+Zt}const tn=new Set(["icon","shortcut icon","apple-touch-icon"]),D=We(Je)??{},J=We(Ye)??{},N={url:Ve({}),page:Ve({}),navigating:Ee(null),updated:Nt()};function Le(e){D[e]=le()}function nn(e,t){let n=e+1;for(;D[n];)delete D[n],n+=1;for(n=t+1;J[n];)delete J[n],n+=1}function M(e){return location.href=e.href,new Promise(()=>{})}async function nt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}function qe(){}let Te,be,re,C,Ae,v;const ae=[],oe=[];let O=null;const ee=new Map,rt=new Set,rn=new Set,H=new Set;let w={branch:[],error:null,url:null},xe=!1,se=!1,Ge=!0,X=!1,q=!1,at=!1,Pe=!1,ot,A,I,$;const z=new Set;async function An(e,t,n){document.URL!==location.href&&(location.href=location.href),v=e,await e.hooks.init?.(),Te=xt(e),C=document.documentElement,Ae=t,be=e.nodes[0],re=e.nodes[1],be(),re(),A=history.state?.[F],I=history.state?.[W],A||(A=I=Date.now(),history.replaceState({...history.state,[F]:A,[W]:I},""));const r=D[A];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await pn(Ae,n)):(await K({type:"enter",url:Re(v.hash?_n(new URL(location.href)):location.href),replace_state:!0}),a()),hn()}function an(){ae.length=0,Pe=!1}function st(e){oe.some(t=>t?.snapshot)&&(J[e]=oe.map(t=>t?.snapshot?.capture()))}function it(e){J[e]?.forEach((t,n)=>{oe[n]?.snapshot?.restore(t)})}function He(){Le(A),Be(Je,D),st(I),Be(Ye,J)}async function Ce(e,t,n,r){return K({type:"goto",url:Re(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Pe=!0),t.invalidate&&t.invalidate.forEach(dn)}})}async function on(e){if(e.id!==O?.id){const t={};z.add(t),O={id:e.id,token:t,promise:ft({...e,preload:t}).then(n=>(z.delete(t),n.type==="loaded"&&n.state.error&&(O=null),n))}}return O.promise}async function we(e){const t=(await he(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}function ct(e,t,n){w=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(E,e.props.page),ot=new v.root({target:t,props:{...e.props,stores:N,components:oe},hydrate:n,sync:!1}),it(I),n){const a={from:null,to:{params:w.params,route:{id:w.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};H.forEach(s=>s(a))}se=!0}function ie({url:e,params:t,branch:n,status:r,error:a,route:s,form:i}){let o="never";if(U&&(e.pathname===U||e.pathname===U+"/"))o="always";else for(const l of n)l?.slash!==void 0&&(o=l.slash);e.pathname=mt(e.pathname,o),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:s},props:{constructors:zt(n).map(l=>l.node.component),page:$e(E)}};i!==void 0&&(c.props.form=i);let f={},d=!E,h=0;for(let l=0;l(o&&(c.route=!0),u[l])}),params:new Proxy(r,{get:(u,l)=>(o&&c.params.add(l),u[l])}),data:s?.data??null,url:vt(n,()=>{o&&(c.url=!0)},u=>{o&&c.search_params.add(u)},v.hash),async fetch(u,l){u instanceof Request&&(l={body:u.method==="GET"||u.method==="HEAD"?void 0:await u.blob(),cache:u.cache,credentials:u.credentials,headers:[...u.headers].length>0?u?.headers:void 0,integrity:u.integrity,keepalive:u.keepalive,method:u.method,mode:u.mode,redirect:u.redirect,referrer:u.referrer,referrerPolicy:u.referrerPolicy,signal:u.signal,...l});const{resolved:p,promise:m}=lt(u,l,n);return o&&d(p.href),m},setHeaders:()=>{},depends:d,parent(){return o&&(c.parent=!0),t()},untrack(u){o=!1;try{return u()}finally{o=!0}}};i=await f.universal.load.call(null,h)??null}return{node:f,loader:e,server:s,universal:f.universal?.load?{type:"data",data:i,uses:c}:null,data:i??s?.data??null,slash:f.universal?.trailingSlash??s?.slash}}function lt(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=se?St(r,a.href,t):Et(r,t);return{resolved:a,promise:s}}function ze(e,t,n,r,a,s){if(Pe)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(s[i]!==w.params[i])return!0;for(const i of a.dependencies)if(ae.some(o=>o(new URL(i))))return!0;return!1}function Ne(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function sn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),s=t.searchParams.getAll(r);a.every(i=>s.includes(i))&&s.every(i=>a.includes(i))&&n.delete(r)}return n}function Ke({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:$e(E),constructors:[]}}}async function ft({id:e,invalidating:t,url:n,params:r,route:a,preload:s}){if(O?.id===e)return z.delete(O.token),O.promise;const{errors:i,layouts:o,leaf:c}=a,f=[...o,c];i.forEach(g=>g?.().catch(()=>{})),f.forEach(g=>g?.[1]().catch(()=>{}));let d=null;const h=w.url?e!==ce(w.url):!1,u=w.route?a.id!==w.route.id:!1,l=sn(w.url,n);let p=!1;const m=f.map((g,y)=>{const b=w.branch[y],k=!!g?.[0]&&(b?.loader!==g[1]||ze(p,u,h,l,b.server?.uses,r));return k&&(p=!0),k});if(m.some(Boolean)){try{d=await ht(n,m)}catch(g){const y=await V(g,{url:n,params:r,route:{id:e}});return z.has(s)?Ke({error:y,url:n,params:r,route:a}):de({status:ne(g),error:y,url:n,route:a})}if(d.type==="redirect")return d}const _=d?.nodes;let R=!1;const S=f.map(async(g,y)=>{if(!g)return;const b=w.branch[y],k=_?.[y];if((!k||k.type==="skip")&&g[1]===b?.loader&&!ze(R,u,h,l,b.universal?.uses,r))return b;if(R=!0,k?.type==="error")throw k;return Oe({loader:g[1],url:n,params:r,route:a,parent:async()=>{const pe={};for(let ge=0;ge{});const L=[];for(let g=0;gPromise.resolve({}),server_data_node:Ne(s)}),c={node:await re(),loader:re,universal:null,server:null,data:null};return ie({url:n,params:a,branch:[o,c],status:e,error:t,route:null})}catch(o){if(o instanceof Ie)return Ce(new URL(o.location,location.href),{},0);throw o}}async function ln(e){const t=e.href;if(ee.has(t))return ee.get(t);let n;try{const r=(async()=>{let a=await v.hooks.reroute({url:new URL(e),fetch:async(s,i)=>lt(s,i,e).promise})??e;if(typeof a=="string"){const s=new URL(e);v.hash?s.hash=a:s.pathname=a,a=s}return a})();ee.set(t,r),n=await r}catch{ee.delete(t);return}return n}async function he(e,t){if(e&&!fe(e,U,v.hash)){const n=await ln(e);if(!n)return;const r=fn(n);for(const a of Te){const s=a.exec(r);if(s)return{id:ce(e),invalidating:t,route:a,params:wt(s),url:e}}}}function fn(e){return yt(v.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(U.length))||"/"}function ce(e){return(v.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ut({url:e,type:t,intent:n,delta:r}){let a=!1;const s=je(w,n,e,t);r!==void 0&&(s.navigation.delta=r);const i={...s.navigation,cancel:()=>{a=!0,s.reject(new Error("navigation cancelled"))}};return X||rt.forEach(o=>o(i)),a?null:s}async function K({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:i={},redirect_count:o=0,nav_token:c={},accept:f=qe,block:d=qe}){const h=$;$=c;const u=await he(t,!1),l=e==="enter"?je(w,u,t,e):ut({url:t,type:e,delta:n?.delta,intent:u});if(!l){d(),$===c&&($=h);return}const p=A,m=I;f(),X=!0,se&&l.navigation.type!=="enter"&&N.navigating.set(Y.current=l.navigation);let _=u&&await ft(u);if(!_){if(fe(t,U,v.hash))return await M(t);_=await dt(t,{id:null},await V(new Ue(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404)}if(t=u?.url||t,$!==c)return l.reject(new Error("navigation aborted")),!1;if(_.type==="redirect")if(o>=20)_=await de({status:500,error:await V(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}});else return await Ce(new URL(_.location,t).href,{},o+1,c),!1;else _.props.page.status>=400&&await N.updated.check()&&(await nt(),await M(t));if(an(),Le(p),st(m),_.props.page.url.pathname!==t.pathname&&(t.pathname=_.props.page.url.pathname),i=n?n.state:i,!n){const g=s?0:1,y={[F]:A+=g,[W]:I+=g,[Xe]:i};(s?history.replaceState:history.pushState).call(history,y,"",t),s||nn(A,I)}if(O=null,_.props.page.state=i,se){w=_.state,_.props.page&&(_.props.page.url=t);const g=(await Promise.all(Array.from(rn,y=>y(l.navigation)))).filter(y=>typeof y=="function");if(g.length>0){let y=function(){g.forEach(b=>{H.delete(b)})};g.push(y),g.forEach(b=>{H.add(b)})}ot.$set(_.props),Xt(_.props.page),at=!0}else ct(_,Ae,!1);const{activeElement:R}=document;await _t();const S=n?n.scroll:a?le():null;if(Ge){const g=t.hash&&document.getElementById(gt(t));S?scrollTo(S.x,S.y):g?g.scrollIntoView():scrollTo(0,0)}const L=document.activeElement!==R&&document.activeElement!==document.body;!r&&!L&&gn(t),Ge=!0,_.props.page&&Object.assign(E,_.props.page),X=!1,e==="popstate"&&it(I),l.fulfil(void 0),H.forEach(g=>g(l.navigation)),N.navigating.set(Y.current=null)}async function dt(e,t,n,r){return e.origin===Z&&e.pathname===location.pathname&&!xe?await de({status:r,error:n,url:e,route:t}):await M(e)}function un(){let e,t,n;C.addEventListener("mousemove",o=>{const c=o.target;clearTimeout(e),e=setTimeout(()=>{s(c,j.hover)},20)});function r(o){o.defaultPrevented||s(o.composedPath()[0],j.tap)}C.addEventListener("mousedown",r),C.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const c of o)c.isIntersecting&&(we(new URL(c.target.href)),a.unobserve(c.target))},{threshold:0});async function s(o,c){const f=Qe(o,C),d=f===t&&c>=n;if(!f||d)return;const{url:h,external:u,download:l}=ve(f,U,v.hash);if(u||l)return;const p=te(f),m=h&&ce(w.url)===ce(h);if(!(p.reload||m))if(c<=p.preload_data){t=f,n=j.tap;const _=await he(h,!1);if(!_)return;on(_)}else c<=p.preload_code&&(t=f,n=c,we(h))}function i(){a.disconnect();for(const o of C.querySelectorAll("a")){const{url:c,external:f,download:d}=ve(o,U,v.hash);if(f||d)continue;const h=te(o);h.reload||(h.preload_code===j.viewport&&a.observe(o),h.preload_code===j.eager&&we(c))}}H.add(i),i()}function V(e,t){if(e instanceof ue)return e.body;const n=ne(e),r=Yt(e);return v.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function kn(e,t={}){return e=new URL(Re(e)),e.origin!==Z?Promise.reject(new Error("goto: invalid URL")):Ce(e,t,0)}function dn(e){if(typeof e=="function")ae.push(e);else{const{href:t}=new URL(e,location.href);ae.push(n=>n.href===t)}}function hn(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(He(),!X){const r=je(w,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};rt.forEach(s=>s(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&He()}),navigator.connection?.saveData||un(),C.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Qe(t.composedPath()[0],C);if(!n)return;const{url:r,external:a,target:s,download:i}=ve(n,U,v.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const o=te(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||i)return;const[f,d]=(v.hash?r.hash.replace(/^#/,""):r.href).split("#"),h=f===_e(location);if(a||o.reload&&(!h||!d)){ut({url:r,type:"link"})?X=!0:t.preventDefault();return}if(d!==void 0&&h){const[,u]=w.url.href.split("#");if(u===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const l=n.ownerDocument.getElementById(decodeURIComponent(d));l&&(l.scrollIntoView(),l.focus())}return}if(q=!0,Le(A),e(r),!o.replace_state)return;q=!1}t.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),await K({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href})}),C.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const i=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(fe(i,U,!1))return;const o=t.target,c=te(o);if(c.reload)return;t.preventDefault(),t.stopPropagation();const f=new FormData(o),d=r?.getAttribute("name");d&&f.append(d,r?.getAttribute("value")??""),i.search=new URLSearchParams(f).toString(),K({type:"form",url:i,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??i.href===location.href})}),addEventListener("popstate",async t=>{if(!ke){if(t.state?.[F]){const n=t.state[F];if($={},n===A)return;const r=D[n],a=t.state[Xe]??{},s=new URL(t.state[Ot]??location.href),i=t.state[W],o=w.url?_e(location)===_e(w.url):!1;if(i===I&&(at||o)){a!==E.state&&(E.state=a),e(s),D[A]=le(),r&&scrollTo(r.x,r.y),A=n;return}const f=n-A;await K({type:"popstate",url:s,popped:{state:a,scroll:r,delta:f},accept:()=>{A=n,I=i},block:()=>{history.go(-f)},nav_token:$})}else if(!q){const n=new URL(location.href);e(n),v.hash&&location.reload()}}}),addEventListener("hashchange",()=>{q&&(q=!1,history.replaceState({...history.state,[F]:++A,[W]:I},"",location.href))});for(const t of document.querySelectorAll("link"))tn.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&N.navigating.set(Y.current=null)});function e(t){w.url=E.url=t,N.page.set($e(E)),N.page.notify()}}async function pn(e,{status:t=200,error:n,node_ids:r,params:a,route:s,server_route:i,data:o,form:c}){xe=!0;const f=new URL(location.href);let d;({params:a={},route:s={id:null}}=await he(f,!1)||{}),d=Te.find(({id:l})=>l===s.id);let h,u=!0;try{const l=r.map(async(m,_)=>{const R=o[_];return R?.uses&&(R.uses=pt(R.uses)),Oe({loader:v.nodes[m],url:f,params:a,route:s,parent:async()=>{const S={};for(let L=0;L<_;L+=1)Object.assign(S,(await l[L]).data);return S},server_data_node:Ne(R)})}),p=await Promise.all(l);if(d){const m=d.layouts;for(let _=0;_s?"1":"0").join(""));const r=window.fetch,a=await r(n.href,{});if(!a.ok){let s;throw a.headers.get("content-type")?.includes("application/json")?s=await a.json():a.status===404?s="Not Found":a.status===500&&(s="Internal Error"),new ue(a.status,s)}return new Promise(async s=>{const i=new Map,o=a.body.getReader(),c=new TextDecoder;function f(h){return Gt(h,{...v.decoders,Promise:u=>new Promise((l,p)=>{i.set(u,{fulfil:l,reject:p})})})}let d="";for(;;){const{done:h,value:u}=await o.read();if(h&&!d)break;for(d+=!u&&d?` +`:c.decode(u,{stream:!0});;){const l=d.indexOf(` +`);if(l===-1)break;const p=JSON.parse(d.slice(0,l));if(d=d.slice(l+1),p.type==="redirect")return s(p);if(p.type==="data")p.nodes?.forEach(m=>{m?.type==="data"&&(m.uses=pt(m.uses),m.data=f(m.data))}),s(p);else if(p.type==="chunk"){const{id:m,data:_,error:R}=p,S=i.get(m);i.delete(m),R?S.reject(f(R)):S.fulfil(f(_))}}}})}function pt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ke=!1;function gn(e){const t=document.querySelector("[autofocus]");if(t)t.focus();else{const n=gt(e);if(n&&document.getElementById(n)){const{x:a,y:s}=le();setTimeout(()=>{const i=history.state;ke=!0,location.replace(`#${n}`),v.hash&&location.replace(e.hash),history.replaceState(i,"",e.hash),scrollTo(a,s),ke=!1})}else{const a=document.body,s=a.getAttribute("tabindex");a.tabIndex=-1,a.focus({preventScroll:!0,focusVisible:!1}),s!==null?a.setAttribute("tabindex",s):a.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let s=0;s{if(r.rangeCount===a.length){for(let s=0;s{a=c,s=f});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n},willUnload:!t,type:r,complete:i},fulfil:a,reject:s}}function $e(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function _n(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function gt(e){let t;if(v.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{An as a,kn as g,yn as l,E as p,N as s}; diff --git a/.svelte-kit/output/client/_app/immutable/chunks/pk0RzIpj.js b/.svelte-kit/output/client/_app/immutable/chunks/pk0RzIpj.js new file mode 100644 index 0000000..75a0bde --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/chunks/pk0RzIpj.js @@ -0,0 +1,20 @@ +import{b as Nr,q as Rr,e as Ge,c as oe,f as _e,s as Dr}from"./CBa6YeNv.js";import{j as ge,z as W,c as dr,w as br,k as ke,Q as gr,g as fe,d as qr,S as Gr,T as Lr,U as Ue,h as pe,n as te,o as Vr,V as Le,x as Ve,W as fr,aI as pr,u as mr,as as Or,m as jr,ah as Je,aJ as Ce,_ as Fr,A as Pe,aK as Oe,aL as Hr,aM as je,aN as Qe,aO as Br,t as Kr,aP as Wr,ax as hr,aQ as Ur,e as Jr,R as Qr,aR as $r,aS as Xr,aH as Fe,p as He,K as Be,b as Ke,M as ze,a0 as $e,N as Ie,E as Xe,G as ie,O as Yr,ao as Zr,aT as et,a2 as ye}from"./CcQSGzXg.js";import{b as se,c as xe,a as Ye,r as Ze,f as rt,d as er,g as tt,e as ot}from"./C-0S9jGX.js";import{p as J,i as yr,r as vr,b as we,l as rr}from"./CSbn2Ldu.js";import{i as nt}from"./D9r2v96-.js";import{g as at}from"./G-SkzPYD.js";function st(r,e){return e}function lt(r,e,t,o){for(var n=[],a=e.length,l=0;l0&&n.length===0&&t!==null;if(i){var f=t.parentNode;Kr(f),f.append(t),o.clear(),re(r,e[0].prev,e[a-1].next)}Wr(n,()=>{for(var p=0;p{var y=t();return Or(y)?y:y==null?[]:mr(y)});gr(()=>{var y=fe(u),g=y.length;if(h&&g===0)return;h=g===0;let k=!1;if(W){var v=Gr(l)===Lr;v!==(g===0)&&(l=Ue(),ge(l),pe(!1),k=!0)}if(W){for(var E=null,w,O=0;O0&&ge(Ue())}W||ct(y,i,l,n,e,o,t),a!==null&&(g===0?b?Le(b):b=Ve(()=>a(l)):b!==null&&fr(b,()=>{b=null})),k&&pe(!0),fe(u)}),W&&(l=te)}function ct(r,e,t,o,n,a,l){var i=(n&Hr)!==0,f=(n&(je|Oe))!==0,p=r.length,b=e.items,h=e.first,u=h,y,g=null,k,v=[],E=[],w,O,x,P;if(i)for(P=0;P0){var A=(n&pr)!==0&&p===0?t:null;if(i){for(P=0;P{if(k!==void 0)for(x of k)x.a?.apply()}),Pe.first=e.first&&e.first.e,Pe.last=g&&g.e}function ut(r,e,t,o){(o&je)!==0&&Qe(r.v,e),(o&Oe)!==0?Qe(r.i,t):r.i=t}function kr(r,e,t,o,n,a,l,i,f,p){var b=(f&je)!==0,h=(f&Ur)===0,u=b?h?jr(n,!1,!1):Je(n):n,y=(f&Oe)===0?l:Je(l),g={i:y,v:u,k:a,a:null,e:null,prev:t,next:o};try{return g.e=Ve(()=>i(r,u,y,p),W),g.e.prev=t&&t.e,g.e.next=o&&o.e,t===null?e.first=g:(t.next=g,t.e.next=g.e),o!==null&&(o.prev=g,o.e.prev=g.e),g}finally{}}function tr(r,e,t){for(var o=r.next?r.next.e.nodes_start:t,n=e?e.e.nodes_start:t,a=r.e.nodes_start;a!==o;){var l=Jr(a);n.before(a),a=l}}function re(r,e,t){e===null?r.first=t:(e.next=t,e.e.next=t&&t.e),t!==null&&(t.prev=e,t.e.prev=e&&e.e)}function dt(r,e,t,o,n){W&&ke();var a=e.$$slots?.[t],l=!1;a===!0&&(a=e.children,l=!0),a===void 0||a(r,l?()=>o:o)}function bt(r,e,t,o,n,a){let l=W;W&&ke();var i,f,p=null;W&&te.nodeType===1&&(p=te,ke());var b=W?te:r,h;gr(()=>{const u=e()||null;var y=t||u==="svg"?$r:null;u!==i&&(h&&(u===null?fr(h,()=>{h=null,f=null}):u===f?Le(h):hr(h)),u&&u!==f&&(h=Ve(()=>{if(p=W?p:y?document.createElementNS(y,u):document.createElement(u),Nr(p,p),o){W&&Rr(u)&&p.append(document.createComment(""));var g=W?dr(p):p.appendChild(br());W&&(g===null?pe(!1):ge(g)),o(p,g)}Pe.nodes_end=p,b.before(p)})),i=u,i&&(f=i))},Qr),l&&(pe(!0),ge(b))}const gt=["dark","theme-modern-minimal","theme-t3-chat","theme-twitter","theme-mocha-mousse","theme-bubblegum","theme-amethyst-haze","theme-notebook","theme-doom-64","theme-catppuccin","theme-graphite","theme-perpetuity","theme-kodama-grove","theme-cosmic-night","theme-tangerine","theme-quantum-rose","theme-nature","theme-bold-tech","theme-elegant-luxury","theme-amber-minimal","theme-supabase","theme-neo-brutalism","theme-solar-dusk","theme-claymorphism","theme-cyberpunk","theme-pastel-dreams","theme-clean-slate","theme-caffeine","theme-ocean-breeze","theme-retro-arcade","theme-midnight-bloom","theme-candyland","theme-northern-lights","theme-vintage-paper","theme-sunset-horizon","theme-starry-night","theme-claude","theme-vercel","theme-mono"],Se=[{name:"Default",value:"system",colors:{background:"rgb(249, 249, 250)",primary:"rgb(52, 168, 90)",secondary:"rgb(100, 149, 237)"},colorsDark:{background:"rgb(26, 29, 35)",primary:"rgb(52, 168, 90)",secondary:"rgb(70, 130, 180)"}},{name:"Modern Minimal",value:"modern-minimal",colors:{background:"rgb(255, 255, 255)",primary:"rgb(59, 130, 246)",secondary:"rgb(243, 244, 246)"},colorsDark:{background:"rgb(23, 23, 23)",primary:"rgb(59, 130, 246)",secondary:"rgb(38, 38, 38)"}},{name:"T3 Chat",value:"t3-chat",colors:{background:"rgb(250, 245, 250)",primary:"rgb(168, 67, 112)",secondary:"rgb(241, 196, 230)"},colorsDark:{background:"rgb(34, 29, 39)",primary:"rgb(163, 0, 76)",secondary:"rgb(54, 45, 61)"}},{name:"Twitter",value:"twitter",colors:{background:"rgb(255, 255, 255)",primary:"rgb(30, 157, 241)",secondary:"rgb(15, 20, 25)"},colorsDark:{background:"rgb(0, 0, 0)",primary:"rgb(28, 156, 240)",secondary:"rgb(240, 243, 244)"}},{name:"Mocha Mousse",value:"mocha-mousse",colors:{background:"rgb(241, 240, 229)",primary:"rgb(163, 119, 100)",secondary:"rgb(186, 171, 146)"},colorsDark:{background:"rgb(45, 37, 33)",primary:"rgb(195, 158, 136)",secondary:"rgb(138, 101, 90)"}},{name:"Bubblegum",value:"bubblegum",colors:{background:"rgb(246, 230, 238)",primary:"rgb(208, 79, 153)",secondary:"rgb(138, 207, 209)"},colorsDark:{background:"rgb(18, 36, 46)",primary:"rgb(251, 226, 167)",secondary:"rgb(228, 162, 177)"}},{name:"Amethyst Haze",value:"amethyst-haze",colors:{background:"rgb(248, 247, 250)",primary:"rgb(138, 121, 171)",secondary:"rgb(223, 217, 236)"},colorsDark:{background:"rgb(26, 24, 35)",primary:"rgb(169, 149, 201)",secondary:"rgb(90, 83, 112)"}},{name:"Notebook",value:"notebook",colors:{background:"rgb(249, 249, 249)",primary:"rgb(96, 96, 96)",secondary:"rgb(222, 222, 222)"},colorsDark:{background:"rgb(43, 43, 43)",primary:"rgb(176, 176, 176)",secondary:"rgb(90, 90, 90)"}},{name:"Doom 64",value:"doom-64",colors:{background:"rgb(204, 204, 204)",primary:"rgb(183, 28, 28)",secondary:"rgb(85, 107, 47)"},colorsDark:{background:"rgb(26, 26, 26)",primary:"rgb(229, 57, 53)",secondary:"rgb(104, 159, 56)"}},{name:"Catppuccin",value:"catppuccin",colors:{background:"rgb(239, 241, 245)",primary:"rgb(136, 57, 239)",secondary:"rgb(204, 208, 218)"},colorsDark:{background:"rgb(24, 24, 37)",primary:"rgb(203, 166, 247)",secondary:"rgb(88, 91, 112)"}},{name:"Graphite",value:"graphite",colors:{background:"rgb(240, 240, 240)",primary:"rgb(96, 96, 96)",secondary:"rgb(224, 224, 224)"},colorsDark:{background:"rgb(26, 26, 26)",primary:"rgb(160, 160, 160)",secondary:"rgb(48, 48, 48)"}},{name:"Perpetuity",value:"perpetuity",colors:{background:"rgb(232, 240, 240)",primary:"rgb(6, 133, 142)",secondary:"rgb(217, 234, 234)"},colorsDark:{background:"rgb(10, 26, 32)",primary:"rgb(77, 232, 232)",secondary:"rgb(22, 73, 85)"}},{name:"Kodama Grove",value:"kodama-grove",colors:{background:"rgb(228, 215, 176)",primary:"rgb(141, 157, 79)",secondary:"rgb(222, 206, 160)"},colorsDark:{background:"rgb(58, 53, 41)",primary:"rgb(138, 159, 123)",secondary:"rgb(90, 83, 69)"}},{name:"Cosmic Night",value:"cosmic-night",colors:{background:"rgb(245, 245, 255)",primary:"rgb(110, 86, 207)",secondary:"rgb(228, 223, 255)"},colorsDark:{background:"rgb(15, 15, 26)",primary:"rgb(164, 143, 255)",secondary:"rgb(45, 43, 85)"}},{name:"Tangerine",value:"tangerine",colors:{background:"rgb(232, 235, 237)",primary:"rgb(224, 93, 56)",secondary:"rgb(243, 244, 246)"},colorsDark:{background:"rgb(28, 36, 51)",primary:"rgb(224, 93, 56)",secondary:"rgb(42, 48, 62)"}},{name:"Quantum Rose",value:"quantum-rose",colors:{background:"rgb(255, 240, 248)",primary:"rgb(230, 6, 122)",secondary:"rgb(255, 214, 255)"},colorsDark:{background:"rgb(26, 9, 34)",primary:"rgb(255, 107, 239)",secondary:"rgb(70, 32, 79)"}},{name:"Nature",value:"nature",colors:{background:"rgb(248, 245, 240)",primary:"rgb(46, 125, 50)",secondary:"rgb(232, 245, 233)"},colorsDark:{background:"rgb(28, 42, 31)",primary:"rgb(76, 175, 80)",secondary:"rgb(62, 74, 61)"}},{name:"Bold Tech",value:"bold-tech",colors:{background:"rgb(255, 255, 255)",primary:"rgb(139, 92, 246)",secondary:"rgb(243, 240, 255)"},colorsDark:{background:"rgb(15, 23, 42)",primary:"rgb(139, 92, 246)",secondary:"rgb(30, 27, 75)"}},{name:"Elegant Luxury",value:"elegant-luxury",colors:{background:"rgb(250, 247, 245)",primary:"rgb(155, 44, 44)",secondary:"rgb(253, 242, 214)"},colorsDark:{background:"rgb(28, 25, 23)",primary:"rgb(185, 28, 28)",secondary:"rgb(146, 64, 14)"}},{name:"Amber Minimal",value:"amber-minimal",colors:{background:"rgb(255, 255, 255)",primary:"rgb(245, 158, 11)",secondary:"rgb(243, 244, 246)"},colorsDark:{background:"rgb(23, 23, 23)",primary:"rgb(245, 158, 11)",secondary:"rgb(38, 38, 38)"}},{name:"Supabase",value:"supabase",colors:{background:"rgb(252, 252, 252)",primary:"rgb(114, 227, 173)",secondary:"rgb(253, 253, 253)"},colorsDark:{background:"rgb(18, 18, 18)",primary:"rgb(0, 98, 57)",secondary:"rgb(36, 36, 36)"}},{name:"Neo Brutalism",value:"neo-brutalism",colors:{background:"rgb(255, 255, 255)",primary:"rgb(255, 51, 51)",secondary:"rgb(255, 255, 0)"},colorsDark:{background:"rgb(0, 0, 0)",primary:"rgb(255, 102, 102)",secondary:"rgb(255, 255, 51)"}},{name:"Solar Dusk",value:"solar-dusk",colors:{background:"rgb(253, 251, 247)",primary:"rgb(180, 83, 9)",secondary:"rgb(228, 192, 144)"},colorsDark:{background:"rgb(28, 25, 23)",primary:"rgb(249, 115, 22)",secondary:"rgb(87, 83, 78)"}},{name:"Claymorphism",value:"claymorphism",colors:{background:"rgb(231, 229, 228)",primary:"rgb(99, 102, 241)",secondary:"rgb(214, 211, 209)"},colorsDark:{background:"rgb(30, 27, 24)",primary:"rgb(129, 140, 248)",secondary:"rgb(58, 54, 51)"}},{name:"Cyberpunk",value:"cyberpunk",colors:{background:"rgb(248, 249, 250)",primary:"rgb(255, 0, 200)",secondary:"rgb(240, 240, 255)"},colorsDark:{background:"rgb(12, 12, 29)",primary:"rgb(255, 0, 200)",secondary:"rgb(30, 30, 63)"}},{name:"Pastel Dreams",value:"pastel-dreams",colors:{background:"rgb(247, 243, 249)",primary:"rgb(167, 139, 250)",secondary:"rgb(233, 216, 253)"},colorsDark:{background:"rgb(28, 25, 23)",primary:"rgb(192, 170, 253)",secondary:"rgb(63, 50, 74)"}},{name:"Clean Slate",value:"clean-slate",colors:{background:"rgb(248, 250, 252)",primary:"rgb(99, 102, 241)",secondary:"rgb(229, 231, 235)"},colorsDark:{background:"rgb(15, 23, 42)",primary:"rgb(129, 140, 248)",secondary:"rgb(45, 55, 72)"}},{name:"Caffeine",value:"caffeine",colors:{background:"rgb(249, 249, 249)",primary:"rgb(100, 74, 64)",secondary:"rgb(255, 223, 181)"},colorsDark:{background:"rgb(17, 17, 17)",primary:"rgb(255, 224, 194)",secondary:"rgb(57, 48, 40)"}},{name:"Ocean Breeze",value:"ocean-breeze",colors:{background:"rgb(240, 248, 255)",primary:"rgb(34, 197, 94)",secondary:"rgb(224, 242, 254)"},colorsDark:{background:"rgb(15, 23, 42)",primary:"rgb(52, 211, 153)",secondary:"rgb(45, 55, 72)"}},{name:"Retro Arcade",value:"retro-arcade",colors:{background:"rgb(253, 246, 227)",primary:"rgb(211, 54, 130)",secondary:"rgb(42, 161, 152)"},colorsDark:{background:"rgb(0, 43, 54)",primary:"rgb(211, 54, 130)",secondary:"rgb(42, 161, 152)"}},{name:"Midnight Bloom",value:"midnight-bloom",colors:{background:"rgb(249, 249, 249)",primary:"rgb(108, 92, 231)",secondary:"rgb(161, 201, 242)"},colorsDark:{background:"rgb(26, 29, 35)",primary:"rgb(108, 92, 231)",secondary:"rgb(75, 0, 130)"}},{name:"Candyland",value:"candyland",colors:{background:"rgb(247, 249, 250)",primary:"rgb(255, 192, 203)",secondary:"rgb(135, 206, 235)"},colorsDark:{background:"rgb(26, 29, 35)",primary:"rgb(255, 153, 204)",secondary:"rgb(51, 204, 51)"}},{name:"Northern Lights",value:"northern-lights",colors:{background:"rgb(249, 249, 250)",primary:"rgb(52, 168, 90)",secondary:"rgb(100, 149, 237)"},colorsDark:{background:"rgb(26, 29, 35)",primary:"rgb(52, 168, 90)",secondary:"rgb(70, 130, 180)"}},{name:"Vintage Paper",value:"vintage-paper",colors:{background:"rgb(245, 241, 230)",primary:"rgb(166, 124, 82)",secondary:"rgb(226, 216, 195)"},colorsDark:{background:"rgb(45, 38, 33)",primary:"rgb(192, 160, 128)",secondary:"rgb(74, 64, 57)"}},{name:"Sunset Horizon",value:"sunset-horizon",colors:{background:"rgb(255, 249, 245)",primary:"rgb(255, 126, 95)",secondary:"rgb(255, 237, 234)"},colorsDark:{background:"rgb(42, 32, 36)",primary:"rgb(255, 126, 95)",secondary:"rgb(70, 58, 65)"}},{name:"Starry Night",value:"starry-night",colors:{background:"rgb(245, 247, 250)",primary:"rgb(58, 91, 160)",secondary:"rgb(247, 200, 115)"},colorsDark:{background:"rgb(24, 26, 36)",primary:"rgb(58, 91, 160)",secondary:"rgb(255, 224, 102)"}},{name:"Claude",value:"claude",colors:{background:"rgb(250, 249, 245)",primary:"rgb(201, 100, 66)",secondary:"rgb(233, 230, 220)"},colorsDark:{background:"rgb(38, 38, 36)",primary:"rgb(217, 119, 87)",secondary:"rgb(250, 249, 245)"}},{name:"Vercel",value:"vercel",colors:{background:"rgb(252, 252, 252)",primary:"rgb(0, 0, 0)",secondary:"rgb(240, 240, 240)"},colorsDark:{background:"rgb(0, 0, 0)",primary:"rgb(255, 255, 255)",secondary:"rgb(64, 64, 64)"}},{name:"Mono",value:"mono",colors:{background:"rgb(255, 255, 255)",primary:"rgb(115, 115, 115)",secondary:"rgb(245, 245, 245)"},colorsDark:{background:"rgb(10, 10, 10)",primary:"rgb(115, 115, 115)",secondary:"rgb(38, 38, 38)"}}],ft=gt,pt=new Map;Se.forEach(r=>pt.set(r.value,r));function mt(){const r=typeof window<"u",e=r?localStorage.getItem("theme"):null,t=Se.map(l=>l.value),o=e&&t.includes(e)?e:"system";r&&e&&e!==o&&localStorage.setItem("theme",o);const{subscribe:n,set:a}=Fe(o);return{subscribe:n,setTheme:async l=>{r&&localStorage.setItem("theme",l),a(l);const i=r?localStorage.getItem("darkMode")==="true":!1;await me(l,i)},init:async()=>{if(!r)return;const l=localStorage.getItem("darkMode")==="true";await me(o,l),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",async()=>{if(localStorage.getItem("theme")==="system"){const p=localStorage.getItem("darkMode")==="true";await me("system",p)}})}}}function ht(){const r=typeof window<"u",e=r?localStorage.getItem("darkMode")==="true":!1,t=Fe(e);return{subscribe:t.subscribe,toggle:async()=>{if(!r)return;const n=!(localStorage.getItem("darkMode")==="true");localStorage.setItem("darkMode",String(n)),t.set(n);const a=localStorage.getItem("theme");await me(a||"system",n)},set:async o=>{if(!r)return;localStorage.setItem("darkMode",String(o)),t.set(o);const n=localStorage.getItem("theme");await me(n||"system",o)}}}async function me(r,e){const t=document.documentElement;Se.map(a=>a.value).includes(r)||(console.warn(`Invalid theme "${r}", falling back to system`),r="system"),t.classList.remove(...ft);let n=e;r==="system"?n=e:(t.classList.add(`theme-${r}`),r==="midnight-bloom"&&(n=!0)),n&&t.classList.add("dark")}const yt=Fe(Se),or=Xr(yt,r=>r),vt=ht(),ve=mt();var nr=r=>typeof r=="boolean"?`${r}`:r===0?"0":r,U=r=>!r||typeof r!="object"||Object.keys(r).length===0,kt=(r,e)=>JSON.stringify(r)===JSON.stringify(e);function xr(r,e){r.forEach(function(t){Array.isArray(t)?xr(t,e):e.push(t)})}function wr(r){let e=[];return xr(r,e),e}var _r=(...r)=>wr(r).filter(Boolean),Sr=(r,e)=>{let t={},o=Object.keys(r),n=Object.keys(e);for(let a of o)if(n.includes(a)){let l=r[a],i=e[a];typeof l=="object"&&typeof i=="object"?t[a]=Sr(l,i):Array.isArray(l)||Array.isArray(i)?t[a]=_r(i,l):t[a]=i+" "+l}else t[a]=r[a];for(let a of n)o.includes(a)||(t[a]=e[a]);return t},ar=r=>!r||typeof r!="string"?r:r.replace(/\s+/g," ").trim();const We="-",xt=r=>{const e=_t(r),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=r;return{getClassGroupId:l=>{const i=l.split(We);return i[0]===""&&i.length!==1&&i.shift(),Cr(i,e)||wt(l)},getConflictingClassGroupIds:(l,i)=>{const f=t[l]||[];return i&&o[l]?[...f,...o[l]]:f}}},Cr=(r,e)=>{if(r.length===0)return e.classGroupId;const t=r[0],o=e.nextPart.get(t),n=o?Cr(r.slice(1),o):void 0;if(n)return n;if(e.validators.length===0)return;const a=r.join(We);return e.validators.find(({validator:l})=>l(a))?.classGroupId},sr=/^\[(.+)\]$/,wt=r=>{if(sr.test(r)){const e=sr.exec(r)[1],t=e?.substring(0,e.indexOf(":"));if(t)return"arbitrary.."+t}},_t=r=>{const{theme:e,prefix:t}=r,o={nextPart:new Map,validators:[]};return Ct(Object.entries(r.classGroups),t).forEach(([a,l])=>{Ne(l,o,a,e)}),o},Ne=(r,e,t,o)=>{r.forEach(n=>{if(typeof n=="string"){const a=n===""?e:lr(e,n);a.classGroupId=t;return}if(typeof n=="function"){if(St(n)){Ne(n(o),e,t,o);return}e.validators.push({validator:n,classGroupId:t});return}Object.entries(n).forEach(([a,l])=>{Ne(l,lr(e,a),t,o)})})},lr=(r,e)=>{let t=r;return e.split(We).forEach(o=>{t.nextPart.has(o)||t.nextPart.set(o,{nextPart:new Map,validators:[]}),t=t.nextPart.get(o)}),t},St=r=>r.isThemeGetter,Ct=(r,e)=>e?r.map(([t,o])=>{const n=o.map(a=>typeof a=="string"?e+a:typeof a=="object"?Object.fromEntries(Object.entries(a).map(([l,i])=>[e+l,i])):a);return[t,n]}):r,At=r=>{if(r<1)return{get:()=>{},set:()=>{}};let e=0,t=new Map,o=new Map;const n=(a,l)=>{t.set(a,l),e++,e>r&&(e=0,o=t,t=new Map)};return{get(a){let l=t.get(a);if(l!==void 0)return l;if((l=o.get(a))!==void 0)return n(a,l),l},set(a,l){t.has(a)?t.set(a,l):n(a,l)}}},Ar="!",Mt=r=>{const{separator:e,experimentalParseClassName:t}=r,o=e.length===1,n=e[0],a=e.length,l=i=>{const f=[];let p=0,b=0,h;for(let v=0;vb?h-b:void 0;return{modifiers:f,hasImportantModifier:y,baseClassName:g,maybePostfixModifierPosition:k}};return t?i=>t({className:i,parseClassName:l}):l},Tt=r=>{if(r.length<=1)return r;const e=[];let t=[];return r.forEach(o=>{o[0]==="["?(e.push(...t.sort(),o),t=[]):t.push(o)}),e.push(...t.sort()),e},Et=r=>({cache:At(r.cacheSize),parseClassName:Mt(r),...xt(r)}),Pt=/\s+/,zt=(r,e)=>{const{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n}=e,a=[],l=r.trim().split(Pt);let i="";for(let f=l.length-1;f>=0;f-=1){const p=l[f],{modifiers:b,hasImportantModifier:h,baseClassName:u,maybePostfixModifierPosition:y}=t(p);let g=!!y,k=o(g?u.substring(0,y):u);if(!k){if(!g){i=p+(i.length>0?" "+i:i);continue}if(k=o(u),!k){i=p+(i.length>0?" "+i:i);continue}g=!1}const v=Tt(b).join(":"),E=h?v+Ar:v,w=E+k;if(a.includes(w))continue;a.push(w);const O=n(k,g);for(let x=0;x0?" "+i:i)}return i};function It(){let r=0,e,t,o="";for(;r{if(typeof r=="string")return r;let e,t="";for(let o=0;oh(b),r());return t=Et(p),o=t.cache.get,n=t.cache.set,a=i,i(f)}function i(f){const p=o(f);if(p)return p;const b=zt(f,t);return n(f,b),b}return function(){return a(It.apply(null,arguments))}}const j=r=>{const e=t=>t[r]||[];return e.isThemeGetter=!0,e},Tr=/^\[(?:([a-z-]+):)?(.+)\]$/i,Nt=/^\d+\/\d+$/,Rt=new Set(["px","full","screen"]),Dt=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,qt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Gt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Lt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Vt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$=r=>ae(r)||Rt.has(r)||Nt.test(r),Z=r=>le(r,"length",Ut),ae=r=>!!r&&!Number.isNaN(Number(r)),Ae=r=>le(r,"number",ae),ce=r=>!!r&&Number.isInteger(Number(r)),Ot=r=>r.endsWith("%")&&ae(r.slice(0,-1)),C=r=>Tr.test(r),ee=r=>Dt.test(r),jt=new Set(["length","size","percentage"]),Ft=r=>le(r,jt,Er),Ht=r=>le(r,"position",Er),Bt=new Set(["image","url"]),Kt=r=>le(r,Bt,Qt),Wt=r=>le(r,"",Jt),ue=()=>!0,le=(r,e,t)=>{const o=Tr.exec(r);return o?o[1]?typeof e=="string"?o[1]===e:e.has(o[1]):t(o[2]):!1},Ut=r=>qt.test(r)&&!Gt.test(r),Er=()=>!1,Jt=r=>Lt.test(r),Qt=r=>Vt.test(r),De=()=>{const r=j("colors"),e=j("spacing"),t=j("blur"),o=j("brightness"),n=j("borderColor"),a=j("borderRadius"),l=j("borderSpacing"),i=j("borderWidth"),f=j("contrast"),p=j("grayscale"),b=j("hueRotate"),h=j("invert"),u=j("gap"),y=j("gradientColorStops"),g=j("gradientColorStopPositions"),k=j("inset"),v=j("margin"),E=j("opacity"),w=j("padding"),O=j("saturate"),x=j("scale"),P=j("sepia"),F=j("skew"),s=j("space"),c=j("translate"),_=()=>["auto","contain","none"],R=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto",C,e],d=()=>[C,e],A=()=>["",$,Z],S=()=>["auto",ae,C],I=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],M=()=>["solid","dashed","dotted","double","none"],N=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],D=()=>["start","end","center","between","around","evenly","stretch"],q=()=>["","0",C],H=()=>["auto","avoid","all","avoid-page","page","left","right","column"],m=()=>[ae,C];return{cacheSize:500,separator:":",theme:{colors:[ue],spacing:[$,Z],blur:["none","",ee,C],brightness:m(),borderColor:[r],borderRadius:["none","","full",ee,C],borderSpacing:d(),borderWidth:A(),contrast:m(),grayscale:q(),hueRotate:m(),invert:q(),gap:d(),gradientColorStops:[r],gradientColorStopPositions:[Ot,Z],inset:B(),margin:B(),opacity:m(),padding:d(),saturate:m(),scale:m(),sepia:q(),skew:m(),space:d(),translate:d()},classGroups:{aspect:[{aspect:["auto","square","video",C]}],container:["container"],columns:[{columns:[ee]}],"break-after":[{"break-after":H()}],"break-before":[{"break-before":H()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...I(),C]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:_()}],"overscroll-x":[{"overscroll-x":_()}],"overscroll-y":[{"overscroll-y":_()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[k]}],"inset-x":[{"inset-x":[k]}],"inset-y":[{"inset-y":[k]}],start:[{start:[k]}],end:[{end:[k]}],top:[{top:[k]}],right:[{right:[k]}],bottom:[{bottom:[k]}],left:[{left:[k]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",ce,C]}],basis:[{basis:B()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",C]}],grow:[{grow:q()}],shrink:[{shrink:q()}],order:[{order:["first","last","none",ce,C]}],"grid-cols":[{"grid-cols":[ue]}],"col-start-end":[{col:["auto",{span:["full",ce,C]},C]}],"col-start":[{"col-start":S()}],"col-end":[{"col-end":S()}],"grid-rows":[{"grid-rows":[ue]}],"row-start-end":[{row:["auto",{span:[ce,C]},C]}],"row-start":[{"row-start":S()}],"row-end":[{"row-end":S()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",C]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",C]}],gap:[{gap:[u]}],"gap-x":[{"gap-x":[u]}],"gap-y":[{"gap-y":[u]}],"justify-content":[{justify:["normal",...D()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...D(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...D(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[w]}],px:[{px:[w]}],py:[{py:[w]}],ps:[{ps:[w]}],pe:[{pe:[w]}],pt:[{pt:[w]}],pr:[{pr:[w]}],pb:[{pb:[w]}],pl:[{pl:[w]}],m:[{m:[v]}],mx:[{mx:[v]}],my:[{my:[v]}],ms:[{ms:[v]}],me:[{me:[v]}],mt:[{mt:[v]}],mr:[{mr:[v]}],mb:[{mb:[v]}],ml:[{ml:[v]}],"space-x":[{"space-x":[s]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[s]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",C,e]}],"min-w":[{"min-w":[C,e,"min","max","fit"]}],"max-w":[{"max-w":[C,e,"none","full","min","max","fit","prose",{screen:[ee]},ee]}],h:[{h:[C,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[C,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[C,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[C,e,"auto","min","max","fit"]}],"font-size":[{text:["base",ee,Z]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Ae]}],"font-family":[{font:[ue]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",C]}],"line-clamp":[{"line-clamp":["none",ae,Ae]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",$,C]}],"list-image":[{"list-image":["none",C]}],"list-style-type":[{list:["none","disc","decimal",C]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[r]}],"placeholder-opacity":[{"placeholder-opacity":[E]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[r]}],"text-opacity":[{"text-opacity":[E]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...M(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",$,Z]}],"underline-offset":[{"underline-offset":["auto",$,C]}],"text-decoration-color":[{decoration:[r]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:d()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",C]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",C]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[E]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...I(),Ht]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Ft]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Kt]}],"bg-color":[{bg:[r]}],"gradient-from-pos":[{from:[g]}],"gradient-via-pos":[{via:[g]}],"gradient-to-pos":[{to:[g]}],"gradient-from":[{from:[y]}],"gradient-via":[{via:[y]}],"gradient-to":[{to:[y]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[E]}],"border-style":[{border:[...M(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[E]}],"divide-style":[{divide:M()}],"border-color":[{border:[n]}],"border-color-x":[{"border-x":[n]}],"border-color-y":[{"border-y":[n]}],"border-color-s":[{"border-s":[n]}],"border-color-e":[{"border-e":[n]}],"border-color-t":[{"border-t":[n]}],"border-color-r":[{"border-r":[n]}],"border-color-b":[{"border-b":[n]}],"border-color-l":[{"border-l":[n]}],"divide-color":[{divide:[n]}],"outline-style":[{outline:["",...M()]}],"outline-offset":[{"outline-offset":[$,C]}],"outline-w":[{outline:[$,Z]}],"outline-color":[{outline:[r]}],"ring-w":[{ring:A()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[r]}],"ring-opacity":[{"ring-opacity":[E]}],"ring-offset-w":[{"ring-offset":[$,Z]}],"ring-offset-color":[{"ring-offset":[r]}],shadow:[{shadow:["","inner","none",ee,Wt]}],"shadow-color":[{shadow:[ue]}],opacity:[{opacity:[E]}],"mix-blend":[{"mix-blend":[...N(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":N()}],filter:[{filter:["","none"]}],blur:[{blur:[t]}],brightness:[{brightness:[o]}],contrast:[{contrast:[f]}],"drop-shadow":[{"drop-shadow":["","none",ee,C]}],grayscale:[{grayscale:[p]}],"hue-rotate":[{"hue-rotate":[b]}],invert:[{invert:[h]}],saturate:[{saturate:[O]}],sepia:[{sepia:[P]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[t]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[f]}],"backdrop-grayscale":[{"backdrop-grayscale":[p]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[b]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[E]}],"backdrop-saturate":[{"backdrop-saturate":[O]}],"backdrop-sepia":[{"backdrop-sepia":[P]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[l]}],"border-spacing-x":[{"border-spacing-x":[l]}],"border-spacing-y":[{"border-spacing-y":[l]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",C]}],duration:[{duration:m()}],ease:[{ease:["linear","in","out","in-out",C]}],delay:[{delay:m()}],animate:[{animate:["none","spin","ping","pulse","bounce",C]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[x]}],"scale-x":[{"scale-x":[x]}],"scale-y":[{"scale-y":[x]}],rotate:[{rotate:[ce,C]}],"translate-x":[{"translate-x":[c]}],"translate-y":[{"translate-y":[c]}],"skew-x":[{"skew-x":[F]}],"skew-y":[{"skew-y":[F]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",C]}],accent:[{accent:["auto",r]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",C]}],"caret-color":[{caret:[r]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":d()}],"scroll-mx":[{"scroll-mx":d()}],"scroll-my":[{"scroll-my":d()}],"scroll-ms":[{"scroll-ms":d()}],"scroll-me":[{"scroll-me":d()}],"scroll-mt":[{"scroll-mt":d()}],"scroll-mr":[{"scroll-mr":d()}],"scroll-mb":[{"scroll-mb":d()}],"scroll-ml":[{"scroll-ml":d()}],"scroll-p":[{"scroll-p":d()}],"scroll-px":[{"scroll-px":d()}],"scroll-py":[{"scroll-py":d()}],"scroll-ps":[{"scroll-ps":d()}],"scroll-pe":[{"scroll-pe":d()}],"scroll-pt":[{"scroll-pt":d()}],"scroll-pr":[{"scroll-pr":d()}],"scroll-pb":[{"scroll-pb":d()}],"scroll-pl":[{"scroll-pl":d()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",C]}],fill:[{fill:[r,"none"]}],"stroke-w":[{stroke:[$,Z,Ae]}],stroke:[{stroke:[r,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},$t=(r,{cacheSize:e,prefix:t,separator:o,experimentalParseClassName:n,extend:a={},override:l={}})=>{be(r,"cacheSize",e),be(r,"prefix",t),be(r,"separator",o),be(r,"experimentalParseClassName",n);for(const i in l)Xt(r[i],l[i]);for(const i in a)Yt(r[i],a[i]);return r},be=(r,e,t)=>{t!==void 0&&(r[e]=t)},Xt=(r,e)=>{if(e)for(const t in e)be(r,t,e[t])},Yt=(r,e)=>{if(e)for(const t in e){const o=e[t];o!==void 0&&(r[t]=(r[t]||[]).concat(o))}},Zt=(r,...e)=>typeof r=="function"?Re(De,r,...e):Re(()=>$t(De(),r),...e),eo=Re(De);var ro={twMerge:!0,twMergeConfig:{},responsiveVariants:!1},Pr=r=>r||void 0,he=(...r)=>Pr(wr(r).filter(Boolean).join(" ")),Me=null,X={},qe=!1,de=(...r)=>e=>e.twMerge?((!Me||qe)&&(qe=!1,Me=U(X)?eo:Zt({...X,extend:{theme:X.theme,classGroups:X.classGroups,conflictingClassGroupModifiers:X.conflictingClassGroupModifiers,conflictingClassGroups:X.conflictingClassGroups,...X.extend}})),Pr(Me(he(r)))):he(r),ir=(r,e)=>{for(let t in e)r.hasOwnProperty(t)?r[t]=he(r[t],e[t]):r[t]=e[t];return r},to=(r,e)=>{let{extend:t=null,slots:o={},variants:n={},compoundVariants:a=[],compoundSlots:l=[],defaultVariants:i={}}=r,f={...ro,...e},p=t!=null&&t.base?he(t.base,r?.base):r?.base,b=t!=null&&t.variants&&!U(t.variants)?Sr(n,t.variants):n,h=t!=null&&t.defaultVariants&&!U(t.defaultVariants)?{...t.defaultVariants,...i}:i;!U(f.twMergeConfig)&&!kt(f.twMergeConfig,X)&&(qe=!0,X=f.twMergeConfig);let u=U(t?.slots),y=U(o)?{}:{base:he(r?.base,u&&t?.base),...o},g=u?y:ir({...t?.slots},U(y)?{base:r?.base}:y),k=U(t?.compoundVariants)?a:_r(t?.compoundVariants,a),v=w=>{if(U(b)&&U(o)&&u)return de(p,w?.class,w?.className)(f);if(k&&!Array.isArray(k))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof k}`);if(l&&!Array.isArray(l))throw new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof l}`);let O=(d,A,S=[],I)=>{let M=S;if(typeof A=="string")M=M.concat(ar(A).split(" ").map(N=>`${d}:${N}`));else if(Array.isArray(A))M=M.concat(A.reduce((N,D)=>N.concat(`${d}:${D}`),[]));else if(typeof A=="object"&&typeof I=="string"){for(let N in A)if(A.hasOwnProperty(N)&&N===I){let D=A[N];if(D&&typeof D=="string"){let q=ar(D);M[I]?M[I]=M[I].concat(q.split(" ").map(H=>`${d}:${H}`)):M[I]=q.split(" ").map(H=>`${d}:${H}`)}else Array.isArray(D)&&D.length>0&&(M[I]=D.reduce((q,H)=>q.concat(`${d}:${H}`),[]))}}return M},x=(d,A=b,S=null,I=null)=>{var M;let N=A[d];if(!N||U(N))return null;let D=(M=I?.[d])!=null?M:w?.[d];if(D===null)return null;let q=nr(D),H=Array.isArray(f.responsiveVariants)&&f.responsiveVariants.length>0||f.responsiveVariants===!0,m=h?.[d],T=[];if(typeof q=="object"&&H)for(let[V,Q]of Object.entries(q)){let G=N[Q];if(V==="initial"){m=Q;continue}Array.isArray(f.responsiveVariants)&&!f.responsiveVariants.includes(V)||(T=O(V,G,T,S))}let L=q!=null&&typeof q!="object"?q:nr(m),z=N[L||"false"];return typeof T=="object"&&typeof S=="string"&&T[S]?ir(T,z):T.length>0?(T.push(z),T):z},P=()=>b?Object.keys(b).map(d=>x(d,b)):null,F=(d,A)=>{if(!b||typeof b!="object")return null;let S=new Array;for(let I in b){let M=x(I,b,d,A),N=d==="base"&&typeof M=="string"?M:M&&M[d];N&&(S[S.length]=N)}return S},s={};for(let d in w)w[d]!==void 0&&(s[d]=w[d]);let c=(d,A)=>{var S;let I=typeof w?.[d]=="object"?{[d]:(S=w[d])==null?void 0:S.initial}:{};return{...h,...s,...I,...A}},_=(d=[],A)=>{let S=[];for(let{class:I,className:M,...N}of d){let D=!0;for(let[q,H]of Object.entries(N)){let m=c(q,A);if(Array.isArray(H)){if(!H.includes(m[q])){D=!1;break}}else if(m[q]!==H){D=!1;break}}D&&(I&&S.push(I),M&&S.push(M))}return S},R=d=>{let A=_(k,d);if(!Array.isArray(A))return A;let S={};for(let I of A)if(typeof I=="string"&&(S.base=de(S.base,I)(f)),typeof I=="object")for(let[M,N]of Object.entries(I))S[M]=de(S[M],N)(f);return S},B=d=>{if(l.length<1)return null;let A={};for(let{slots:S=[],class:I,className:M,...N}of l){if(!U(N)){let D=!0;for(let q of Object.keys(N)){let H=c(q,d)[q];if(H===void 0||(Array.isArray(N[q])?!N[q].includes(H):N[q]!==H)){D=!1;break}}if(!D)continue}for(let D of S)A[D]=A[D]||[],A[D].push([I,M])}return A};if(!U(o)||!u){let d={};if(typeof g=="object"&&!U(g))for(let A of Object.keys(g))d[A]=S=>{var I,M;return de(g[A],F(A,S),((I=R(S))!=null?I:[])[A],((M=B(S))!=null?M:[])[A],S?.class,S?.className)(f)};return d}return de(p,P(),_(k),w?.class,w?.className)(f)},E=()=>{if(!(!b||typeof b!="object"))return Object.keys(b)};return v.variantKeys=E(),v.extend=t,v.base=p,v.slots=g,v.variants=b,v.defaultVariants=h,v.compoundSlots=l,v.compoundVariants=k,v};const cr=to({base:"ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-secondary hover:text-secondary-foreground",destructive:"bg-destructive text-destructive-foreground hover:bg-secondary hover:text-secondary-foreground",outline:"border-input bg-background hover:bg-secondary hover:text-secondary-foreground border",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-secondary hover:text-secondary-foreground",link:"text-primary underline-offset-4 hover:underline hover:text-secondary-foreground"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}});var oo=_e(""),no=_e("");function vo(r,e){He(e,!0);let t=J(e,"variant",3,"default"),o=J(e,"size",3,"default"),n=J(e,"ref",15,null),a=J(e,"href",3,void 0),l=J(e,"type",3,"button"),i=vr(e,["$$slots","$$events","$$legacy","class","variant","size","ref","href","type","children"]);var f=Ge(),p=Be(f);{var b=u=>{var y=oo();se(y,k=>({class:k,href:a(),...i}),[()=>xe(cr({variant:t(),size:o()}),e.class)]);var g=ze(y);Ye(g,()=>e.children??$e),Ie(y),we(y,k=>n(k),()=>n()),oe(u,y)},h=u=>{var y=no();se(y,k=>({class:k,type:l(),...i}),[()=>xe(cr({variant:t(),size:o()}),e.class)]);var g=ze(y);Ye(g,()=>e.children??$e),Ie(y),we(y,k=>n(k),()=>n()),oe(u,y)};yr(p,u=>{a()?u(b):u(h,!1)})}oe(r,f),Ke()}/** + * @license lucide-svelte v0.517.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */const ao={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};var so=Dr("");function ko(r,e){const t=rr(e,["children","$$slots","$$events","$$legacy"]),o=rr(t,["name","color","size","strokeWidth","absoluteStrokeWidth","iconNode"]);He(e,!1);let n=J(e,"name",8,void 0),a=J(e,"color",8,"currentColor"),l=J(e,"size",8,24),i=J(e,"strokeWidth",8,2),f=J(e,"absoluteStrokeWidth",8,!1),p=J(e,"iconNode",24,()=>[]);const b=(...g)=>g.filter((k,v,E)=>!!k&&E.indexOf(k)===v).join(" ");nt();var h=so();se(h,(g,k)=>({...ao,...o,width:l(),height:l(),stroke:a(),"stroke-width":g,class:k}),[()=>(ie(f()),ie(i()),ie(l()),Xe(()=>f()?Number(i())*24/Number(l()):i())),()=>(ie(n()),ie(t),Xe(()=>b("lucide-icon","lucide",n()?`lucide-${n()}`:"",t.class)))]);var u=ze(h);it(u,1,p,st,(g,k)=>{var v=Zr(()=>et(fe(k),2));let E=()=>fe(v)[0],w=()=>fe(v)[1];var O=Ge(),x=Be(O);bt(x,E,!0,(P,F)=>{se(P,()=>({...w()}))}),oe(g,O)});var y=Yr(u);dt(y,e,"default",{}),Ie(h),oe(r,h),Ke()}var lo=_e(""),io=_e("");function xo(r,e){He(e,!0);let t=J(e,"ref",15,null),o=J(e,"value",15),n=J(e,"files",15),a=vr(e,["$$slots","$$events","$$legacy","ref","value","type","files","class"]);var l=Ge(),i=Be(l);{var f=b=>{var h=lo();Ze(h),se(h,u=>({class:u,type:"file",...a}),[()=>xe("border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-base file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e.class)]),we(h,u=>t(u),()=>t()),rt(h,n),er(h,o),oe(b,h)},p=b=>{var h=io();Ze(h),se(h,u=>({class:u,type:e.type,...a}),[()=>xe("border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-base file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e.class)]),we(h,u=>t(u),()=>t()),er(h,o),oe(b,h)};yr(i,b=>{e.type==="file"?b(f):b(p,!1)})}oe(r,l),Ke()}var Te={exports:{}},ur;function co(){return ur||(ur=1,function(r){(function(e,t,o){if(!e)return;for(var n={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},a={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},l={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},i={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},f,p=1;p<20;++p)n[111+p]="f"+p;for(p=0;p<=9;++p)n[p+96]=p.toString();function b(s,c,_){if(s.addEventListener){s.addEventListener(c,_,!1);return}s.attachEvent("on"+c,_)}function h(s){if(s.type=="keypress"){var c=String.fromCharCode(s.which);return s.shiftKey||(c=c.toLowerCase()),c}return n[s.which]?n[s.which]:a[s.which]?a[s.which]:String.fromCharCode(s.which).toLowerCase()}function u(s,c){return s.sort().join(",")===c.sort().join(",")}function y(s){var c=[];return s.shiftKey&&c.push("shift"),s.altKey&&c.push("alt"),s.ctrlKey&&c.push("ctrl"),s.metaKey&&c.push("meta"),c}function g(s){if(s.preventDefault){s.preventDefault();return}s.returnValue=!1}function k(s){if(s.stopPropagation){s.stopPropagation();return}s.cancelBubble=!0}function v(s){return s=="shift"||s=="ctrl"||s=="alt"||s=="meta"}function E(){if(!f){f={};for(var s in n)s>95&&s<112||n.hasOwnProperty(s)&&(f[n[s]]=s)}return f}function w(s,c,_){return _||(_=E()[s]?"keydown":"keypress"),_=="keypress"&&c.length&&(_="keydown"),_}function O(s){return s==="+"?["+"]:(s=s.replace(/\+{2}/g,"+plus"),s.split("+"))}function x(s,c){var _,R,B,d=[];for(_=O(s),B=0;B<_.length;++B)R=_[B],i[R]&&(R=i[R]),c&&c!="keypress"&&l[R]&&(R=l[R],d.push("shift")),v(R)&&d.push(R);return c=w(R,d,c),{key:R,modifiers:d,action:c}}function P(s,c){return s===null||s===t?!1:s===c?!0:P(s.parentNode,c)}function F(s){var c=this;if(s=s||t,!(c instanceof F))return new F(s);c.target=s,c._callbacks={},c._directMap={};var _={},R,B=!1,d=!1,A=!1;function S(m){m=m||{};var T=!1,L;for(L in _){if(m[L]){T=!0;continue}_[L]=0}T||(A=!1)}function I(m,T,L,z,V,Q){var G,K,ne=[],Y=L.type;if(!c._callbacks[m])return[];for(Y=="keyup"&&v(m)&&(T=[m]),G=0;G1){q(m,Q,T,L);return}G=x(m,L),c._callbacks[G.key]=c._callbacks[G.key]||[],I(G.key,G.modifiers,{type:G.action},z,m,V),c._callbacks[G.key][z?"unshift":"push"]({callback:T,modifiers:G.modifiers,action:G.action,seq:z,level:V,combo:m})}c._bindMultiple=function(m,T,L){for(var z=0;z-1||P(c,_.target))return!1;if("composedPath"in s&&typeof s.composedPath=="function"){var R=s.composedPath()[0];R!==s.target&&(c=R)}return c.tagName=="INPUT"||c.tagName=="SELECT"||c.tagName=="TEXTAREA"||c.isContentEditable},F.prototype.handleKey=function(){var s=this;return s._handleKey.apply(s,arguments)},F.addKeycodes=function(s){for(var c in s)s.hasOwnProperty(c)&&(n[c]=s[c]);f=null},F.init=function(){var s=F(t);for(var c in s)c.charAt(0)!=="_"&&(F[c]=function(_){return function(){return s[_].apply(s,arguments)}}(c))},F.init(),e.Mousetrap=F,r.exports&&(r.exports=F)})(typeof window<"u"?window:null,typeof window<"u"?document:null)}(Te)),Te.exports}var uo=co();const Ee=tt(uo);class bo{shortcuts=new Map;currentContext="global";helpModalOpen=!1;onShowHelp;onHideHelp;constructor(){this.setupGlobalShortcuts()}setupGlobalShortcuts(){this.bind("?","Show keyboard shortcuts help",()=>{this.toggleHelp()},"global"),this.bind("/","Focus search bar",()=>{this.focusSearchBar()},"global"),this.bind("g h","Go to home page",()=>{at("/")},"global"),this.bind("ctrl+o","Navigate back through breadcrumbs",()=>{this.navigateBack()},"global"),this.bind("] t","Next theme",()=>{this.nextTheme()},"global"),this.bind("[ t","Previous theme",()=>{this.previousTheme()},"global"),this.bind("c t","Open theme picker",()=>{this.openThemePicker()},"global"),this.bind("c m","Toggle dark/light mode",()=>{vt.toggle()},"global")}setupResultsShortcuts(){this.setContext("results"),this.bind("f","Focus filter input",()=>{this.focusFilter()},"results"),this.bind("] ]","Next page",()=>{this.nextPage()},"results"),this.bind("[ [","Previous page",()=>{this.previousPage()},"results")}setupTableShortcuts(){this.setContext("table"),this.bind("j","Focus next table row",()=>{this.focusNextRow()},"table"),this.bind("k","Focus previous table row",()=>{this.focusPreviousRow()},"table"),this.bind("h","Focus previous cell in row",()=>{this.focusPreviousCell()},"table"),this.bind("l","Focus next cell in row",()=>{this.focusNextCell()},"table"),this.bind("enter","Click active cell link",()=>{this.clickActiveCell()},"table")}bind(e,t,o,n="global"){const a={key:e,description:t,action:o,context:n};this.shortcuts.set(e,a),Ee.bind(e,l=>(l.preventDefault(),o(),!1))}unbind(e){Ee.unbind(e),this.shortcuts.delete(e)}setContext(e){this.currentContext=e}toggleHelp(){this.helpModalOpen=!this.helpModalOpen,this.helpModalOpen&&this.onShowHelp?this.onShowHelp():!this.helpModalOpen&&this.onHideHelp&&this.onHideHelp()}focusSearchBar(){const e=document.querySelector('input[type="search"], input[placeholder*="search" i], input[placeholder*="Search" i]');e&&(e.focus(),e.select())}navigateBack(){ot.goBack()}nextTheme(){const e=ye(ve),t=ye(or),n=(t.findIndex(a=>a.value===e)+1)%t.length;ve.setTheme(t[n].value)}previousTheme(){const e=ye(ve),t=ye(or),o=t.findIndex(a=>a.value===e),n=o===0?t.length-1:o-1;ve.setTheme(t[n].value)}openThemePicker(){const e=document.querySelector("[data-theme-trigger]");e&&e.click()}focusFilter(){const e=document.querySelector("[data-filter-input]");e&&(e.focus(),e.select())}nextPage(){const e=document.querySelector("[data-pagination-next]");e&&!e.disabled&&e.click()}previousPage(){const e=document.querySelector("[data-pagination-prev]");e&&!e.disabled&&e.click()}focusNextRow(){const e=document.querySelector(".table-row-focused");let t=null;e?t=e.nextElementSibling:t=document.querySelector("[data-table-row]"),t&&this.setRowFocus(t)}focusPreviousRow(){const e=document.querySelector(".table-row-focused");let t=null;if(e)t=e.previousElementSibling;else{const o=document.querySelectorAll("[data-table-row]");t=o[o.length-1]}t&&this.setRowFocus(t)}focusNextCell(){const e=document.querySelector(".table-cell-focused");let t=null;if(e)t=e.nextElementSibling;else{const o=document.querySelector(".table-row-focused");o&&(t=o.querySelector("[data-table-cell]"))}t&&this.setCellFocus(t)}focusPreviousCell(){const e=document.querySelector(".table-cell-focused");let t=null;if(e)t=e.previousElementSibling;else{const o=document.querySelector(".table-row-focused");if(o){const n=o.querySelectorAll("[data-table-cell]");t=n[n.length-1]}}t&&this.setCellFocus(t)}clickActiveCell(){const e=document.querySelector(".table-cell-focused");if(e){const t=e.querySelector("a");t&&t.click()}}setRowFocus(e){document.querySelectorAll(".table-row-focused").forEach(t=>{t.classList.remove("table-row-focused")}),document.querySelectorAll(".table-cell-focused").forEach(t=>{t.classList.remove("table-cell-focused")}),e.classList.add("table-row-focused"),e.scrollIntoView({behavior:"smooth",block:"nearest"})}setCellFocus(e){document.querySelectorAll(".table-cell-focused").forEach(t=>{t.classList.remove("table-cell-focused")}),e.classList.add("table-cell-focused")}onHelpShow(e){this.onShowHelp=e}onHelpHide(e){this.onHideHelp=e}getShortcutGroups(){const e=new Map;return this.shortcuts.forEach((n,a)=>{e.set(a,n)}),[{key:"?",description:"Show keyboard shortcuts help",action:()=>{},context:"global"},{key:"/",description:"Focus search bar",action:()=>{},context:"global"},{key:"g h",description:"Go to home page",action:()=>{},context:"global"},{key:"ctrl+o",description:"Navigate back through breadcrumbs",action:()=>{},context:"global"},{key:"] t",description:"Next theme",action:()=>{},context:"global"},{key:"[ t",description:"Previous theme",action:()=>{},context:"global"},{key:"c t",description:"Open theme picker",action:()=>{},context:"global"},{key:"c m",description:"Toggle dark/light mode",action:()=>{},context:"global"},{key:"f",description:"Focus filter input",action:()=>{},context:"results"},{key:"] ]",description:"Next page",action:()=>{},context:"results"},{key:"[ [",description:"Previous page",action:()=>{},context:"results"},{key:"j",description:"Focus next table row",action:()=>{},context:"table"},{key:"k",description:"Focus previous table row",action:()=>{},context:"table"},{key:"h",description:"Focus previous cell in row",action:()=>{},context:"table"},{key:"l",description:"Focus next cell in row",action:()=>{},context:"table"},{key:"enter",description:"Click active cell link",action:()=>{},context:"table"}].forEach(n=>{e.has(n.key)||e.set(n.key,n)}),[{title:"Navigation",shortcuts:Array.from(e.values()).filter(n=>["/","g h","ctrl+o"].includes(n.key))},{title:"Theme Management",shortcuts:Array.from(e.values()).filter(n=>["] t","[ t","c t","c m"].includes(n.key))},{title:"Results Page",shortcuts:Array.from(e.values()).filter(n=>["f","] ]","[ ["].includes(n.key))},{title:"Table Navigation",shortcuts:Array.from(e.values()).filter(n=>["j","k","h","l","enter"].includes(n.key))}].filter(n=>n.shortcuts.length>0)}destroy(){this.shortcuts.forEach((e,t)=>{Ee.unbind(t)}),this.shortcuts.clear()}}const wo=new bo;export{vo as B,ko as I,xo as a,vt as b,or as c,to as d,it as e,bt as f,st as i,wo as k,dt as s,ve as t}; diff --git a/.svelte-kit/output/client/_app/immutable/entry/app.BAGvgSeM.js b/.svelte-kit/output/client/_app/immutable/entry/app.BAGvgSeM.js new file mode 100644 index 0000000..578e80f --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/entry/app.BAGvgSeM.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.B6Ds9RUI.js","../chunks/CBa6YeNv.js","../chunks/CcQSGzXg.js","../chunks/D9r2v96-.js","../chunks/pk0RzIpj.js","../chunks/C-0S9jGX.js","../chunks/G-SkzPYD.js","../chunks/CSbn2Ldu.js","../chunks/CkeX2SFv.js","../chunks/CR6-c37r.js","../assets/0.CoPY42nB.css","../nodes/1.KYvgsKgm.js","../nodes/2.CDiNaOwl.js","../nodes/3.CJC8mRMn.js","../chunks/ChoBOLD_.js","../nodes/4.CooLQXsS.js","../nodes/5.D0T96Kel.js","../nodes/6.BYAxnuLT.js"])))=>i.map(i=>d[i]); +import{s as O,ac as U,g as f,ak as G,a4 as K,m as W,p as Y,B as z,C as F,al as H,am as L,an as J,K as p,O as Q,b as X,M as Z,N as $,ao as k,L as ee}from"../chunks/CcQSGzXg.js";import{h as te,m as re,u as se,s as ne}from"../chunks/CkeX2SFv.js";import{f as j,c as y,e as x,t as ae}from"../chunks/CBa6YeNv.js";import{p as A,i as S,c as C,b as T}from"../chunks/CSbn2Ldu.js";function oe(c){return class extends ie{constructor(e){super({component:c,...e})}}}class ie{#t;#e;constructor(e){var n=new Map,l=(r,t)=>{var s=W(t,!1,!1);return n.set(r,s),s};const u=new Proxy({...e.props||{},$$events:{}},{get(r,t){return f(n.get(t)??l(t,Reflect.get(r,t)))},has(r,t){return t===U?!0:(f(n.get(t)??l(t,Reflect.get(r,t))),Reflect.has(r,t))},set(r,t,s){return O(n.get(t)??l(t,s),s),Reflect.set(r,t,s)}});this.#e=(e.hydrate?te:re)(e.component,{target:e.target,anchor:e.anchor,props:u,context:e.context,intro:e.intro??!1,recover:e.recover}),(!e?.props?.$$host||e.sync===!1)&&G(),this.#t=u.$$events;for(const r of Object.keys(this.#e))r==="$set"||r==="$destroy"||r==="$on"||K(this,r,{get(){return this.#e[r]},set(t){this.#e[r]=t},enumerable:!0});this.#e.$set=r=>{Object.assign(u,r)},this.#e.$destroy=()=>{se(this.#e)}}$set(e){this.#e.$set(e)}$on(e,n){this.#t[e]=this.#t[e]||[];const l=(...u)=>n.call(this,...u);return this.#t[e].push(l),()=>{this.#t[e]=this.#t[e].filter(u=>u!==l)}}$destroy(){this.#e.$destroy()}}const ce="modulepreload",le=function(c,e){return new URL(c,e).href},V={},v=function(e,n,l){let u=Promise.resolve();if(n&&n.length>0){let t=function(o){return Promise.all(o.map(d=>Promise.resolve(d).then(_=>({status:"fulfilled",value:_}),_=>({status:"rejected",reason:_}))))};const s=document.getElementsByTagName("link"),w=document.querySelector("meta[property=csp-nonce]"),E=w?.nonce||w?.getAttribute("nonce");u=t(n.map(o=>{if(o=le(o,l),o in V)return;V[o]=!0;const d=o.endsWith(".css"),_=d?'[rel="stylesheet"]':"";if(!!l)for(let a=s.length-1;a>=0;a--){const i=s[a];if(i.href===o&&(!d||i.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${_}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":ce,d||(m.as="script"),m.crossOrigin="",m.href=o,E&&m.setAttribute("nonce",E),document.head.appendChild(m),d)return new Promise((a,i)=>{m.addEventListener("load",a),m.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${o}`)))})}))}function r(t){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=t,window.dispatchEvent(s),!s.defaultPrevented)throw t}return u.then(t=>{for(const s of t||[])s.status==="rejected"&&r(s.reason);return e().catch(r)})},be={};var ue=j('
    '),me=j(" ",1);function de(c,e){Y(e,!0);let n=A(e,"components",23,()=>[]),l=A(e,"data_0",3,null),u=A(e,"data_1",3,null);z(()=>e.stores.page.set(e.page)),F(()=>{e.stores,e.page,e.constructors,n(),e.form,l(),u(),e.stores.page.notify()});let r=L(!1),t=L(!1),s=L(null);H(()=>{const a=e.stores.page.subscribe(()=>{f(r)&&(O(t,!0),J().then(()=>{O(s,document.title||"untitled page",!0)}))});return O(r,!0),a});const w=k(()=>e.constructors[1]);var E=me(),o=p(E);{var d=a=>{var i=x();const b=k(()=>e.constructors[0]);var P=p(i);C(P,()=>f(b),(h,g)=>{T(g(h,{get data(){return l()},get form(){return e.form},children:(R,he)=>{var I=x(),B=p(I);C(B,()=>f(w),(M,N)=>{T(N(M,{get data(){return u()},get form(){return e.form}}),q=>n()[1]=q,()=>n()?.[1])}),y(R,I)},$$slots:{default:!0}}),R=>n()[0]=R,()=>n()?.[0])}),y(a,i)},_=a=>{var i=x();const b=k(()=>e.constructors[0]);var P=p(i);C(P,()=>f(b),(h,g)=>{T(g(h,{get data(){return l()},get form(){return e.form}}),R=>n()[0]=R,()=>n()?.[0])}),y(a,i)};S(o,a=>{e.constructors[1]?a(d):a(_,!1)})}var D=Q(o,2);{var m=a=>{var i=ue(),b=Z(i);{var P=h=>{var g=ae();ee(()=>ne(g,f(s))),y(h,g)};S(b,h=>{f(t)&&h(P)})}$(i),y(a,i)};S(D,a=>{f(r)&&a(m)})}y(c,E),X()}const Pe=oe(de),Re=[()=>v(()=>import("../nodes/0.B6Ds9RUI.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url),()=>v(()=>import("../nodes/1.KYvgsKgm.js"),__vite__mapDeps([11,1,2,3,8,6]),import.meta.url),()=>v(()=>import("../nodes/2.CDiNaOwl.js"),__vite__mapDeps([12,1,2,3,5,6,7,9]),import.meta.url),()=>v(()=>import("../nodes/3.CJC8mRMn.js"),__vite__mapDeps([13,1,2,3,7,5,6,14,4,8]),import.meta.url),()=>v(()=>import("../nodes/4.CooLQXsS.js"),__vite__mapDeps([15,1,2,3,7,5,6,14,4,8]),import.meta.url),()=>v(()=>import("../nodes/5.D0T96Kel.js"),__vite__mapDeps([16,1,2,3,7,5,6,14,4,8]),import.meta.url),()=>v(()=>import("../nodes/6.BYAxnuLT.js"),__vite__mapDeps([17,1,2,3,7,5,6,14,4,8]),import.meta.url)],we=[],pe={"/":[2],"/domain/[domain]":[3],"/email/[email]":[4],"/password/[password]":[5],"/username/[name]":[6]},fe={handleError:({error:c})=>{console.error(c)},reroute:()=>{},transport:{}},_e=Object.fromEntries(Object.entries(fe.transport).map(([c,e])=>[c,e.decode])),Oe=!1,Le=(c,e)=>_e[c](e);export{Le as decode,_e as decoders,pe as dictionary,Oe as hash,fe as hooks,be as matchers,Re as nodes,Pe as root,we as server_loads}; diff --git a/.svelte-kit/output/client/_app/immutable/entry/start.0HCr0Tke.js b/.svelte-kit/output/client/_app/immutable/entry/start.0HCr0Tke.js new file mode 100644 index 0000000..dc804a0 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/entry/start.0HCr0Tke.js @@ -0,0 +1 @@ +import{l as o,a as r}from"../chunks/G-SkzPYD.js";export{o as load_css,r as start}; diff --git a/.svelte-kit/output/client/_app/immutable/nodes/0.B6Ds9RUI.js b/.svelte-kit/output/client/_app/immutable/nodes/0.B6Ds9RUI.js new file mode 100644 index 0000000..c8d9f4f --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/nodes/0.B6Ds9RUI.js @@ -0,0 +1,4 @@ +import{u as ye,e as N,c as p,f as z,t as Re,v as Ct,g as Xn,s as Go}from"../chunks/CBa6YeNv.js";import{i as Rt}from"../chunks/D9r2v96-.js";import{as as Xo,aC as qo,aZ as Zo,z as gn,k as Jo,aG as Qo,a_ as $o,a$ as ei,Q as ti,W as ri,x as ni,n as oi,X as ii,g as i,am as B,s as w,aa as Ue,C as pe,E as ge,an as si,ao as P,p as W,K as T,b as U,a0 as re,M as L,N as F,b0 as ai,b1 as li,d as Be,al as ot,O as q,B as Qt,aw as xe,L as Ie,G as ke,l as Tt,m as Xe,a as qn,aY as ci}from"../chunks/CcQSGzXg.js";import{I as Je,s as je,b as Br,e as At,i as Et,t as ft,c as ui,d as di,f as hi,a as fi,k as Ot}from"../chunks/pk0RzIpj.js";import{g as at}from"../chunks/G-SkzPYD.js";import{i as Q,p as f,r as te,d as $,c as de,l as Qe,a as pt,s as ur,b as Zn}from"../chunks/CSbn2Ldu.js";import{a as G,b as he,j as vn,g as gi,s as vi,c as Oe,r as Jn,d as Qn,k as dt,l as pi,i as mi,p as wi}from"../chunks/C-0S9jGX.js";import{m as bi,u as yi,s as Le}from"../chunks/CkeX2SFv.js";import{q as Si,d as m,w as me,r as tt,C as Ne,s as It,u as fe,n as we,p as le,i as Vr,o as ve,t as Hr,v as kt,x as xi,y as _i,z as Pi,T as Ti,B as $t,D as Oi,m as Ci,F as pn,G as Ai,I as Ei,J as Di,e as Ni,K as Ri,f as Ii,h as $n,E as ki,H as Mi,A as Fi,L as Li,M as Bi,c as Vi,N as Hi,O as zi,P as Wi,Q as Ui,g as zr,k as Ki,R as Yi,S as ji,U as eo,V as Cr,W as to}from"../chunks/CR6-c37r.js";const Gi=[];function Wr(t,e=!1){return Zt(t,new Map,"",Gi)}function Zt(t,e,r,n,o=null){if(typeof t=="object"&&t!==null){var s=e.get(t);if(s!==void 0)return s;if(t instanceof Map)return new Map(t);if(t instanceof Set)return new Set(t);if(Xo(t)){var a=Array(t.length);e.set(t,a),o!==null&&e.set(o,a);for(var l=0;l{a(o,o=e())&&(s&&ri(s),s=ni(()=>r(n)))}),gn&&(n=oi)}function Xi(t){return typeof t=="function"}function dr(t,e=250){let r=B(null);function n(...o){if(i(r))i(r).timeout&&clearTimeout(i(r).timeout);else{let s,a;const l=new Promise((c,d)=>{s=c,a=d});w(r,{timeout:null,runner:null,promise:l,resolve:s,reject:a},!0)}return i(r).runner=async()=>{if(!i(r))return;const s=i(r);w(r,null);try{s.resolve(await t.apply(this,o))}catch(a){s.reject(a)}},i(r).timeout=setTimeout(i(r).runner,typeof e=="function"?e():e),i(r).promise}return n.cancel=async()=>{(!i(r)||i(r).timeout===null)&&(await new Promise(o=>setTimeout(o,0)),!i(r)||i(r).timeout===null)||(clearTimeout(i(r).timeout),i(r).reject("Cancelled"),w(r,null))},n.runScheduledNow=async()=>{(!i(r)||!i(r).timeout)&&(await new Promise(o=>setTimeout(o,0)),!i(r)||!i(r).timeout)||(clearTimeout(i(r).timeout),i(r).timeout=null,await i(r).runner?.())},Object.defineProperty(n,"pending",{enumerable:!0,get(){return!!i(r)?.timeout}}),n}function qi(t){return Xi(t)?t():t}class Zi{#e=B(Ue({width:0,height:0}));constructor(e,r={box:"border-box"}){const n=r.window??Si;w(this.#e,{width:r.initialSize?.width??0,height:r.initialSize?.height??0},!0),pe(()=>{if(!n)return;const o=qi(e);if(!o)return;const s=new n.ResizeObserver(a=>{for(const l of a){const c=r.box==="content-box"?l.contentBoxSize:l.borderBoxSize,d=Array.isArray(c)?c:[c];i(this.#e).width=d.reduce((h,u)=>Math.max(h,u.inlineSize),0),i(this.#e).height=d.reduce((h,u)=>Math.max(h,u.blockSize),0)}});return s.observe(o),()=>{s.disconnect()}})}get current(){return i(this.#e)}get width(){return i(this.#e).width}get height(){return i(this.#e).height}}class Ur{#e=B(!1);constructor(){pe(()=>(ge(()=>w(this.#e,!0)),()=>{w(this.#e,!1)}))}get current(){return i(this.#e)}}class Ji{#e=B(void 0);#t;constructor(e){pe(()=>{w(this.#e,this.#t,!0),this.#t=e()})}get current(){return i(this.#e)}}function Mt(t,e){return setTimeout(e,t)}function Ve(t){si().then(t)}function no(t){pe(()=>ge(()=>t()))}function oo(t,e){const r=m(t);function n(s){return e[r.current][s]??r.current}return{state:r,dispatch:s=>{r.current=n(s)}}}function Qi(t,e){let r=B(Ue({})),n=B("none");const o=t.current?"mounted":"unmounted";let s=B(null);const a=new Ji(()=>t.current);me([()=>e.current,()=>t.current],([g,v])=>{!g||!v||Ve(()=>{w(s,document.getElementById(g),!0)})});const{state:l,dispatch:c}=oo(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});me(()=>t.current,g=>{if(i(s)||w(s,document.getElementById(e.current),!0),!i(s)||!(g!==a.current))return;const b=i(n),y=Yt(i(s));g?c("MOUNT"):y==="none"||i(r).display==="none"?c("UNMOUNT"):c(a&&b!==y?"ANIMATION_OUT":"UNMOUNT")});function d(g){if(i(s)||w(s,document.getElementById(e.current),!0),!i(s))return;const v=Yt(i(s)),b=v.includes(g.animationName)||v==="none";g.target===i(s)&&b&&c("ANIMATION_END")}function h(g){i(s)||w(s,document.getElementById(e.current),!0),i(s)&&g.target===i(s)&&w(n,Yt(i(s)),!0)}me(()=>l.current,()=>{if(i(s)||w(s,document.getElementById(e.current),!0),!i(s))return;const g=Yt(i(s));w(n,l.current==="mounted"?g:"none",!0)}),me(()=>i(s),g=>{if(g)return w(r,getComputedStyle(g),!0),tt(ye(g,"animationstart",h),ye(g,"animationcancel",d),ye(g,"animationend",d))});const u=P(()=>["mounted","unmountSuspended"].includes(l.current));return{get current(){return i(u)}}}function Yt(t){return t&&getComputedStyle(t).animationName||"none"}function ut(t,e){W(e,!0);const r=Qi(m.with(()=>e.present),m.with(()=>e.id));var n=N(),o=T(n);{var s=a=>{var l=N(),c=T(l);G(c,()=>e.presence??re,()=>({present:r})),p(a,l)};Q(o,a=>{(e.forceMount||e.present||r.current)&&a(s)})}p(t,n),U()}function $i(t){return{content:`data-${t}-content`,trigger:`data-${t}-trigger`,overlay:`data-${t}-overlay`,title:`data-${t}-title`,description:`data-${t}-description`,close:`data-${t}-close`,cancel:`data-${t}-cancel`,action:`data-${t}-action`}}class es{opts;#e=B(null);get triggerNode(){return i(this.#e)}set triggerNode(e){w(this.#e,e,!0)}#t=B(null);get contentNode(){return i(this.#t)}set contentNode(e){w(this.#t,e,!0)}#r=B(null);get descriptionNode(){return i(this.#r)}set descriptionNode(e){w(this.#r,e,!0)}#n=B(void 0);get contentId(){return i(this.#n)}set contentId(e){w(this.#n,e,!0)}#o=B(void 0);get titleId(){return i(this.#o)}set titleId(e){w(this.#o,e,!0)}#i=B(void 0);get triggerId(){return i(this.#i)}set triggerId(e){w(this.#i,e,!0)}#l=B(void 0);get descriptionId(){return i(this.#l)}set descriptionId(e){w(this.#l,e,!0)}#a=B(null);get cancelNode(){return i(this.#a)}set cancelNode(e){w(this.#a,e,!0)}#s=P(()=>$i(this.opts.variant.current));get attrs(){return i(this.#s)}set attrs(e){w(this.#s,e)}constructor(e){this.opts=e,this.handleOpen=this.handleOpen.bind(this),this.handleClose=this.handleClose.bind(this)}handleOpen(){this.opts.open.current||(this.opts.open.current=!0)}handleClose(){this.opts.open.current&&(this.opts.open.current=!1)}#c=P(()=>({"data-state":It(this.opts.open.current)}));get sharedProps(){return i(this.#c)}set sharedProps(e){w(this.#c,e)}}class ts{opts;root;constructor(e,r){this.opts=e,this.root=r,fe({...e,onRefChange:n=>{this.root.titleId=n?.id},deps:()=>this.root.opts.open.current})}#e=P(()=>({id:this.opts.id.current,role:"heading","aria-level":this.opts.level.current,[this.root.attrs.title]:"",...this.root.sharedProps}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}}class rs{opts;root;constructor(e,r){this.opts=e,this.root=r,fe({...e,deps:()=>this.root.opts.open.current,onRefChange:n=>{this.root.descriptionNode=n,this.root.descriptionId=n?.id}})}#e=P(()=>({id:this.opts.id.current,[this.root.attrs.description]:"",...this.root.sharedProps}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}}class ns{opts;root;constructor(e,r){this.opts=e,this.root=r,fe({...e,deps:()=>this.root.opts.open.current,onRefChange:n=>{this.root.contentNode=n,this.root.contentId=n?.id}})}#e=P(()=>({open:this.root.opts.open.current}));get snippetProps(){return i(this.#e)}set snippetProps(e){w(this.#e,e)}#t=P(()=>({id:this.opts.id.current,role:this.root.opts.variant.current==="alert-dialog"?"alertdialog":"dialog","aria-modal":"true","aria-describedby":this.root.descriptionId,"aria-labelledby":this.root.titleId,[this.root.attrs.content]:"",style:{pointerEvents:"auto",outline:this.root.opts.variant.current==="alert-dialog"?"none":void 0},tabindex:this.root.opts.variant.current==="alert-dialog"?-1:void 0,...this.root.sharedProps}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}}class os{opts;root;constructor(e,r){this.opts=e,this.root=r,fe({...e,deps:()=>this.root.opts.open.current})}#e=P(()=>({open:this.root.opts.open.current}));get snippetProps(){return i(this.#e)}set snippetProps(e){w(this.#e,e)}#t=P(()=>({id:this.opts.id.current,[this.root.attrs.overlay]:"",style:{pointerEvents:"auto"},...this.root.sharedProps}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}}const Ft=new Ne("Dialog.Root");function is(t){return Ft.set(new es(t))}function ss(t){return new ts(t,Ft.get())}function as(t){return new ns(t,Ft.get())}function ls(t){return new os(t,Ft.get())}function cs(t){return new rs(t,Ft.get())}var us=z("
    ");function ds(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"level",3,2),s=te(e,["$$slots","$$events","$$legacy","id","ref","child","children","level"]);const a=ss({id:m.with(()=>r()),level:m.with(()=>o()),ref:m.with(()=>n(),g=>n(g))}),l=P(()=>le(s,a.props));var c=N(),d=T(c);{var h=g=>{var v=N(),b=T(v);G(b,()=>e.child,()=>({props:i(l)})),p(g,v)},u=g=>{var v=us();he(v,()=>({...i(l)}));var b=L(v);G(b,()=>e.children??re),F(v),p(g,v)};Q(d,g=>{e.child?g(h):g(u,!1)})}p(t,c),U()}function hs(t,e){var r=N(),n=T(r);ro(n,()=>e.children,o=>{var s=N(),a=T(s);G(a,()=>e.children??re),p(o,s)}),p(t,r)}function Kr(t,e){W(e,!0);let r=f(e,"to",3,"body");const n=ai();let o=P(s);function s(){if(!Vr||e.disabled)return null;let u=null;return typeof r()=="string"?u=document.querySelector(r()):(r()instanceof HTMLElement||r()instanceof DocumentFragment)&&(u=r()),u}let a;function l(){a&&(yi(a),a=null)}me([()=>i(o),()=>e.disabled],([u,g])=>{if(!u||g){l();return}return a=bi(hs,{target:u,props:{children:e.children},context:n}),()=>{l()}});var c=N(),d=T(c);{var h=u=>{var g=N(),v=T(g);G(v,()=>e.children??re),p(u,g)};Q(d,u=>{e.disabled&&u(h)})}p(t,c),U()}function Lt(t,e,r,n){const o=Array.isArray(e)?e:[e];return o.forEach(s=>t.addEventListener(s,r,n)),()=>{o.forEach(s=>t.removeEventListener(s,r,n))}}class io{eventName;options;constructor(e,r={bubbles:!0,cancelable:!0}){this.eventName=e,this.options=r}createEvent(e){return new CustomEvent(this.eventName,{...this.options,detail:e})}dispatch(e,r){const n=this.createEvent(r);return e.dispatchEvent(n),n}listen(e,r,n){const o=s=>{r(s)};return ye(e,this.eventName,o,n)}}function mn(t,e=500){let r=null;const n=(...o)=>{r!==null&&clearTimeout(r),r=setTimeout(()=>{t(...o)},e)};return n.destroy=()=>{r!==null&&(clearTimeout(r),r=null)},n}function Yr(t,e){return t===e||t.contains(e)}function so(t){return t?.ownerDocument??document}function fs(t){if(!t)return null;for(const e of t.childNodes)if(e.nodeType!==Node.COMMENT_NODE)return e;return null}function gs(t,e){const{clientX:r,clientY:n}=t,o=e.getBoundingClientRect();return ro.right||no.bottom}globalThis.bitsDismissableLayers??=new Map;class vs{opts;#e;#t;#r={pointerdown:!1};#n=!1;#o=!1;node=m(null);#i=void 0;#l;#a=B(null);get currNode(){return i(this.#a)}set currNode(e){w(this.#a,e,!0)}#s=ve;constructor(e){this.opts=e,fe({id:e.id,ref:this.node,deps:()=>e.enabled.current,onRefChange:o=>{this.currNode=o}}),this.#t=e.interactOutsideBehavior,this.#e=e.onInteractOutside,this.#l=e.onFocusOutside,pe(()=>{this.#i=so(this.currNode)});let r=ve;const n=()=>{this.#g(),globalThis.bitsDismissableLayers.delete(this),this.#d.destroy(),r()};me([()=>this.opts.enabled.current,()=>this.currNode],([o,s])=>{if(!(!o||!s))return Mt(1,()=>{this.currNode&&(globalThis.bitsDismissableLayers.set(this,this.#t),r(),r=this.#u())}),n}),Hr(()=>{this.#g.destroy(),globalThis.bitsDismissableLayers.delete(this),this.#d.destroy(),this.#s(),r()})}#c=e=>{e.defaultPrevented||this.currNode&&Ve(()=>{!this.currNode||this.#p(e.target)||e.target&&!this.#o&&this.#l.current?.(e)})};#u(){return tt(ye(this.#i,"pointerdown",tt(this.#h,this.#v),{capture:!0}),ye(this.#i,"pointerdown",tt(this.#w,this.#d)),ye(this.#i,"focusin",this.#c))}#f=e=>{let r=e;r.defaultPrevented&&(r=wn(e)),this.#e.current(e)};#d=mn(e=>{if(!this.currNode){this.#s();return}const r=this.opts.isValidEvent.current(e,this.currNode)||bs(e,this.currNode);if(!this.#n||this.#m()||!r){this.#s();return}let n=e;if(n.defaultPrevented&&(n=wn(n)),this.#t.current!=="close"&&this.#t.current!=="defer-otherwise-close"){this.#s();return}e.pointerType==="touch"?(this.#s(),this.#s=Lt(this.#i,"click",this.#f,{once:!0})):this.#e.current(n)},10);#h=e=>{this.#r[e.type]=!0};#w=e=>{this.#r[e.type]=!1};#v=()=>{this.node.current&&(this.#n=ws(this.node.current))};#p=e=>this.node.current?Yr(this.node.current,e):!1;#g=mn(()=>{for(const e in this.#r)this.#r[e]=!1;this.#n=!1},20);#m(){return Object.values(this.#r).some(Boolean)}#b=()=>{this.#o=!0};#y=()=>{this.#o=!1};props={onfocuscapture:this.#b,onblurcapture:this.#y}}function ps(t){return new vs(t)}function ms(t){return t.findLast(([e,{current:r}])=>r==="close"||r==="ignore")}function ws(t){const e=[...globalThis.bitsDismissableLayers],r=ms(e);if(r)return r[0].node.current===t;const[n]=e[0];return n.node.current===t}function bs(t,e){if("button"in t&&t.button>0)return!1;const r=t.target;return kt(r)?so(r).documentElement.contains(r)&&!Yr(e,r)&&gs(t,e):!1}function wn(t){const e=t.currentTarget,r=t.target;let n;t instanceof PointerEvent?n=new PointerEvent(t.type,t):n=new PointerEvent("pointerdown",t);let o=!1;return new Proxy(n,{get:(a,l)=>l==="currentTarget"?e:l==="target"?r:l==="preventDefault"?()=>{o=!0,typeof a.preventDefault=="function"&&a.preventDefault()}:l==="defaultPrevented"?o:l in a?a[l]:t[l]})}function ao(t,e){W(e,!0);let r=f(e,"interactOutsideBehavior",3,"close"),n=f(e,"onInteractOutside",3,ve),o=f(e,"onFocusOutside",3,ve),s=f(e,"isValidEvent",3,()=>!1);const a=ps({id:m.with(()=>e.id),interactOutsideBehavior:m.with(()=>r()),onInteractOutside:m.with(()=>n()),enabled:m.with(()=>e.enabled),onFocusOutside:m.with(()=>o()),isValidEvent:m.with(()=>s())});var l=N(),c=T(l);G(c,()=>e.children??re,()=>({props:a.props})),p(t,l),U()}globalThis.bitsEscapeLayers??=new Map;class ys{opts;constructor(e){this.opts=e;let r=ve;me(()=>e.enabled.current,n=>(n&&(globalThis.bitsEscapeLayers.set(this,e.escapeKeydownBehavior),r=this.#e()),()=>{r(),globalThis.bitsEscapeLayers.delete(this)}))}#e=()=>ye(document,"keydown",this.#t,{passive:!1});#t=e=>{if(e.key!==xi||!xs(this))return;const r=new KeyboardEvent(e.type,e);e.preventDefault();const n=this.opts.escapeKeydownBehavior.current;n!=="close"&&n!=="defer-otherwise-close"||this.opts.onEscapeKeydown.current(r)}}function Ss(t){return new ys(t)}function xs(t){const e=[...globalThis.bitsEscapeLayers],r=e.findLast(([o,{current:s}])=>s==="close"||s==="ignore");if(r)return r[0]===t;const[n]=e[0];return n===t}function lo(t,e){W(e,!0);let r=f(e,"escapeKeydownBehavior",3,"close"),n=f(e,"onEscapeKeydown",3,ve);Ss({escapeKeydownBehavior:m.with(()=>r()),onEscapeKeydown:m.with(()=>n()),enabled:m.with(()=>e.enabled)});var o=N(),s=T(o);G(s,()=>e.children??re),p(t,o),U()}const $e=m([]);function _s(){return{add(t){const e=$e.current[0];e&&t.id!==e.id&&e.pause(),$e.current=bn($e.current,t),$e.current.unshift(t)},remove(t){$e.current=bn($e.current,t),$e.current[0]?.resume()},get current(){return $e.current}}}function Ps(){let t=B(!1),e=B(!1);return{id:we(),get paused(){return i(t)},get isHandlingFocus(){return i(e)},set isHandlingFocus(r){w(e,r,!0)},pause(){w(t,!0)},resume(){w(t,!1)}}}function bn(t,e){return[...t].filter(r=>r.id!==e.id)}function Ts(t){return t.filter(e=>e.tagName!=="A")}function et(t,{select:e=!1}={}){if(!(t&&t.focus)||document.activeElement===t)return;const r=document.activeElement;t.focus({preventScroll:!0}),t!==r&&_i(t)&&e&&t.select()}function Os(t,{select:e=!1}={}){const r=document.activeElement;for(const n of t)if(et(n,{select:e}),document.activeElement!==r)return!0}function yn(t,e){for(const r of t)if(!Pi(r,e))return r}function jr(t){const e=[],r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const o=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||o?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)e.push(r.currentNode);return e}function Cs(t){const e=jr(t),r=yn(e,t),n=yn(e.reverse(),t);return[r,n]}/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var As=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Es=As.join(","),co=typeof Element>"u",er=co?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,tr=!co&&Element.prototype.getRootNode?function(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}:function(t){return t?.ownerDocument},Ds=function t(e,r){var n;r===void 0&&(r=!0);var o=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),s=o===""||o==="true",a=s||r&&e&&t(e.parentNode);return a},Ns=function(e){var r,n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"contenteditable");return n===""||n==="true"},Rs=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},Is=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Ns(e))&&!Rs(e)?0:e.tabIndex},uo=function(e){return e.tagName==="INPUT"},ks=function(e){return uo(e)&&e.type==="hidden"},Ms=function(e){var r=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return r},Fs=function(e,r){for(var n=0;nsummary:first-of-type"),a=s?e.parentElement:e;if(er.call(a,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof o=="function"){for(var l=e;e;){var c=e.parentElement,d=tr(e);if(c&&!c.shadowRoot&&o(c)===!0)return Sn(e);e.assignedSlot?e=e.assignedSlot:!c&&d!==e.ownerDocument?e=d.host:e=c}e=l}if(Hs(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return Sn(e);return!1},Ws=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var r=e.parentElement;r;){if(r.tagName==="FIELDSET"&&r.disabled){for(var n=0;nr.current});function u(x){if(!(l.paused||!c.current||l.isHandlingFocus)){l.isHandlingFocus=!0;try{const O=x.target;if(!$t(O))return;const S=c.current.contains(O);if(x.type==="focusin")if(S)h=O;else{if(d.ignoreCloseAutoFocus)return;et(h,{select:!0})}else x.type==="focusout"&&!S&&!d.ignoreCloseAutoFocus&&et(h,{select:!0})}finally{l.isHandlingFocus=!1}}}function g(x){if(!h||!c.current)return;let O=!1;for(const S of x){if(S.type==="childList"&&S.removedNodes.length>0)for(const C of S.removedNodes){if(C===h){O=!0;break}if(C.nodeType===Node.ELEMENT_NODE&&C.contains(h)){O=!0;break}}if(O)break}O&&c.current&&!c.current.contains(document.activeElement)&&et(c.current)}me([()=>c.current,()=>r.current],([x,O])=>{if(!x||!O)return;const S=tt(ye(document,"focusin",u),ye(document,"focusout",u)),C=new MutationObserver(g);return C.observe(x,{childList:!0,subtree:!0,attributes:!1}),()=>{S(),C.disconnect()}}),me([()=>s.current,()=>c.current],([x,O])=>{if(x)return;const S=document.activeElement;return v(O,S),()=>{O&&b(S)}}),me([()=>s.current,()=>c.current,()=>r.current],([x,O])=>{if(!x)return;const S=document.activeElement;return v(O,S),()=>{O&&b(S)}});function v(x,O){if(x||(x=document.getElementById(t.current)),!x||!r.current)return;if(a.add(l),!x.contains(O)){const C=js.createEvent();n.current(C),C.defaultPrevented||Ve(()=>{if(!x)return;Os(Ts(jr(x)),{select:!0})||et(x)})}}function b(x){const O=Gs.createEvent();o.current?.(O);const S=d.ignoreCloseAutoFocus;Mt(0,()=>{!O.defaultPrevented&&x&&!S&&et(Ys(x)?x:document.body,{select:!0}),a.remove(l)})}function y(x){if(!r.current||!e.current&&!r.current||l.paused)return;const O=x.key===Ti&&!x.ctrlKey&&!x.altKey&&!x.metaKey,S=document.activeElement;if(!(O&&S))return;const C=c.current;if(!C)return;const[R,D]=Cs(C);R&&D?!x.shiftKey&&S===D?(x.preventDefault(),e.current&&et(R,{select:!0})):x.shiftKey&&S===R&&(x.preventDefault(),e.current&&et(D,{select:!0})):S===C&&x.preventDefault()}const _=P(()=>({id:t.current,tabindex:-1,onkeydown:y}));return{get props(){return i(_)}}}function ho(t,e){W(e,!0);let r=f(e,"trapFocus",3,!1),n=f(e,"loop",3,!1),o=f(e,"onCloseAutoFocus",3,ve),s=f(e,"onOpenAutoFocus",3,ve),a=f(e,"forceMount",3,!1);const l=qs({enabled:m.with(()=>r()),loop:m.with(()=>n()),onCloseAutoFocus:m.with(()=>o()),onOpenAutoFocus:m.with(()=>s()),id:m.with(()=>e.id),forceMount:m.with(()=>a())});var c=N(),d=T(c);G(d,()=>e.focusScope??re,()=>({props:l.props})),p(t,c),U()}globalThis.bitsTextSelectionLayers??=new Map;class Zs{opts;#e=ve;#t=m(null);constructor(e){this.opts=e,fe({id:e.id,ref:this.#t,deps:()=>this.opts.enabled.current});let r=ve;me(()=>this.opts.enabled.current,n=>(n&&(globalThis.bitsTextSelectionLayers.set(this,this.opts.enabled),r(),r=this.#r()),()=>{r(),this.#o(),globalThis.bitsTextSelectionLayers.delete(this)}))}#r(){return tt(ye(document,"pointerdown",this.#n),ye(document,"pointerup",Oi(this.#o,this.opts.onPointerUp.current)))}#n=e=>{const r=this.#t.current,n=e.target;!$t(r)||!$t(n)||!this.opts.enabled.current||!$s(this)||!Yr(r,n)||(this.opts.onPointerDown.current(e),!e.defaultPrevented&&(this.#e=Qs(r)))};#o=()=>{this.#e(),this.#e=ve}}function Js(t){return new Zs(t)}const xn=t=>t.style.userSelect||t.style.webkitUserSelect;function Qs(t){const e=document.body,r=xn(e),n=xn(t);return jt(e,"none"),jt(t,"text"),()=>{jt(e,r),jt(t,n)}}function jt(t,e){t.style.userSelect=e,t.style.webkitUserSelect=e}function $s(t){const e=[...globalThis.bitsTextSelectionLayers];if(!e.length)return!1;const r=e.at(-1);return r?r[0]===t:!1}function fo(t,e){W(e,!0);let r=f(e,"preventOverflowTextSelection",3,!0),n=f(e,"onPointerDown",3,ve),o=f(e,"onPointerUp",3,ve);Js({id:m.with(()=>e.id),onPointerDown:m.with(()=>n()),onPointerUp:m.with(()=>o()),enabled:m.with(()=>e.enabled&&r())});var s=N(),a=T(s);G(a,()=>e.children??re),p(t,s),U()}function ea(t){let e=0,r=B(void 0),n;function o(){e-=1,n&&e<=0&&(n(),w(r,void 0),n=void 0)}return(...s)=>(e+=1,i(r)===void 0&&(n=li(()=>{w(r,t(...s),!0)})),pe(()=>()=>{o()}),i(r))}const ta=ea(()=>{const t=new Ci,e=P(()=>{for(const s of t.values())if(s)return!0;return!1});let r=B(null),n=null;function o(){Vr&&(document.body.setAttribute("style",i(r)??""),document.body.style.removeProperty("--scrollbar-width"),pn&&n?.())}return pe(()=>{const s=i(e);return ge(()=>{if(!s)return;w(r,document.body.getAttribute("style"),!0);const a=getComputedStyle(document.body),l=window.innerWidth-document.documentElement.clientWidth,d={padding:Number.parseInt(a.paddingRight??"0",10)+l,margin:Number.parseInt(a.marginRight??"0",10)};l>0&&(document.body.style.paddingRight=`${d.padding}px`,document.body.style.marginRight=`${d.margin}px`,document.body.style.setProperty("--scrollbar-width",`${l}px`),document.body.style.overflow="hidden"),pn&&(n=Lt(document,"touchmove",h=>{h.target===document.documentElement&&(h.touches.length>1||h.preventDefault())},{passive:!1})),Ve(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})})}),pe(()=>()=>{n?.()}),{get map(){return t},resetBodyStyle:o}});function ra(t,e=()=>null){const r=we(),n=ta();if(!n)return;const o=P(e);n.map.set(r,t??!1);const s=m.with(()=>n.map.get(r)??!1,a=>n.map.set(r,a));return pe(()=>()=>{n.map.delete(r),!na(n.map)&&(i(o)===null?requestAnimationFrame(()=>n.resetBodyStyle()):Mt(i(o),()=>n.resetBodyStyle()))}),s}function na(t){for(const[e,r]of t)if(r)return!0;return!1}function rr(t,e){W(e,!0);let r=f(e,"preventScroll",3,!0),n=f(e,"restoreScrollDelay",3,null);ra(r(),()=>n()),U()}function oa({forceMount:t,present:e,trapFocus:r,open:n}){return t?n&&r:e&&r&&n}var ia=z("
    ");function sa(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"forceMount",3,!1),o=f(e,"ref",15,null),s=te(e,["$$slots","$$events","$$legacy","id","forceMount","child","children","ref"]);const a=ls({id:m.with(()=>r()),ref:m.with(()=>o(),d=>o(d))}),l=P(()=>le(s,a.props)),c=P(()=>a.root.opts.open.current||n());ut(t,{get id(){return r()},get present(){return i(c)},presence:h=>{var u=N(),g=T(u);{var v=y=>{var _=N(),x=T(_),O=Be(()=>({props:le(i(l)),...a.snippetProps}));G(x,()=>e.child,()=>i(O)),p(y,_)},b=y=>{var _=ia();he(_,O=>({...O}),[()=>le(i(l))]);var x=L(_);G(x,()=>e.children??re,()=>a.snippetProps),F(_),p(y,_)};Q(g,y=>{e.child?y(v):y(b,!1)})}p(h,u)},$$slots:{presence:!0}}),U()}var aa=z("
    ");function la(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=te(e,["$$slots","$$events","$$legacy","id","children","child","ref"]);const s=cs({id:m.with(()=>r()),ref:m.with(()=>n(),u=>n(u))}),a=P(()=>le(o,s.props));var l=N(),c=T(l);{var d=u=>{var g=N(),v=T(g);G(v,()=>e.child,()=>({props:i(a)})),p(u,g)},h=u=>{var g=aa();he(g,()=>({...i(a)}));var v=L(g);G(v,()=>e.children??re),F(g),p(u,g)};Q(c,u=>{e.child?u(d):u(h,!1)})}p(t,l),U()}const ca=["top","right","bottom","left"],rt=Math.min,Me=Math.max,nr=Math.round,Gt=Math.floor,Ke=t=>({x:t,y:t}),ua={left:"right",right:"left",bottom:"top",top:"bottom"},da={start:"end",end:"start"};function Ar(t,e,r){return Me(t,rt(e,r))}function qe(t,e){return typeof t=="function"?t(e):t}function Ze(t){return t.split("-")[0]}function yt(t){return t.split("-")[1]}function Gr(t){return t==="x"?"y":"x"}function Xr(t){return t==="y"?"height":"width"}function We(t){return["top","bottom"].includes(Ze(t))?"y":"x"}function qr(t){return Gr(We(t))}function ha(t,e,r){r===void 0&&(r=!1);const n=yt(t),o=qr(t),s=Xr(o);let a=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(a=or(a)),[a,or(a)]}function fa(t){const e=or(t);return[Er(t),e,Er(e)]}function Er(t){return t.replace(/start|end/g,e=>da[e])}function ga(t,e,r){const n=["left","right"],o=["right","left"],s=["top","bottom"],a=["bottom","top"];switch(t){case"top":case"bottom":return r?e?o:n:e?n:o;case"left":case"right":return e?s:a;default:return[]}}function va(t,e,r,n){const o=yt(t);let s=ga(Ze(t),r==="start",n);return o&&(s=s.map(a=>a+"-"+o),e&&(s=s.concat(s.map(Er)))),s}function or(t){return t.replace(/left|right|bottom|top/g,e=>ua[e])}function pa(t){return{top:0,right:0,bottom:0,left:0,...t}}function go(t){return typeof t!="number"?pa(t):{top:t,right:t,bottom:t,left:t}}function ir(t){const{x:e,y:r,width:n,height:o}=t;return{width:n,height:o,top:r,left:e,right:e+n,bottom:r+o,x:e,y:r}}function _n(t,e,r){let{reference:n,floating:o}=t;const s=We(e),a=qr(e),l=Xr(a),c=Ze(e),d=s==="y",h=n.x+n.width/2-o.width/2,u=n.y+n.height/2-o.height/2,g=n[l]/2-o[l]/2;let v;switch(c){case"top":v={x:h,y:n.y-o.height};break;case"bottom":v={x:h,y:n.y+n.height};break;case"right":v={x:n.x+n.width,y:u};break;case"left":v={x:n.x-o.width,y:u};break;default:v={x:n.x,y:n.y}}switch(yt(e)){case"start":v[a]-=g*(r&&d?-1:1);break;case"end":v[a]+=g*(r&&d?-1:1);break}return v}const ma=async(t,e,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:s=[],platform:a}=r,l=s.filter(Boolean),c=await(a.isRTL==null?void 0:a.isRTL(e));let d=await a.getElementRects({reference:t,floating:e,strategy:o}),{x:h,y:u}=_n(d,n,c),g=n,v={},b=0;for(let y=0;y({name:"arrow",options:t,async fn(e){const{x:r,y:n,placement:o,rects:s,platform:a,elements:l,middlewareData:c}=e,{element:d,padding:h=0}=qe(t,e)||{};if(d==null)return{};const u=go(h),g={x:r,y:n},v=qr(o),b=Xr(v),y=await a.getDimensions(d),_=v==="y",x=_?"top":"left",O=_?"bottom":"right",S=_?"clientHeight":"clientWidth",C=s.reference[b]+s.reference[v]-g[v]-s.floating[b],R=g[v]-s.reference[v],D=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let E=D?D[S]:0;(!E||!await(a.isElement==null?void 0:a.isElement(D)))&&(E=l.floating[S]||s.floating[b]);const I=C/2-R/2,A=E/2-y[b]/2-1,M=rt(u[x],A),X=rt(u[O],A),j=M,K=E-y[b]-X,H=E/2-y[b]/2+I,Z=Ar(j,H,K),J=!c.arrow&&yt(o)!=null&&H!==Z&&s.reference[b]/2-(HH<=0)){var X,j;const H=(((X=s.flip)==null?void 0:X.index)||0)+1,Z=E[H];if(Z&&(!(u==="alignment"?O!==We(Z):!1)||M.every(k=>k.overflows[0]>0&&We(k.placement)===O)))return{data:{index:H,overflows:M},reset:{placement:Z}};let J=(j=M.filter(Y=>Y.overflows[0]<=0).sort((Y,k)=>Y.overflows[1]-k.overflows[1])[0])==null?void 0:j.placement;if(!J)switch(v){case"bestFit":{var K;const Y=(K=M.filter(k=>{if(D){const ee=We(k.placement);return ee===O||ee==="y"}return!0}).map(k=>[k.placement,k.overflows.filter(ee=>ee>0).reduce((ee,se)=>ee+se,0)]).sort((k,ee)=>k[1]-ee[1])[0])==null?void 0:K[0];Y&&(J=Y);break}case"initialPlacement":J=l;break}if(o!==J)return{reset:{placement:J}}}return{}}}};function Pn(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function Tn(t){return ca.some(e=>t[e]>=0)}const ya=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:r}=e,{strategy:n="referenceHidden",...o}=qe(t,e);switch(n){case"referenceHidden":{const s=await Dt(e,{...o,elementContext:"reference"}),a=Pn(s,r.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:Tn(a)}}}case"escaped":{const s=await Dt(e,{...o,altBoundary:!0}),a=Pn(s,r.floating);return{data:{escapedOffsets:a,escaped:Tn(a)}}}default:return{}}}}};async function Sa(t,e){const{placement:r,platform:n,elements:o}=t,s=await(n.isRTL==null?void 0:n.isRTL(o.floating)),a=Ze(r),l=yt(r),c=We(r)==="y",d=["left","top"].includes(a)?-1:1,h=s&&c?-1:1,u=qe(e,t);let{mainAxis:g,crossAxis:v,alignmentAxis:b}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof b=="number"&&(v=l==="end"?b*-1:b),c?{x:v*h,y:g*d}:{x:g*d,y:v*h}}const xa=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var r,n;const{x:o,y:s,placement:a,middlewareData:l}=e,c=await Sa(e,t);return a===((r=l.offset)==null?void 0:r.placement)&&(n=l.arrow)!=null&&n.alignmentOffset?{}:{x:o+c.x,y:s+c.y,data:{...c,placement:a}}}}},_a=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:r,y:n,placement:o}=e,{mainAxis:s=!0,crossAxis:a=!1,limiter:l={fn:_=>{let{x,y:O}=_;return{x,y:O}}},...c}=qe(t,e),d={x:r,y:n},h=await Dt(e,c),u=We(Ze(o)),g=Gr(u);let v=d[g],b=d[u];if(s){const _=g==="y"?"top":"left",x=g==="y"?"bottom":"right",O=v+h[_],S=v-h[x];v=Ar(O,v,S)}if(a){const _=u==="y"?"top":"left",x=u==="y"?"bottom":"right",O=b+h[_],S=b-h[x];b=Ar(O,b,S)}const y=l.fn({...e,[g]:v,[u]:b});return{...y,data:{x:y.x-r,y:y.y-n,enabled:{[g]:s,[u]:a}}}}}},Pa=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:r,y:n,placement:o,rects:s,middlewareData:a}=e,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=qe(t,e),h={x:r,y:n},u=We(o),g=Gr(u);let v=h[g],b=h[u];const y=qe(l,e),_=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(c){const S=g==="y"?"height":"width",C=s.reference[g]-s.floating[S]+_.mainAxis,R=s.reference[g]+s.reference[S]-_.mainAxis;vR&&(v=R)}if(d){var x,O;const S=g==="y"?"width":"height",C=["top","left"].includes(Ze(o)),R=s.reference[u]-s.floating[S]+(C&&((x=a.offset)==null?void 0:x[u])||0)+(C?0:_.crossAxis),D=s.reference[u]+s.reference[S]+(C?0:((O=a.offset)==null?void 0:O[u])||0)-(C?_.crossAxis:0);bD&&(b=D)}return{[g]:v,[u]:b}}}},Ta=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var r,n;const{placement:o,rects:s,platform:a,elements:l}=e,{apply:c=()=>{},...d}=qe(t,e),h=await Dt(e,d),u=Ze(o),g=yt(o),v=We(o)==="y",{width:b,height:y}=s.floating;let _,x;u==="top"||u==="bottom"?(_=u,x=g===(await(a.isRTL==null?void 0:a.isRTL(l.floating))?"start":"end")?"left":"right"):(x=u,_=g==="end"?"top":"bottom");const O=y-h.top-h.bottom,S=b-h.left-h.right,C=rt(y-h[_],O),R=rt(b-h[x],S),D=!e.middlewareData.shift;let E=C,I=R;if((r=e.middlewareData.shift)!=null&&r.enabled.x&&(I=S),(n=e.middlewareData.shift)!=null&&n.enabled.y&&(E=O),D&&!g){const M=Me(h.left,0),X=Me(h.right,0),j=Me(h.top,0),K=Me(h.bottom,0);v?I=b-2*(M!==0||X!==0?M+X:Me(h.left,h.right)):E=y-2*(j!==0||K!==0?j+K:Me(h.top,h.bottom))}await c({...e,availableWidth:I,availableHeight:E});const A=await a.getDimensions(l.floating);return b!==A.width||y!==A.height?{reset:{rects:!0}}:{}}}};function hr(){return typeof window<"u"}function St(t){return vo(t)?(t.nodeName||"").toLowerCase():"#document"}function Fe(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function Ge(t){var e;return(e=(vo(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function vo(t){return hr()?t instanceof Node||t instanceof Fe(t).Node:!1}function He(t){return hr()?t instanceof Element||t instanceof Fe(t).Element:!1}function Ye(t){return hr()?t instanceof HTMLElement||t instanceof Fe(t).HTMLElement:!1}function On(t){return!hr()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Fe(t).ShadowRoot}function Bt(t){const{overflow:e,overflowX:r,overflowY:n,display:o}=ze(t);return/auto|scroll|overlay|hidden|clip/.test(e+n+r)&&!["inline","contents"].includes(o)}function Oa(t){return["table","td","th"].includes(St(t))}function fr(t){return[":popover-open",":modal"].some(e=>{try{return t.matches(e)}catch{return!1}})}function Zr(t){const e=Jr(),r=He(t)?ze(t):t;return["transform","translate","scale","rotate","perspective"].some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!e&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!e&&(r.filter?r.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(n=>(r.willChange||"").includes(n))||["paint","layout","strict","content"].some(n=>(r.contain||"").includes(n))}function Ca(t){let e=nt(t);for(;Ye(e)&&!mt(e);){if(Zr(e))return e;if(fr(e))return null;e=nt(e)}return null}function Jr(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function mt(t){return["html","body","#document"].includes(St(t))}function ze(t){return Fe(t).getComputedStyle(t)}function gr(t){return He(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function nt(t){if(St(t)==="html")return t;const e=t.assignedSlot||t.parentNode||On(t)&&t.host||Ge(t);return On(e)?e.host:e}function po(t){const e=nt(t);return mt(e)?t.ownerDocument?t.ownerDocument.body:t.body:Ye(e)&&Bt(e)?e:po(e)}function Nt(t,e,r){var n;e===void 0&&(e=[]),r===void 0&&(r=!0);const o=po(t),s=o===((n=t.ownerDocument)==null?void 0:n.body),a=Fe(o);if(s){const l=Dr(a);return e.concat(a,a.visualViewport||[],Bt(o)?o:[],l&&r?Nt(l):[])}return e.concat(o,Nt(o,[],r))}function Dr(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function mo(t){const e=ze(t);let r=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const o=Ye(t),s=o?t.offsetWidth:r,a=o?t.offsetHeight:n,l=nr(r)!==s||nr(n)!==a;return l&&(r=s,n=a),{width:r,height:n,$:l}}function Qr(t){return He(t)?t:t.contextElement}function gt(t){const e=Qr(t);if(!Ye(e))return Ke(1);const r=e.getBoundingClientRect(),{width:n,height:o,$:s}=mo(e);let a=(s?nr(r.width):r.width)/n,l=(s?nr(r.height):r.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!l||!Number.isFinite(l))&&(l=1),{x:a,y:l}}const Aa=Ke(0);function wo(t){const e=Fe(t);return!Jr()||!e.visualViewport?Aa:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Ea(t,e,r){return e===void 0&&(e=!1),!r||e&&r!==Fe(t)?!1:e}function ct(t,e,r,n){e===void 0&&(e=!1),r===void 0&&(r=!1);const o=t.getBoundingClientRect(),s=Qr(t);let a=Ke(1);e&&(n?He(n)&&(a=gt(n)):a=gt(t));const l=Ea(s,r,n)?wo(s):Ke(0);let c=(o.left+l.x)/a.x,d=(o.top+l.y)/a.y,h=o.width/a.x,u=o.height/a.y;if(s){const g=Fe(s),v=n&&He(n)?Fe(n):n;let b=g,y=Dr(b);for(;y&&n&&v!==b;){const _=gt(y),x=y.getBoundingClientRect(),O=ze(y),S=x.left+(y.clientLeft+parseFloat(O.paddingLeft))*_.x,C=x.top+(y.clientTop+parseFloat(O.paddingTop))*_.y;c*=_.x,d*=_.y,h*=_.x,u*=_.y,c+=S,d+=C,b=Fe(y),y=Dr(b)}}return ir({width:h,height:u,x:c,y:d})}function $r(t,e){const r=gr(t).scrollLeft;return e?e.left+r:ct(Ge(t)).left+r}function bo(t,e,r){r===void 0&&(r=!1);const n=t.getBoundingClientRect(),o=n.left+e.scrollLeft-(r?0:$r(t,n)),s=n.top+e.scrollTop;return{x:o,y:s}}function Da(t){let{elements:e,rect:r,offsetParent:n,strategy:o}=t;const s=o==="fixed",a=Ge(n),l=e?fr(e.floating):!1;if(n===a||l&&s)return r;let c={scrollLeft:0,scrollTop:0},d=Ke(1);const h=Ke(0),u=Ye(n);if((u||!u&&!s)&&((St(n)!=="body"||Bt(a))&&(c=gr(n)),Ye(n))){const v=ct(n);d=gt(n),h.x=v.x+n.clientLeft,h.y=v.y+n.clientTop}const g=a&&!u&&!s?bo(a,c,!0):Ke(0);return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-c.scrollLeft*d.x+h.x+g.x,y:r.y*d.y-c.scrollTop*d.y+h.y+g.y}}function Na(t){return Array.from(t.getClientRects())}function Ra(t){const e=Ge(t),r=gr(t),n=t.ownerDocument.body,o=Me(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),s=Me(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let a=-r.scrollLeft+$r(t);const l=-r.scrollTop;return ze(n).direction==="rtl"&&(a+=Me(e.clientWidth,n.clientWidth)-o),{width:o,height:s,x:a,y:l}}function Ia(t,e){const r=Fe(t),n=Ge(t),o=r.visualViewport;let s=n.clientWidth,a=n.clientHeight,l=0,c=0;if(o){s=o.width,a=o.height;const d=Jr();(!d||d&&e==="fixed")&&(l=o.offsetLeft,c=o.offsetTop)}return{width:s,height:a,x:l,y:c}}function ka(t,e){const r=ct(t,!0,e==="fixed"),n=r.top+t.clientTop,o=r.left+t.clientLeft,s=Ye(t)?gt(t):Ke(1),a=t.clientWidth*s.x,l=t.clientHeight*s.y,c=o*s.x,d=n*s.y;return{width:a,height:l,x:c,y:d}}function Cn(t,e,r){let n;if(e==="viewport")n=Ia(t,r);else if(e==="document")n=Ra(Ge(t));else if(He(e))n=ka(e,r);else{const o=wo(t);n={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return ir(n)}function yo(t,e){const r=nt(t);return r===e||!He(r)||mt(r)?!1:ze(r).position==="fixed"||yo(r,e)}function Ma(t,e){const r=e.get(t);if(r)return r;let n=Nt(t,[],!1).filter(l=>He(l)&&St(l)!=="body"),o=null;const s=ze(t).position==="fixed";let a=s?nt(t):t;for(;He(a)&&!mt(a);){const l=ze(a),c=Zr(a);!c&&l.position==="fixed"&&(o=null),(s?!c&&!o:!c&&l.position==="static"&&!!o&&["absolute","fixed"].includes(o.position)||Bt(a)&&!c&&yo(t,a))?n=n.filter(h=>h!==a):o=l,a=nt(a)}return e.set(t,n),n}function Fa(t){let{element:e,boundary:r,rootBoundary:n,strategy:o}=t;const a=[...r==="clippingAncestors"?fr(e)?[]:Ma(e,this._c):[].concat(r),n],l=a[0],c=a.reduce((d,h)=>{const u=Cn(e,h,o);return d.top=Me(u.top,d.top),d.right=rt(u.right,d.right),d.bottom=rt(u.bottom,d.bottom),d.left=Me(u.left,d.left),d},Cn(e,l,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function La(t){const{width:e,height:r}=mo(t);return{width:e,height:r}}function Ba(t,e,r){const n=Ye(e),o=Ge(e),s=r==="fixed",a=ct(t,!0,s,e);let l={scrollLeft:0,scrollTop:0};const c=Ke(0);function d(){c.x=$r(o)}if(n||!n&&!s)if((St(e)!=="body"||Bt(o))&&(l=gr(e)),n){const v=ct(e,!0,s,e);c.x=v.x+e.clientLeft,c.y=v.y+e.clientTop}else o&&d();s&&!n&&o&&d();const h=o&&!n&&!s?bo(o,l):Ke(0),u=a.left+l.scrollLeft-c.x-h.x,g=a.top+l.scrollTop-c.y-h.y;return{x:u,y:g,width:a.width,height:a.height}}function wr(t){return ze(t).position==="static"}function An(t,e){if(!Ye(t)||ze(t).position==="fixed")return null;if(e)return e(t);let r=t.offsetParent;return Ge(t)===r&&(r=r.ownerDocument.body),r}function So(t,e){const r=Fe(t);if(fr(t))return r;if(!Ye(t)){let o=nt(t);for(;o&&!mt(o);){if(He(o)&&!wr(o))return o;o=nt(o)}return r}let n=An(t,e);for(;n&&Oa(n)&&wr(n);)n=An(n,e);return n&&mt(n)&&wr(n)&&!Zr(n)?r:n||Ca(t)||r}const Va=async function(t){const e=this.getOffsetParent||So,r=this.getDimensions,n=await r(t.floating);return{reference:Ba(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function Ha(t){return ze(t).direction==="rtl"}const za={convertOffsetParentRelativeRectToViewportRelativeRect:Da,getDocumentElement:Ge,getClippingRect:Fa,getOffsetParent:So,getElementRects:Va,getClientRects:Na,getDimensions:La,getScale:gt,isElement:He,isRTL:Ha};function xo(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function Wa(t,e){let r=null,n;const o=Ge(t);function s(){var l;clearTimeout(n),(l=r)==null||l.disconnect(),r=null}function a(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),s();const d=t.getBoundingClientRect(),{left:h,top:u,width:g,height:v}=d;if(l||e(),!g||!v)return;const b=Gt(u),y=Gt(o.clientWidth-(h+g)),_=Gt(o.clientHeight-(u+v)),x=Gt(h),S={rootMargin:-b+"px "+-y+"px "+-_+"px "+-x+"px",threshold:Me(0,rt(1,c))||1};let C=!0;function R(D){const E=D[0].intersectionRatio;if(E!==c){if(!C)return a();E?a(!1,E):n=setTimeout(()=>{a(!1,1e-7)},1e3)}E===1&&!xo(d,t.getBoundingClientRect())&&a(),C=!1}try{r=new IntersectionObserver(R,{...S,root:o.ownerDocument})}catch{r=new IntersectionObserver(R,S)}r.observe(t)}return a(!0),s}function Ua(t,e,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,d=Qr(t),h=o||s?[...d?Nt(d):[],...Nt(e)]:[];h.forEach(x=>{o&&x.addEventListener("scroll",r,{passive:!0}),s&&x.addEventListener("resize",r)});const u=d&&l?Wa(d,r):null;let g=-1,v=null;a&&(v=new ResizeObserver(x=>{let[O]=x;O&&O.target===d&&v&&(v.unobserve(e),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var S;(S=v)==null||S.observe(e)})),r()}),d&&!c&&v.observe(d),v.observe(e));let b,y=c?ct(t):null;c&&_();function _(){const x=ct(t);y&&!xo(y,x)&&r(),y=x,b=requestAnimationFrame(_)}return r(),()=>{var x;h.forEach(O=>{o&&O.removeEventListener("scroll",r),s&&O.removeEventListener("resize",r)}),u?.(),(x=v)==null||x.disconnect(),v=null,c&&cancelAnimationFrame(b)}}const Ka=xa,Ya=_a,ja=ba,Ga=Ta,Xa=ya,qa=wa,Za=Pa,Ja=(t,e,r)=>{const n=new Map,o={platform:za,...r},s={...o.platform,_c:n};return ma(t,e,{...o,platform:s})};function xt(t){return typeof t=="function"?t():t}function _o(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function En(t,e){const r=_o(t);return Math.round(e*r)/r}function wt(t){return{[`--bits-${t}-content-transform-origin`]:"var(--bits-floating-transform-origin)",[`--bits-${t}-content-available-width`]:"var(--bits-floating-available-width)",[`--bits-${t}-content-available-height`]:"var(--bits-floating-available-height)",[`--bits-${t}-anchor-width`]:"var(--bits-floating-anchor-width)",[`--bits-${t}-anchor-height`]:"var(--bits-floating-anchor-height)"}}function Qa(t){const e=t.whileElementsMounted,r=P(()=>xt(t.open)??!0),n=P(()=>xt(t.middleware)),o=P(()=>xt(t.transform)??!0),s=P(()=>xt(t.placement)??"bottom"),a=P(()=>xt(t.strategy)??"absolute"),l=t.reference;let c=B(0),d=B(0);const h=m(null);let u=B(Ue(i(a))),g=B(Ue(i(s))),v=B(Ue({})),b=B(!1);const y=P(()=>{const R={position:i(u),left:"0",top:"0"};if(!h.current)return R;const D=En(h.current,i(c)),E=En(h.current,i(d));return i(o)?{...R,transform:`translate(${D}px, ${E}px)`,..._o(h.current)>=1.5&&{willChange:"transform"}}:{position:i(u),left:`${D}px`,top:`${E}px`}});let _;function x(){l.current===null||h.current===null||Ja(l.current,h.current,{middleware:i(n),placement:i(s),strategy:i(a)}).then(R=>{w(c,R.x,!0),w(d,R.y,!0),w(u,R.strategy,!0),w(g,R.placement,!0),w(v,R.middlewareData,!0),w(b,!0)})}function O(){typeof _=="function"&&(_(),_=void 0)}function S(){if(O(),e===void 0){x();return}l.current===null||h.current===null||(_=e(l.current,h.current,x))}function C(){i(r)||w(b,!1)}return pe(x),pe(S),pe(C),pe(()=>O),{floating:h,reference:l,get strategy(){return i(u)},get placement(){return i(g)},get middlewareData(){return i(v)},get isPositioned(){return i(b)},get floatingStyles(){return i(y)},get update(){return x}}}const $a={top:"bottom",right:"left",bottom:"top",left:"right"};class el{anchorNode=m(null);customAnchorNode=m(null);triggerNode=m(null);constructor(){pe(()=>{this.customAnchorNode.current?typeof this.customAnchorNode.current=="string"?this.anchorNode.current=document.querySelector(this.customAnchorNode.current):this.anchorNode.current=this.customAnchorNode.current:this.anchorNode.current=this.triggerNode.current})}}class tl{opts;root;contentRef=m(null);wrapperRef=m(null);arrowRef=m(null);arrowId=m(we());#e=P(()=>{if(typeof this.opts.style=="string")return Ai(this.opts.style);if(!this.opts.style)return{}});#t=void 0;#r=new Zi(()=>this.arrowRef.current??void 0);#n=P(()=>this.#r?.width??0);#o=P(()=>this.#r?.height??0);#i=P(()=>this.opts.side?.current+(this.opts.align.current!=="center"?`-${this.opts.align.current}`:""));#l=P(()=>Array.isArray(this.opts.collisionBoundary.current)?this.opts.collisionBoundary.current:[this.opts.collisionBoundary.current]);#a=P(()=>i(this.#l).length>0);get hasExplicitBoundaries(){return i(this.#a)}set hasExplicitBoundaries(e){w(this.#a,e)}#s=P(()=>({padding:this.opts.collisionPadding.current,boundary:i(this.#l).filter(Ei),altBoundary:this.hasExplicitBoundaries}));get detectOverflowOptions(){return i(this.#s)}set detectOverflowOptions(e){w(this.#s,e)}#c=B(void 0);#u=B(void 0);#f=B(void 0);#d=B(void 0);#h=P(()=>[Ka({mainAxis:this.opts.sideOffset.current+i(this.#o),alignmentAxis:this.opts.alignOffset.current}),this.opts.avoidCollisions.current&&Ya({mainAxis:!0,crossAxis:!1,limiter:this.opts.sticky.current==="partial"?Za():void 0,...this.detectOverflowOptions}),this.opts.avoidCollisions.current&&ja({...this.detectOverflowOptions}),Ga({...this.detectOverflowOptions,apply:({rects:e,availableWidth:r,availableHeight:n})=>{const{width:o,height:s}=e.reference;w(this.#c,r,!0),w(this.#u,n,!0),w(this.#f,o,!0),w(this.#d,s,!0)}}),this.arrowRef.current&&qa({element:this.arrowRef.current,padding:this.opts.arrowPadding.current}),al({arrowWidth:i(this.#n),arrowHeight:i(this.#o)}),this.opts.hideWhenDetached.current&&Xa({strategy:"referenceHidden",...this.detectOverflowOptions})].filter(Boolean));get middleware(){return i(this.#h)}set middleware(e){w(this.#h,e)}floating;#w=P(()=>ll(this.floating.placement));get placedSide(){return i(this.#w)}set placedSide(e){w(this.#w,e)}#v=P(()=>cl(this.floating.placement));get placedAlign(){return i(this.#v)}set placedAlign(e){w(this.#v,e)}#p=P(()=>this.floating.middlewareData.arrow?.x??0);get arrowX(){return i(this.#p)}set arrowX(e){w(this.#p,e)}#g=P(()=>this.floating.middlewareData.arrow?.y??0);get arrowY(){return i(this.#g)}set arrowY(e){w(this.#g,e)}#m=P(()=>this.floating.middlewareData.arrow?.centerOffset!==0);get cannotCenterArrow(){return i(this.#m)}set cannotCenterArrow(e){w(this.#m,e)}#b=B();get contentZIndex(){return i(this.#b)}set contentZIndex(e){w(this.#b,e,!0)}#y=P(()=>$a[this.placedSide]);get arrowBaseSide(){return i(this.#y)}set arrowBaseSide(e){w(this.#y,e)}#S=P(()=>({id:this.opts.wrapperId.current,"data-bits-floating-content-wrapper":"",style:{...this.floating.floatingStyles,transform:this.floating.isPositioned?this.floating.floatingStyles.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:this.contentZIndex,"--bits-floating-transform-origin":`${this.floating.middlewareData.transformOrigin?.x} ${this.floating.middlewareData.transformOrigin?.y}`,"--bits-floating-available-width":`${i(this.#c)}px`,"--bits-floating-available-height":`${i(this.#u)}px`,"--bits-floating-anchor-width":`${i(this.#f)}px`,"--bits-floating-anchor-height":`${i(this.#d)}px`,...this.floating.middlewareData.hide?.referenceHidden&&{visibility:"hidden","pointer-events":"none"},...i(this.#e)},dir:this.opts.dir.current}));get wrapperProps(){return i(this.#S)}set wrapperProps(e){w(this.#S,e)}#x=P(()=>({"data-side":this.placedSide,"data-align":this.placedAlign,style:Di({...i(this.#e)})}));get props(){return i(this.#x)}set props(e){w(this.#x,e)}#_=P(()=>({position:"absolute",left:this.arrowX?`${this.arrowX}px`:void 0,top:this.arrowY?`${this.arrowY}px`:void 0,[this.arrowBaseSide]:0,"transform-origin":{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[this.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[this.placedSide],visibility:this.cannotCenterArrow?"hidden":void 0}));get arrowStyle(){return i(this.#_)}set arrowStyle(e){w(this.#_,e)}constructor(e,r){this.opts=e,this.root=r,e.customAnchor&&(this.root.customAnchorNode.current=e.customAnchor.current),me(()=>e.customAnchor.current,n=>{this.root.customAnchorNode.current=n}),fe({id:this.opts.wrapperId,ref:this.wrapperRef,deps:()=>this.opts.enabled.current}),fe({id:this.opts.id,ref:this.contentRef,deps:()=>this.opts.enabled.current}),this.floating=Qa({strategy:()=>this.opts.strategy.current,placement:()=>i(this.#i),middleware:()=>this.middleware,reference:this.root.anchorNode,whileElementsMounted:(...n)=>Ua(...n,{animationFrame:this.#t?.current==="always"}),open:()=>this.opts.enabled.current}),pe(()=>{this.floating.isPositioned&&this.opts.onPlaced?.current()}),me(()=>this.contentRef.current,n=>{n&&(this.contentZIndex=window.getComputedStyle(n).zIndex)}),pe(()=>{this.floating.floating.current=this.wrapperRef.current})}}class rl{opts;root;ref=m(null);constructor(e,r){this.opts=e,this.root=r,e.virtualEl&&e.virtualEl.current?r.triggerNode=m.from(e.virtualEl.current):fe({id:e.id,ref:this.ref,onRefChange:n=>{r.triggerNode.current=n}})}}const en=new Ne("Floating.Root"),nl=new Ne("Floating.Content");function ol(){return en.set(new el)}function il(t){return nl.set(new tl(t,en.get()))}function sl(t){return new rl(t,en.get())}function al(t){return{name:"transformOrigin",options:t,fn(e){const{placement:r,rects:n,middlewareData:o}=e,a=o.arrow?.centerOffset!==0,l=a?0:t.arrowWidth,c=a?0:t.arrowHeight,[d,h]=tn(r),u={start:"0%",center:"50%",end:"100%"}[h],g=(o.arrow?.x??0)+l/2,v=(o.arrow?.y??0)+c/2;let b="",y="";return d==="bottom"?(b=a?u:`${g}px`,y=`${-c}px`):d==="top"?(b=a?u:`${g}px`,y=`${n.floating.height+c}px`):d==="right"?(b=`${-c}px`,y=a?u:`${v}px`):d==="left"&&(b=`${n.floating.width+c}px`,y=a?u:`${v}px`),{data:{x:b,y}}}}}function tn(t){const[e,r="center"]=t.split("-");return[e,r]}function ll(t){return tn(t)[0]}function cl(t){return tn(t)[1]}function rn(t,e){W(e,!0),ol();var r=N(),n=T(r);G(n,()=>e.children??re),p(t,r),U()}function ul(t,e=1e4,r=ve){let n=null,o=B(Ue(t));function s(){return window.setTimeout(()=>{w(o,t,!0),r(t)},e)}return pe(()=>()=>{n&&clearTimeout(n)}),m.with(()=>i(o),a=>{w(o,a,!0),r(a),n&&clearTimeout(n),n=s()})}function nn(t,e){W(e,!0),sl({id:m.with(()=>e.id),virtualEl:m.with(()=>e.virtualEl)});var r=N(),n=T(r);G(n,()=>e.children??re),p(t,r),U()}function dl(t,e){W(e,!0);let r=f(e,"side",3,"bottom"),n=f(e,"sideOffset",3,0),o=f(e,"align",3,"center"),s=f(e,"alignOffset",3,0),a=f(e,"arrowPadding",3,0),l=f(e,"avoidCollisions",3,!0),c=f(e,"collisionBoundary",19,()=>[]),d=f(e,"collisionPadding",3,0),h=f(e,"hideWhenDetached",3,!1),u=f(e,"onPlaced",3,()=>{}),g=f(e,"sticky",3,"partial"),v=f(e,"updatePositionStrategy",3,"optimized"),b=f(e,"strategy",3,"fixed"),y=f(e,"dir",3,"ltr"),_=f(e,"style",19,()=>({})),x=f(e,"wrapperId",19,we),O=f(e,"customAnchor",3,null);const S=il({side:m.with(()=>r()),sideOffset:m.with(()=>n()),align:m.with(()=>o()),alignOffset:m.with(()=>s()),id:m.with(()=>e.id),arrowPadding:m.with(()=>a()),avoidCollisions:m.with(()=>l()),collisionBoundary:m.with(()=>c()),collisionPadding:m.with(()=>d()),hideWhenDetached:m.with(()=>h()),onPlaced:m.with(()=>u()),sticky:m.with(()=>g()),updatePositionStrategy:m.with(()=>v()),strategy:m.with(()=>b()),dir:m.with(()=>y()),style:m.with(()=>_()),enabled:m.with(()=>e.enabled),wrapperId:m.with(()=>x()),customAnchor:m.with(()=>O())}),C=P(()=>le(S.wrapperProps,{style:{pointerEvents:"auto"}}));var R=N(),D=T(R);G(D,()=>e.content??re,()=>({props:S.props,wrapperProps:i(C)})),p(t,R),U()}function hl(t,e){W(e,!0),ot(()=>{e.onPlaced?.()});var r=N(),n=T(r);G(n,()=>e.content??re,()=>({props:{},wrapperProps:{}})),p(t,r),U()}const fl="data-separator-root";class gl{opts;constructor(e){this.opts=e,fe(e)}#e=P(()=>({id:this.opts.id.current,role:this.opts.decorative.current?"none":"separator","aria-orientation":Ii(this.opts.orientation.current),"aria-hidden":Ri(this.opts.decorative.current),"data-orientation":Ni(this.opts.orientation.current),[fl]:""}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}}function vl(t){return new gl(t)}var pl=z("
    ");function ml(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"decorative",3,!1),s=f(e,"orientation",3,"horizontal"),a=te(e,["$$slots","$$events","$$legacy","id","ref","child","children","decorative","orientation"]);const l=vl({ref:m.with(()=>n(),v=>n(v)),id:m.with(()=>r()),decorative:m.with(()=>o()),orientation:m.with(()=>s())}),c=P(()=>le(a,l.props));var d=N(),h=T(d);{var u=v=>{var b=N(),y=T(b);G(y,()=>e.child,()=>({props:i(c)})),p(v,b)},g=v=>{var b=pl();he(b,()=>({...i(c)}));var y=L(b);G(y,()=>e.children??re),F(b),p(v,b)};Q(h,v=>{e.child?v(u):v(g,!1)})}p(t,d),U()}function wl(t,e){let r=f(e,"isStatic",3,!1),n=te(e,["$$slots","$$events","$$legacy","content","isStatic","onPlaced"]);var o=N(),s=T(o);{var a=c=>{hl(c,{get content(){return e.content},get onPlaced(){return e.onPlaced}})},l=c=>{dl(c,$({get content(){return e.content},get onPlaced(){return e.onPlaced}},()=>n))};Q(s,c=>{r()?c(a):c(l,!1)})}p(t,o)}var bl=z(" ",1);function Po(t,e){W(e,!0);let r=f(e,"interactOutsideBehavior",3,"close"),n=f(e,"trapFocus",3,!0),o=f(e,"isValidEvent",3,()=>!1),s=f(e,"customAnchor",3,null),a=f(e,"isStatic",3,!1),l=te(e,["$$slots","$$events","$$legacy","popper","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic","enabled"]);wl(t,{get isStatic(){return a()},get id(){return e.id},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return e.strategy},get dir(){return e.dir},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get enabled(){return e.enabled},content:(d,h)=>{let u=()=>h?.().props,g=()=>h?.().wrapperProps;var v=bl(),b=T(v);{var y=S=>{rr(S,{get preventScroll(){return e.preventScroll}})},_=(S,C)=>{{var R=D=>{rr(D,{get preventScroll(){return e.preventScroll}})};Q(S,D=>{e.forceMount||D(R)},C)}};Q(b,S=>{e.forceMount&&e.enabled?S(y):S(_,!1)})}var x=q(b,2);const O=P(()=>e.enabled&&n());ho(x,{get id(){return e.id},get onOpenAutoFocus(){return e.onOpenAutoFocus},get onCloseAutoFocus(){return e.onCloseAutoFocus},get loop(){return e.loop},get trapFocus(){return i(O)},get forceMount(){return e.forceMount},focusScope:(C,R)=>{let D=()=>R?.().props;lo(C,{get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get enabled(){return e.enabled},children:(E,I)=>{{const A=(M,X)=>{let j=()=>X?.().props;fo(M,{get id(){return e.id},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get enabled(){return e.enabled},children:(K,H)=>{var Z=N(),J=T(Z),Y=Be(()=>({props:le(l,u(),j(),D(),{style:{pointerEvents:"auto"}}),wrapperProps:g()}));G(J,()=>e.popper??re,()=>i(Y)),p(K,Z)},$$slots:{default:!0}})};ao(E,{get id(){return e.id},get onInteractOutside(){return e.onInteractOutside},get onFocusOutside(){return e.onFocusOutside},get interactOutsideBehavior(){return r()},isValidEvent:o(),get enabled(){return e.enabled},children:A,$$slots:{default:!0}})}},$$slots:{default:!0}})},$$slots:{focusScope:!0}}),p(d,v)},$$slots:{content:!0}}),U()}function on(t,e){let r=f(e,"interactOutsideBehavior",3,"close"),n=f(e,"trapFocus",3,!0),o=f(e,"isValidEvent",3,()=>!1),s=f(e,"customAnchor",3,null),a=f(e,"isStatic",3,!1),l=te(e,["$$slots","$$events","$$legacy","popper","present","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic"]);ut(t,$({get id(){return e.id},get present(){return e.present}},()=>l,{presence:d=>{Po(d,$({get popper(){return e.popper},get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get id(){return e.id},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return e.strategy},get dir(){return e.dir},get preventScroll(){return e.preventScroll},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get isStatic(){return a()},get enabled(){return e.present},get onInteractOutside(){return e.onInteractOutside},get onCloseAutoFocus(){return e.onCloseAutoFocus},get onOpenAutoFocus(){return e.onOpenAutoFocus},get interactOutsideBehavior(){return r()},get loop(){return e.loop},get trapFocus(){return n()},isValidEvent:o(),get onFocusOutside(){return e.onFocusOutside},forceMount:!1},()=>l))},$$slots:{presence:!0}}))}function sn(t,e){let r=f(e,"interactOutsideBehavior",3,"close"),n=f(e,"trapFocus",3,!0),o=f(e,"isValidEvent",3,()=>!1),s=f(e,"customAnchor",3,null),a=f(e,"isStatic",3,!1),l=te(e,["$$slots","$$events","$$legacy","popper","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic","enabled"]);Po(t,$({get popper(){return e.popper},get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get id(){return e.id},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return e.strategy},get dir(){return e.dir},get preventScroll(){return e.preventScroll},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get isStatic(){return a()},get enabled(){return e.enabled},get onInteractOutside(){return e.onInteractOutside},get onCloseAutoFocus(){return e.onCloseAutoFocus},get onOpenAutoFocus(){return e.onOpenAutoFocus},get interactOutsideBehavior(){return r()},get loop(){return e.loop},get trapFocus(){return n()},isValidEvent:o(),get onFocusOutside(){return e.onFocusOutside}},()=>l,{forceMount:!0}))}function yl(t,e){W(e,!0);let r=f(e,"mounted",15,!1),n=f(e,"onMountedChange",3,ve);no(()=>(r(!0),n()(!0),()=>{r(!1),n()(!1)})),U()}function Sl(t,e){let r=t.nextElementSibling;for(;r;){if(r.matches(e))return r;r=r.nextElementSibling}}function xl(t,e){let r=t.previousElementSibling;for(;r;){if(r.matches(e))return r;r=r.previousElementSibling}}var Jt={exports:{}};/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */var _l=Jt.exports,Dn;function Pl(){return Dn||(Dn=1,function(t,e){(function(r,n){t.exports=n(r)})(typeof vn<"u"?vn:_l,function(r){if(r.CSS&&r.CSS.escape)return r.CSS.escape;var n=function(o){if(arguments.length==0)throw new TypeError("`CSS.escape` requires an argument.");for(var s=String(o),a=s.length,l=-1,c,d="",h=s.charCodeAt(0);++l=1&&c<=31||c==127||l==0&&c>=48&&c<=57||l==1&&c>=48&&c<=57&&h==45){d+="\\"+c.toString(16)+" ";continue}if(l==0&&a==1&&c==45){d+="\\"+s.charAt(l);continue}if(c>=128||c==45||c==95||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122){d+=s.charAt(l);continue}d+="\\"+s.charAt(l)}return d};return r.CSS||(r.CSS={}),r.CSS.escape=n,n})}(Jt)),Jt.exports}var Tl=Pl();const Ol=gi(Tl),Cl="data-command-root",Al="data-command-empty",To="data-command-group",Oo="data-command-group-items",Co="data-command-group-heading",Ao="data-command-item",El="data-command-input-label",ht="data-value",_t=`[${To}]`,br=`[${Oo}]`,Dl=`[${Co}]`,Nl=`[${Ao}]`,yr=`${Nl}:not([aria-disabled="true"])`,Vt=new Ne("Command.Root"),Ht=new Ne("Command.Group"),Nn={search:"",value:"",filtered:{count:0,items:new Map,groups:new Set}};class Rl{opts;#e=!1;sortAfterTick=!1;sortAndFilterAfterTick=!1;allItems=new Set;allGroups=new Map;allIds=new Map;#t=B(0);get key(){return i(this.#t)}set key(e){w(this.#t,e,!0)}#r=B(null);get viewportNode(){return i(this.#r)}set viewportNode(e){w(this.#r,e,!0)}#n=B(null);get inputNode(){return i(this.#n)}set inputNode(e){w(this.#n,e,!0)}#o=B(null);get labelNode(){return i(this.#o)}set labelNode(e){w(this.#o,e,!0)}#i=B(Nn);get commandState(){return i(this.#i)}set commandState(e){w(this.#i,e)}#l=B(Ue(Nn));get _commandState(){return i(this.#l)}set _commandState(e){w(this.#l,e,!0)}#a(){return Wr(this._commandState)}#s(){this.#e||(this.#e=!0,Ve(()=>{this.#e=!1;const e=this.#a();!Object.is(this.commandState,e)&&(this.commandState=e,this.opts.onStateChange?.current?.(e))}))}setState(e,r,n){Object.is(this._commandState[e],r)||(this._commandState[e]=r,e==="search"?(this.#d(),this.#u()):e==="value"&&(n||this.#w()),this.#s())}constructor(e){this.opts=e;const r={...this._commandState,value:this.opts.value.current??""};this._commandState=r,this.commandState=r,fe(e),this.onkeydown=this.onkeydown.bind(this)}#c(e,r){const n=this.opts.filter.current??Do;return e?n(e,this._commandState.search,r):0}#u(){if(!this._commandState.search||this.opts.shouldFilter.current===!1){this.#f();return}const e=this._commandState.filtered.items,r=[];for(const a of this._commandState.filtered.groups){const l=this.allGroups.get(a);let c=0;if(!l){r.push([a,c]);continue}for(const d of l){const h=e.get(d);c=Math.max(h??0,c)}r.push([a,c])}const n=this.viewportNode,o=this.getValidItems().sort((a,l)=>{const c=a.getAttribute("data-value"),d=l.getAttribute("data-value"),h=e.get(c)??0;return(e.get(d)??0)-h});for(const a of o){const l=a.closest(br);if(l){const c=a.parentElement===l?a:a.closest(`${br} > *`);c&&l.appendChild(c)}else{const c=a.parentElement===n?a:a.closest(`${br} > *`);c&&n?.appendChild(c)}}const s=r.sort((a,l)=>l[1]-a[1]);for(const a of s){const l=n?.querySelector(`${_t}[${ht}="${Ol(a[0])}"]`);l?.parentElement?.appendChild(l)}this.#f()}setValue(e,r){e!==this.opts.value.current&&e===""&&Ve(()=>{this.key++}),this.setState("value",e,r),this.opts.value.current=e}#f(){Ve(()=>{const r=this.getValidItems().find(n=>n.getAttribute("aria-disabled")!=="true")?.getAttribute(ht);this.setValue(r||"")})}#d(){if(!this._commandState.search||this.opts.shouldFilter.current===!1){this._commandState.filtered.count=this.allItems.size;return}this._commandState.filtered.groups=new Set;let e=0;for(const r of this.allItems){const n=this.allIds.get(r)?.value??"",o=this.allIds.get(r)?.keywords??[],s=this.#c(n,o);this._commandState.filtered.items.set(r,s),s>0&&e++}for(const[r,n]of this.allGroups)for(const o of n){const s=this._commandState.filtered.items.get(o);if(s&&s>0){this._commandState.filtered.groups.add(r);break}}this._commandState.filtered.count=e}getValidItems(){const e=this.opts.ref.current;return e?Array.from(e.querySelectorAll(yr)).filter(n=>!!n):[]}#h(){const e=this.opts.ref.current;if(!e)return;const r=e.querySelector(`${yr}[data-selected]`);if(r)return r}#w(){Ve(()=>{const e=this.#h();if(!e)return;const r=e.parentElement?.parentElement;if(!r)return;const n=fs(r);if(n&&n.dataset?.value===e.dataset?.value){e?.closest(_t)?.querySelector(Dl)?.scrollIntoView({block:"nearest"});return}e.scrollIntoView({block:"nearest"})})}updateSelectedToIndex(e){const n=this.getValidItems()[e];n&&this.setValue(n.getAttribute(ht)??"")}updateSelectedByItem(e){const r=this.#h(),n=this.getValidItems(),o=n.findIndex(a=>a===r);let s=n[o+e];this.opts.loop.current&&(s=o+e<0?n[n.length-1]:o+e===n.length?n[0]:n[o+e]),s&&this.setValue(s.getAttribute(ht)??"")}updateSelectedByGroup(e){let n=this.#h()?.closest(_t),o;for(;n&&!o;)n=e>0?Sl(n,_t):xl(n,_t),o=n?.querySelector(yr);o?this.setValue(o.getAttribute(ht)??""):this.updateSelectedByItem(e)}registerValue(e,r){return e&&e===this.allIds.get(e)?.value||this.allIds.set(e,{value:e,keywords:r}),this._commandState.filtered.items.set(e,this.#c(e,r)),this.sortAfterTick||(this.sortAfterTick=!0,Ve(()=>{this.#u(),this.sortAfterTick=!1})),()=>{this.allIds.delete(e)}}registerItem(e,r){return this.allItems.add(e),r&&(this.allGroups.has(r)?this.allGroups.get(r).add(e):this.allGroups.set(r,new Set([e]))),this.sortAndFilterAfterTick||(this.sortAndFilterAfterTick=!0,Ve(()=>{this.#d(),this.#u(),this.sortAndFilterAfterTick=!1})),this.#s(),()=>{const n=this.#h();this.allIds.delete(e),this.allItems.delete(e),this.commandState.filtered.items.delete(e),this.#d(),n?.getAttribute("id")===e&&this.#f(),this.#s()}}registerGroup(e){return this.allGroups.has(e)||this.allGroups.set(e,new Set),()=>{this.allIds.delete(e),this.allGroups.delete(e)}}#v(){return this.updateSelectedToIndex(this.getValidItems().length-1)}#p(e){e.preventDefault(),e.metaKey?this.#v():e.altKey?this.updateSelectedByGroup(1):this.updateSelectedByItem(1)}#g(e){e.preventDefault(),e.metaKey?this.updateSelectedToIndex(0):e.altKey?this.updateSelectedByGroup(-1):this.updateSelectedByItem(-1)}onkeydown(e){switch(e.key){case zi:case Hi:{this.opts.vimBindings.current&&e.ctrlKey&&this.#p(e);break}case Vi:this.#p(e);break;case Bi:case Li:{this.opts.vimBindings.current&&e.ctrlKey&&this.#g(e);break}case Fi:this.#g(e);break;case Mi:e.preventDefault(),this.updateSelectedToIndex(0);break;case ki:e.preventDefault(),this.#v();break;case $n:if(!e.isComposing&&e.keyCode!==229){e.preventDefault();const r=this.#h();r&&r?.click()}}}#m=P(()=>({id:this.opts.id.current,role:"application",[Cl]:"",tabindex:-1,onkeydown:this.onkeydown}));get props(){return i(this.#m)}set props(e){w(this.#m,e)}}class Il{opts;root;#e=!0;#t=P(()=>this.root._commandState.filtered.count===0&&this.#e===!1||this.opts.forceMount.current);get shouldRender(){return i(this.#t)}set shouldRender(e){w(this.#t,e)}constructor(e,r){this.opts=e,this.root=r,Qt(()=>{this.#e=!1}),fe({...e,deps:()=>this.shouldRender})}#r=P(()=>({id:this.opts.id.current,role:"presentation",[Al]:""}));get props(){return i(this.#r)}set props(e){w(this.#r,e)}}class kl{opts;root;#e=B(null);get headingNode(){return i(this.#e)}set headingNode(e){w(this.#e,e,!0)}#t=B("");get trueValue(){return i(this.#t)}set trueValue(e){w(this.#t,e,!0)}#r=P(()=>this.opts.forceMount.current||this.root.opts.shouldFilter.current===!1||!this.root.commandState.search?!0:this.root._commandState.filtered.groups.has(this.trueValue));get shouldRender(){return i(this.#r)}set shouldRender(e){w(this.#r,e)}constructor(e,r){this.opts=e,this.root=r,this.trueValue=e.value.current??e.id.current,fe({...e,deps:()=>this.shouldRender}),me(()=>this.trueValue,()=>this.root.registerGroup(this.trueValue)),pe(()=>this.opts.value.current?(this.trueValue=this.opts.value.current,this.root.registerValue(this.opts.value.current)):this.headingNode&&this.headingNode.textContent?(this.trueValue=this.headingNode.textContent.trim().toLowerCase(),this.root.registerValue(this.trueValue)):(this.trueValue=`-----${this.opts.id.current}`,this.root.registerValue(this.trueValue)))}#n=P(()=>({id:this.opts.id.current,role:"presentation",hidden:this.shouldRender?void 0:!0,"data-value":this.trueValue,[To]:""}));get props(){return i(this.#n)}set props(e){w(this.#n,e)}}class Ml{opts;group;constructor(e,r){this.opts=e,this.group=r,fe({...e,onRefChange:n=>{this.group.headingNode=n}})}#e=P(()=>({id:this.opts.id.current,[Co]:""}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}}class Fl{opts;group;constructor(e,r){this.opts=e,this.group=r,fe(e)}#e=P(()=>({id:this.opts.id.current,role:"group",[Oo]:"","aria-labelledby":this.group.headingNode?.id??void 0}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}}class Ll{opts;root;#e=null;#t=P(()=>this.opts.forceMount.current||this.#e?.opts.forceMount.current===!0);#r=B("");get trueValue(){return i(this.#r)}set trueValue(e){w(this.#r,e,!0)}#n=P(()=>{if(this.opts.ref.current,i(this.#t)||this.root.opts.shouldFilter.current===!1||!this.root.commandState.search)return!0;const e=this.root.commandState.filtered.items.get(this.trueValue);return e===void 0?!1:e>0});get shouldRender(){return i(this.#n)}set shouldRender(e){w(this.#n,e)}#o=P(()=>this.root.opts.value.current===this.trueValue&&this.trueValue!=="");get isSelected(){return i(this.#o)}set isSelected(e){w(this.#o,e)}constructor(e,r){this.opts=e,this.root=r,this.#e=Ht.getOr(null),this.trueValue=e.value.current,fe({...e,deps:()=>!!this.root.commandState.search}),me([()=>this.trueValue,()=>this.#e?.trueValue,()=>this.opts.forceMount.current],()=>{if(!this.opts.forceMount.current)return this.root.registerItem(this.trueValue,this.#e?.trueValue)}),me([()=>this.opts.value.current,()=>this.opts.ref.current],()=>{!this.opts.value.current&&this.opts.ref.current?.textContent&&(this.trueValue=this.opts.ref.current.textContent.trim()),this.root.registerValue(this.trueValue,e.keywords.current.map(n=>n.trim())),this.opts.ref.current?.setAttribute(ht,this.trueValue)}),this.onclick=this.onclick.bind(this),this.onpointermove=this.onpointermove.bind(this)}#i(){this.opts.disabled.current||(this.#l(),this.opts.onSelect?.current())}#l(){this.opts.disabled.current||this.root.setValue(this.trueValue,!0)}onpointermove(e){this.opts.disabled.current||this.root.opts.disablePointerSelection.current||this.#l()}onclick(e){this.opts.disabled.current||this.#i()}#a=P(()=>({id:this.opts.id.current,"aria-disabled":Yi(this.opts.disabled.current),"aria-selected":Ki(this.isSelected),"data-disabled":zr(this.opts.disabled.current),"data-selected":Ui(this.isSelected),"data-value":this.trueValue,[Ao]:"",role:"option",onpointermove:this.onpointermove,onclick:this.onclick}));get props(){return i(this.#a)}set props(e){w(this.#a,e)}}class Bl{opts;root;constructor(e,r){this.opts=e,this.root=r,fe({...e,onRefChange:n=>{this.root.labelNode=n}})}#e=P(()=>({id:this.opts.id.current,[El]:"",for:this.opts.for?.current,style:Wi}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}}function Vl(t){return Vt.set(new Rl(t))}function Hl(t){return new Il(t,Vt.get())}function zl(t){const e=Ht.getOr(null);return new Ll({...t,group:e},Vt.get())}function Wl(t){return Ht.set(new kl(t,Vt.get()))}function Ul(t){return new Ml(t,Ht.get())}function Kl(t){return new Fl(t,Ht.get())}function Yl(t){return new Bl(t,Vt.get())}var jl=z("");function Gl(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=te(e,["$$slots","$$events","$$legacy","id","ref","children"]);const s=Yl({id:m.with(()=>r()),ref:m.with(()=>n(),d=>n(d))}),a=P(()=>le(o,s.props));var l=jl();he(l,()=>({...i(a)}));var c=L(l);G(c,()=>e.children??re),F(l),p(t,l),U()}var Xl=z(" ",1),ql=z("
    ");function Zl(t,e){W(e,!0);const r=A=>{Gl(A,{children:(M,X)=>{xe();var j=Re();Ie(()=>Le(j,u())),p(M,j)},$$slots:{default:!0}})};let n=f(e,"id",19,we),o=f(e,"ref",15,null),s=f(e,"value",15,""),a=f(e,"onValueChange",3,ve),l=f(e,"onStateChange",3,ve),c=f(e,"loop",3,!1),d=f(e,"shouldFilter",3,!0),h=f(e,"filter",3,Do),u=f(e,"label",3,""),g=f(e,"vimBindings",3,!0),v=f(e,"disablePointerSelection",3,!1),b=te(e,["$$slots","$$events","$$legacy","id","ref","value","onValueChange","onStateChange","loop","shouldFilter","filter","label","vimBindings","disablePointerSelection","children","child"]);const y=Vl({id:m.with(()=>n()),ref:m.with(()=>o(),A=>o(A)),filter:m.with(()=>h()),shouldFilter:m.with(()=>d()),loop:m.with(()=>c()),value:m.with(()=>s(),A=>{s()!==A&&(s(A),a()(A))}),vimBindings:m.with(()=>g()),disablePointerSelection:m.with(()=>v()),onStateChange:m.with(()=>l())}),_=A=>y.updateSelectedToIndex(A),x=A=>y.updateSelectedByGroup(A),O=A=>y.updateSelectedByItem(A),S=()=>y.getValidItems(),C=P(()=>le(b,y.props));var R=N(),D=T(R);{var E=A=>{var M=Xl(),X=T(M);r(X);var j=q(X,2);G(j,()=>e.child,()=>({props:i(C)})),p(A,M)},I=A=>{var M=ql();he(M,()=>({...i(C)}));var X=L(M);r(X);var j=q(X,2);G(j,()=>e.children??re),F(M),p(A,M)};Q(D,A=>{e.child?A(E):A(I,!1)})}return p(t,R),U({updateSelectedToIndex:_,updateSelectedByGroup:x,updateSelectedByItem:O,getValidItems:S})}var Jl=z("
    ");function Ql(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"forceMount",3,!1),s=te(e,["$$slots","$$events","$$legacy","id","ref","children","child","forceMount"]);const a=Hl({id:m.with(()=>r()),ref:m.with(()=>n(),u=>n(u)),forceMount:m.with(()=>o())}),l=P(()=>le(a.props,s));var c=N(),d=T(c);{var h=u=>{var g=N(),v=T(g);{var b=_=>{var x=N(),O=T(x);G(O,()=>e.child,()=>({props:i(l)})),p(_,x)},y=_=>{var x=Jl();he(x,()=>({...i(l)}));var O=L(x);G(O,()=>e.children??re),F(x),p(_,x)};Q(v,_=>{e.child?_(b):_(y,!1)})}p(u,g)};Q(d,u=>{a.shouldRender&&u(h)})}p(t,c),U()}var $l=z("
    ");function ec(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"value",3,""),s=f(e,"forceMount",3,!1),a=te(e,["$$slots","$$events","$$legacy","id","ref","value","forceMount","children","child"]);const l=Wl({id:m.with(()=>r()),ref:m.with(()=>n(),v=>n(v)),forceMount:m.with(()=>s()),value:m.with(()=>o())}),c=P(()=>le(a,l.props));var d=N(),h=T(d);{var u=v=>{var b=N(),y=T(b);G(y,()=>e.child,()=>({props:i(c)})),p(v,b)},g=v=>{var b=$l();he(b,()=>({...i(c)}));var y=L(b);G(y,()=>e.children??re),F(b),p(v,b)};Q(h,v=>{e.child?v(u):v(g,!1)})}p(t,d),U()}var tc=z("
    ");function rc(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=te(e,["$$slots","$$events","$$legacy","id","ref","children","child"]);const s=Ul({id:m.with(()=>r()),ref:m.with(()=>n(),u=>n(u))}),a=P(()=>le(o,s.props));var l=N(),c=T(l);{var d=u=>{var g=N(),v=T(g);G(v,()=>e.child,()=>({props:i(a)})),p(u,g)},h=u=>{var g=tc();he(g,()=>({...i(a)}));var v=L(g);G(v,()=>e.children??re),F(g),p(u,g)};Q(c,u=>{e.child?u(d):u(h,!1)})}p(t,l),U()}var nc=z("
    "),oc=z('
    ');function ic(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=te(e,["$$slots","$$events","$$legacy","id","ref","children","child"]);const s=Kl({id:m.with(()=>r()),ref:m.with(()=>n(),u=>n(u))}),a=P(()=>le(o,s.props));var l=oc(),c=L(l);{var d=u=>{var g=N(),v=T(g);G(v,()=>e.child,()=>({props:i(a)})),p(u,g)},h=u=>{var g=nc();he(g,()=>({...i(a)}));var v=L(g);G(v,()=>e.children??re),F(g),p(u,g)};Q(c,u=>{e.child?u(d):u(h,!1)})}F(l),p(t,l),U()}var sc=z("
    "),ac=z('
    ');function lc(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"value",3,""),s=f(e,"disabled",3,!1),a=f(e,"onSelect",3,ve),l=f(e,"forceMount",3,!1),c=f(e,"keywords",19,()=>[]),d=te(e,["$$slots","$$events","$$legacy","id","ref","value","disabled","children","child","onSelect","forceMount","keywords"]);const h=zl({id:m.with(()=>r()),ref:m.with(()=>n(),b=>n(b)),value:m.with(()=>o()),disabled:m.with(()=>s()),onSelect:m.with(()=>a()),forceMount:m.with(()=>l()),keywords:m.with(()=>c())}),u=P(()=>le(d,h.props));var g=N(),v=T(g);ro(v,()=>h.root.key,b=>{var y=ac(),_=L(y);{var x=O=>{var S=N(),C=T(S);{var R=E=>{var I=N(),A=T(I);G(A,()=>e.child,()=>({props:i(u)})),p(E,I)},D=E=>{var I=sc();he(I,()=>({...i(u)}));var A=L(I);G(A,()=>e.children??re),F(I),p(E,I)};Q(C,E=>{e.child?E(R):E(D,!1)})}p(O,S)};Q(_,O=>{h.shouldRender&&O(x)})}F(y),Ie(()=>vi(y,"data-value",h.trueValue)),p(b,y)}),p(t,g),U()}const Rn=1,cc=.9,uc=.8,dc=.17,Sr=.1,xr=.999,hc=.9999,fc=.99,gc=/[\\/_+.#"@[({&]/,vc=/[\\/_+.#"@[({&]/g,pc=/[\s-]/,Eo=/[\s-]/g;function Nr(t,e,r,n,o,s,a){if(s===e.length)return o===t.length?Rn:fc;const l=`${o},${s}`;if(a[l]!==void 0)return a[l];const c=n.charAt(s);let d=r.indexOf(c,o),h=0,u,g,v,b;for(;d>=0;)u=Nr(t,e,r,n,d+1,s+1,a),u>h&&(d===o?u*=Rn:gc.test(t.charAt(d-1))?(u*=uc,v=t.slice(o,d-1).match(vc),v&&o>0&&(u*=xr**v.length)):pc.test(t.charAt(d-1))?(u*=cc,b=t.slice(o,d-1).match(Eo),b&&o>0&&(u*=xr**b.length)):(u*=dc,o>0&&(u*=xr**(d-o))),t.charAt(d)!==e.charAt(s)&&(u*=hc)),(uu&&(u=g*Sr)),u>h&&(h=u),d=r.indexOf(c,d+1);return a[l]=h,h}function In(t){return t.toLowerCase().replace(Eo," ")}function Do(t,e,r){return t=r&&r.length>0?`${`${t} ${r?.join(" ")}`}`:t,Nr(t,e,In(t),In(e),0,0,{})}function No(t){const e=P(()=>t.enabled()),r=ul(!1,t.transitTimeout??300,a=>{i(e)&&t.setIsPointerInTransit?.(a)});let n=B(null);function o(){w(n,null),r.current=!1}function s(a,l){const c=a.currentTarget;if(!$t(c))return;const d={x:a.clientX,y:a.clientY},h=mc(d,c.getBoundingClientRect()),u=wc(d,h),g=bc(l.getBoundingClientRect()),v=Sc([...u,...g]);w(n,v,!0),r.current=!0}return me([t.triggerNode,t.contentNode,t.enabled],([a,l,c])=>{if(!a||!l||!c)return;const d=u=>{s(u,l)},h=u=>{s(u,a)};return tt(ye(a,"pointerleave",d),ye(l,"pointerleave",h))}),me(()=>i(n),()=>ye(document,"pointermove",l=>{if(!i(n))return;const c=l.target;if(!kt(c))return;const d={x:l.clientX,y:l.clientY},h=t.triggerNode()?.contains(c)||t.contentNode()?.contains(c),u=!yc(d,i(n));h?o():u&&(o(),t.onPointerExit())})),{isPointerInTransit:r}}function mc(t,e){const r=Math.abs(e.top-t.y),n=Math.abs(e.bottom-t.y),o=Math.abs(e.right-t.x),s=Math.abs(e.left-t.x);switch(Math.min(r,n,o,s)){case s:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function wc(t,e,r=5){const n=r*1.5;switch(e){case"top":return[{x:t.x-r,y:t.y+r},{x:t.x,y:t.y-n},{x:t.x+r,y:t.y+r}];case"bottom":return[{x:t.x-r,y:t.y-r},{x:t.x,y:t.y+n},{x:t.x+r,y:t.y-r}];case"left":return[{x:t.x+r,y:t.y-r},{x:t.x-n,y:t.y},{x:t.x+r,y:t.y+r}];case"right":return[{x:t.x-r,y:t.y-r},{x:t.x+n,y:t.y},{x:t.x-r,y:t.y+r}]}}function bc(t){const{top:e,right:r,bottom:n,left:o}=t;return[{x:o,y:e},{x:r,y:e},{x:r,y:n},{x:o,y:n}]}function yc(t,e){const{x:r,y:n}=t;let o=!1;for(let s=0,a=e.length-1;sn!=h>n&&r<(d-l)*(n-c)/(h-c)+l&&(o=!o)}return o}function Sc(t){const e=t.slice();return e.sort((r,n)=>r.xn.x?1:r.yn.y?1:0),xc(e)}function xc(t){if(t.length<=1)return t.slice();const e=[];for(let n=0;n=2;){const s=e[e.length-1],a=e[e.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))e.pop();else break}e.push(o)}e.pop();const r=[];for(let n=t.length-1;n>=0;n--){const o=t[n];for(;r.length>=2;){const s=r[r.length-1],a=r[r.length-2];if((s.x-a.x)*(o.y-a.y)>=(s.y-a.y)*(o.x-a.x))r.pop();else break}r.push(o)}return r.pop(),e.length===1&&r.length===1&&e[0].x===r[0].x&&e[0].y===r[0].y?e:e.concat(r)}class _c{opts;#e=B(null);get contentNode(){return i(this.#e)}set contentNode(e){w(this.#e,e,!0)}#t=B(null);get triggerNode(){return i(this.#t)}set triggerNode(e){w(this.#t,e,!0)}constructor(e){this.opts=e}toggleOpen(){this.opts.open.current=!this.opts.open.current}handleClose(){this.opts.open.current&&(this.opts.open.current=!1)}}class Pc{opts;root;constructor(e,r){this.opts=e,this.root=r,fe({...e,onRefChange:n=>{this.root.triggerNode=n}}),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this)}onclick(e){this.opts.disabled.current||e.button===0&&this.root.toggleOpen()}onkeydown(e){this.opts.disabled.current||(e.key===$n||e.key===ji)&&(e.preventDefault(),this.root.toggleOpen())}#e(){if(this.root.opts.open.current&&this.root.contentNode?.id)return this.root.contentNode?.id}#t=P(()=>({id:this.opts.id.current,"aria-haspopup":"dialog","aria-expanded":eo(this.root.opts.open.current),"data-state":It(this.root.opts.open.current),"aria-controls":this.#e(),"data-popover-trigger":"",disabled:this.opts.disabled.current,onkeydown:this.onkeydown,onclick:this.onclick}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}}class Tc{opts;root;constructor(e,r){this.opts=e,this.root=r,fe({...e,deps:()=>this.root.opts.open.current,onRefChange:n=>{this.root.contentNode=n}})}onInteractOutside=e=>{this.opts.onInteractOutside.current(e),!(e.defaultPrevented||!kt(e.target)||e.target.closest("[data-popover-trigger]")===this.root.triggerNode)&&this.root.handleClose()};onEscapeKeydown=e=>{this.opts.onEscapeKeydown.current(e),!e.defaultPrevented&&this.root.handleClose()};onCloseAutoFocus=e=>{this.opts.onCloseAutoFocus.current(e),!e.defaultPrevented&&(e.preventDefault(),this.root.triggerNode?.focus())};#e=P(()=>({open:this.root.opts.open.current}));get snippetProps(){return i(this.#e)}set snippetProps(e){w(this.#e,e)}#t=P(()=>({id:this.opts.id.current,tabindex:-1,"data-state":It(this.root.opts.open.current),"data-popover-content":"",style:{pointerEvents:"auto"}}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}popperProps={onInteractOutside:this.onInteractOutside,onEscapeKeydown:this.onEscapeKeydown,onCloseAutoFocus:this.onCloseAutoFocus}}const an=new Ne("Popover.Root");function Oc(t){return an.set(new _c(t))}function Cc(t){return new Pc(t,an.get())}function Ac(t){return new Tc(t,an.get())}var Ec=z("
    "),Dc=z("
    ");function Nc(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"id",19,we),o=f(e,"forceMount",3,!1),s=f(e,"onCloseAutoFocus",3,ve),a=f(e,"onEscapeKeydown",3,ve),l=f(e,"onInteractOutside",3,ve),c=f(e,"trapFocus",3,!0),d=f(e,"preventScroll",3,!1),h=te(e,["$$slots","$$events","$$legacy","child","children","ref","id","forceMount","onCloseAutoFocus","onEscapeKeydown","onInteractOutside","trapFocus","preventScroll"]);const u=Ac({id:m.with(()=>n()),ref:m.with(()=>r(),x=>r(x)),onInteractOutside:m.with(()=>l()),onEscapeKeydown:m.with(()=>a()),onCloseAutoFocus:m.with(()=>s())}),g=P(()=>le(h,u.props));var v=N(),b=T(v);{var y=x=>{sn(x,$(()=>i(g),()=>u.popperProps,{get enabled(){return u.root.opts.open.current},get id(){return n()},get trapFocus(){return c()},get preventScroll(){return d()},loop:!0,forceMount:!0,popper:(S,C)=>{let R=()=>C?.().props,D=()=>C?.().wrapperProps;var E=N();const I=P(()=>le(R(),{style:wt("popover")}));var A=T(E);{var M=j=>{var K=N(),H=T(K),Z=Be(()=>({props:i(I),wrapperProps:D(),...u.snippetProps}));G(H,()=>e.child,()=>i(Z)),p(j,K)},X=j=>{var K=Ec();he(K,()=>({...D()}));var H=L(K);he(H,()=>({...i(I)}));var Z=L(H);G(Z,()=>e.children??re),F(H),F(K),p(j,K)};Q(A,j=>{e.child?j(M):j(X,!1)})}p(S,E)},$$slots:{popper:!0}}))},_=(x,O)=>{{var S=C=>{on(C,$(()=>i(g),()=>u.popperProps,{get present(){return u.root.opts.open.current},get id(){return n()},get trapFocus(){return c()},get preventScroll(){return d()},loop:!0,forceMount:!1,popper:(D,E)=>{let I=()=>E?.().props,A=()=>E?.().wrapperProps;var M=N();const X=P(()=>le(I(),{style:wt("popover")}));var j=T(M);{var K=Z=>{var J=N(),Y=T(J),k=Be(()=>({props:i(X),wrapperProps:A(),...u.snippetProps}));G(Y,()=>e.child,()=>i(k)),p(Z,J)},H=Z=>{var J=Dc();he(J,()=>({...A()}));var Y=L(J);he(Y,()=>({...i(X)}));var k=L(Y);G(k,()=>e.children??re),F(Y),F(J),p(Z,J)};Q(j,Z=>{e.child?Z(K):Z(H,!1)})}p(D,M)},$$slots:{popper:!0}}))};Q(x,C=>{o()||C(S)},O)}};Q(b,x=>{o()?x(y):x(_,!1)})}p(t,v),U()}var Rc=z("");function Ic(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"type",3,"button"),s=f(e,"disabled",3,!1),a=te(e,["$$slots","$$events","$$legacy","children","child","id","ref","type","disabled"]);const l=Cc({id:m.with(()=>r()),ref:m.with(()=>n(),d=>n(d)),disabled:m.with(()=>!!s())}),c=P(()=>le(a,l.props,{type:o()}));nn(t,{get id(){return r()},children:(d,h)=>{var u=N(),g=T(u);{var v=y=>{var _=N(),x=T(_);G(x,()=>e.child,()=>({props:i(c)})),p(y,_)},b=y=>{var _=Rc();he(_,()=>({...i(c)}));var x=L(_);G(x,()=>e.children??re),F(_),p(y,_)};Q(g,y=>{e.child?y(v):y(b,!1)})}p(d,u)},$$slots:{default:!0}}),U()}function kc(t,e){W(e,!0);let r=f(e,"open",15,!1),n=f(e,"onOpenChange",3,ve);is({variant:m.with(()=>"dialog"),open:m.with(()=>r(),a=>{r(a),n()(a)})});var o=N(),s=T(o);G(s,()=>e.children??re),p(t,o),U()}var Mc=z(" ",1),Fc=z("
    ",1);function Lc(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"forceMount",3,!1),s=f(e,"onCloseAutoFocus",3,ve),a=f(e,"onOpenAutoFocus",3,ve),l=f(e,"onEscapeKeydown",3,ve),c=f(e,"onInteractOutside",3,ve),d=f(e,"trapFocus",3,!0),h=f(e,"preventScroll",3,!0),u=f(e,"restoreScrollDelay",3,null),g=te(e,["$$slots","$$events","$$legacy","id","children","child","ref","forceMount","onCloseAutoFocus","onOpenAutoFocus","onEscapeKeydown","onInteractOutside","trapFocus","preventScroll","restoreScrollDelay"]);const v=as({id:m.with(()=>r()),ref:m.with(()=>n(),_=>n(_))}),b=P(()=>le(g,v.props)),y=P(()=>v.root.opts.open.current||o());ut(t,$(()=>i(b),{get forceMount(){return o()},get present(){return i(y)},presence:x=>{const O=P(()=>oa({forceMount:o(),present:v.root.opts.open.current,trapFocus:d(),open:v.root.opts.open.current}));ho(x,{loop:!0,get trapFocus(){return i(O)},get onOpenAutoFocus(){return a()},get id(){return r()},onCloseAutoFocus:C=>{s()(C),!C.defaultPrevented&&v.root.triggerNode?.focus()},focusScope:(C,R)=>{let D=()=>R?.().props;lo(C,$(()=>i(b),{get enabled(){return v.root.opts.open.current},onEscapeKeydown:E=>{l()(E),!E.defaultPrevented&&v.root.handleClose()},children:(E,I)=>{ao(E,$(()=>i(b),{get enabled(){return v.root.opts.open.current},onInteractOutside:A=>{c()(A),!A.defaultPrevented&&v.root.handleClose()},children:(A,M)=>{fo(A,$(()=>i(b),{get enabled(){return v.root.opts.open.current},children:(X,j)=>{var K=N(),H=T(K);{var Z=Y=>{var k=Mc(),ee=T(k);{var se=ue=>{rr(ue,{get preventScroll(){return h()},get restoreScrollDelay(){return u()}})};Q(ee,ue=>{v.root.opts.open.current&&ue(se)})}var ce=q(ee,2),ie=Be(()=>({props:le(i(b),D()),...v.snippetProps}));G(ce,()=>e.child,()=>i(ie)),p(Y,k)},J=Y=>{var k=Fc(),ee=T(k);rr(ee,{get preventScroll(){return h()}});var se=q(ee,2);he(se,ie=>({...ie}),[()=>le(i(b),D())]);var ce=L(se);G(ce,()=>e.children??re),F(se),p(Y,k)};Q(H,Y=>{e.child?Y(Z):Y(J,!1)})}p(X,K)},$$slots:{default:!0}}))},$$slots:{default:!0}}))},$$slots:{default:!0}}))},$$slots:{focusScope:!0}})},$$slots:{presence:!0}})),U()}const Bc="data-label-root";class Vc{opts;constructor(e){this.opts=e,this.onmousedown=this.onmousedown.bind(this),fe(e)}onmousedown(e){e.detail>1&&e.preventDefault()}#e=P(()=>({id:this.opts.id.current,[Bc]:"",onmousedown:this.onmousedown}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}}function Hc(t){return new Vc(t)}var zc=z("");function Wc(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=te(e,["$$slots","$$events","$$legacy","children","child","id","ref","for"]);const s=Hc({id:m.with(()=>r()),ref:m.with(()=>n(),u=>n(u))}),a=P(()=>le(o,s.props,{for:e.for}));var l=N(),c=T(l);{var d=u=>{var g=N(),v=T(g);G(v,()=>e.child,()=>({props:i(a)})),p(u,g)},h=u=>{var g=zc();he(g,()=>({...i(a),for:e.for}));var v=L(g);G(v,()=>e.children??re),F(g),p(u,g)};Q(c,u=>{e.child?u(d):u(h,!1)})}p(t,l),U()}const Uc="data-link-preview-content",Kc="data-link-preview-trigger";class Yc{opts;#e=B(!1);get hasSelection(){return i(this.#e)}set hasSelection(e){w(this.#e,e,!0)}#t=B(!1);get isPointerDownOnContent(){return i(this.#t)}set isPointerDownOnContent(e){w(this.#t,e,!0)}#r=B(!1);get containsSelection(){return i(this.#r)}set containsSelection(e){w(this.#r,e,!0)}timeout=null;#n=B(null);get contentNode(){return i(this.#n)}set contentNode(e){w(this.#n,e,!0)}#o=B(!1);get contentMounted(){return i(this.#o)}set contentMounted(e){w(this.#o,e,!0)}#i=B(null);get triggerNode(){return i(this.#i)}set triggerNode(e){w(this.#i,e,!0)}isOpening=!1;constructor(e){this.opts=e,me(()=>this.opts.open.current,r=>{if(!r){this.hasSelection=!1;return}const o=ye(document,"pointerup",()=>{this.containsSelection=!1,this.isPointerDownOnContent=!1,Mt(1,()=>{document.getSelection()?.toString()!==""?this.hasSelection=!0:this.hasSelection=!1})});if(!this.contentNode)return;const s=jr(this.contentNode);for(const a of s)a.setAttribute("tabindex","-1");return()=>{o(),this.hasSelection=!1,this.isPointerDownOnContent=!1}})}clearTimeout(){this.timeout&&(window.clearTimeout(this.timeout),this.timeout=null)}handleOpen(){this.clearTimeout(),!this.opts.open.current&&(this.isOpening=!0,this.timeout=window.setTimeout(()=>{this.isOpening&&(this.opts.open.current=!0,this.isOpening=!1)},this.opts.openDelay.current))}immediateClose(){this.clearTimeout(),this.isOpening=!1,this.opts.open.current=!1}handleClose(){this.isOpening=!1,this.clearTimeout(),!this.isPointerDownOnContent&&!this.hasSelection&&(this.timeout=window.setTimeout(()=>{this.opts.open.current=!1},this.opts.closeDelay.current))}}class jc{opts;root;constructor(e,r){this.opts=e,this.root=r,this.onpointerenter=this.onpointerenter.bind(this),this.onpointerleave=this.onpointerleave.bind(this),this.onfocus=this.onfocus.bind(this),this.onblur=this.onblur.bind(this),fe({...e,onRefChange:n=>{this.root.triggerNode=n}})}onpointerenter(e){Cr(e)||this.root.handleOpen()}onpointerleave(e){Cr(e)||this.root.contentMounted||this.root.immediateClose()}onfocus(e){to(e.currentTarget)&&this.root.handleOpen()}onblur(e){this.root.handleClose()}#e=P(()=>({id:this.opts.id.current,"aria-haspopup":"dialog","aria-expanded":eo(this.root.opts.open.current),"data-state":It(this.root.opts.open.current),"aria-controls":this.root.contentNode?.id,role:"button",[Kc]:"",onpointerenter:this.onpointerenter,onfocus:this.onfocus,onblur:this.onblur,onpointerleave:this.onpointerleave}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}}class Gc{opts;root;constructor(e,r){this.opts=e,this.root=r,this.onpointerdown=this.onpointerdown.bind(this),this.onpointerenter=this.onpointerenter.bind(this),this.onfocusout=this.onfocusout.bind(this),fe({...e,onRefChange:n=>{this.root.contentNode=n},deps:()=>this.root.opts.open.current}),No({triggerNode:()=>this.root.triggerNode,contentNode:()=>this.opts.ref.current,enabled:()=>this.root.opts.open.current,onPointerExit:()=>{this.root.handleClose()}}),Hr(()=>{this.root.clearTimeout()})}onpointerdown(e){const r=e.target;kt(r)&&(e.currentTarget.contains(r)&&(this.root.containsSelection=!0),this.root.hasSelection=!0,this.root.isPointerDownOnContent=!0)}onpointerenter(e){Cr(e)||this.root.handleOpen()}onfocusout(e){e.preventDefault()}onInteractOutside=e=>{this.opts.onInteractOutside.current(e),!e.defaultPrevented&&this.root.handleClose()};onEscapeKeydown=e=>{this.opts.onEscapeKeydown.current?.(e),!e.defaultPrevented&&this.root.handleClose()};onOpenAutoFocus=e=>{e.preventDefault()};onCloseAutoFocus=e=>{e.preventDefault()};#e=P(()=>({open:this.root.opts.open.current}));get snippetProps(){return i(this.#e)}set snippetProps(e){w(this.#e,e)}#t=P(()=>({id:this.opts.id.current,tabindex:-1,"data-state":It(this.root.opts.open.current),[Uc]:"",onpointerdown:this.onpointerdown,onpointerenter:this.onpointerenter,onfocusout:this.onfocusout}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}popperProps={onInteractOutside:this.onInteractOutside,onEscapeKeydown:this.onEscapeKeydown,onOpenAutoFocus:this.onOpenAutoFocus,onCloseAutoFocus:this.onCloseAutoFocus}}const ln=new Ne("LinkPreview.Root");function Xc(t){return ln.set(new Yc(t))}function qc(t){return new jc(t,ln.get())}function Zc(t){return new Gc(t,ln.get())}function Jc(t,e){W(e,!0);let r=f(e,"open",15,!1),n=f(e,"onOpenChange",3,ve),o=f(e,"openDelay",3,700),s=f(e,"closeDelay",3,300);Xc({open:m.with(()=>r(),c=>{r(c),n()(c)}),openDelay:m.with(()=>o()),closeDelay:m.with(()=>s())});var a=N(),l=T(a);de(l,()=>rn,(c,d)=>{d(c,{children:(h,u)=>{var g=N(),v=T(g);G(v,()=>e.children??re),p(h,g)},$$slots:{default:!0}})}),p(t,a),U()}var Qc=z("
    "),$c=z("
    "),eu=z(" ",1);function tu(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"side",3,"top"),s=f(e,"sideOffset",3,0),a=f(e,"align",3,"center"),l=f(e,"avoidCollisions",3,!0),c=f(e,"arrowPadding",3,0),d=f(e,"sticky",3,"partial"),h=f(e,"hideWhenDetached",3,!1),u=f(e,"collisionPadding",3,0),g=f(e,"onInteractOutside",3,ve),v=f(e,"onEscapeKeydown",3,ve),b=f(e,"forceMount",3,!1),y=te(e,["$$slots","$$events","$$legacy","children","child","id","ref","side","sideOffset","align","avoidCollisions","arrowPadding","sticky","hideWhenDetached","collisionPadding","onInteractOutside","onEscapeKeydown","forceMount"]);const _=Zc({id:m.with(()=>r()),ref:m.with(()=>n(),E=>n(E)),onInteractOutside:m.with(()=>g()),onEscapeKeydown:m.with(()=>v())}),x=P(()=>({side:o(),sideOffset:s(),align:a(),avoidCollisions:l(),arrowPadding:c(),sticky:d(),hideWhenDetached:h(),collisionPadding:u()})),O=P(()=>le(y,i(x),_.props));var S=N(),C=T(S);{var R=E=>{sn(E,$(()=>i(O),()=>_.popperProps,{get enabled(){return _.root.opts.open.current},get id(){return r()},trapFocus:!1,loop:!1,preventScroll:!1,forceMount:!0,popper:(A,M)=>{let X=()=>M?.().props,j=()=>M?.().wrapperProps;var K=N();const H=P(()=>le(X(),{style:wt("link-preview")}));var Z=T(K);{var J=k=>{var ee=N(),se=T(ee),ce=Be(()=>({props:i(H),wrapperProps:j(),..._.snippetProps}));G(se,()=>e.child,()=>i(ce)),p(k,ee)},Y=k=>{var ee=Qc();he(ee,()=>({...j()}));var se=L(ee);he(se,()=>({...i(H)}));var ce=L(se);G(ce,()=>e.children??re),F(se),F(ee),p(k,ee)};Q(Z,k=>{e.child?k(J):k(Y,!1)})}p(A,K)},$$slots:{popper:!0}}))},D=(E,I)=>{{var A=M=>{on(M,$(()=>i(O),()=>_.popperProps,{get present(){return _.root.opts.open.current},get id(){return r()},trapFocus:!1,loop:!1,preventScroll:!1,forceMount:!1,popper:(j,K)=>{let H=()=>K?.().props,Z=()=>K?.().wrapperProps;var J=eu();const Y=P(()=>le(H(),{style:wt("link-preview")}));var k=T(J);{var ee=ie=>{var ue=N(),V=T(ue),ne=Be(()=>({props:i(Y),wrapperProps:Z(),..._.snippetProps}));G(V,()=>e.child,()=>i(ne)),p(ie,ue)},se=ie=>{var ue=$c();he(ue,()=>({...Z()}));var V=L(ue);he(V,()=>({...i(Y)}));var ne=L(V);G(ne,()=>e.children??re),F(V),F(ue),p(ie,ue)};Q(k,ie=>{e.child?ie(ee):ie(se,!1)})}var ce=q(k,2);yl(ce,{get mounted(){return _.root.contentMounted},set mounted(ie){_.root.contentMounted=ie}}),p(j,J)},$$slots:{popper:!0}}))};Q(E,M=>{b()||M(A)},I)}};Q(C,E=>{b()?E(R):E(D,!1)})}p(t,S),U()}var ru=z("");function nu(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"id",19,we),o=te(e,["$$slots","$$events","$$legacy","ref","id","child","children"]);const s=qc({id:m.with(()=>n()),ref:m.with(()=>r(),d=>r(d))}),a=P(()=>le(o,s.props));var l=N(),c=T(l);de(c,()=>nn,(d,h)=>{h(d,{get id(){return n()},children:(u,g)=>{var v=N(),b=T(v);{var y=x=>{var O=N(),S=T(O);G(S,()=>e.child,()=>({props:i(a)})),p(x,O)},_=x=>{var O=ru();he(O,()=>({...i(a)}));var S=L(O);G(S,()=>e.children??re),F(O),p(x,O)};Q(b,x=>{e.child?x(y):x(_,!1)})}p(u,v)},$$slots:{default:!0}})}),p(t,l),U()}function bt(t,e){pe(()=>{let r=0;const n=t();if(!n)return;const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(e)});return o.observe(n),()=>{window.cancelAnimationFrame(r),o.unobserve(n)}})}function ou(t,e){W(e,!0);let r=f(e,"open",15,!1),n=f(e,"onOpenChange",3,ve);Oc({open:m.with(()=>r(),o=>{r(o),n()(o)})}),rn(t,{children:(o,s)=>{var a=N(),l=T(a);G(l,()=>e.children??re),p(o,a)},$$slots:{default:!0}}),U()}function iu(t,e,r){return Math.min(r,Math.max(e,t))}const su="data-scroll-area-root",au="data-scroll-area-viewport",lu="data-scroll-area-corner",cu="data-scroll-area-thumb",uu="data-scroll-area-scrollbar";class du{opts;#e=B(null);get scrollAreaNode(){return i(this.#e)}set scrollAreaNode(e){w(this.#e,e,!0)}#t=B(null);get viewportNode(){return i(this.#t)}set viewportNode(e){w(this.#t,e,!0)}#r=B(null);get contentNode(){return i(this.#r)}set contentNode(e){w(this.#r,e,!0)}#n=B(null);get scrollbarXNode(){return i(this.#n)}set scrollbarXNode(e){w(this.#n,e,!0)}#o=B(null);get scrollbarYNode(){return i(this.#o)}set scrollbarYNode(e){w(this.#o,e,!0)}#i=B(0);get cornerWidth(){return i(this.#i)}set cornerWidth(e){w(this.#i,e,!0)}#l=B(0);get cornerHeight(){return i(this.#l)}set cornerHeight(e){w(this.#l,e,!0)}#a=B(!1);get scrollbarXEnabled(){return i(this.#a)}set scrollbarXEnabled(e){w(this.#a,e,!0)}#s=B(!1);get scrollbarYEnabled(){return i(this.#s)}set scrollbarYEnabled(e){w(this.#s,e,!0)}constructor(e){this.opts=e,fe({...e,onRefChange:r=>{this.scrollAreaNode=r}})}#c=P(()=>({id:this.opts.id.current,dir:this.opts.dir.current,style:{position:"relative","--bits-scroll-area-corner-height":`${this.cornerHeight}px`,"--bits-scroll-area-corner-width":`${this.cornerWidth}px`},[su]:""}));get props(){return i(this.#c)}set props(e){w(this.#c,e)}}class hu{opts;root;#e=m(we());#t=m(null);constructor(e,r){this.opts=e,this.root=r,fe({...e,onRefChange:n=>{this.root.viewportNode=n}}),fe({id:this.#e,ref:this.#t,onRefChange:n=>{this.root.contentNode=n}})}#r=P(()=>({id:this.opts.id.current,style:{overflowX:this.root.scrollbarXEnabled?"scroll":"hidden",overflowY:this.root.scrollbarYEnabled?"scroll":"hidden"},[au]:""}));get props(){return i(this.#r)}set props(e){w(this.#r,e)}#n=P(()=>({id:this.#e.current,"data-scroll-area-content":"",style:{minWidth:this.root.scrollbarXEnabled?"fit-content":void 0}}));get contentProps(){return i(this.#n)}set contentProps(e){w(this.#n,e)}}class fu{opts;root;#e=P(()=>this.opts.orientation.current==="horizontal");get isHorizontal(){return i(this.#e)}set isHorizontal(e){w(this.#e,e)}#t=B(!1);get hasThumb(){return i(this.#t)}set hasThumb(e){w(this.#t,e,!0)}constructor(e,r){this.opts=e,this.root=r,pe(()=>(this.isHorizontal?this.root.scrollbarXEnabled=!0:this.root.scrollbarYEnabled=!0,()=>{this.isHorizontal?this.root.scrollbarXEnabled=!1:this.root.scrollbarYEnabled=!1}))}}class gu{scrollbar;root;#e=B(!1);get isVisible(){return i(this.#e)}set isVisible(e){w(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,pe(()=>{const r=this.root.scrollAreaNode,n=this.root.opts.scrollHideDelay.current;let o=0;if(!r)return;const s=()=>{window.clearTimeout(o),ge(()=>this.isVisible=!0)},a=()=>{o&&window.clearTimeout(o),o=window.setTimeout(()=>{ge(()=>{this.scrollbar.hasThumb=!1,this.isVisible=!1})},n)},l=tt(ye(r,"pointerenter",s),ye(r,"pointerleave",a));return()=>{window.clearTimeout(o),l()}})}#t=P(()=>({"data-state":this.isVisible?"visible":"hidden"}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}}class vu{scrollbar;root;machine=oo("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});#e=P(()=>this.machine.state.current==="hidden");get isHidden(){return i(this.#e)}set isHidden(e){w(this.#e,e)}constructor(e){this.scrollbar=e,this.root=e.root;const r=dr(()=>this.machine.dispatch("SCROLL_END"),100);pe(()=>{const n=this.machine.state.current,o=this.root.opts.scrollHideDelay.current;if(n==="idle"){const s=window.setTimeout(()=>this.machine.dispatch("HIDE"),o);return()=>window.clearTimeout(s)}}),pe(()=>{const n=this.root.viewportNode;if(!n)return;const o=this.scrollbar.isHorizontal?"scrollLeft":"scrollTop";let s=n[o];return Lt(n,"scroll",()=>{const c=n[o];s!==c&&(this.machine.dispatch("SCROLL"),r()),s=c})}),this.onpointerenter=this.onpointerenter.bind(this),this.onpointerleave=this.onpointerleave.bind(this)}onpointerenter(e){this.machine.dispatch("POINTER_ENTER")}onpointerleave(e){this.machine.dispatch("POINTER_LEAVE")}#t=P(()=>({"data-state":this.machine.state.current==="hidden"?"hidden":"visible",onpointerenter:this.onpointerenter,onpointerleave:this.onpointerleave}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}}class pu{scrollbar;root;#e=B(!1);get isVisible(){return i(this.#e)}set isVisible(e){w(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root;const r=dr(()=>{const n=this.root.viewportNode;if(!n)return;const o=n.offsetWidththis.root.viewportNode,r),bt(()=>this.root.contentNode,r)}#t=P(()=>({"data-state":this.isVisible?"visible":"hidden"}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}}class mu{scrollbar;root;#e=B(null);get thumbNode(){return i(this.#e)}set thumbNode(e){w(this.#e,e,!0)}#t=B(0);get pointerOffset(){return i(this.#t)}set pointerOffset(e){w(this.#t,e,!0)}#r=B({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}});get sizes(){return i(this.#r)}set sizes(e){w(this.#r,e)}#n=P(()=>ko(this.sizes.viewport,this.sizes.content));get thumbRatio(){return i(this.#n)}set thumbRatio(e){w(this.#n,e)}#o=P(()=>this.thumbRatio>0&&this.thumbRatio<1);get hasThumb(){return i(this.#o)}set hasThumb(e){w(this.#o,e)}#i=B("");get prevTransformStyle(){return i(this.#i)}set prevTransformStyle(e){w(this.#i,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,pe(()=>{this.scrollbar.hasThumb=this.hasThumb}),Qt(()=>{!this.scrollbar.hasThumb&&this.thumbNode&&(this.prevTransformStyle=this.thumbNode.style.transform)})}setSizes(e){this.sizes=e}getScrollPosition(e,r){return ku({pointerPos:e,pointerOffset:this.pointerOffset,sizes:this.sizes,dir:r})}onThumbPointerUp(){this.pointerOffset=0}onThumbPointerDown(e){this.pointerOffset=e}xOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;const e=this.root.viewportNode.scrollLeft,n=`translate3d(${kn({scrollPos:e,sizes:this.sizes,dir:this.root.opts.dir.current})}px, 0, 0)`;this.thumbNode.style.transform=n,this.prevTransformStyle=n}xOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=e)}xOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=this.getScrollPosition(e,this.root.opts.dir.current))}yOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;const e=this.root.viewportNode.scrollTop,n=`translate3d(0, ${kn({scrollPos:e,sizes:this.sizes})}px, 0)`;this.thumbNode.style.transform=n,this.prevTransformStyle=n}yOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=e)}yOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=this.getScrollPosition(e,this.root.opts.dir.current))}}class wu{opts;scrollbarVis;root;#e=B();get computedStyle(){return i(this.#e)}set computedStyle(e){w(this.#e,e,!0)}scrollbar;constructor(e,r){this.opts=e,this.scrollbarVis=r,this.root=r.root,this.scrollbar=r.scrollbar,fe({...this.scrollbar.opts,onRefChange:n=>{this.root.scrollbarXNode=n},deps:()=>this.opts.mounted.current}),pe(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),pe(()=>{this.onResize()})}onThumbPointerDown=e=>{this.scrollbarVis.onThumbPointerDown(e.x)};onDragScroll=e=>{this.scrollbarVis.xOnDragScroll(e.x)};onThumbPointerUp=()=>{this.scrollbarVis.onThumbPointerUp()};onThumbPositionChange=()=>{this.scrollbarVis.xOnThumbPositionChange()};onWheelScroll=(e,r)=>{if(!this.root.viewportNode)return;const n=this.root.viewportNode.scrollLeft+e.deltaX;this.scrollbarVis.xOnWheelScroll(n),Fo(n,r)&&e.preventDefault()};onResize=()=>{this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollWidth,viewport:this.root.viewportNode.offsetWidth,scrollbar:{size:this.scrollbar.opts.ref.current.clientWidth,paddingStart:sr(this.computedStyle.paddingLeft),paddingEnd:sr(this.computedStyle.paddingRight)}})};#t=P(()=>pr(this.scrollbarVis.sizes));get thumbSize(){return i(this.#t)}set thumbSize(e){w(this.#t,e)}#r=P(()=>({id:this.scrollbar.opts.id.current,"data-orientation":"horizontal",style:{bottom:0,left:this.root.opts.dir.current==="rtl"?"var(--bits-scroll-area-corner-width)":0,right:this.root.opts.dir.current==="ltr"?"var(--bits-scroll-area-corner-width)":0,"--bits-scroll-area-thumb-width":`${this.thumbSize}px`}}));get props(){return i(this.#r)}set props(e){w(this.#r,e)}}class bu{opts;scrollbarVis;root;scrollbar;#e=B();get computedStyle(){return i(this.#e)}set computedStyle(e){w(this.#e,e,!0)}constructor(e,r){this.opts=e,this.scrollbarVis=r,this.root=r.root,this.scrollbar=r.scrollbar,fe({...this.scrollbar.opts,onRefChange:n=>{this.root.scrollbarYNode=n},deps:()=>this.opts.mounted.current}),pe(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),pe(()=>{this.onResize()}),this.onThumbPointerDown=this.onThumbPointerDown.bind(this),this.onDragScroll=this.onDragScroll.bind(this),this.onThumbPointerUp=this.onThumbPointerUp.bind(this),this.onThumbPositionChange=this.onThumbPositionChange.bind(this),this.onWheelScroll=this.onWheelScroll.bind(this),this.onResize=this.onResize.bind(this)}onThumbPointerDown(e){this.scrollbarVis.onThumbPointerDown(e.y)}onDragScroll(e){this.scrollbarVis.yOnDragScroll(e.y)}onThumbPointerUp(){this.scrollbarVis.onThumbPointerUp()}onThumbPositionChange(){this.scrollbarVis.yOnThumbPositionChange()}onWheelScroll(e,r){if(!this.root.viewportNode)return;const n=this.root.viewportNode.scrollTop+e.deltaY;this.scrollbarVis.yOnWheelScroll(n),Fo(n,r)&&e.preventDefault()}onResize(){this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollHeight,viewport:this.root.viewportNode.offsetHeight,scrollbar:{size:this.scrollbar.opts.ref.current.clientHeight,paddingStart:sr(this.computedStyle.paddingTop),paddingEnd:sr(this.computedStyle.paddingBottom)}})}#t=P(()=>pr(this.scrollbarVis.sizes));get thumbSize(){return i(this.#t)}set thumbSize(e){w(this.#t,e)}#r=P(()=>({id:this.scrollbar.opts.id.current,"data-orientation":"vertical",style:{top:0,right:this.root.opts.dir.current==="ltr"?0:void 0,left:this.root.opts.dir.current==="rtl"?0:void 0,bottom:"var(--bits-scroll-area-corner-height)","--bits-scroll-area-thumb-height":`${this.thumbSize}px`}}));get props(){return i(this.#r)}set props(e){w(this.#r,e)}}class yu{scrollbarState;root;scrollbarVis;scrollbar;#e=B(null);get rect(){return i(this.#e)}set rect(e){w(this.#e,e)}#t=B("");get prevWebkitUserSelect(){return i(this.#t)}set prevWebkitUserSelect(e){w(this.#t,e,!0)}handleResize;handleThumbPositionChange;handleWheelScroll;handleThumbPointerDown;handleThumbPointerUp;#r=P(()=>this.scrollbarVis.sizes.content-this.scrollbarVis.sizes.viewport);get maxScrollPos(){return i(this.#r)}set maxScrollPos(e){w(this.#r,e)}constructor(e){this.scrollbarState=e,this.root=e.root,this.scrollbarVis=e.scrollbarVis,this.scrollbar=e.scrollbarVis.scrollbar,this.handleResize=dr(()=>this.scrollbarState.onResize(),10),this.handleThumbPositionChange=this.scrollbarState.onThumbPositionChange,this.handleWheelScroll=this.scrollbarState.onWheelScroll,this.handleThumbPointerDown=this.scrollbarState.onThumbPointerDown,this.handleThumbPointerUp=this.scrollbarState.onThumbPointerUp,pe(()=>{const r=this.maxScrollPos,n=this.scrollbar.opts.ref.current;return this.root.viewportNode,Lt(document,"wheel",a=>{const l=a.target;n?.contains(l)&&this.handleWheelScroll(a,r)},{passive:!1})}),Qt(()=>{this.scrollbarVis.sizes,ge(()=>this.handleThumbPositionChange())}),Qt(()=>{this.handleThumbPositionChange()}),bt(()=>this.scrollbar.opts.ref.current,this.handleResize),bt(()=>this.root.contentNode,this.handleResize),this.onpointerdown=this.onpointerdown.bind(this),this.onpointermove=this.onpointermove.bind(this),this.onpointerup=this.onpointerup.bind(this)}handleDragScroll(e){if(!this.rect)return;const r=e.clientX-this.rect.left,n=e.clientY-this.rect.top;this.scrollbarState.onDragScroll({x:r,y:n})}onpointerdown(e){if(e.button!==0)return;e.target.setPointerCapture(e.pointerId),this.rect=this.scrollbar.opts.ref.current?.getBoundingClientRect()??null,this.prevWebkitUserSelect=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior="auto"),this.handleDragScroll(e)}onpointermove(e){this.handleDragScroll(e)}onpointerup(e){const r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=this.prevWebkitUserSelect,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=""),this.rect=null}#n=P(()=>le({...this.scrollbarState.props,style:{position:"absolute",...this.scrollbarState.props.style},[uu]:"",onpointerdown:this.onpointerdown,onpointermove:this.onpointermove,onpointerup:this.onpointerup}));get props(){return i(this.#n)}set props(e){w(this.#n,e)}}class Su{opts;scrollbarState;#e;#t=B();#r=dr(()=>{i(this.#t)&&(i(this.#t)(),w(this.#t,void 0))},100);constructor(e,r){this.opts=e,this.scrollbarState=r,this.#e=r.root,fe({...e,onRefChange:n=>{this.scrollbarState.scrollbarVis.thumbNode=n},deps:()=>this.opts.mounted.current}),pe(()=>{const n=this.#e.viewportNode;if(!n)return;const o=()=>{if(this.#r(),!i(this.#t)){const a=Mu(n,this.scrollbarState.handleThumbPositionChange);w(this.#t,a,!0),this.scrollbarState.handleThumbPositionChange()}};return this.scrollbarState.handleThumbPositionChange(),Lt(n,"scroll",o)}),this.onpointerdowncapture=this.onpointerdowncapture.bind(this),this.onpointerup=this.onpointerup.bind(this)}onpointerdowncapture(e){const r=e.target;if(!r)return;const n=r.getBoundingClientRect(),o=e.clientX-n.left,s=e.clientY-n.top;this.scrollbarState.handleThumbPointerDown({x:o,y:s})}onpointerup(e){this.scrollbarState.handleThumbPointerUp()}#n=P(()=>({id:this.opts.id.current,"data-state":this.scrollbarState.scrollbarVis.hasThumb?"visible":"hidden",style:{width:"var(--bits-scroll-area-thumb-width)",height:"var(--bits-scroll-area-thumb-height)",transform:this.scrollbarState.scrollbarVis.prevTransformStyle},onpointerdowncapture:this.onpointerdowncapture,onpointerup:this.onpointerup,[cu]:""}));get props(){return i(this.#n)}set props(e){w(this.#n,e)}}class xu{opts;root;#e=B(0);#t=B(0);#r=P(()=>!!(i(this.#e)&&i(this.#t)));get hasSize(){return i(this.#r)}set hasSize(e){w(this.#r,e)}constructor(e,r){this.opts=e,this.root=r,bt(()=>this.root.scrollbarXNode,()=>{const n=this.root.scrollbarXNode?.offsetHeight||0;this.root.cornerHeight=n,w(this.#t,n,!0)}),bt(()=>this.root.scrollbarYNode,()=>{const n=this.root.scrollbarYNode?.offsetWidth||0;this.root.cornerWidth=n,w(this.#e,n,!0)}),fe(e)}#n=P(()=>({id:this.opts.id.current,style:{width:i(this.#e),height:i(this.#t),position:"absolute",right:this.root.opts.dir.current==="ltr"?0:void 0,left:this.root.opts.dir.current==="rtl"?0:void 0,bottom:0},[lu]:""}));get props(){return i(this.#n)}set props(e){w(this.#n,e)}}const zt=new Ne("ScrollArea.Root"),Wt=new Ne("ScrollArea.Scrollbar"),vr=new Ne("ScrollArea.ScrollbarVisible"),cn=new Ne("ScrollArea.ScrollbarAxis"),Ro=new Ne("ScrollArea.ScrollbarShared");function _u(t){return zt.set(new du(t))}function Pu(t){return new hu(t,zt.get())}function Tu(t){return Wt.set(new fu(t,zt.get()))}function Ou(){return vr.set(new mu(Wt.get()))}function Io(){return new pu(Wt.get())}function Cu(){return new vu(Wt.get())}function Au(){return new gu(Wt.get())}function Eu(t){return cn.set(new wu(t,vr.get()))}function Du(t){return cn.set(new bu(t,vr.get()))}function Nu(){return Ro.set(new yu(cn.get()))}function Ru(t){return new Su(t,Ro.get())}function Iu(t){return new xu(t,zt.get())}function sr(t){return t?Number.parseInt(t,10):0}function ko(t,e){const r=t/e;return Number.isNaN(r)?0:r}function pr(t){const e=ko(t.viewport,t.content),r=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=(t.scrollbar.size-r)*e;return Math.max(n,18)}function ku({pointerPos:t,pointerOffset:e,sizes:r,dir:n="ltr"}){const o=pr(r),s=o/2,a=e||s,l=o-a,c=r.scrollbar.paddingStart+a,d=r.scrollbar.size-r.scrollbar.paddingEnd-l,h=r.content-r.viewport,u=n==="ltr"?[0,h]:[h*-1,0];return Mo([c,d],u)(t)}function kn({scrollPos:t,sizes:e,dir:r="ltr"}){const n=pr(e),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=e.scrollbar.size-o,a=e.content-e.viewport,l=s-n,c=r==="ltr"?[0,a]:[a*-1,0],d=iu(t,c[0],c[1]);return Mo([0,a],[0,l])(d)}function Mo(t,e){return r=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const n=(e[1]-e[0])/(t[1]-t[0]);return e[0]+n*(r-t[0])}}function Fo(t,e){return t>0&&twindow.cancelAnimationFrame(n)}var Fu=z("
    ");function Lu(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"id",19,we),o=f(e,"type",3,"hover"),s=f(e,"dir",3,"ltr"),a=f(e,"scrollHideDelay",3,600),l=te(e,["$$slots","$$events","$$legacy","ref","id","type","dir","scrollHideDelay","children","child"]);const c=_u({type:m.with(()=>o()),dir:m.with(()=>s()),scrollHideDelay:m.with(()=>a()),id:m.with(()=>n()),ref:m.with(()=>r(),b=>r(b))}),d=P(()=>le(l,c.props));var h=N(),u=T(h);{var g=b=>{var y=N(),_=T(y);G(_,()=>e.child,()=>({props:i(d)})),p(b,y)},v=b=>{var y=Fu();he(y,()=>({...i(d)}));var _=L(y);G(_,()=>e.children??re),F(y),p(b,y)};Q(u,b=>{e.child?b(g):b(v,!1)})}p(t,h),U()}var Bu=z("
    ");function Vu(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"id",19,we),o=te(e,["$$slots","$$events","$$legacy","ref","id","children"]);const s=Pu({id:m.with(()=>n()),ref:m.with(()=>r(),u=>r(u))}),a=P(()=>le(o,s.props)),l=P(()=>le({},s.contentProps));var c=Bu();he(c,()=>({...i(a)}));var d=L(c);he(d,()=>({...i(l)}));var h=L(d);G(h,()=>e.children??re),F(d),F(c),p(t,c),U()}var Hu=z("
    ");function Lo(t,e){W(e,!0);let r=te(e,["$$slots","$$events","$$legacy","child","children"]);const n=Nu(),o=P(()=>le(r,n.props));var s=N(),a=T(s);{var l=d=>{var h=N(),u=T(h);G(u,()=>e.child,()=>({props:i(o)})),p(d,h)},c=d=>{var h=Hu();he(h,()=>({...i(o)}));var u=L(h);G(u,()=>e.children??re),F(h),p(d,h)};Q(a,d=>{e.child?d(l):d(c,!1)})}p(t,s),U()}function zu(t,e){W(e,!0);let r=te(e,["$$slots","$$events","$$legacy"]);const n=new Ur,o=Eu({mounted:m.with(()=>n.current)}),s=P(()=>le(r,o.props));Lo(t,$(()=>i(s))),U()}function Wu(t,e){W(e,!0);let r=te(e,["$$slots","$$events","$$legacy"]);const n=new Ur,o=Du({mounted:m.with(()=>n.current)}),s=P(()=>le(r,o.props));Lo(t,$(()=>i(s))),U()}function mr(t,e){W(e,!0);let r=te(e,["$$slots","$$events","$$legacy"]);const n=Ou();var o=N(),s=T(o);{var a=c=>{zu(c,$(()=>r))},l=c=>{Wu(c,$(()=>r))};Q(s,c=>{n.scrollbar.opts.orientation.current==="horizontal"?c(a):c(l,!1)})}p(t,o),U()}function Uu(t,e){W(e,!0);let r=f(e,"forceMount",3,!1),n=te(e,["$$slots","$$events","$$legacy","forceMount"]);const o=Io(),s=P(()=>le(n,o.props)),a=P(()=>r()||o.isVisible);ut(t,$({get present(){return i(a)}},()=>i(s),{presence:c=>{mr(c,$(()=>i(s)))},$$slots:{presence:!0}})),U()}function Ku(t,e){W(e,!0);let r=f(e,"forceMount",3,!1),n=te(e,["$$slots","$$events","$$legacy","forceMount"]);const o=Cu(),s=P(()=>le(n,o.props)),a=P(()=>r()||!o.isHidden);ut(t,$(()=>i(s),{get present(){return i(a)},presence:c=>{mr(c,$(()=>i(s)))},$$slots:{presence:!0}})),U()}function Yu(t,e){W(e,!0);let r=f(e,"forceMount",3,!1),n=te(e,["$$slots","$$events","$$legacy","forceMount"]);const o=Au(),s=Io(),a=P(()=>le(n,o.props,s.props,{"data-state":o.isVisible?"visible":"hidden"})),l=P(()=>r()||o.isVisible&&s.isVisible);ut(t,$(()=>i(a),{get present(){return i(l)},presence:d=>{mr(d,$(()=>i(a)))},$$slots:{presence:!0}})),U()}function ju(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"id",19,we),o=te(e,["$$slots","$$events","$$legacy","ref","id","orientation"]);const s=Tu({orientation:m.with(()=>e.orientation),id:m.with(()=>n()),ref:m.with(()=>r(),u=>r(u))}),a=P(()=>s.root.opts.type.current);var l=N(),c=T(l);{var d=u=>{Yu(u,$(()=>o,{get id(){return n()}}))},h=(u,g)=>{{var v=y=>{Ku(y,$(()=>o,{get id(){return n()}}))},b=(y,_)=>{{var x=S=>{Uu(S,$(()=>o,{get id(){return n()}}))},O=(S,C)=>{{var R=D=>{mr(D,$(()=>o,{get id(){return n()}}))};Q(S,D=>{i(a)==="always"&&D(R)},C)}};Q(y,S=>{i(a)==="auto"?S(x):S(O,!1)},_)}};Q(u,y=>{i(a)==="scroll"?y(v):y(b,!1)},g)}};Q(c,u=>{i(a)==="hover"?u(d):u(h,!1)})}p(t,l),U()}var Gu=z("
    ");function Xu(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","id","child","children","present"]);const o=new Ur,s=Ru({id:m.with(()=>e.id),ref:m.with(()=>r(),u=>r(u)),mounted:m.with(()=>o.current)}),a=P(()=>le(n,s.props,{style:{hidden:!e.present}}));var l=N(),c=T(l);{var d=u=>{var g=N(),v=T(g);G(v,()=>e.child,()=>({props:i(a)})),p(u,g)},h=u=>{var g=Gu();he(g,()=>({...i(a)}));var v=L(g);G(v,()=>e.children??re),F(g),p(u,g)};Q(c,u=>{e.child?u(d):u(h,!1)})}p(t,l),U()}function qu(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"forceMount",3,!1),s=te(e,["$$slots","$$events","$$legacy","id","ref","forceMount"]);const a=vr.get(),l=P(()=>o()||a.hasThumb);ut(t,$({get present(){return i(l)}},()=>s,{get id(){return r()},presence:(d,h)=>{let u=()=>h?.().present;Xu(d,$(()=>s,{get id(){return r()},get present(){return u().current},get ref(){return n()},set ref(g){n(g)}}))},$$slots:{presence:!0}})),U()}var Zu=z("
    ");function Ju(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","id","children","child"]);const o=Iu({id:m.with(()=>e.id),ref:m.with(()=>r(),h=>r(h))}),s=P(()=>le(n,o.props));var a=N(),l=T(a);{var c=h=>{var u=N(),g=T(u);G(g,()=>e.child,()=>({props:i(s)})),p(h,u)},d=h=>{var u=Zu();he(u,()=>({...i(s)}));var g=L(u);G(g,()=>e.children??re),F(u),p(h,u)};Q(l,h=>{e.child?h(c):h(d,!1)})}p(t,a),U()}function Qu(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"id",19,we),o=te(e,["$$slots","$$events","$$legacy","ref","id"]);const s=zt.get(),a=P(()=>!!(s.scrollbarXNode&&s.scrollbarYNode)),l=P(()=>s.opts.type.current!=="scroll"&&i(a));var c=N(),d=T(c);{var h=u=>{Ju(u,$(()=>o,{get id(){return n()},get ref(){return r()},set ref(g){r(g)}}))};Q(d,u=>{i(l)&&u(h)})}p(t,c),U()}function Rr(t,e,r={}){const{immediate:n=!0}=r,o=m(!1);let s;function a(){s&&(clearTimeout(s),s=null)}function l(){o.current=!1,a()}function c(...d){a(),o.current=!0,s=setTimeout(()=>{o.current=!1,s=null,t(...d)},e)}return n&&(o.current=!0,Vr&&c()),Hr(()=>{l()}),{isPending:m.readonly(o),start:c,stop:l}}const $u="data-tooltip-content",ed="data-tooltip-trigger";class td{opts;#e=B(!0);get isOpenDelayed(){return i(this.#e)}set isOpenDelayed(e){w(this.#e,e,!0)}isPointerInTransit=m(!1);#t;#r=B(null);constructor(e){this.opts=e,this.#t=Rr(()=>{this.isOpenDelayed=!0},this.opts.skipDelayDuration.current,{immediate:!1})}#n=()=>{this.opts.skipDelayDuration.current!==0&&this.#t.start()};#o=()=>{this.#t.stop()};onOpen=e=>{i(this.#r)&&i(this.#r)!==e&&i(this.#r).handleClose(),this.#o(),this.isOpenDelayed=!1,w(this.#r,e,!0)};onClose=e=>{i(this.#r)===e&&w(this.#r,null),this.#n()};isTooltipOpen=e=>i(this.#r)===e}class rd{opts;provider;#e=P(()=>this.opts.delayDuration.current??this.provider.opts.delayDuration.current);get delayDuration(){return i(this.#e)}set delayDuration(e){w(this.#e,e)}#t=P(()=>this.opts.disableHoverableContent.current??this.provider.opts.disableHoverableContent.current);get disableHoverableContent(){return i(this.#t)}set disableHoverableContent(e){w(this.#t,e)}#r=P(()=>this.opts.disableCloseOnTriggerClick.current??this.provider.opts.disableCloseOnTriggerClick.current);get disableCloseOnTriggerClick(){return i(this.#r)}set disableCloseOnTriggerClick(e){w(this.#r,e)}#n=P(()=>this.opts.disabled.current??this.provider.opts.disabled.current);get disabled(){return i(this.#n)}set disabled(e){w(this.#n,e)}#o=P(()=>this.opts.ignoreNonKeyboardFocus.current??this.provider.opts.ignoreNonKeyboardFocus.current);get ignoreNonKeyboardFocus(){return i(this.#o)}set ignoreNonKeyboardFocus(e){w(this.#o,e)}#i=B(null);get contentNode(){return i(this.#i)}set contentNode(e){w(this.#i,e,!0)}#l=B(null);get triggerNode(){return i(this.#l)}set triggerNode(e){w(this.#l,e,!0)}#a=B(!1);#s;#c=P(()=>this.opts.open.current?i(this.#a)?"delayed-open":"instant-open":"closed");get stateAttr(){return i(this.#c)}set stateAttr(e){w(this.#c,e)}constructor(e,r){this.opts=e,this.provider=r,this.#s=Rr(()=>{w(this.#a,!0),this.opts.open.current=!0},this.delayDuration??0,{immediate:!1}),me(()=>this.delayDuration,()=>{this.delayDuration!==void 0&&(this.#s=Rr(()=>{w(this.#a,!0),this.opts.open.current=!0},this.delayDuration,{immediate:!1}))}),me(()=>this.opts.open.current,n=>{n?this.provider.onOpen(this):this.provider.onClose(this)})}handleOpen=()=>{this.#s.stop(),w(this.#a,!1),this.opts.open.current=!0};handleClose=()=>{this.#s.stop(),this.opts.open.current=!1};#u=()=>{this.#s.stop();const e=!this.provider.isOpenDelayed,r=this.delayDuration??0;e||r===0?(w(this.#a,r>0&&e,!0),this.opts.open.current=!0):this.#s.start()};onTriggerEnter=()=>{this.#u()};onTriggerLeave=()=>{this.disableHoverableContent?this.handleClose():this.#s.stop()}}class nd{opts;root;#e=m(!1);#t=B(!1);#r=P(()=>this.opts.disabled.current||this.root.disabled);constructor(e,r){this.opts=e,this.root=r,fe({...e,onRefChange:n=>{this.root.triggerNode=n}})}handlePointerUp=()=>{this.#e.current=!1};#n=()=>{i(this.#r)||(this.#e.current=!1)};#o=()=>{i(this.#r)||(this.#e.current=!0,document.addEventListener("pointerup",()=>{this.handlePointerUp()},{once:!0}))};#i=e=>{i(this.#r)||e.pointerType!=="touch"&&(i(this.#t)||this.root.provider.isPointerInTransit.current||(this.root.onTriggerEnter(),w(this.#t,!0)))};#l=()=>{i(this.#r)||(this.root.onTriggerLeave(),w(this.#t,!1))};#a=e=>{this.#e.current||i(this.#r)||this.root.ignoreNonKeyboardFocus&&!to(e.currentTarget)||this.root.handleOpen()};#s=()=>{i(this.#r)||this.root.handleClose()};#c=()=>{this.root.disableCloseOnTriggerClick||i(this.#r)||this.root.handleClose()};#u=P(()=>({id:this.opts.id.current,"aria-describedby":this.root.opts.open.current?this.root.contentNode?.id:void 0,"data-state":this.root.stateAttr,"data-disabled":zr(i(this.#r)),"data-delay-duration":`${this.root.delayDuration}`,[ed]:"",tabindex:i(this.#r)?void 0:0,disabled:this.opts.disabled.current,onpointerup:this.#n,onpointerdown:this.#o,onpointermove:this.#i,onpointerleave:this.#l,onfocus:this.#a,onblur:this.#s,onclick:this.#c}));get props(){return i(this.#u)}set props(e){w(this.#u,e)}}class od{opts;root;constructor(e,r){this.opts=e,this.root=r,fe({...e,onRefChange:n=>{this.root.contentNode=n},deps:()=>this.root.opts.open.current}),No({triggerNode:()=>this.root.triggerNode,contentNode:()=>this.root.contentNode,enabled:()=>this.root.opts.open.current&&!this.root.disableHoverableContent,onPointerExit:()=>{this.root.provider.isTooltipOpen(this.root)&&this.root.handleClose()},setIsPointerInTransit:n=>{this.root.provider.isPointerInTransit.current=n},transitTimeout:this.root.provider.opts.skipDelayDuration.current}),no(()=>ye(window,"scroll",n=>{const o=n.target;o&&o.contains(this.root.triggerNode)&&this.root.handleClose()}))}onInteractOutside=e=>{if(kt(e.target)&&this.root.triggerNode?.contains(e.target)&&this.root.disableCloseOnTriggerClick){e.preventDefault();return}this.opts.onInteractOutside.current(e),!e.defaultPrevented&&this.root.handleClose()};onEscapeKeydown=e=>{this.opts.onEscapeKeydown.current?.(e),!e.defaultPrevented&&this.root.handleClose()};onOpenAutoFocus=e=>{e.preventDefault()};onCloseAutoFocus=e=>{e.preventDefault()};#e=P(()=>({open:this.root.opts.open.current}));get snippetProps(){return i(this.#e)}set snippetProps(e){w(this.#e,e)}#t=P(()=>({id:this.opts.id.current,"data-state":this.root.stateAttr,"data-disabled":zr(this.root.disabled),style:{pointerEvents:"auto",outline:"none"},[$u]:""}));get props(){return i(this.#t)}set props(e){w(this.#t,e)}popperProps={onInteractOutside:this.onInteractOutside,onEscapeKeydown:this.onEscapeKeydown,onOpenAutoFocus:this.onOpenAutoFocus,onCloseAutoFocus:this.onCloseAutoFocus}}const Bo=new Ne("Tooltip.Provider"),un=new Ne("Tooltip.Root");function id(t){return Bo.set(new td(t))}function sd(t){return un.set(new rd(t,Bo.get()))}function ad(t){return new nd(t,un.get())}function ld(t){return new od(t,un.get())}function cd(t,e){W(e,!0);let r=f(e,"open",15,!1),n=f(e,"onOpenChange",3,ve);sd({open:m.with(()=>r(),o=>{r(o),n()(o)}),delayDuration:m.with(()=>e.delayDuration),disableCloseOnTriggerClick:m.with(()=>e.disableCloseOnTriggerClick),disableHoverableContent:m.with(()=>e.disableHoverableContent),ignoreNonKeyboardFocus:m.with(()=>e.ignoreNonKeyboardFocus),disabled:m.with(()=>e.disabled)}),rn(t,{children:(o,s)=>{var a=N(),l=T(a);G(l,()=>e.children??re),p(o,a)},$$slots:{default:!0}}),U()}var ud=z("
    "),dd=z("
    ");function hd(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"ref",15,null),o=f(e,"side",3,"top"),s=f(e,"sideOffset",3,0),a=f(e,"align",3,"center"),l=f(e,"avoidCollisions",3,!0),c=f(e,"arrowPadding",3,0),d=f(e,"sticky",3,"partial"),h=f(e,"hideWhenDetached",3,!1),u=f(e,"collisionPadding",3,0),g=f(e,"onInteractOutside",3,ve),v=f(e,"onEscapeKeydown",3,ve),b=f(e,"forceMount",3,!1),y=te(e,["$$slots","$$events","$$legacy","children","child","id","ref","side","sideOffset","align","avoidCollisions","arrowPadding","sticky","hideWhenDetached","collisionPadding","onInteractOutside","onEscapeKeydown","forceMount"]);const _=ld({id:m.with(()=>r()),ref:m.with(()=>n(),E=>n(E)),onInteractOutside:m.with(()=>g()),onEscapeKeydown:m.with(()=>v())}),x=P(()=>({side:o(),sideOffset:s(),align:a(),avoidCollisions:l(),arrowPadding:c(),sticky:d(),hideWhenDetached:h(),collisionPadding:u()})),O=P(()=>le(y,i(x),_.props));var S=N(),C=T(S);{var R=E=>{sn(E,$(()=>i(O),()=>_.popperProps,{get enabled(){return _.root.opts.open.current},get id(){return r()},trapFocus:!1,loop:!1,preventScroll:!1,forceMount:!0,popper:(A,M)=>{let X=()=>M?.().props,j=()=>M?.().wrapperProps;var K=N();const H=P(()=>le(X(),{style:wt("tooltip")}));var Z=T(K);{var J=k=>{var ee=N(),se=T(ee),ce=Be(()=>({props:i(H),wrapperProps:j(),..._.snippetProps}));G(se,()=>e.child,()=>i(ce)),p(k,ee)},Y=k=>{var ee=ud();he(ee,()=>({...j()}));var se=L(ee);he(se,()=>({...i(H)}));var ce=L(se);G(ce,()=>e.children??re),F(se),F(ee),p(k,ee)};Q(Z,k=>{e.child?k(J):k(Y,!1)})}p(A,K)},$$slots:{popper:!0}}))},D=(E,I)=>{{var A=M=>{on(M,$(()=>i(O),()=>_.popperProps,{get present(){return _.root.opts.open.current},get id(){return r()},trapFocus:!1,loop:!1,preventScroll:!1,forceMount:!1,popper:(j,K)=>{let H=()=>K?.().props,Z=()=>K?.().wrapperProps;var J=N();const Y=P(()=>le(H(),{style:wt("tooltip")}));var k=T(J);{var ee=ce=>{var ie=N(),ue=T(ie),V=Be(()=>({props:i(Y),wrapperProps:Z(),..._.snippetProps}));G(ue,()=>e.child,()=>i(V)),p(ce,ie)},se=ce=>{var ie=dd();he(ie,()=>({...Z()}));var ue=L(ie);he(ue,()=>({...i(Y)}));var V=L(ue);G(V,()=>e.children??re),F(ue),F(ie),p(ce,ie)};Q(k,ce=>{e.child?ce(ee):ce(se,!1)})}p(j,J)},$$slots:{popper:!0}}))};Q(E,M=>{b()||M(A)},I)}};Q(C,E=>{b()?E(R):E(D,!1)})}p(t,S),U()}var fd=z("");function gd(t,e){W(e,!0);let r=f(e,"id",19,we),n=f(e,"disabled",3,!1),o=f(e,"type",3,"button"),s=f(e,"ref",15,null),a=te(e,["$$slots","$$events","$$legacy","children","child","id","disabled","type","ref"]);const l=ad({id:m.with(()=>r()),disabled:m.with(()=>n()??!1),ref:m.with(()=>s(),d=>s(d))}),c=P(()=>le(a,l.props,{type:o()}));nn(t,{get id(){return r()},children:(d,h)=>{var u=N(),g=T(u);{var v=y=>{var _=N(),x=T(_);G(x,()=>e.child,()=>({props:i(c)})),p(y,_)},b=y=>{var _=fd();he(_,()=>({...i(c)}));var x=L(_);G(x,()=>e.children??re),F(_),p(y,_)};Q(g,y=>{e.child?y(v):y(b,!1)})}p(d,u)},$$slots:{default:!0}}),U()}function vd(t,e){W(e,!0);let r=f(e,"delayDuration",3,700),n=f(e,"disableCloseOnTriggerClick",3,!1),o=f(e,"disableHoverableContent",3,!1),s=f(e,"disabled",3,!1),a=f(e,"ignoreNonKeyboardFocus",3,!1),l=f(e,"skipDelayDuration",3,300);id({delayDuration:m.with(()=>r()),disableCloseOnTriggerClick:m.with(()=>n()),disableHoverableContent:m.with(()=>o()),disabled:m.with(()=>s()),ignoreNonKeyboardFocus:m.with(()=>a()),skipDelayDuration:m.with(()=>l())});var c=N(),d=T(c);G(d,()=>e.children??re),p(t,c),U()}function Mn(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"value",15,""),o=te(e,["$$slots","$$events","$$legacy","ref","value","class"]);var s=N(),a=T(s);const l=P(()=>Oe("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e.class));de(a,()=>Zl,(c,d)=>{d(c,$({get class(){return i(l)}},()=>o,{get value(){return n()},set value(h){n(h)},get ref(){return r()},set ref(h){r(h)}}))}),p(t,s),U()}function pd(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["path",{d:"m12 19-7-7 7-7"}],["path",{d:"M19 12H5"}]];Je(t,$({name:"arrow-left"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function md(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["path",{d:"M5 12h14"}],["path",{d:"m12 5 7 7-7 7"}]];Je(t,$({name:"arrow-right"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function Fn(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["path",{d:"M20 6 9 17l-5-5"}]];Je(t,$({name:"check"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function wd(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["path",{d:"M10 8h.01"}],["path",{d:"M12 12h.01"}],["path",{d:"M14 8h.01"}],["path",{d:"M16 12h.01"}],["path",{d:"M18 8h.01"}],["path",{d:"M6 8h.01"}],["path",{d:"M7 16h10"}],["path",{d:"M8 12h.01"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}]];Je(t,$({name:"keyboard"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function bd(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"}]];Je(t,$({name:"moon"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function Ln(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor"}]];Je(t,$({name:"palette"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function yd(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["path",{d:"m21 21-4.34-4.34"}],["circle",{cx:"11",cy:"11",r:"8"}]];Je(t,$({name:"search"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function Sd(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["path",{d:"m18 14 4 4-4 4"}],["path",{d:"m18 2 4 4-4 4"}],["path",{d:"M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22"}],["path",{d:"M2 6h1.972a4 4 0 0 1 3.6 2.2"}],["path",{d:"M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45"}]];Je(t,$({name:"shuffle"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function xd(t,e){const r=Qe(e,["children","$$slots","$$events","$$legacy"]),n=[["circle",{cx:"12",cy:"12",r:"4"}],["path",{d:"M12 2v2"}],["path",{d:"M12 20v2"}],["path",{d:"m4.93 4.93 1.41 1.41"}],["path",{d:"m17.66 17.66 1.41 1.41"}],["path",{d:"M2 12h2"}],["path",{d:"M20 12h2"}],["path",{d:"m6.34 17.66-1.41 1.41"}],["path",{d:"m19.07 4.93-1.41 1.41"}]];Je(t,$({name:"sun"},()=>r,{get iconNode(){return n},children:(o,s)=>{var a=N(),l=T(a);je(l,e,"default",{}),p(o,a)},$$slots:{default:!0}}))}function _d(t,e){W(e,!0),f(e,"ref",11,null);let r=te(e,["$$slots","$$events","$$legacy","ref","class"]);var n=N(),o=T(n);const s=P(()=>Oe("py-6 text-center text-sm",e.class));de(o,()=>Ql,(a,l)=>{l(a,$({get class(){return i(s)}},()=>r))}),p(t,n),U()}var Pd=z(" ",1);function Bn(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","class","children","heading","value"]);var o=N(),s=T(o);const a=P(()=>Oe("text-foreground overflow-hidden p-1",e.class)),l=P(()=>e.value??e.heading??`----${we()}`);de(s,()=>ec,(c,d)=>{d(c,$({get class(){return i(a)},get value(){return i(l)}},()=>n,{get ref(){return r()},set ref(h){r(h)},children:(h,u)=>{var g=Pd(),v=T(g);{var b=_=>{var x=N(),O=T(x);de(O,()=>rc,(S,C)=>{C(S,{class:"text-muted-foreground px-2 py-1.5 text-xs font-medium",children:(R,D)=>{xe();var E=Re();Ie(()=>Le(E,e.heading)),p(R,E)},$$slots:{default:!0}})}),p(_,x)};Q(v,_=>{e.heading&&_(b)})}var y=q(v,2);de(y,()=>ic,(_,x)=>{x(_,{get children(){return e.children}})}),p(h,g)},$$slots:{default:!0}}))}),p(t,o),U()}function Vn(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","class"]);var o=N(),s=T(o);const a=P(()=>Oe("aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e.class));de(s,()=>lc,(l,c)=>{c(l,$({get class(){return i(a)}},()=>n,{get ref(){return r()},set ref(d){r(d)}}))}),p(t,o),U()}function Ir(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"sideOffset",3,4),o=f(e,"align",3,"center"),s=te(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","align","portalProps"]);var a=N(),l=T(a);de(l,()=>Kr,(c,d)=>{d(c,$(()=>e.portalProps,{children:(h,u)=>{var g=N(),v=T(g);const b=P(()=>Oe("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e.class));de(v,()=>Nc,(y,_)=>{_(y,$({get sideOffset(){return n()},get align(){return o()},get class(){return i(b)}},()=>s,{get ref(){return r()},set ref(x){r(x)}}))}),p(h,g)},$$slots:{default:!0}}))}),p(t,a),U()}const kr=ou,Mr=Ic;function vt(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"orientation",3,"horizontal"),o=te(e,["$$slots","$$events","$$legacy","ref","class","orientation"]);var s=N(),a=T(s);const l=P(()=>Oe("bg-border shrink-0",n()==="horizontal"?"h-[1px] w-full":"min-h-full w-[1px]",e.class));de(a,()=>ml,(c,d)=>{d(c,$({get class(){return i(l)},get orientation(){return n()}},()=>o,{get ref(){return r()},set ref(h){r(h)}}))}),p(t,s),U()}function ar(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"sideOffset",3,4),o=te(e,["$$slots","$$events","$$legacy","ref","class","sideOffset"]);var s=N(),a=T(s);const l=P(()=>Oe("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",e.class));de(a,()=>hd,(c,d)=>{d(c,$({get sideOffset(){return n()},get class(){return i(l)}},()=>o,{get ref(){return r()},set ref(h){r(h)}}))}),p(t,s),U()}const lr=cd,cr=gd,Td=vd;var Od=z(''),Cd=z('

    Toggle dark mode

    '),Ad=z(" ",1),Ed=z(''),Dd=z('

    Random theme

    '),Nd=z(" ",1),Rd=z('
    ',1);function Hn(t,e){W(e,!1);const[r,n]=ur(),o=()=>pt(Br,"$isDarkMode",r);let s=f(e,"search",12,""),a=f(e,"filteredThemes",24,()=>[]),l=f(e,"onSearchInput",8),c=f(e,"onDarkModeToggle",8),d=f(e,"onRandomizeTheme",8);function h(E){const I=E.target;s(I.value),l()(E)}Rt();var u=Rd(),g=T(u),v=L(g),b=L(v);yd(b,{class:"size-4 shrink-0 opacity-50"});var y=q(b,2);Jn(y),F(v),F(g);var _=q(g,2),x=L(_),O=L(x);F(x);var S=q(x,2),C=L(S);lr(C,{children:(E,I)=>{var A=Ad(),M=T(A);cr(M,{children:(j,K)=>{var H=Od(),Z=L(H);{var J=k=>{bd(k,{class:"h-3.5 w-3.5"})},Y=k=>{xd(k,{class:"h-3.5 w-3.5"})};Q(Z,k=>{o()?k(J):k(Y,!1)})}F(H),Ct("click",H,function(...k){c()?.apply(this,k)}),p(j,H)},$$slots:{default:!0}});var X=q(M,2);ar(X,{side:"bottom",children:(j,K)=>{var H=Cd();p(j,H)},$$slots:{default:!0}}),p(E,A)},$$slots:{default:!0}});var R=q(C,2);lr(R,{children:(E,I)=>{var A=Nd(),M=T(A);cr(M,{children:(j,K)=>{var H=Ed(),Z=L(H);Sd(Z,{class:"h-3.5 w-3.5"}),F(H),Ct("click",H,function(...J){d()?.apply(this,J)}),p(j,H)},$$slots:{default:!0}});var X=q(M,2);ar(X,{side:"bottom",children:(j,K)=>{var H=Dd();p(j,H)},$$slots:{default:!0}}),p(E,A)},$$slots:{default:!0}}),F(S),F(_);var D=q(_,2);vt(D,{}),Ie(()=>Le(O,`${ke(a()),ge(()=>a().length)??""} theme${ke(a()),ge(()=>a().length!==1?"s":"")??""}`)),Qn(y,s),Ct("input",y,h),p(t,u),U(),n()}var Id=z(" ",1);function zn(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"orientation",3,"vertical"),o=te(e,["$$slots","$$events","$$legacy","ref","class","orientation","children"]);var s=N(),a=T(s);const l=P(()=>Oe("flex touch-none select-none transition-colors",n()==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",n()==="horizontal"&&"h-2.5 w-full border-t border-t-transparent p-px",e.class));de(a,()=>ju,(c,d)=>{d(c,$({get orientation(){return n()},get class(){return i(l)}},()=>o,{get ref(){return r()},set ref(h){r(h)},children:(h,u)=>{var g=Id(),v=T(g);G(v,()=>e.children??re);var b=q(v,2);const y=P(()=>Oe("bg-border relative rounded-full",n()==="vertical"&&"flex-1"));de(b,()=>qu,(_,x)=>{x(_,{get class(){return i(y)}})}),p(h,g)},$$slots:{default:!0}}))}),p(t,s),U()}var kd=z(" ",1);function Md(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"orientation",3,"vertical"),o=f(e,"scrollbarXClasses",3,""),s=f(e,"scrollbarYClasses",3,""),a=te(e,["$$slots","$$events","$$legacy","ref","class","orientation","scrollbarXClasses","scrollbarYClasses","children"]);var l=N(),c=T(l);const d=P(()=>Oe("relative overflow-hidden",e.class));de(c,()=>Lu,(h,u)=>{u(h,$(()=>a,{get class(){return i(d)},get ref(){return r()},set ref(g){r(g)},children:(g,v)=>{var b=kd(),y=T(b);de(y,()=>Vu,(R,D)=>{D(R,{class:"h-full w-full rounded-[inherit]",children:(E,I)=>{var A=N(),M=T(A);G(M,()=>e.children??re),p(E,A)},$$slots:{default:!0}})});var _=q(y,2);{var x=R=>{zn(R,{orientation:"vertical",get class(){return s()}})};Q(_,R=>{(n()==="vertical"||n()==="both")&&R(x)})}var O=q(_,2);{var S=R=>{zn(R,{orientation:"horizontal",get class(){return o()}})};Q(O,R=>{(n()==="horizontal"||n()==="both")&&R(S)})}var C=q(O,2);de(C,()=>Qu,(R,D)=>{D(R,{})}),p(g,b)},$$slots:{default:!0}}))}),p(t,l),U()}var Fd=z('
    ',1),Ld=z(" ",1),Bd=z('
    ',1),Vd=z(" ",1);function Wn(t,e){W(e,!1);const[r,n]=ur(),o=()=>pt(Br,"$isDarkMode",r),s=()=>pt(ft,"$theme",r);let a=f(e,"systemThemes",24,()=>[]),l=f(e,"builtInThemes",24,()=>[]),c=f(e,"onThemeSelect",8);function d(u){return o()&&u.colorsDark?u.colorsDark:u.colors}function h(u){c()(u)}Rt(),Md(t,{class:"h-[400px] max-h-[70vh]",children:(u,g)=>{var v=Vd(),b=T(v);_d(b,{children:(S,C)=>{xe();var R=Re("No themes found.");p(S,R)},$$slots:{default:!0}});var y=q(b,2);{var _=S=>{var C=Ld(),R=T(C);Bn(R,{heading:"System",children:(I,A)=>{var M=N(),X=T(M);At(X,1,a,Et,(j,K)=>{var H=N(),Z=T(H);{var J=Y=>{const k=Be(()=>(i(K),ge(()=>d(i(K)))));Vn(Y,{get value(){return i(K),ge(()=>i(K).value)},onSelect:()=>h(i(K).value),class:"data-[highlighted]:bg-secondary/50 flex items-center gap-2 py-2",children:(ee,se)=>{var ce=Fd(),ie=T(ce),ue=L(ie),V=q(ue,2),ne=q(V,2);F(ie);var oe=q(ie,2),ae=L(oe),be=L(ae,!0);F(ae),F(oe);var De=q(oe,2);{var Ae=Ee=>{Fn(Ee,{class:"h-4 w-4 shrink-0 opacity-70"})};Q(De,Ee=>{s(),i(K),ge(()=>s()===i(K).value)&&Ee(Ae)})}Ie(()=>{dt(ue,`background-color: ${ke(i(k)),ge(()=>i(k).primary)??""}`),dt(V,`background-color: ${ke(i(k)),ge(()=>i(k).secondary)??""}`),dt(ne,`background-color: ${ke(i(k)),ge(()=>i(k).background)??""}`),Le(be,(i(K),ge(()=>i(K).name)))}),p(ee,ce)},$$slots:{default:!0}})};Q(Z,Y=>{i(K)&&Y(J)})}p(j,H)}),p(I,M)},$$slots:{default:!0}});var D=q(R,2);{var E=I=>{vt(I,{class:"my-2"})};Q(D,I=>{ke(l()),ge(()=>l().length>0)&&I(E)})}p(S,C)};Q(y,S=>{ke(a()),ge(()=>a().length>0)&&S(_)})}var x=q(y,2);{var O=S=>{Bn(S,{heading:"Built-in Themes",children:(C,R)=>{var D=N(),E=T(D);At(E,1,l,Et,(I,A)=>{var M=N(),X=T(M);{var j=K=>{const H=Be(()=>(i(A),ge(()=>d(i(A)))));Vn(K,{get value(){return i(A),ge(()=>i(A).value)},onSelect:()=>h(i(A).value),class:"data-[highlighted]:bg-secondary/50 flex items-center gap-2 py-2",children:(Z,J)=>{var Y=Bd(),k=T(Y),ee=L(k),se=q(ee,2),ce=q(se,2);F(k);var ie=q(k,2),ue=L(ie),V=L(ue,!0);F(ue),F(ie);var ne=q(ie,2);{var oe=ae=>{Fn(ae,{class:"h-4 w-4 shrink-0 opacity-70"})};Q(ne,ae=>{s(),i(A),ge(()=>s()===i(A).value)&&ae(oe)})}Ie(()=>{dt(ee,`background-color: ${ke(i(H)),ge(()=>i(H).primary)??""}`),dt(se,`background-color: ${ke(i(H)),ge(()=>i(H).secondary)??""}`),dt(ce,`background-color: ${ke(i(H)),ge(()=>i(H).background)??""}`),Le(V,(i(A),ge(()=>i(A).name)))}),p(Z,Y)},$$slots:{default:!0}})};Q(X,K=>{i(A)&&K(j)})}p(I,M)}),p(C,D)},$$slots:{default:!0}})};Q(x,S=>{ke(l()),ge(()=>l().length>0)&&S(O)})}p(u,v)},$$slots:{default:!0}}),U(),n()}var Hd=z(''),zd=z(" ",1),Wd=z(" ",1),Ud=z(''),Kd=z(" ",1),Yd=z(" ",1),jd=z(''),Gd=z(" ",1),Xd=z(" ",1),qd=z(''),Zd=z(" ",1),Jd=z(" ",1),Qd=z('
    ');function $d(t,e){W(e,!1);const[r,n]=ur(),o=()=>pt(ui,"$themes",r),s=()=>pt(ft,"$theme",r),a=Xe(),l=Xe(),c=Xe(),d=Xe();let h=f(e,"withCycleThemes",8,!1),u=f(e,"className",8,""),g=f(e,"compact",8,!1),v=Xe(!1),b=Xe("");function y(I){ft.setTheme(I),w(v,!1),w(b,"")}function _(){Br.toggle()}function x(){const I=Math.floor(Math.random()*o().length);ft.setTheme(o()[I].value)}function O(I){const A=o().findIndex(X=>X.value===s());let M;I==="next"?M=(A+1)%o().length:M=(A-1+o().length)%o().length,ft.setTheme(o()[M].value)}function S(I){const A=I.target;w(b,A.value)}Tt(()=>(o(),s()),()=>{w(a,o().find(I=>I.value===s())||o()[0])}),Tt(()=>(o(),i(b)),()=>{w(l,o().filter(I=>i(b).trim()===""||I.name.toLowerCase().includes(i(b).toLowerCase())))}),Tt(()=>i(l),()=>{w(c,i(l).filter(I=>I.value!=="system"))}),Tt(()=>i(l),()=>{w(d,i(l).filter(I=>I.value==="system"))}),qn(),Rt();var C=N(),R=T(C);{var D=I=>{kr(I,{get open(){return i(v)},set open(A){w(v,A)},children:(A,M)=>{var X=Wd(),j=T(X);Mr(j,{children:(H,Z)=>{var J=Hd(),Y=L(J);Ln(Y,{class:"w-5 h-5"}),xe(2),F(J),p(H,J)},$$slots:{default:!0}});var K=q(j,2);Ir(K,{class:"w-[300px] p-0 border-0 bg-background shadow-2xl",align:"end",children:(H,Z)=>{Mn(H,{class:"h-100 w-full rounded-lg shadow-2xl bg-background",children:(J,Y)=>{var k=zd(),ee=T(k);Hn(ee,{get filteredThemes(){return i(l)},onSearchInput:S,onDarkModeToggle:_,onRandomizeTheme:x,get search(){return i(b)},set search(ce){w(b,ce)},$$legacy:!0});var se=q(ee,2);Wn(se,{get systemThemes(){return i(d)},get builtInThemes(){return i(c)},onThemeSelect:y}),p(J,k)},$$slots:{default:!0}})},$$slots:{default:!0}}),p(A,X)},$$slots:{default:!0},$$legacy:!0})},E=I=>{var A=Qd(),M=L(A);{var X=Z=>{var J=Yd(),Y=T(J);vt(Y,{orientation:"vertical",class:"min-h-8"});var k=q(Y,2);lr(k,{children:(se,ce)=>{var ie=Kd(),ue=T(ie);cr(ue,{children:(ne,oe)=>{var ae=Ud(),be=L(ae);pd(be,{class:"h-4 w-4"}),F(ae),Ct("click",ae,()=>O("prev")),p(ne,ae)},$$slots:{default:!0}});var V=q(ue,2);ar(V,{children:(ne,oe)=>{xe();var ae=Re("Previous theme");p(ne,ae)},$$slots:{default:!0}}),p(se,ie)},$$slots:{default:!0}});var ee=q(k,2);vt(ee,{orientation:"vertical",class:"min-h-8"}),p(Z,J)};Q(M,Z=>{h()&&Z(X)})}var j=q(M,2);kr(j,{get open(){return i(v)},set open(Z){w(v,Z)},children:(Z,J)=>{var Y=Xd(),k=T(Y);Mr(k,{children:(se,ce)=>{var ie=jd(),ue=L(ie);Ln(ue,{class:"w-5 h-5"}),xe(2),F(ie),Ie(V=>mi(ie,1,V),[()=>pi((ke(Oe),ke(u()),ge(()=>Oe("p-2 text-primary-foreground bg-white/10 hover:bg-secondary hover:text-secondary-foreground rounded-md transition-colors flex items-center gap-2",u()))))],Be),p(se,ie)},$$slots:{default:!0}});var ee=q(k,2);Ir(ee,{class:"w-[300px] p-0 border-0 bg-background shadow-2xl",align:"center",children:(se,ce)=>{Mn(se,{class:"h-100 w-full rounded-lg shadow-2xl bg-background p-3",children:(ie,ue)=>{var V=Gd(),ne=T(V);Hn(ne,{get filteredThemes(){return i(l)},onSearchInput:S,onDarkModeToggle:_,onRandomizeTheme:x,get search(){return i(b)},set search(ae){w(b,ae)},$$legacy:!0});var oe=q(ne,2);Wn(oe,{get systemThemes(){return i(d)},get builtInThemes(){return i(c)},onThemeSelect:y}),p(ie,V)},$$slots:{default:!0}})},$$slots:{default:!0}}),p(Z,Y)},$$slots:{default:!0},$$legacy:!0});var K=q(j,2);{var H=Z=>{var J=Jd(),Y=T(J);vt(Y,{orientation:"vertical",class:"min-h-8"});var k=q(Y,2);lr(k,{children:(ee,se)=>{var ce=Zd(),ie=T(ce);cr(ie,{children:(V,ne)=>{var oe=qd(),ae=L(oe);md(ae,{class:"h-4 w-4"}),F(oe),Ct("click",oe,()=>O("next")),p(V,oe)},$$slots:{default:!0}});var ue=q(ie,2);ar(ue,{children:(V,ne)=>{xe();var oe=Re("Next theme");p(V,oe)},$$slots:{default:!0}}),p(ee,ce)},$$slots:{default:!0}}),p(Z,J)};Q(K,Z=>{h()&&Z(H)})}F(A),p(I,A)};Q(R,I=>{g()?I(D):I(E,!1)})}p(t,C),U(),n()}function eh(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"align",3,"center"),o=f(e,"sideOffset",3,4),s=te(e,["$$slots","$$events","$$legacy","ref","class","align","sideOffset","portalProps"]);var a=N(),l=T(a);de(l,()=>Kr,(c,d)=>{d(c,$(()=>e.portalProps,{children:(h,u)=>{var g=N(),v=T(g);const b=P(()=>Oe("bg-popover text-popover-foreground z-50 mt-3 w-64 rounded-md border p-4 shadow-md outline-none",e.class));de(v,()=>tu,(y,_)=>{_(y,$({get align(){return n()},get sideOffset(){return o()},get class(){return i(b)}},()=>s,{get ref(){return r()},set ref(x){r(x)}}))}),p(h,g)},$$slots:{default:!0}}))}),p(t,a),U()}const th=Jc,rh=nu,nh=di({base:"focus:ring-ring inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2",variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-secondary hover:text-secondary-foreground border-transparent",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 border-transparent",destructive:"bg-destructive text-destructive-foreground hover:bg-secondary hover:text-secondary-foreground border-transparent",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function lt(t,e){W(e,!0);let r=f(e,"ref",15,null),n=f(e,"variant",3,"default"),o=te(e,["$$slots","$$events","$$legacy","ref","href","class","variant","children"]);var s=N(),a=T(s);hi(a,()=>e.href?"a":"span",!1,(l,c)=>{Zn(l,u=>r(u),()=>r()),he(l,u=>({href:e.href,class:u,...o}),[()=>Oe(nh({variant:n()}),e.class)]);var d=N(),h=T(d);G(h,()=>e.children??re),p(c,d)}),p(t,s),U()}function oh(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","class"]);var o=N(),s=T(o);const a=P(()=>Oe("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",e.class));de(s,()=>Wc,(l,c)=>{c(l,$({get class(){return i(a)}},()=>n,{get ref(){return r()},set ref(d){r(d)}}))}),p(t,o),U()}function ih(t,e){if(t.key==="Enter"){const r=i(e);if(!r){at("/");return}const[n]=r.split(":"),o=r.slice(2);switch(n){case"u":at(`/username/${encodeURIComponent(o)}`);break;case"p":at(`/password/${encodeURIComponent(o)}`);break;case"d":at(`/domain/${encodeURIComponent(o)}`);break;case"e":at(`/email/${encodeURIComponent(o)}`);break;default:at("/")}}}var sh=()=>at("/"),ah=z(''),lh=z('

    Search Operators

    Username search
    Password check
    Domain search
    Email search
    '),ch=z(" ",1),uh=z('
    '),dh=Go(''),hh=z('

    API Settings

    Configure the API endpoint for PassDB backend.

    '),fh=z(" ",1),gh=z('');function vh(t,e){W(e,!0);const[r,n]=ur(),o=()=>pt(wi,"$page",r);let s=B(""),a=B(Ue(typeof window<"u"&&localStorage.getItem("host")||"http://127.0.0.1:3000"));pe(()=>{typeof window<"u"&&localStorage.setItem("host",i(a))}),ot(()=>{ft.init()});var l=gh(),c=L(l),d=L(c),h=L(d),u=L(h);u.__click=[sh];var g=q(u,2),v=L(g);$d(v,{}),F(g),F(h);var b=q(h,2),y=L(b);{var _=O=>{var S=uh(),C=L(S);Jn(C),C.__keydown=[ih,s];var R=q(C,2),D=L(R);de(D,()=>th,(E,I)=>{I(E,{children:(A,M)=>{var X=ch(),j=T(X);de(j,()=>rh,(H,Z)=>{Z(H,{children:(J,Y)=>{var k=ah();p(J,k)},$$slots:{default:!0}})});var K=q(j,2);de(K,()=>eh,(H,Z)=>{Z(H,{class:"w-80 bg-background border-0 shadow-2xl p-6",children:(J,Y)=>{var k=lh(),ee=q(L(k),2),se=L(ee);vt(se,{}),F(ee);var ce=q(ee,2),ie=L(ce),ue=L(ie);lt(ue,{variant:"default",class:"font-mono",children:(Ae,Ee)=>{xe();var _e=Re("u:");p(Ae,_e)},$$slots:{default:!0}}),xe(2),F(ie);var V=q(ie,2),ne=L(V);lt(ne,{variant:"default",class:"font-mono",children:(Ae,Ee)=>{xe();var _e=Re("p:");p(Ae,_e)},$$slots:{default:!0}}),xe(2),F(V);var oe=q(V,2),ae=L(oe);lt(ae,{variant:"default",class:"font-mono",children:(Ae,Ee)=>{xe();var _e=Re("d:");p(Ae,_e)},$$slots:{default:!0}}),xe(2),F(oe);var be=q(oe,2),De=L(be);lt(De,{variant:"default",class:"font-mono",children:(Ae,Ee)=>{xe();var _e=Re("e:");p(Ae,_e)},$$slots:{default:!0}}),xe(2),F(be),F(ce),F(k),p(J,k)},$$slots:{default:!0}})}),p(A,X)},$$slots:{default:!0}})}),F(R),F(S),Qn(C,()=>i(s),E=>w(s,E)),p(O,S)};Q(y,O=>{o().route.id!=="/"&&O(_)})}var x=q(y,2);de(x,()=>kr,(O,S)=>{S(O,{children:(C,R)=>{var D=fh(),E=T(D);de(E,()=>Mr,(A,M)=>{M(A,{class:"p-2 text-primary-foreground bg-primary hover:bg-secondary hover:text-secondary-foreground rounded-md transition-colors","aria-label":"Settings",children:(X,j)=>{var K=dh();p(X,K)},$$slots:{default:!0}})});var I=q(E,2);de(I,()=>Ir,(A,M)=>{M(A,{class:"w-80 bg-background border-0 shadow-2xl p-6",align:"end",children:(X,j)=>{var K=hh(),H=q(L(K),2),Z=L(H),J=L(Z);oh(J,{for:"api-host",children:(k,ee)=>{xe();var se=Re("API Host");p(k,se)},$$slots:{default:!0}});var Y=q(J,2);fi(Y,{id:"api-host",placeholder:"http://127.0.0.1:3000",class:"col-span-2 h-8 focus-visible:ring-0 focus-visible:ring-offset-0",get value(){return i(a)},set value(k){w(a,k,!0)}}),F(Z),F(H),F(K),p(X,K)},$$slots:{default:!0}})}),p(C,D)},$$slots:{default:!0}})}),F(b),F(d),F(c),F(l),p(t,l),U(),n()}Xn(["click","keydown"]);var ph=(t,e)=>w(e,!i(e)),mh=z('
     
    '),wh=z('

    '),bh=z('

    Oops! Something went wrong

    We encountered an unexpected error. Please try again.

    ');function yh(t,e){W(e,!0);let r=f(e,"error",15,null),n=f(e,"reset",3,()=>window.location.reload()),o=B(!1);ot(()=>{const d=u=>{u.preventDefault(),r(new Error(u.message))},h=u=>{u.preventDefault(),r(new Error(u.reason))};return window.addEventListener("error",d),window.addEventListener("unhandledrejection",h),()=>{window.removeEventListener("error",d),window.removeEventListener("unhandledrejection",h)}});var s=N(),a=T(s);{var l=d=>{var h=bh(),u=L(h),g=L(u),v=L(g),b=q(L(v),4),y=L(b);y.__click=function(...C){n()?.apply(this,C)};var _=q(y,2);_.__click=[ph,o];var x=L(_);F(_),F(b);var O=q(b,2);{var S=C=>{var R=wh(),D=L(R),E=L(D,!0);F(D);var I=q(D,2);{var A=M=>{var X=mh(),j=L(X,!0);F(X),Ie(()=>Le(j,r().stack)),p(M,X)};Q(I,M=>{r().stack&&M(A)})}F(R),Ie(()=>Le(E,r().message)),p(C,R)};Q(O,C=>{i(o)&&C(S)})}F(v),F(g),F(u),F(h),Ie(()=>Le(x,`${i(o)?"Hide":"Show"} Details`)),p(d,h)},c=d=>{var h=N(),u=T(h);G(u,()=>e.children??re),p(d,h)};Q(a,d=>{r()?d(l):d(c,!1)})}p(t,s),U()}Xn(["click"]);function Pe(){}const Se={DURATION:.5,EASE:[.32,.72,0,1]},Vo=.4,Sh=.25,xh=100,Ho=8,st=16,Fr=26,_r="vaul-dragging",zo=new WeakMap;function Ce(t,e,r=!1){if(!t||!(t instanceof HTMLElement))return;let n={};Object.entries(e).forEach(([o,s])=>{if(o.startsWith("--")){t.style.setProperty(o,s);return}n[o]=t.style[o],t.style[o]=s}),!r&&zo.set(t,n)}function _h(t,e){if(!t||!(t instanceof HTMLElement))return;let r=zo.get(t);r&&(t.style[e]=r[e])}const Te=t=>{switch(t){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return t}};function Xt(t,e){if(!t)return null;const r=window.getComputedStyle(t),n=r.transform||r.webkitTransform||r.mozTransform;let o=n.match(/^matrix3d\((.+)\)$/);return o?parseFloat(o[1].split(", ")[Te(e)?13:12]):(o=n.match(/^matrix\((.+)\)$/),o?parseFloat(o[1].split(", ")[Te(e)?5:4]):null)}function Ph(t){return 8*(Math.log(t+1)-2)}function Pr(t,e){if(!t)return()=>{};const r=t.style.cssText;return Object.assign(t.style,e),()=>{t.style.cssText=r}}function Th(...t){return(...e)=>{for(const r of t)typeof r=="function"&&r(...e)}}function Oh({snapPoints:t,drawerNode:e,overlayNode:r,fadeFromIndex:n,setOpenTime:o,direction:s,container:a,snapToSequentialPoint:l,activeSnapPoint:c,open:d,isReleasing:h}){let u=B(Ue(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0));ot(()=>{function D(){w(u,{innerWidth:window.innerWidth,innerHeight:window.innerHeight},!0)}return ye(window,"resize",D)});const g=P(()=>c.current===t.current?.[t.current.length-1]||null),v=P(()=>t.current?.findIndex(D=>D===c.current)),b=P(()=>t.current&&t.current.length>0&&(n.current||n.current===0)&&!Number.isNaN(n.current)&&t.current[n.current]===c.current||!t.current),y=P(()=>{d.current;const D=a.current?{width:a.current.getBoundingClientRect().width,height:a.current.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return t.current?.map(E=>{const I=typeof E=="string";let A=0;if(I&&(A=parseInt(E,10)),Te(s.current)){const X=I?A:i(u)?E*D.height:0;return i(u)?s.current==="bottom"?D.height-X:-D.height+X:X}const M=I?A:i(u)?E*D.width:0;return i(u)?s.current==="right"?D.width-M:-D.width+M:M})??[]}),_=P(()=>i(v)!==null&&i(v)!==void 0?i(y)[i(v)]:null);function x(D){t.current&&D===i(y).length-1&&o(new Date)}function O(D){const E=i(y)?.findIndex(I=>I===D)??null;x(E),Ce(e(),{transition:`transform ${Se.DURATION}s cubic-bezier(${Se.EASE.join(",")})`,transform:Te(s.current)?`translate3d(0, ${D}px, 0)`:`translate3d(${D}px, 0, 0)`}),i(y)&&E!==i(y).length-1&&n.current!==void 0&&E!==n.current&&Ec.current,()=>d.current],()=>{const D=h();if(!c.current||D)return;const E=t.current?.findIndex(I=>I===c.current)??-1;if(i(y)&&E!==-1&&typeof i(y)[E]=="number"){if(i(y)[E]===c.current)return;O(i(y)[E])}});function S({draggedDistance:D,closeDrawer:E,velocity:I,dismissible:A}){if(n.current===void 0)return;const M=s.current,X=M==="bottom"||M==="right"?(i(_)??0)-D:(i(_)??0)+D,j=i(v)===n.current-1,K=i(v)===0,H=D>0;if(j&&Ce(r(),{transition:`opacity ${Se.DURATION}s cubic-bezier(${Se.EASE.join(",")})`}),!l.current&&I>2&&!H){A?E():O(i(y)[0]);return}if(!l.current&&I>2&&H&&i(y)&&t.current){O(i(y)[t.current.length-1]);return}const Z=i(y)?.reduce((Y,k)=>typeof Y!="number"||typeof k!="number"?Y:Math.abs(k-X)Vo&&Math.abs(D)0&&i(g)&&t.current){O(i(y)[t.current.length-1]);return}if(K&&Y<0&&A&&E(),i(v)===null)return;O(i(y)[i(v)+Y]);return}O(Z)}function C({draggedDistance:D}){if(i(_)===null)return;const E=s.current,I=Tr(E)?i(_)-D:i(_)+D,A=i(y)[i(y).length-1];Tr(E)&&IA||Ce(e(),{transform:Te(E)?`translate3d(0, ${I}px, 0)`:`translate3d(${I}px, 0, 0)`})}function R(D,E){if(!t.current||typeof i(v)!="number"||!i(y)||n.current===void 0)return null;const I=i(v)===n.current-1;if(i(v)>=n.current&&E)return 0;if(I&&!E)return 1;if(!i(b)&&!I)return null;const M=I?i(v)+1:i(v)-1,X=I?i(y)[M]-i(y)[M-1]:i(y)[M+1]-i(y)[M],j=D/Math.abs(X);return I?1-j:j}return{get isLastSnapPoint(){return i(g)},get shouldFade(){return i(b)},get activeSnapPointIndex(){return i(v)},get snapPointsOffset(){return Wr(i(y))},getPercentageDragged:R,onRelease:S,onDrag:C}}function Tr(t){return t==="bottom"||t==="right"}const Ch=typeof document<"u";function Ah(){const t=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(t)&&/Mobile/.test(t)||/FxiOS/.test(t))}function Eh(){return dn(/^Mac/)}function Dh(){return dn(/^iPhone/)}function Un(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Nh(){return dn(/^iPad/)||Eh()&&navigator.maxTouchPoints>1}function Wo(){return Dh()||Nh()}function dn(t){return typeof window<"u"&&window.navigator!=null?t.test(window.navigator.platform):void 0}const Rh=24;function Kn(...t){return(...e)=>{for(let r of t)typeof r=="function"&&r(...e)}}const Or=Ch&&window.visualViewport;function Yn(t){let e=window.getComputedStyle(t);return/(auto|scroll)/.test(e.overflow+e.overflowX+e.overflowY)}function Uo(t){for(Yn(t)&&(t=t.parentElement);t&&!Yn(t);)t=t.parentElement;return t||document.scrollingElement||document.documentElement}const Ih=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let qt=0,jn;function kh(t){me(t.isDisabled,()=>{if(!t.isDisabled())return qt++,qt===1&&Wo()&&(jn=Mh()),()=>{qt--,qt===0&&jn?.()}})}function Mh(){let t,e=0;const r=u=>{t=Uo(u.target),!(t===document.documentElement&&t===document.body)&&(e=u.changedTouches[0].pageY)};let n=u=>{if(!t||t===document.documentElement||t===document.body){u.preventDefault();return}let g=u.changedTouches[0].pageY,v=t.scrollTop,b=t.scrollHeight-t.clientHeight;b!==0&&((v<=0&&g>e||v>=b&&g{let g=u.target;Lr(g)&&g!==document.activeElement&&(u.preventDefault(),g.style.transform="translateY(-2000px)",g.focus(),requestAnimationFrame(()=>{g.style.transform=""}))};const s=u=>{let g=u.target;Lr(g)&&(g.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{g.style.transform="",Or&&(Or.height{Gn(g)}):Or.addEventListener("resize",()=>Gn(g),{once:!0}))}))};let a=()=>{window.scrollTo(0,0)},l=window.pageXOffset,c=window.pageYOffset,d=Kn(Fh(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let h=Kn(ye(document,"touchstart",r,{passive:!1,capture:!0}),ye(document,"touchmove",n,{passive:!1,capture:!0}),ye(document,"touchend",o,{passive:!1,capture:!0}),ye(document,"focus",s,{capture:!0}),ye(window,"scroll",a));return()=>{d(),h(),window.scrollTo(l,c)}}function Fh(t,e,r){let n=t.style[e];return t.style[e]=r,()=>{t.style[e]=n}}function Gn(t){let e=document.scrollingElement||document.documentElement;for(;t&&t!==e;){let r=Uo(t);if(r!==document.documentElement&&r!==document.body&&r!==t){let n=r.getBoundingClientRect().top,o=t.getBoundingClientRect().top,s=t.getBoundingClientRect().bottom;const a=r.getBoundingClientRect().bottom+Rh;s>a&&(r.scrollTop+=o-n)}t=r.parentElement}}function Lr(t){return t instanceof HTMLInputElement&&!Ih.has(t.type)||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable}let Pt=null;function Lh({open:t,modal:e,nested:r,hasBeenOpened:n,preventScrollRestoration:o,noBodyStyles:s}){let a=B(Ue(typeof window<"u"?window.location.href:"")),l=0;function c(){if(Un()&&Pt===null&&t.current&&!s.current){Pt={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:h,innerHeight:u}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-l}px`,left:`${-h}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const g=u-window.innerHeight;g&&l>=u&&(document.body.style.top=`${-(l+g)}px`)}),300)}}function d(){if(Un()&&Pt!==null&&!s.current){const h=-parseInt(document.body.style.top,10),u=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Pt),window.requestAnimationFrame(()=>{if(o.current&&i(a)!==window.location.href){w(a,window.location.href,!0);return}window.scrollTo(u,h)}),Pt=null}}return ot(()=>{function h(){l=window.scrollY}return h(),ye(window,"scroll",h)}),me([()=>e.current,()=>i(a)],()=>{if(e.current)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||d()}}),me([()=>t.current,()=>n(),()=>i(a),()=>e.current,()=>r.current],()=>{r.current||!n()||(t.current?(!window.matchMedia("(display-mode: standalone)").matches&&c(),e.current||window.setTimeout(()=>{d()},500)):d())}),{restorePositionSetting:d}}const Ut=new Ne("Drawer.Root");function Bh(t){let e=B(!1),r=B(!1),n=B(!1),o=B(null),s=B(null),a=null,l=null,c=null,d=null,h=!1,u=null,g=0,v=m(!1),b=B(!t.open.current),y=0,_=0,x=0,O=0,S=!1;const C=Oh({snapPoints:t.snapPoints,drawerNode:()=>i(s),activeSnapPoint:t.activeSnapPoint,container:t.container,direction:t.direction,fadeFromIndex:t.fadeFromIndex,overlayNode:()=>i(o),setOpenTime:V=>{a=V},snapToSequentialPoint:t.snapToSequentialPoint,open:t.open,isReleasing:()=>S});kh({isDisabled:()=>!t.open.current||i(r)||!t.modal.current||i(n)||!i(e)||!t.repositionInputs.current||!t.disablePreventScroll.current});const{restorePositionSetting:R}=Lh({...t,hasBeenOpened:()=>i(e)});function D(){return(window.innerWidth-Fr)/window.innerWidth}function E(V){!t.dismissible.current&&!t.snapPoints.current||i(s)&&!i(s).contains(V.target)||(_=i(s)?.getBoundingClientRect().height||0,x=i(s)?.getBoundingClientRect().width||0,w(r,!0),l=new Date,Wo()&&ye(window,"touchend",()=>h=!1,{once:!0}),V.target.setPointerCapture(V.pointerId),g=Te(t.direction.current)?V.pageY:V.pageX)}function I(V,ne){let oe=V;const ae=window.getSelection()?.toString(),be=i(s)?Xt(i(s),t.direction.current):null,De=new Date;if(oe.tagName==="SELECT"||oe.hasAttribute("data-vaul-no-drag")||oe.closest("[data-vaul-no-drag]"))return!1;if(t.direction.current==="right"||t.direction.current==="left")return!0;if(a&&De.getTime()-a.getTime()<500)return!1;if(be!==null&&(t.direction.current==="bottom"?be>0:be<0))return!0;if(ae&&ae.length>0)return!1;if(d&&De.getTime()-d.getTime()oe.clientHeight){if(oe.scrollTop!==0)return d=new Date,!1;if(oe.getAttribute("role")==="dialog")return!0}oe=oe.parentNode}return!0}function A(V){if(!i(s)||!i(r))return;const ne=t.direction.current==="bottom"||t.direction.current==="right"?1:-1,oe=(g-(Te(t.direction.current)?V.pageY:V.pageX))*ne,ae=oe>0,be=t.snapPoints.current&&!t.dismissible.current&&!ae;if(be&&C.activeSnapPointIndex===0)return;const De=Math.abs(oe),Ae=document.querySelector("[data-vaul-drawer-wrapper]"),Ee=t.direction.current==="bottom"||t.direction.current==="top"?_:x;let _e=De/Ee;const hn=C.getPercentageDragged(De,ae);if(hn!==null&&(_e=hn),be&&_e>=1||!h&&!I(V.target,ae))return;if(i(s).classList.add(_r),h=!0,Ce(i(s),{transition:"none"}),Ce(i(o),{transition:"none"}),t.snapPoints.current&&C.onDrag({draggedDistance:oe}),ae&&!t.snapPoints.current){const it=Ph(oe),Kt=Math.min(it*-1,0)*ne;Ce(i(s),{transform:Te(t.direction.current)?`translate3d(0, ${Kt}px, 0)`:`translate3d(${Kt}px, 0, 0)`});return}const jo=1-_e;if((C.shouldFade||t.fadeFromIndex.current&&C.activeSnapPointIndex===t.fadeFromIndex.current-1)&&(t.onDrag.current?.(V,_e),Ce(i(o),{opacity:`${jo}`,transition:"none"},!0)),Ae&&i(o)&&t.shouldScaleBackground.current){const it=Math.min(D()+_e*(1-D()),1),Kt=8-_e*8,fn=Math.max(0,14-_e*14);Ce(Ae,{borderRadius:`${Kt}px`,transform:Te(t.direction.current)?`scale(${it}) translate3d(0, ${fn}px, 0)`:`scale(${it}) translate3d(${fn}px, 0, 0)`,transition:"none"},!0)}if(!t.snapPoints.current){const it=De*ne;Ce(i(s),{transform:Te(t.direction.current)?`translate3d(0, ${it}px, 0)`:`translate3d(${it}px, 0, 0)`})}}pe(()=>{window.requestAnimationFrame(()=>{w(b,!0)})});function M(V){!t.dismissible.current&&!V||(V?w(e,!0):K(!0),t.open.current=V)}function X(){if(!i(s)||!t.repositionInputs.current)return;const V=document.activeElement;if(Lr(V)||v.current){const ne=window.visualViewport?.height||0,oe=window.innerHeight;let ae=oe-ne;const be=i(s).getBoundingClientRect().height||0,De=be>oe*.8;O||(O=be);const Ae=i(s).getBoundingClientRect().top;if(Math.abs(y-ae)>60&&(v.current=!v.current),t.snapPoints.current&&t.snapPoints.current.length>0&&C.snapPointsOffset&&C.activeSnapPointIndex){const Ee=C.snapPointsOffset[C.activeSnapPointIndex]||0;ae+=Ee}if(y=ae,be>ne||v.current){const Ee=i(s).getBoundingClientRect().height;let _e=Ee;Ee>ne&&(_e=ne-(De?Ae:Fr)),t.fixed.current?i(s).style.height=`${Ee-Math.max(ae,0)}px`:i(s).style.height=`${Math.max(_e,ne-Ae)}px`}else Ah()||(i(s).style.height=`${O}px`);t.snapPoints.current&&t.snapPoints.current.length>0&&!v.current?i(s).style.bottom="0px":i(s).style.bottom=`${Math.max(ae,0)}px`}}me([()=>C.activeSnapPointIndex,()=>t.snapPoints.current,()=>C.snapPointsOffset,()=>i(s)],()=>{if(window.visualViewport)return ye(window.visualViewport,"resize",X)});function j(){!i(r)||!i(s)||(i(s).classList.remove(_r),h=!1,w(r,!1),c=new Date)}function K(V){j(),t.onClose?.current(),V||(ce(!1),t.open.current=!1),window.setTimeout(()=>{t.snapPoints.current&&t.snapPoints.current.length>0&&(t.activeSnapPoint.current=t.snapPoints.current[0])},Se.DURATION*1e3)}function H(){if(!i(s))return;const V=document.querySelector("[data-vaul-drawer-wrapper]"),ne=Xt(i(s),t.direction.current);Ce(i(s),{transform:"translate3d(0, 0, 0)",transition:`transform ${Se.DURATION}s cubic-bezier(${Se.EASE.join(",")})`}),Ce(i(o),{transition:`opacity ${Se.DURATION}s cubic-bezier(${Se.EASE.join(",")})`,opacity:"1"}),t.shouldScaleBackground.current&&ne&&ne>0&&t.open.current&&Ce(V,{borderRadius:`${Ho}px`,overflow:"hidden",...Te(t.direction.current)?{transform:`scale(${D()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${D()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Se.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Se.EASE.join(",")})`},!0)}function Z(V){S=!0,J(V),Ve(()=>{S=!1})}function J(V){if(!i(r)||!i(s))return;i(s).classList.remove(_r),h=!1,w(r,!1),c=new Date;const ne=Xt(i(s),t.direction.current);if(!V||V.target&&!I(V.target,!1)||!ne||Number.isNaN(ne)||l===null)return;const oe=c.getTime()-l.getTime(),ae=g-(Te(t.direction.current)?V.pageY:V.pageX),be=Math.abs(ae)/oe;if(be>.05&&(w(n,!0),setTimeout(()=>{w(n,!1)},200)),t.snapPoints.current){const _e=t.direction.current==="bottom"||t.direction.current==="right"?1:-1;C.onRelease({draggedDistance:ae*_e,closeDrawer:K,velocity:be,dismissible:t.dismissible.current}),t.onRelease.current?.(V,!0);return}if(t.direction.current==="bottom"||t.direction.current==="right"?ae>0:ae<0){H(),t.onRelease.current?.(V,!0);return}if(be>Vo){K(),t.onRelease.current?.(V,!1);return}const De=Math.min(i(s).getBoundingClientRect().height??0,window.innerHeight),Ae=Math.min(i(s).getBoundingClientRect().width??0,window.innerWidth),Ee=t.direction.current==="left"||t.direction.current==="right";if(Math.abs(ne)>=(Ee?Ae:De)*t.closeThreshold.current){K(),t.onRelease.current?.(V,!1);return}t.onRelease.current?.(V,!0),H()}me(()=>t.open.current,()=>(t.open.current&&(Ce(document.documentElement,{scrollBehavior:"auto"}),a=new Date),()=>{_h(document.documentElement,"scrollBehavior")}));function Y(V){const ne=V?(window.innerWidth-st)/window.innerWidth:1,oe=V?-st:0;u&&window.clearTimeout(u),Ce(i(s),{transition:`transform ${Se.DURATION}s cubic-bezier(${Se.EASE.join(",")})`,transform:Te(t.direction.current)?`scale(${ne}) translate3d(0, ${oe}px, 0)`:`scale(${ne}) translate3d(${oe}px, 0, 0)`}),!V&&i(s)&&(u=window.setTimeout(()=>{const ae=Xt(i(s),t.direction.current);Ce(i(s),{transition:"none",transform:Te(t.direction.current)?`translate3d(0, ${ae}px, 0)`:`translate3d(${ae}px, 0, 0)`})},500))}function k(V,ne){if(ne<0)return;const oe=(window.innerWidth-st)/window.innerWidth,ae=oe+ne*(1-oe),be=-st+ne*st;Ce(i(s),{transform:Te(t.direction.current)?`scale(${ae}) translate3d(0, ${be}px, 0)`:`scale(${ae}) translate3d(${be}px, 0, 0)`,transition:"none"})}function ee(V,ne){const oe=Te(t.direction.current)?window.innerHeight:window.innerWidth,ae=ne?(oe-st)/oe:1,be=ne?-st:0;ne&&Ce(i(s),{transition:`transform ${Se.DURATION}s cubic-bezier(${Se.EASE.join(",")})`,transform:Te(t.direction.current)?`scale(${ae}) translate3d(0, ${be}px, 0)`:`scale(${ae}) translate3d(${be}px, 0, 0)`})}let se;function ce(V){t.onOpenChange.current?.(V),V&&!t.nested.current?se=document.body.style.cssText:!V&&!t.nested.current&&Mt(Se.DURATION*1e3,()=>{document.body.style.cssText=se}),!V&&!t.nested.current&&R(),setTimeout(()=>{t.onAnimationEnd.current?.(V)},Se.DURATION*1e3),V&&!t.modal.current&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),V||(document.body.style.pointerEvents="auto")}me(()=>t.modal.current,()=>{t.modal.current||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})});function ie(V){w(o,V,!0)}function ue(V){w(s,V,!0)}return Ut.set({...t,keyboardIsOpen:v,closeDrawer:K,setDrawerNode:ue,setOverlayNode:ie,onDrag:A,onNestedDrag:k,onNestedOpenChange:Y,onNestedRelease:ee,onRelease:Z,onPress:E,onDialogOpenChange:M,get shouldAnimate(){return i(b)},get isDragging(){return i(r)},get overlayNode(){return i(o)},get drawerNode(){return i(s)},get snapPointsOffset(){return C.snapPointsOffset},get shouldFade(){return C.shouldFade},restorePositionSetting:R,handleOpenChange:ce})}function Vh(t,e){W(e,!0);let r=f(e,"open",15,!1),n=f(e,"onOpenChange",3,Pe),o=f(e,"onDrag",3,Pe),s=f(e,"onRelease",3,Pe),a=f(e,"shouldScaleBackground",3,!1),l=f(e,"setBackgroundColorOnScale",3,!0),c=f(e,"closeThreshold",3,Sh),d=f(e,"scrollLockTimeout",3,xh),h=f(e,"dismissible",3,!0),u=f(e,"handleOnly",3,!1),g=f(e,"fadeFromIndex",19,()=>e.snapPoints&&e.snapPoints.length-1),v=f(e,"activeSnapPoint",15,null),b=f(e,"onActiveSnapPointChange",3,Pe),y=f(e,"fixed",3,!1),_=f(e,"modal",3,!0),x=f(e,"onClose",3,Pe),O=f(e,"nested",3,!1),S=f(e,"noBodyStyles",3,!1),C=f(e,"direction",3,"bottom"),R=f(e,"snapToSequentialPoint",3,!1),D=f(e,"preventScrollRestoration",3,!1),E=f(e,"repositionInputs",3,!0),I=f(e,"onAnimationEnd",3,Pe),A=f(e,"container",3,null),M=f(e,"autoFocus",3,!1),X=f(e,"disablePreventScroll",3,!0),j=te(e,["$$slots","$$events","$$legacy","open","onOpenChange","onDrag","onRelease","snapPoints","shouldScaleBackground","setBackgroundColorOnScale","closeThreshold","scrollLockTimeout","dismissible","handleOnly","fadeFromIndex","activeSnapPoint","onActiveSnapPointChange","fixed","modal","onClose","nested","noBodyStyles","direction","snapToSequentialPoint","preventScrollRestoration","repositionInputs","onAnimationEnd","container","autoFocus","disablePreventScroll"]);const K=Bh({open:m.with(()=>r(),k=>{r(k),K.handleOpenChange(k)}),closeThreshold:m.with(()=>c()),scrollLockTimeout:m.with(()=>d()),snapPoints:m.with(()=>e.snapPoints),fadeFromIndex:m.with(()=>g()),nested:m.with(()=>O()),shouldScaleBackground:m.with(()=>a()),activeSnapPoint:m.with(()=>v(),k=>{v(k),b()(k)}),onRelease:m.with(()=>s()),onDrag:m.with(()=>o()),onClose:m.with(()=>x()),dismissible:m.with(()=>h()),direction:m.with(()=>C()),fixed:m.with(()=>y()),modal:m.with(()=>_()),handleOnly:m.with(()=>u()),noBodyStyles:m.with(()=>S()),preventScrollRestoration:m.with(()=>D()),setBackgroundColorOnScale:m.with(()=>l()),repositionInputs:m.with(()=>E()),autoFocus:m.with(()=>M()),snapToSequentialPoint:m.with(()=>R()),container:m.with(()=>A()),disablePreventScroll:m.with(()=>X()),onOpenChange:m.with(()=>n()),onAnimationEnd:m.with(()=>I())});var H=N(),Z=T(H),J=()=>K.open.current,Y=k=>{K.onDialogOpenChange(k)};de(Z,()=>kc,(k,ee)=>{ee(k,$({get open(){return J()},set open(se){Y(se)}},()=>j))}),p(t,H),U()}globalThis.vaulIdCounter??={current:0};function Ko(t="vaul-svelte"){return globalThis.vaulIdCounter.current++,`${t}-${globalThis.vaulIdCounter.current}`}function Hh(){const t=Ut.get();let e=null;const r=typeof document<"u"?document.body.style.backgroundColor:"";function n(){return(window.innerWidth-Fr)/window.innerWidth}me([()=>t.open.current,()=>t.shouldScaleBackground.current,()=>t.setBackgroundColorOnScale.current],()=>{if(t.open.current&&t.shouldScaleBackground.current){e&&clearTimeout(e);const o=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[data-vaul-drawer-wrapper]");if(!o)return;Th(t.setBackgroundColorOnScale.current&&!t.noBodyStyles.current?Pr(document.body,{background:"black"}):Pe,Pr(o,{transformOrigin:Te(t.direction.current)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${Se.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Se.EASE.join(",")})`}));const s=Pr(o,{borderRadius:`${Ho}px`,overflow:"hidden",...Te(t.direction.current)?{transform:`scale(${n()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${n()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{s(),e=window.setTimeout(()=>{r?document.body.style.background=r:document.body.style.removeProperty("background")},Se.DURATION*1e3)}}})}function zh(t){const e=Ut.get();let r=B(!1);fe({id:t.id,ref:t.ref,deps:()=>[i(r),e.open.current],onRefChange:S=>{i(r)?e.setDrawerNode(S):e.setDrawerNode(null)}});let n=B(!1),o=null,s=null,a=!1;const l=P(()=>e.snapPoints.current&&e.snapPoints.current.length>0);Hh();function c(S,C,R=0){if(a)return!0;const D=Math.abs(S.y),E=Math.abs(S.x),I=E>D,A=["bottom","right"].includes(C)?1:-1;if(C==="left"||C==="right"){if(!(S.x*A<0)&&E>=0&&E<=R)return I}else if(!(S.y*A<0)&&D>=0&&D<=R)return!I;return a=!0,!0}me([()=>i(l),()=>e.open.current],()=>{i(l)&&e.open.current?window.requestAnimationFrame(()=>{w(n,!0)}):w(n,!1)});function d(S){o=null,a=!1,e.onRelease(S)}function h(S){e.handleOnly.current||(t.onpointerdown.current?.(S),o={x:S.pageX,y:S.pageY},e.onPress(S))}function u(S){t.onOpenAutoFocus.current?.(S),e.autoFocus.current||S.preventDefault()}function g(S){if(t.onInteractOutside.current?.(S),!e.modal.current||S.defaultPrevented){S.preventDefault();return}e.keyboardIsOpen.current&&(e.keyboardIsOpen.current=!1)}function v(S){if(!e.modal.current){S.preventDefault();return}}function b(S){if(s=S,e.handleOnly.current||(t.onpointermove.current?.(S),!o))return;const C=S.pageY-o.y,R=S.pageX-o.x,D=S.pointerType==="touch"?10:2;c({x:R,y:C},e.direction.current,D)?e.onDrag(S):(Math.abs(R)>D||Math.abs(C)>D)&&(o=null)}function y(S){t.onpointerup.current?.(S),o=null,a=!1,e.onRelease(S)}function _(S){t.onpointerout.current?.(S),d(s)}function x(S){t.oncontextmenu.current?.(S),s&&d(s)}const O=P(()=>({id:t.id.current,"data-vaul-drawer-direction":e.direction.current,"data-vaul-drawer":"","data-vaul-delayed-snap-points":i(n)?"true":"false","data-vaul-snap-points":e.open.current&&i(l)?"true":"false","data-vaul-custom-container":e.container.current?"true":"false","data-vaul-animate":e.shouldAnimate?"true":"false",onpointerdown:h,onOpenAutoFocus:u,onInteractOutside:g,onFocusOutside:v,onpointerup:y,onpointermove:b,onpointerout:_,oncontextmenu:x,preventScroll:e.modal.current}));return{get props(){return i(O)},ctx:e,setMounted:S=>{w(r,S,!0)}}}function Yo(t,e){W(e,!0),ot(()=>(e.onMounted(!0),()=>{e.onMounted(!1)})),U()}var Wh=z(" ",1);function Uh(t,e){W(e,!0);let r=f(e,"id",19,Ko),n=f(e,"ref",15,null),o=f(e,"onOpenAutoFocus",3,Pe),s=f(e,"onInteractOutside",3,Pe),a=f(e,"onFocusOutside",3,Pe),l=f(e,"oncontextmenu",3,Pe),c=f(e,"onpointerdown",3,Pe),d=f(e,"onpointerup",3,Pe),h=f(e,"onpointerout",3,Pe),u=f(e,"onpointermove",3,Pe),g=te(e,["$$slots","$$events","$$legacy","id","ref","onOpenAutoFocus","onInteractOutside","onFocusOutside","oncontextmenu","onpointerdown","onpointerup","onpointerout","onpointermove","children"]);const v=zh({id:m.with(()=>r()),ref:m.with(()=>n(),S=>n(S)),oncontextmenu:m.with(()=>l()??Pe),onInteractOutside:m.with(()=>s()),onpointerdown:m.with(()=>c()??Pe),onpointermove:m.with(()=>u()??Pe),onpointerout:m.with(()=>h()??Pe),onpointerup:m.with(()=>d()??Pe),onOpenAutoFocus:m.with(()=>o()),onFocusOutside:m.with(()=>a())}),b=Wr(v.ctx.snapPointsOffset),y=P(()=>b&&b.length>0?{"--snap-point-height":`${b[v.ctx.activeSnapPointIndex??0]}px`}:{}),_=P(()=>le(g,v.props,{style:i(y)}));var x=N(),O=T(x);de(O,()=>Lc,(S,C)=>{C(S,$(()=>i(_),{children:(R,D)=>{var E=Wh(),I=T(E);G(I,()=>e.children??re);var A=q(I,2);Yo(A,{get onMounted(){return v.setMounted}}),p(R,E)},$$slots:{default:!0}}))}),p(t,x),U()}function Kh(t){const e=Ut.get();let r=B(!1);fe({id:t.id,ref:t.ref,deps:()=>i(r),onRefChange:a=>{i(r)?e.setOverlayNode(a):e.setOverlayNode(null)}});const n=P(()=>e.snapPoints.current&&e.snapPoints.current.length>0),o=P(()=>e.modal.current),s=P(()=>({id:t.id.current,onmouseup:e.onRelease,"data-vaul-overlay":"","data-vaul-snap-points":e.open.current&&i(n)?"true":"false","data-vaul-snap-points-overlay":e.open.current&&e.shouldFade?"true":"false","data-vaul-animate":e.shouldAnimate?"true":"false"}));return{get props(){return i(s)},get shouldRender(){return i(o)},setMounted:a=>{w(r,a,!0)}}}var Yh=z(" ",1);function jh(t,e){W(e,!0);let r=f(e,"id",19,Ko),n=f(e,"ref",15,null),o=te(e,["$$slots","$$events","$$legacy","id","ref","children"]);const s=Kh({id:m.with(()=>r()),ref:m.with(()=>n(),h=>n(h))}),a=P(()=>le(o,s.props));var l=N(),c=T(l);{var d=h=>{var u=N(),g=T(u);de(g,()=>sa,(v,b)=>{b(v,$(()=>i(a),{children:(y,_)=>{var x=Yh(),O=T(x);Yo(O,{get onMounted(){return s.setMounted}});var S=q(O,2);G(S,()=>e.children??re),p(y,x)},$$slots:{default:!0}}))}),p(h,u)};Q(c,h=>{s.shouldRender&&h(d)})}p(t,l),U()}function Gh(t,e){W(e,!0);const r=Ut.get();let n=f(e,"to",19,()=>r.container.current??void 0),o=te(e,["$$slots","$$events","$$legacy","to"]);var s=N(),a=T(s);de(a,()=>Kr,(l,c)=>{c(l,$({get to(){return n()}},()=>o))}),p(t,s),U()}const Xh=ds,qh=la;function Zh(t,e){W(e,!0);let r=f(e,"shouldScaleBackground",3,!0),n=f(e,"open",15,!1),o=f(e,"activeSnapPoint",15,null),s=te(e,["$$slots","$$events","$$legacy","shouldScaleBackground","open","activeSnapPoint"]);var a=N(),l=T(a);de(l,()=>Vh,(c,d)=>{d(c,$({get shouldScaleBackground(){return r()}},()=>s,{get open(){return n()},set open(h){n(h)},get activeSnapPoint(){return o()},set activeSnapPoint(h){o(h)}}))}),p(t,a),U()}function Jh(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","class"]);var o=N(),s=T(o);const a=P(()=>Oe("fixed inset-0 z-50 bg-black/80",e.class));de(s,()=>jh,(l,c)=>{c(l,$({get class(){return i(a)}},()=>n,{get ref(){return r()},set ref(d){r(d)}}))}),p(t,o),U()}var Qh=z('
    ',1),$h=z(" ",1);function ef(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","class","portalProps","children"]);var o=N(),s=T(o);de(s,()=>Gh,(a,l)=>{l(a,$(()=>e.portalProps,{children:(c,d)=>{var h=$h(),u=T(h);Jh(u,{});var g=q(u,2);const v=P(()=>Oe("bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border",e.class));de(g,()=>Uh,(b,y)=>{y(b,$({get class(){return i(v)}},()=>n,{get ref(){return r()},set ref(_){r(_)},children:(_,x)=>{var O=Qh(),S=q(T(O),2);G(S,()=>e.children??re),p(_,O)},$$slots:{default:!0}}))}),p(c,h)},$$slots:{default:!0}}))}),p(t,o),U()}function tf(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","class"]);var o=N(),s=T(o);const a=P(()=>Oe("text-muted-foreground text-sm",e.class));de(s,()=>qh,(l,c)=>{c(l,$({get class(){return i(a)}},()=>n,{get ref(){return r()},set ref(d){r(d)}}))}),p(t,o),U()}var rf=z("
    ");function nf(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","class","children"]);var o=rf();he(o,a=>({class:a,...n}),[()=>Oe("grid gap-1.5 p-4 text-center sm:text-left",e.class)]);var s=L(o);G(s,()=>e.children??re),F(o),Zn(o,a=>r(a),()=>r()),p(t,o),U()}function of(t,e){W(e,!0);let r=f(e,"ref",15,null),n=te(e,["$$slots","$$events","$$legacy","ref","class"]);var o=N(),s=T(o);const a=P(()=>Oe("text-lg font-semibold leading-none tracking-tight",e.class));de(s,()=>Xh,(l,c)=>{c(l,$({get class(){return i(a)}},()=>n,{get ref(){return r()},set ref(d){r(d)}}))}),p(t,o),U()}var sf=z(" Keyboard Shortcuts",1),af=z(" ",1),lf=z(' '),cf=z('+'),uf=z(" ",1),df=z('
    '),hf=z('

    '),ff=z('

    Press to open this help • Press or click outside to close

    ',1);function gf(t,e){W(e,!1);const r=Xe();let n=Xe(!1);ot(()=>{Ot.onHelpShow(()=>{w(n,!0)}),Ot.onHelpHide(()=>{w(n,!1)})});function o(a){return a.replace("ctrl+","Ctrl+").replace("cmd+","Cmd+").replace("shift+","Shift+").replace("alt+","Alt+").replace(" ","+")}function s(a){w(n,a)}Tt(()=>Ot,()=>{w(r,Ot.getShortcutGroups())}),qn(),Rt(),Zh(t,{onOpenChange:s,get open(){return i(n)},set open(a){w(n,a)},children:(a,l)=>{ef(a,{class:"max-w-full mx-4 md:mx-8 lg:mx-16 max-h-[85vh]",children:(c,d)=>{var h=ff(),u=T(h);nf(u,{class:"text-center",children:(O,S)=>{var C=af(),R=T(C);of(R,{class:"flex items-center justify-center gap-2",children:(E,I)=>{var A=sf(),M=T(A);wd(M,{class:"w-5 h-5"}),xe(),p(E,A)},$$slots:{default:!0}});var D=q(R,2);tf(D,{children:(E,I)=>{xe();var A=Re("Navigate the application faster with these keyboard shortcuts");p(E,A)},$$slots:{default:!0}}),p(O,C)},$$slots:{default:!0}});var g=q(u,2),v=L(g);At(v,5,()=>i(r),Et,(O,S)=>{var C=hf(),R=L(C),D=L(R,!0);F(R);var E=q(R,2);At(E,5,()=>(i(S),ge(()=>i(S).shortcuts)),Et,(I,A)=>{var M=df(),X=L(M),j=L(X),K=L(j,!0);F(j);var H=q(j,2);{var Z=Y=>{var k=lf(),ee=L(k);F(k),Ie(()=>Le(ee,`Available on ${i(A),ge(()=>i(A).context==="results"?"search results pages":"table navigation")??""}`)),p(Y,k)};Q(H,Y=>{i(A),ge(()=>i(A).context&&i(A).context!=="global")&&Y(Z)})}F(X);var J=q(X,2);At(J,5,()=>(i(A),ge(()=>o(i(A).key).split("+"))),Et,(Y,k)=>{var ee=uf(),se=T(ee);lt(se,{variant:"outline",class:"text-xs font-mono px-2 py-1 bg-background",children:(ue,V)=>{xe();var ne=Re();Ie(()=>Le(ne,i(k))),p(ue,ne)},$$slots:{default:!0}});var ce=q(se,2);{var ie=ue=>{var V=cf();p(ue,V)};Q(ce,ue=>{i(A),i(k),ge(()=>o(i(A).key).split("+").indexOf(i(k))Le(K,(i(A),ge(()=>i(A).description)))),p(I,M)}),F(E),F(C),Ie(()=>Le(D,(i(S),ge(()=>i(S).title)))),p(O,C)}),F(v);var b=q(v,2),y=L(b),_=q(L(y));lt(_,{variant:"outline",class:"text-xs font-mono px-2 py-1 bg-background",children:(O,S)=>{xe();var C=Re("?");p(O,C)},$$slots:{default:!0}});var x=q(_,2);lt(x,{variant:"outline",class:"text-xs font-mono px-2 py-1 bg-background",children:(O,S)=>{xe();var C=Re("Esc");p(O,C)},$$slots:{default:!0}}),xe(),F(y),F(b),F(g),p(c,h)},$$slots:{default:!0}})},$$slots:{default:!0},$$legacy:!0}),U()}var vf=z('
    ',1);function Tf(t,e){W(e,!1);let r=Xe(null);ot(()=>{}),ci(()=>{Ot.destroy()}),Rt(),Td(t,{children:(n,o)=>{yh(n,{get error(){return i(r)},reset:()=>w(r,null),children:(s,a)=>{var l=vf(),c=T(l),d=L(c),h=L(d);vh(h,{});var u=q(h,2),g=L(u);je(g,e,"default",{}),F(u),F(d),F(c);var v=q(c,2);gf(v,{}),p(s,l)},$$slots:{default:!0}})},$$slots:{default:!0}}),U()}export{Tf as component}; diff --git a/.svelte-kit/output/client/_app/immutable/nodes/1.KYvgsKgm.js b/.svelte-kit/output/client/_app/immutable/nodes/1.KYvgsKgm.js new file mode 100644 index 0000000..86d2671 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/nodes/1.KYvgsKgm.js @@ -0,0 +1 @@ +import{f as d,c as h}from"../chunks/CBa6YeNv.js";import{i as l}from"../chunks/D9r2v96-.js";import{p as _,K as v,L as x,b as k,M as o,N as p,O as $,E as u,G as m}from"../chunks/CcQSGzXg.js";import{s as n}from"../chunks/CkeX2SFv.js";import{s as b,p as r}from"../chunks/G-SkzPYD.js";const E={get data(){return r.data},get error(){return r.error},get form(){return r.form},get params(){return r.params},get route(){return r.route},get state(){return r.state},get status(){return r.status},get url(){return r.url}};b.updated.check;const t=E;var G=d("

    ",1);function j(f,g){_(g,!1),l();var a=G(),e=v(a),i=o(e,!0);p(e);var s=$(e,2),c=o(s,!0);p(s),x(()=>{n(i,(m(t),u(()=>t.status))),n(c,(m(t),u(()=>t.error?.message)))}),h(f,a),k()}export{j as component}; diff --git a/.svelte-kit/output/client/_app/immutable/nodes/2.CDiNaOwl.js b/.svelte-kit/output/client/_app/immutable/nodes/2.CDiNaOwl.js new file mode 100644 index 0000000..7bfd227 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/nodes/2.CDiNaOwl.js @@ -0,0 +1,2 @@ +import{e as $,c as l,f as A,g as Ie,t as Q}from"../chunks/CBa6YeNv.js";import{i as Ce}from"../chunks/D9r2v96-.js";import{ao as T,g as n,s as G,am as fe,C as Pe,aa as _e,p as K,K as p,b as N,M as B,a0 as te,N as M,aw as P,O as z,al as Se}from"../chunks/CcQSGzXg.js";import{a as V,b as re,c as oe,r as X,d as Y,e as Re}from"../chunks/C-0S9jGX.js";import{p as b,i as ae,r as W,b as Ae,c as S,d as ve}from"../chunks/CSbn2Ldu.js";import{g as q}from"../chunks/G-SkzPYD.js";import{A as ce,a as he,b as ge,c as ue,d as k,E as Ee,i as Be,H as Me,C as $e,u as ie,g as xe,e as me,f as De,w as we,S as Oe,h as ze,j as Ke,k as Ne,l as He,m as pe,n as ne,o as je,p as le}from"../chunks/CR6-c37r.js";function Fe(t){return window.getComputedStyle(t).getPropertyValue("direction")}function Ue(t="ltr",e="horizontal"){return{horizontal:t==="rtl"?ge:he,vertical:ue}[e]}function Ve(t="ltr",e="horizontal"){return{horizontal:t==="rtl"?he:ge,vertical:ce}[e]}function Le(t="ltr",e="horizontal"){return["ltr","rtl"].includes(t)||(t="ltr"),["horizontal","vertical"].includes(e)||(e="horizontal"),{nextKey:Ue(t,e),prevKey:Ve(t,e)}}function Ge(t){const e=k(null);function r(){if(!Be)return[];const o=document.getElementById(t.rootNodeId.current);return o?t.candidateSelector?Array.from(o.querySelectorAll(t.candidateSelector)):t.candidateAttr?Array.from(o.querySelectorAll(`[${t.candidateAttr}]:not([data-disabled])`)):[]:[]}function s(){const o=r();o.length&&o[0]?.focus()}function a(o,h,u=!1){const i=document.getElementById(t.rootNodeId.current);if(!i||!o)return;const _=r();if(!_.length)return;const d=_.indexOf(o),f=Fe(i),{nextKey:v,prevKey:I}=Le(f,t.orientation.current),D=t.loop.current,L={[v]:d+1,[I]:d-1,[Me]:0,[Ee]:_.length-1};if(u){const x=v===ue?he:ue,R=I===ce?ge:ce;L[x]=d+1,L[R]=d-1}let m=L[h.key];if(m===void 0)return;h.preventDefault(),m<0&&D?m=_.length-1:m===_.length&&D&&(m=0);const C=_[m];if(C)return C.focus(),e.current=C.id,t.onCandidateFocus?.(C),C}function c(o){const h=r(),u=e.current!==null;return o&&!u&&h[0]===o?(e.current=o.id,0):o?.id===e.current?0:-1}return{setCurrentTabStopId(o){e.current=o},getTabIndex:c,handleKeydown:a,focusFirstCandidate:s,currentTabStopId:e}}const We="data-tabs-root",qe="data-tabs-list",ye="data-tabs-trigger",Je="data-tabs-content";class Qe{opts;rovingFocusGroup;#t=fe(_e([]));get triggerIds(){return n(this.#t)}set triggerIds(e){G(this.#t,e,!0)}valueToTriggerId=new pe;valueToContentId=new pe;constructor(e){this.opts=e,ie(e),this.rovingFocusGroup=Ge({candidateAttr:ye,rootNodeId:this.opts.id,loop:this.opts.loop,orientation:this.opts.orientation})}registerTrigger(e,r){return this.triggerIds.push(e),this.valueToTriggerId.set(r,e),()=>{this.triggerIds=this.triggerIds.filter(s=>s!==e),this.valueToTriggerId.delete(r)}}registerContent(e,r){return this.valueToContentId.set(r,e),()=>{this.valueToContentId.delete(r)}}setValue(e){this.opts.value.current=e}#e=T(()=>({id:this.opts.id.current,"data-orientation":me(this.opts.orientation.current),[We]:""}));get props(){return n(this.#e)}set props(e){G(this.#e,e)}}class Xe{opts;root;#t=T(()=>this.root.opts.disabled.current);constructor(e,r){this.opts=e,this.root=r,ie(e)}#e=T(()=>({id:this.opts.id.current,role:"tablist","aria-orientation":De(this.root.opts.orientation.current),"data-orientation":me(this.root.opts.orientation.current),[qe]:"","data-disabled":xe(n(this.#t))}));get props(){return n(this.#e)}set props(e){G(this.#e,e)}}class Ye{opts;root;#t=T(()=>this.root.opts.value.current===this.opts.value.current);#e=T(()=>this.opts.disabled.current||this.root.opts.disabled.current);#r=fe(0);#a=T(()=>this.root.valueToContentId.get(this.opts.value.current));constructor(e,r){this.opts=e,this.root=r,ie(e),we([()=>this.opts.id.current,()=>this.opts.value.current],([s,a])=>this.root.registerTrigger(s,a)),Pe(()=>{this.root.triggerIds.length,n(this.#t)||!this.root.opts.value.current?G(this.#r,0):G(this.#r,-1)}),this.onfocus=this.onfocus.bind(this),this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this)}#s(){this.root.opts.value.current!==this.opts.value.current&&this.root.setValue(this.opts.value.current)}onfocus(e){this.root.opts.activationMode.current!=="automatic"||n(this.#e)||this.#s()}onclick(e){n(this.#e)||this.#s()}onkeydown(e){if(!n(this.#e)){if(e.key===Oe||e.key===ze){e.preventDefault(),this.#s();return}this.root.rovingFocusGroup.handleKeydown(this.opts.ref.current,e)}}#o=T(()=>({id:this.opts.id.current,role:"tab","data-state":ke(n(this.#t)),"data-value":this.opts.value.current,"data-orientation":me(this.root.opts.orientation.current),"data-disabled":xe(n(this.#e)),"aria-selected":Ne(n(this.#t)),"aria-controls":n(this.#a),[ye]:"",disabled:Ke(n(this.#e)),tabindex:n(this.#r),onclick:this.onclick,onfocus:this.onfocus,onkeydown:this.onkeydown}));get props(){return n(this.#o)}set props(e){G(this.#o,e)}}class Ze{opts;root;#t=T(()=>this.root.opts.value.current===this.opts.value.current);#e=T(()=>this.root.valueToTriggerId.get(this.opts.value.current));constructor(e,r){this.opts=e,this.root=r,ie(e),we([()=>this.opts.id.current,()=>this.opts.value.current],([s,a])=>this.root.registerContent(s,a))}#r=T(()=>({id:this.opts.id.current,role:"tabpanel",hidden:He(!n(this.#t)),tabindex:0,"data-value":this.opts.value.current,"data-state":ke(n(this.#t)),"aria-labelledby":n(this.#e),[Je]:""}));get props(){return n(this.#r)}set props(e){G(this.#r,e)}}const de=new $e("Tabs.Root");function et(t){return de.set(new Qe(t))}function tt(t){return new Ye(t,de.get())}function rt(t){return new Xe(t,de.get())}function st(t){return new Ze(t,de.get())}function ke(t){return t?"active":"inactive"}var ot=A("
    ");function at(t,e){K(e,!0);let r=b(e,"id",19,ne),s=b(e,"ref",15,null),a=b(e,"value",15,""),c=b(e,"onValueChange",3,je),o=b(e,"orientation",3,"horizontal"),h=b(e,"loop",3,!0),u=b(e,"activationMode",3,"automatic"),i=b(e,"disabled",3,!1),_=W(e,["$$slots","$$events","$$legacy","id","ref","value","onValueChange","orientation","loop","activationMode","disabled","children","child"]);const d=et({id:k.with(()=>r()),value:k.with(()=>a(),m=>{a(m),c()(m)}),orientation:k.with(()=>o()),loop:k.with(()=>h()),activationMode:k.with(()=>u()),disabled:k.with(()=>i()),ref:k.with(()=>s(),m=>s(m))}),f=T(()=>le(_,d.props));var v=$(),I=p(v);{var D=m=>{var C=$(),x=p(C);V(x,()=>e.child,()=>({props:n(f)})),l(m,C)},L=m=>{var C=ot();re(C,()=>({...n(f)}));var x=B(C);V(x,()=>e.children??te),M(C),l(m,C)};ae(I,m=>{e.child?m(D):m(L,!1)})}l(t,v),N()}var it=A("
    ");function nt(t,e){K(e,!0);let r=b(e,"id",19,ne),s=b(e,"ref",15,null),a=W(e,["$$slots","$$events","$$legacy","children","child","id","ref","value"]);const c=st({value:k.with(()=>e.value),id:k.with(()=>r()),ref:k.with(()=>s(),d=>s(d))}),o=T(()=>le(a,c.props));var h=$(),u=p(h);{var i=d=>{var f=$(),v=p(f);V(v,()=>e.child,()=>({props:n(o)})),l(d,f)},_=d=>{var f=it();re(f,()=>({...n(o)}));var v=B(f);V(v,()=>e.children??te),M(f),l(d,f)};ae(u,d=>{e.child?d(i):d(_,!1)})}l(t,h),N()}var lt=A("
    ");function dt(t,e){K(e,!0);let r=b(e,"id",19,ne),s=b(e,"ref",15,null),a=W(e,["$$slots","$$events","$$legacy","child","children","id","ref"]);const c=rt({id:k.with(()=>r()),ref:k.with(()=>s(),d=>s(d))}),o=T(()=>le(a,c.props));var h=$(),u=p(h);{var i=d=>{var f=$(),v=p(f);V(v,()=>e.child,()=>({props:n(o)})),l(d,f)},_=d=>{var f=lt();re(f,()=>({...n(o)}));var v=B(f);V(v,()=>e.children??te),M(f),l(d,f)};ae(u,d=>{e.child?d(i):d(_,!1)})}l(t,h),N()}var ct=A("");function ut(t,e){K(e,!0);let r=b(e,"disabled",3,!1),s=b(e,"id",19,ne),a=b(e,"type",3,"button"),c=b(e,"ref",15,null),o=W(e,["$$slots","$$events","$$legacy","child","children","disabled","id","type","value","ref"]);const h=tt({id:k.with(()=>s()),disabled:k.with(()=>r()??!1),value:k.with(()=>e.value),ref:k.with(()=>c(),v=>c(v))}),u=T(()=>le(o,h.props,{type:a()}));var i=$(),_=p(i);{var d=v=>{var I=$(),D=p(I);V(D,()=>e.child,()=>({props:n(u)})),l(v,I)},f=v=>{var I=ct();re(I,()=>({...n(u)}));var D=B(I);V(D,()=>e.children??te),M(I),l(v,I)};ae(_,v=>{e.child?v(d):v(f,!1)})}l(t,i),N()}var ft=A("
    ");function vt(t,e){K(e,!0);let r=b(e,"ref",15,null),s=W(e,["$$slots","$$events","$$legacy","ref","class","children"]);var a=ft();re(a,o=>({class:o,...s}),[()=>oe("bg-card text-card-foreground rounded-lg border shadow-sm",e.class)]);var c=B(a);V(c,()=>e.children??te),M(a),Ae(a,o=>r(o),()=>r()),l(t,a),N()}function Z(t,e){K(e,!0);let r=b(e,"ref",15,null),s=W(e,["$$slots","$$events","$$legacy","ref","class"]);var a=$(),c=p(a);const o=T(()=>oe("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",e.class));S(c,()=>nt,(h,u)=>{u(h,ve({get class(){return n(o)}},()=>s,{get ref(){return r()},set ref(i){r(i)}}))}),l(t,a),N()}function ht(t,e){K(e,!0);let r=b(e,"ref",15,null),s=W(e,["$$slots","$$events","$$legacy","ref","class"]);var a=$(),c=p(a);const o=T(()=>oe("bg-muted text-muted-foreground inline-flex h-10 items-center justify-center rounded-md p-1",e.class));S(c,()=>dt,(h,u)=>{u(h,ve({get class(){return n(o)}},()=>s,{get ref(){return r()},set ref(i){r(i)}}))}),l(t,a),N()}function ee(t,e){K(e,!0);let r=b(e,"ref",15,null),s=W(e,["$$slots","$$events","$$legacy","ref","class"]);var a=$(),c=p(a);const o=T(()=>oe("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",e.class));S(c,()=>ut,(h,u)=>{u(h,ve({get class(){return n(o)}},()=>s,{get ref(){return r()},set ref(i){r(i)}}))}),l(t,a),N()}const gt=at;var mt=A(" ",1),bt=(t,e)=>e(t,"smart"),pt=A(`

    Press Enter to search. I'll automatically detect the type of search.

    `,1),_t=(t,e)=>e(t,"username"),xt=A('

    Search for usernames across breach databases.

    ',1),wt=(t,e)=>e(t,"password"),yt=A(`

    ⚠️ Security Warning: This password will be checked against breach databases. Only + test passwords you no longer use.

    `,1),kt=(t,e)=>e(t,"domain"),Tt=A('

    Find all accounts associated with a specific domain.

    ',1),It=(t,e)=>e(t,"email"),Ct=A('

    Search for email addresses and view detailed breach information from Have I Been Pwned.

    ',1),Pt=A(" ",1);function St(t,e){K(e,!0);let r=fe("smart"),s=_e({smart:"",username:"",password:"",domain:"",email:""});function a(u){const i=s[u];if(i)switch(u){case"smart":i.includes("@")?q(`/email/${encodeURIComponent(i)}`):i.includes(".")&&!i.includes(" ")?q(`/domain/${encodeURIComponent(i)}`):q(`/username/${encodeURIComponent(i)}`);break;case"username":q(`/username/${encodeURIComponent(i)}`);break;case"password":q(`/password/${encodeURIComponent(i)}`);break;case"domain":q(`/domain/${encodeURIComponent(i)}`);break;case"email":q(`/email/${encodeURIComponent(i)}`);break}}function c(u,i){u.key==="Enter"&&a(i)}var o=$(),h=p(o);S(h,()=>gt,(u,i)=>{i(u,{class:"w-full",get value(){return n(r)},set value(_){G(r,_,!0)},children:(_,d)=>{var f=Pt(),v=p(f);S(v,()=>ht,(x,R)=>{R(x,{class:"grid w-full grid-cols-5 mb-6",children:(O,J)=>{var w=mt(),y=p(w);S(y,()=>ee,(H,j)=>{j(H,{value:"smart",class:"flex items-center gap-1",children:(F,se)=>{P();var U=Q("Smart Search");l(F,U)},$$slots:{default:!0}})});var g=z(y,2);S(g,()=>ee,(H,j)=>{j(H,{value:"username",class:"flex items-center gap-1",children:(F,se)=>{P();var U=Q("Username");l(F,U)},$$slots:{default:!0}})});var E=z(g,2);S(E,()=>ee,(H,j)=>{j(H,{value:"password",class:"flex items-center gap-1",children:(F,se)=>{P();var U=Q("Password");l(F,U)},$$slots:{default:!0}})});var be=z(E,2);S(be,()=>ee,(H,j)=>{j(H,{value:"domain",class:"flex items-center gap-1",children:(F,se)=>{P();var U=Q("Domain");l(F,U)},$$slots:{default:!0}})});var Te=z(be,2);S(Te,()=>ee,(H,j)=>{j(H,{value:"email",class:"flex items-center gap-1",children:(F,se)=>{P();var U=Q("Email");l(F,U)},$$slots:{default:!0}})}),l(O,w)},$$slots:{default:!0}})});var I=z(v,2);S(I,()=>Z,(x,R)=>{R(x,{value:"smart",class:"space-y-4",children:(O,J)=>{var w=pt(),y=p(w),g=B(y);X(g),g.__keydown=[bt,c],P(2),M(y),P(2),Y(g,()=>s.smart,E=>s.smart=E),l(O,w)},$$slots:{default:!0}})});var D=z(I,2);S(D,()=>Z,(x,R)=>{R(x,{value:"username",class:"space-y-4",children:(O,J)=>{var w=xt(),y=p(w),g=B(y);X(g),g.__keydown=[_t,c],P(2),M(y),P(2),Y(g,()=>s.username,E=>s.username=E),l(O,w)},$$slots:{default:!0}})});var L=z(D,2);S(L,()=>Z,(x,R)=>{R(x,{value:"password",class:"space-y-4",children:(O,J)=>{var w=yt(),y=p(w),g=B(y);X(g),g.__keydown=[wt,c],P(2),M(y),P(2),Y(g,()=>s.password,E=>s.password=E),l(O,w)},$$slots:{default:!0}})});var m=z(L,2);S(m,()=>Z,(x,R)=>{R(x,{value:"domain",class:"space-y-4",children:(O,J)=>{var w=Tt(),y=p(w),g=B(y);X(g),g.__keydown=[kt,c],P(2),M(y),P(2),Y(g,()=>s.domain,E=>s.domain=E),l(O,w)},$$slots:{default:!0}})});var C=z(m,2);S(C,()=>Z,(x,R)=>{R(x,{value:"email",class:"space-y-4",children:(O,J)=>{var w=Ct(),y=p(w),g=B(y);X(g),g.__keydown=[It,c],P(2),M(y),P(2),Y(g,()=>s.email,E=>s.email=E),l(O,w)},$$slots:{default:!0}})}),l(_,f)},$$slots:{default:!0}})}),l(t,o),N()}Ie(["keydown"]);var Rt=A('

    PassDB Search

    ');function zt(t,e){K(e,!1),Se(()=>{Re.clearBreadcrumbs()}),Ce();var r=Rt(),s=B(r),a=z(B(s),2);vt(a,{class:"p-6 border-0",children:(c,o)=>{St(c,{})},$$slots:{default:!0}}),M(s),M(r),l(t,r),N()}export{zt as component}; diff --git a/.svelte-kit/output/client/_app/immutable/nodes/3.CJC8mRMn.js b/.svelte-kit/output/client/_app/immutable/nodes/3.CJC8mRMn.js new file mode 100644 index 0000000..8419f57 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/nodes/3.CJC8mRMn.js @@ -0,0 +1 @@ +import"../chunks/CBa6YeNv.js";import{i as n}from"../chunks/D9r2v96-.js";import{p as c,l as f,a as u,b as _,s as d,m as g,g as s,d as l}from"../chunks/CcQSGzXg.js";import{s as b,a as $}from"../chunks/CSbn2Ldu.js";import{p as y}from"../chunks/C-0S9jGX.js";import{S as h}from"../chunks/ChoBOLD_.js";function D(o,r){c(r,!1);const[t,m]=b(),a=()=>$(y,"$page",t),e=g();f(()=>a(),()=>{d(e,a().params.domain)}),u(),n();const p=l(()=>({domain:s(e)}));h(o,{get params(){return s(p)},apiPath:"domains",paramKey:"domain",breadcrumbLabel:"Domain",formatBreadcrumb:i=>i}),_(),m()}export{D as component}; diff --git a/.svelte-kit/output/client/_app/immutable/nodes/4.CooLQXsS.js b/.svelte-kit/output/client/_app/immutable/nodes/4.CooLQXsS.js new file mode 100644 index 0000000..d9c5434 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/nodes/4.CooLQXsS.js @@ -0,0 +1 @@ +import{b as ee,d as ke,e as K,c as u,f as L}from"../chunks/CBa6YeNv.js";import{i as ie}from"../chunks/D9r2v96-.js";import{L as H,z as ae,k as te,A as we,P as be,n as se,e as ye,q as Le,f as $e,j as Ce,c as z,p as de,K as F,b as ne,M as a,N as e,O as v,E as d,g as t,d as le,G as je,l as Be,a as Pe,s as He,m as Me}from"../chunks/CcQSGzXg.js";import{p as Te,i as y,s as ze,a as De}from"../chunks/CSbn2Ldu.js";import{s as re,p as Re}from"../chunks/C-0S9jGX.js";import{u as Se,L as Ee,S as Ne}from"../chunks/ChoBOLD_.js";import{s as b}from"../chunks/CkeX2SFv.js";import{e as Ae,i as Ie}from"../chunks/pk0RzIpj.js";function Oe(_,m,x=!1,n=!1,$=!1){var l=_,p="";H(()=>{var o=we;if(p===(p=m()??"")){ae&&te();return}if(o.nodes_start!==null&&(be(o.nodes_start,o.nodes_end),o.nodes_start=o.nodes_end=null),p!==""){if(ae){se.data;for(var i=te(),g=i;i!==null&&(i.nodeType!==8||i.data!=="");)g=i,i=ye(i);if(i===null)throw Le(),$e;ee(se,g),l=Ce(i);return}var c=p+"";x?c=`${c}`:n&&(c=`${c}`);var s=ke(c);if((x||n)&&(s=z(s)),ee(z(s),s.lastChild),x||n)for(;z(s);)l.before(z(s));else l.before(s)}})}function oe(_){const m=document.createElement("div");return m.textContent=_,m.innerHTML}var qe=L('
    '),Ke=L('

    Unable to check breaches

    '),Fe=L('
    '),Ge=L('

    '),Ue=L('

    Data Breaches

    '),Ve=L(`

    No breaches found

    This email hasn't been found in any known data breaches

    `);function Ye(_,m){de(m,!1);let x=Te(m,"email",8);const{data:n,loading:$,error:l,isSuccess:p}=Se(`/breaches/${x()}`);ie();var o=K(),i=F(o);{var g=s=>{var f=qe(),D=a(f);Ee(D,{type:"spinner",message:"Checking breach databases..."}),e(f),u(s,f)},c=(s,f)=>{{var D=h=>{var C=Ke(),M=a(C),k=a(M),j=v(a(k),2),T=v(a(j),2),R=a(T,!0);e(T),e(j),e(k),e(M),e(C),H(()=>b(R,d(()=>l.message))),u(h,C)},ve=(h,C)=>{{var M=k=>{var j=K(),T=F(j);{var R=w=>{var B=Ue(),S=a(B),G=v(a(S),2),ce=a(G);e(G),e(S);var U=v(S,2);Ae(U,5,()=>n,Ie,(fe,r)=>{var E=Ge(),V=a(E),Y=a(V);{var ue=P=>{var q=Fe(),Z=a(q);e(q),H(()=>{re(Z,"src",(t(r),d(()=>t(r).LogoPath))),re(Z,"alt",(t(r),d(()=>t(r).Title)))}),u(P,q)};y(Y,P=>{t(r),d(()=>t(r).LogoPath)&&P(ue)})}var J=v(Y,2),N=a(J),A=a(N),pe=a(A,!0);e(A);var Q=v(A,2),_e=a(Q);e(Q),e(N);var I=v(N,2),O=a(I),xe=v(a(O));e(O);var W=v(O,2),ge=v(a(W));e(W),e(I);var X=v(I,2),he=a(X);Oe(he,()=>(je(oe),t(r),d(()=>oe(t(r).Description)))),e(X),e(J),e(V),e(E),H(P=>{b(pe,(t(r),d(()=>t(r).Title))),b(_e,`${P??""} accounts`),b(xe,` ${t(r),d(()=>t(r).Domain)??""}`),b(ge,` ${t(r),d(()=>t(r).Date)??""}`)},[()=>(t(r),d(()=>Number(t(r).Count).toLocaleString()))],le),u(fe,E)}),e(U),e(B),H(()=>b(ce,`Found ${d(()=>n.length)??""} breach${d(()=>n.length!==1?"es":"")??""} for this email`)),u(w,B)},me=w=>{var B=Ve();u(w,B)};y(T,w=>{d(()=>n.length>0)?w(R):w(me,!1)})}u(k,j)};y(h,k=>{p&&n&&k(M)},C)}};y(s,h=>{l?h(D):h(ve,!1)},f)}};y(i,s=>{$?s(g):s(c,!1)})}u(_,o),ne()}function sa(_,m){de(m,!1);const[x,n]=ze(),$=()=>De(Re,"$page",x),l=Me();Be(()=>$(),()=>{He(l,$().params.email)}),Pe(),ie();const p=le(()=>({email:t(l)}));Ne(_,{get params(){return t(p)},apiPath:"emails",paramKey:"email",breadcrumbLabel:"Email",formatBreadcrumb:o=>o,children:(o,i)=>{var g=K(),c=F(g);{var s=f=>{Ye(f,{get email(){return t(l)}})};y(c,f=>{t(l)&&f(s)})}u(o,g)},$$slots:{default:!0}}),ne(),n()}export{sa as component}; diff --git a/.svelte-kit/output/client/_app/immutable/nodes/5.D0T96Kel.js b/.svelte-kit/output/client/_app/immutable/nodes/5.D0T96Kel.js new file mode 100644 index 0000000..514d4de --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/nodes/5.D0T96Kel.js @@ -0,0 +1 @@ +import"../chunks/CBa6YeNv.js";import{i as f}from"../chunks/D9r2v96-.js";import{p as i,l as u,a as g,b as _,s as d,g as r,d as l,m as b}from"../chunks/CcQSGzXg.js";import{s as $,a as w}from"../chunks/CSbn2Ldu.js";import{p as h}from"../chunks/C-0S9jGX.js";import{S as y}from"../chunks/ChoBOLD_.js";function B(t,o){i(o,!1);const[p,m]=$(),a=()=>w(h,"$page",p),e=b();function n(s){return s.length>20?s.substring(0,20)+"...":s}u(()=>a(),()=>{d(e,a().params.password)}),g(),f();const c=l(()=>({password:r(e)}));y(t,{get params(){return r(c)},apiPath:"passwords",paramKey:"password",breadcrumbLabel:"Password",formatBreadcrumb:n}),_(),m()}export{B as component}; diff --git a/.svelte-kit/output/client/_app/immutable/nodes/6.BYAxnuLT.js b/.svelte-kit/output/client/_app/immutable/nodes/6.BYAxnuLT.js new file mode 100644 index 0000000..4c15090 --- /dev/null +++ b/.svelte-kit/output/client/_app/immutable/nodes/6.BYAxnuLT.js @@ -0,0 +1 @@ +import"../chunks/CBa6YeNv.js";import{i as c}from"../chunks/D9r2v96-.js";import{p as f,l as i,a as u,b as _,s as g,g as s,d as l,m as b}from"../chunks/CcQSGzXg.js";import{s as $,a as d}from"../chunks/CSbn2Ldu.js";import{p as y}from"../chunks/C-0S9jGX.js";import{S as h}from"../chunks/ChoBOLD_.js";function K(r,t){f(t,!1);const[o,m]=$(),e=()=>d(y,"$page",o),a=b();i(()=>e(),()=>{g(a,e().params.name)}),u(),c();const p=l(()=>({name:s(a)}));h(r,{get params(){return s(p)},apiPath:"usernames",paramKey:"name",breadcrumbLabel:"Username",formatBreadcrumb:n=>n}),_(),m()}export{K as component}; diff --git a/.svelte-kit/output/client/_app/version.json b/.svelte-kit/output/client/_app/version.json new file mode 100644 index 0000000..ce337a8 --- /dev/null +++ b/.svelte-kit/output/client/_app/version.json @@ -0,0 +1 @@ +{"version":"1751228651306"} \ No newline at end of file diff --git a/.svelte-kit/output/prerendered/dependencies/_app/env.js b/.svelte-kit/output/prerendered/dependencies/_app/env.js new file mode 100644 index 0000000..f5427da --- /dev/null +++ b/.svelte-kit/output/prerendered/dependencies/_app/env.js @@ -0,0 +1 @@ +export const env={} \ No newline at end of file diff --git a/.svelte-kit/output/server/.vite/manifest.json b/.svelte-kit/output/server/.vite/manifest.json new file mode 100644 index 0000000..97a932c --- /dev/null +++ b/.svelte-kit/output/server/.vite/manifest.json @@ -0,0 +1,176 @@ +{ + ".svelte-kit/generated/server/internal.js": { + "file": "internal.js", + "name": "internal", + "src": ".svelte-kit/generated/server/internal.js", + "isEntry": true, + "imports": [ + "_internal.js" + ] + }, + "_SearchResultLayout.js": { + "file": "chunks/SearchResultLayout.js", + "name": "SearchResultLayout", + "imports": [ + "_index.js", + "_breadcrumbs.js", + "_keyboard-shortcuts.js", + "_exports.js", + "_client.js" + ] + }, + "_breadcrumbs.js": { + "file": "chunks/breadcrumbs.js", + "name": "breadcrumbs", + "imports": [ + "_exports.js", + "_client.js", + "_index.js" + ] + }, + "_client.js": { + "file": "chunks/client.js", + "name": "client", + "imports": [ + "_exports.js", + "_index.js" + ] + }, + "_events.js": { + "file": "chunks/events.js", + "name": "events", + "imports": [ + "_index.js" + ] + }, + "_exports.js": { + "file": "chunks/exports.js", + "name": "exports", + "imports": [ + "_index.js" + ] + }, + "_index.js": { + "file": "chunks/index.js", + "name": "index" + }, + "_internal.js": { + "file": "chunks/internal.js", + "name": "internal", + "imports": [ + "_index.js", + "_events.js" + ] + }, + "_keyboard-shortcuts.js": { + "file": "chunks/keyboard-shortcuts.js", + "name": "keyboard-shortcuts", + "imports": [ + "_index.js", + "_breadcrumbs.js", + "_client.js", + "_exports.js" + ] + }, + "_noop.js": { + "file": "chunks/noop.js", + "name": "noop", + "imports": [ + "_index.js" + ] + }, + "node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte": { + "file": "entries/fallbacks/error.svelte.js", + "name": "entries/fallbacks/error.svelte", + "src": "node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte", + "isEntry": true, + "imports": [ + "_index.js", + "_client.js" + ] + }, + "node_modules/@sveltejs/kit/src/runtime/server/index.js": { + "file": "index.js", + "name": "index", + "src": "node_modules/@sveltejs/kit/src/runtime/server/index.js", + "isEntry": true, + "imports": [ + "_index.js", + "_internal.js", + "_exports.js" + ] + }, + "src/routes/+layout.svelte": { + "file": "entries/pages/_layout.svelte.js", + "name": "entries/pages/_layout.svelte", + "src": "src/routes/+layout.svelte", + "isEntry": true, + "imports": [ + "_index.js", + "_keyboard-shortcuts.js", + "_client.js", + "_breadcrumbs.js", + "_noop.js", + "_events.js" + ], + "css": [ + "_app/immutable/assets/_layout.CoPY42nB.css" + ] + }, + "src/routes/+page.svelte": { + "file": "entries/pages/_page.svelte.js", + "name": "entries/pages/_page.svelte", + "src": "src/routes/+page.svelte", + "isEntry": true, + "imports": [ + "_index.js", + "_breadcrumbs.js", + "_client.js", + "_noop.js" + ] + }, + "src/routes/domain/[domain]/+page.svelte": { + "file": "entries/pages/domain/_domain_/_page.svelte.js", + "name": "entries/pages/domain/_domain_/_page.svelte", + "src": "src/routes/domain/[domain]/+page.svelte", + "isEntry": true, + "imports": [ + "_index.js", + "_breadcrumbs.js", + "_SearchResultLayout.js" + ] + }, + "src/routes/email/[email]/+page.svelte": { + "file": "entries/pages/email/_email_/_page.svelte.js", + "name": "entries/pages/email/_email_/_page.svelte", + "src": "src/routes/email/[email]/+page.svelte", + "isEntry": true, + "imports": [ + "_index.js", + "_breadcrumbs.js", + "_SearchResultLayout.js" + ] + }, + "src/routes/password/[password]/+page.svelte": { + "file": "entries/pages/password/_password_/_page.svelte.js", + "name": "entries/pages/password/_password_/_page.svelte", + "src": "src/routes/password/[password]/+page.svelte", + "isEntry": true, + "imports": [ + "_index.js", + "_breadcrumbs.js", + "_SearchResultLayout.js" + ] + }, + "src/routes/username/[name]/+page.svelte": { + "file": "entries/pages/username/_name_/_page.svelte.js", + "name": "entries/pages/username/_name_/_page.svelte", + "src": "src/routes/username/[name]/+page.svelte", + "isEntry": true, + "imports": [ + "_index.js", + "_breadcrumbs.js", + "_SearchResultLayout.js" + ] + } +} \ No newline at end of file diff --git a/.svelte-kit/output/server/_app/immutable/assets/_layout.CoPY42nB.css b/.svelte-kit/output/server/_app/immutable/assets/_layout.CoPY42nB.css new file mode 100644 index 0000000..ea7bbdb --- /dev/null +++ b/.svelte-kit/output/server/_app/immutable/assets/_layout.CoPY42nB.css @@ -0,0 +1 @@ +[data-scroll-area-viewport]{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}[data-scroll-area-viewport]::-webkit-scrollbar{display:none!important}:where([data-scroll-area-viewport]){display:flex;flex-direction:column;align-items:stretch}:where([data-scroll-area-content]){flex-grow:1}[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1);animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform, 100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform, 100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{transition:opacity .5s cubic-bezier(.32,.72,0,1);opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true]):after{content:"";position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:hover,[data-vaul-handle]:active{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@keyframes fake-animation{}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{0%{transform:translate3d(0,var(--initial-transform, 100%),0)}to{transform:translateZ(0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform, 100%),0)}}@keyframes slideFromTop{0%{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}to{transform:translateZ(0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}}@keyframes slideFromLeft{0%{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}to{transform:translateZ(0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}}@keyframes slideFromRight{0%{transform:translate3d(var(--initial-transform, 100%),0,0)}to{transform:translateZ(0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform, 100%),0,0)}}@media (hover: hover) and (pointer: fine){[data-vaul-drawer]{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}}@media (pointer: fine){[data-vaul-handle-hitarea]{width:100%;height:100%}}.table-row-focused{background-color:hsl(var(--muted) / .5);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.table-cell-focused{background-color:hsl(var(--primary) / .1);box-shadow:0 0 0 2px hsl(var(--primary) / .4)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{font-family:var(--font-sans);letter-spacing:var(--tracking-normal)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.m-8{margin:2rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-2{width:.5rem;height:.5rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-9{width:2.25rem;height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[400px\]{height:400px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[300px\]{max-height:300px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.min-h-8{min-height:2rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-80{width:20rem}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[32px\]{min-width:32px}.min-w-\[8rem\]{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[200px\]{max-width:200px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(var(--border) / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-accent\/30{border-color:rgb(var(--accent) / .3)}.border-border{--tw-border-opacity: 1;border-color:rgb(var(--border) / var(--tw-border-opacity, 1))}.border-border\/20{border-color:rgb(var(--border) / .2)}.border-border\/30{border-color:rgb(var(--border) / .3)}.border-border\/40{border-color:rgb(var(--border) / .4)}.border-border\/50{border-color:rgb(var(--border) / .5)}.border-destructive{--tw-border-opacity: 1;border-color:rgb(var(--destructive) / var(--tw-border-opacity, 1))}.border-destructive\/30{border-color:rgb(var(--destructive) / .3)}.border-input{--tw-border-opacity: 1;border-color:rgb(var(--input) / var(--tw-border-opacity, 1))}.border-muted{--tw-border-opacity: 1;border-color:rgb(var(--muted) / var(--tw-border-opacity, 1))}.border-primary{--tw-border-opacity: 1;border-color:rgb(var(--primary) / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.bg-accent\/10{background-color:rgb(var(--accent) / .1)}.bg-background{--tw-bg-opacity: 1;background-color:rgb(var(--background) / var(--tw-bg-opacity, 1))}.bg-background\/40{background-color:rgb(var(--background) / .4)}.bg-background\/75{background-color:rgb(var(--background) / .75)}.bg-background\/90{background-color:rgb(var(--background) / .9)}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-border{--tw-bg-opacity: 1;background-color:rgb(var(--border) / var(--tw-bg-opacity, 1))}.bg-card{--tw-bg-opacity: 1;background-color:rgb(var(--card) / var(--tw-bg-opacity, 1))}.bg-destructive{--tw-bg-opacity: 1;background-color:rgb(var(--destructive) / var(--tw-bg-opacity, 1))}.bg-destructive\/10{background-color:rgb(var(--destructive) / .1)}.bg-destructive\/20{background-color:rgb(var(--destructive) / .2)}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-muted{--tw-bg-opacity: 1;background-color:rgb(var(--muted) / var(--tw-bg-opacity, 1))}.bg-muted\/20{background-color:rgb(var(--muted) / .2)}.bg-muted\/30{background-color:rgb(var(--muted) / .3)}.bg-muted\/50{background-color:rgb(var(--muted) / .5)}.bg-popover{--tw-bg-opacity: 1;background-color:rgb(var(--popover) / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(var(--primary) / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-px{padding:1px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent{--tw-text-opacity: 1;color:rgb(var(--accent) / var(--tw-text-opacity, 1))}.text-accent-foreground{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-background{--tw-text-opacity: 1;color:rgb(var(--background) / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-card-foreground{--tw-text-opacity: 1;color:rgb(var(--card-foreground) / var(--tw-text-opacity, 1))}.text-destructive{--tw-text-opacity: 1;color:rgb(var(--destructive) / var(--tw-text-opacity, 1))}.text-destructive-foreground{--tw-text-opacity: 1;color:rgb(var(--destructive-foreground) / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.text-muted-foreground\/50{color:rgb(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:rgb(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:rgb(var(--muted-foreground) / .7)}.text-popover-foreground{--tw-text-opacity: 1;color:rgb(var(--popover-foreground) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(var(--primary) / var(--tw-text-opacity, 1))}.text-primary-foreground{--tw-text-opacity: 1;color:rgb(var(--primary-foreground) / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary{--tw-text-opacity: 1;color:rgb(var(--secondary) / var(--tw-text-opacity, 1))}.text-secondary-foreground{--tw-text-opacity: 1;color:rgb(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: rgb(var(--background) / 1)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--background: 249 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 100 149 237;--secondary-foreground: 255 255 255;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 102 217 239;--accent-foreground: 51 51 51;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 100 149 237;--chart-3: 102 217 239;--chart-4: 70 130 180;--chart-5: 26 150 65;--sidebar: 249 249 250;--sidebar-foreground: 51 51 51;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 102 217 239;--sidebar-accent-foreground: 51 51 51;--sidebar-border: 212 212 212;--sidebar-ring: 52 168 90;--font-sans: Plus Jakarta Sans, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .5rem;--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25)}.dark{--background: 26 29 35;--foreground: 229 229 229;--card: 47 52 54;--card-foreground: 229 229 229;--popover: 47 52 54;--popover-foreground: 229 229 229;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 70 130 180;--secondary-foreground: 229 229 229;--muted: 68 68 68;--muted-foreground: 163 163 163;--accent: 100 149 237;--accent-foreground: 229 229 229;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 70 130 180;--chart-3: 100 149 237;--chart-4: 102 217 239;--chart-5: 26 150 65;--sidebar: 26 29 35;--sidebar-foreground: 229 229 229;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 100 149 237;--sidebar-accent-foreground: 229 229 229;--sidebar-border: 68 68 68;--sidebar-ring: 52 168 90;--font-sans: Plus Jakarta Sans, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .5rem;--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25)}@theme inline{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); --font-sans: var(--font-sans); --font-mono: var(--font-mono); --font-serif: var(--font-serif); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --shadow-2xs: var(--shadow-2xs); --shadow-xs: var(--shadow-xs); --shadow-sm: var(--shadow-sm); --shadow: var(--shadow); --shadow-md: var(--shadow-md); --shadow-lg: var(--shadow-lg); --shadow-xl: var(--shadow-xl); --shadow-2xl: var(--shadow-2xl); }.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--chart-1: 59 130 246;--chart-2: 37 99 235;--chart-3: 29 78 216;--chart-4: 30 64 175;--chart-5: 30 58 138;--sidebar: 249 250 251;--sidebar-foreground: 51 51 51;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 242 254;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 229 231 235;--sidebar-ring: 59 130 246}.theme-twitter{--background: 255 255 255;--foreground: 15 20 25;--card: 247 248 248;--card-foreground: 15 20 25;--popover: 255 255 255;--popover-foreground: 15 20 25;--primary: 30 157 241;--primary-foreground: 255 255 255;--secondary: 15 20 25;--secondary-foreground: 255 255 255;--muted: 229 229 230;--muted-foreground: 15 20 25;--accent: 227 236 246;--accent-foreground: 30 157 241;--destructive: 244 33 46;--destructive-foreground: 255 255 255;--border: 225 234 239;--input: 247 249 250;--ring: 29 161 242;--chart-1: 30 157 241;--chart-2: 0 184 122;--chart-3: 247 185 40;--chart-4: 23 191 99;--chart-5: 224 36 94;--sidebar: 247 248 248;--sidebar-foreground: 15 20 25;--sidebar-primary: 30 157 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 227 236 246;--sidebar-accent-foreground: 30 157 241;--sidebar-border: 225 232 237;--sidebar-ring: 29 161 242}.theme-sunset{--background: 255 248 241;--foreground: 124 45 18;--card: 255 255 255;--card-foreground: 124 45 18;--popover: 255 255 255;--popover-foreground: 124 45 18;--primary: 251 146 60;--primary-foreground: 255 255 255;--secondary: 239 68 68;--secondary-foreground: 255 255 255;--muted: 254 215 170;--muted-foreground: 154 52 18;--accent: 252 211 77;--accent-foreground: 124 45 18;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 251 191 36;--input: 251 191 36;--ring: 251 146 60;--chart-1: 251 146 60;--chart-2: 239 68 68;--chart-3: 252 211 77;--chart-4: 154 52 18;--chart-5: 124 45 18;--sidebar: 255 248 241;--sidebar-foreground: 124 45 18;--sidebar-primary: 251 146 60;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 252 211 77;--sidebar-accent-foreground: 124 45 18;--sidebar-border: 251 191 36;--sidebar-ring: 251 146 60}.theme-midnight{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.theme-rose{--background: 255 241 242;--foreground: 136 19 55;--card: 255 255 255;--card-foreground: 136 19 55;--popover: 255 255 255;--popover-foreground: 136 19 55;--primary: 244 63 94;--primary-foreground: 255 255 255;--secondary: 236 72 153;--secondary-foreground: 255 255 255;--muted: 253 164 175;--muted-foreground: 159 18 57;--accent: 251 113 133;--accent-foreground: 136 19 55;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 251 207 232;--input: 251 207 232;--ring: 244 63 94;--chart-1: 244 63 94;--chart-2: 236 72 153;--chart-3: 251 113 133;--chart-4: 159 18 57;--chart-5: 136 19 55;--sidebar: 255 241 242;--sidebar-foreground: 136 19 55;--sidebar-primary: 244 63 94;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 251 113 133;--sidebar-accent-foreground: 136 19 55;--sidebar-border: 251 207 232;--sidebar-ring: 244 63 94}.theme-zinc{--background: 250 250 250;--foreground: 39 39 42;--card: 255 255 255;--card-foreground: 39 39 42;--popover: 255 255 255;--popover-foreground: 39 39 42;--primary: 113 113 122;--primary-foreground: 255 255 255;--secondary: 161 161 170;--secondary-foreground: 255 255 255;--muted: 228 228 231;--muted-foreground: 82 82 91;--accent: 212 212 216;--accent-foreground: 39 39 42;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 216;--input: 212 212 216;--ring: 113 113 122;--chart-1: 113 113 122;--chart-2: 161 161 170;--chart-3: 212 212 216;--chart-4: 82 82 91;--chart-5: 39 39 42;--sidebar: 250 250 250;--sidebar-foreground: 39 39 42;--sidebar-primary: 113 113 122;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 212 212 216;--sidebar-accent-foreground: 39 39 42;--sidebar-border: 212 212 216;--sidebar-ring: 113 113 122}.dark.theme-ocean{--background: 0 32 65;--foreground: 240 249 255;--card: 7 50 90;--card-foreground: 240 249 255;--popover: 7 50 90;--popover-foreground: 240 249 255;--primary: 56 189 248;--primary-foreground: 0 32 65;--secondary: 37 99 235;--secondary-foreground: 240 249 255;--muted: 30 58 138;--muted-foreground: 147 197 253;--accent: 14 165 233;--accent-foreground: 240 249 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 30 58 138;--input: 30 58 138;--ring: 56 189 248;--chart-1: 56 189 248;--chart-2: 37 99 235;--chart-3: 14 165 233;--chart-4: 147 197 253;--chart-5: 240 249 255;--sidebar: 0 32 65;--sidebar-foreground: 240 249 255;--sidebar-primary: 56 189 248;--sidebar-primary-foreground: 0 32 65;--sidebar-accent: 14 165 233;--sidebar-accent-foreground: 240 249 255;--sidebar-border: 30 58 138;--sidebar-ring: 56 189 248}.dark.theme-forest{--background: 6 26 15;--foreground: 240 253 244;--card: 20 83 45;--card-foreground: 240 253 244;--popover: 20 83 45;--popover-foreground: 240 253 244;--primary: 134 239 172;--primary-foreground: 6 26 15;--secondary: 74 222 128;--secondary-foreground: 6 26 15;--muted: 21 87 36;--muted-foreground: 187 247 208;--accent: 46 125 50;--accent-foreground: 240 253 244;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 21 87 36;--input: 21 87 36;--ring: 134 239 172;--chart-1: 134 239 172;--chart-2: 74 222 128;--chart-3: 46 125 50;--chart-4: 187 247 208;--chart-5: 240 253 244;--sidebar: 6 26 15;--sidebar-foreground: 240 253 244;--sidebar-primary: 134 239 172;--sidebar-primary-foreground: 6 26 15;--sidebar-accent: 46 125 50;--sidebar-accent-foreground: 240 253 244;--sidebar-border: 21 87 36;--sidebar-ring: 134 239 172}.dark.theme-sunset{--background: 67 20 7;--foreground: 255 237 213;--card: 124 45 18;--card-foreground: 255 237 213;--popover: 124 45 18;--popover-foreground: 255 237 213;--primary: 251 146 60;--primary-foreground: 67 20 7;--secondary: 252 211 77;--secondary-foreground: 67 20 7;--muted: 154 52 18;--muted-foreground: 254 215 170;--accent: 239 68 68;--accent-foreground: 255 237 213;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 154 52 18;--input: 154 52 18;--ring: 251 146 60;--chart-1: 251 146 60;--chart-2: 252 211 77;--chart-3: 239 68 68;--chart-4: 254 215 170;--chart-5: 255 237 213;--sidebar: 67 20 7;--sidebar-foreground: 255 237 213;--sidebar-primary: 251 146 60;--sidebar-primary-foreground: 67 20 7;--sidebar-accent: 239 68 68;--sidebar-accent-foreground: 255 237 213;--sidebar-border: 154 52 18;--sidebar-ring: 251 146 60}.dark.theme-midnight{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.dark.theme-rose{--background: 76 5 25;--foreground: 255 228 230;--card: 136 19 55;--card-foreground: 255 228 230;--popover: 136 19 55;--popover-foreground: 255 228 230;--primary: 251 113 133;--primary-foreground: 76 5 25;--secondary: 244 63 94;--secondary-foreground: 255 228 230;--muted: 159 18 57;--muted-foreground: 253 164 175;--accent: 236 72 153;--accent-foreground: 255 228 230;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 159 18 57;--input: 159 18 57;--ring: 251 113 133;--chart-1: 251 113 133;--chart-2: 244 63 94;--chart-3: 236 72 153;--chart-4: 253 164 175;--chart-5: 255 228 230;--sidebar: 76 5 25;--sidebar-foreground: 255 228 230;--sidebar-primary: 251 113 133;--sidebar-primary-foreground: 76 5 25;--sidebar-accent: 236 72 153;--sidebar-accent-foreground: 255 228 230;--sidebar-border: 159 18 57;--sidebar-ring: 251 113 133}.dark.theme-zinc{--background: 24 24 27;--foreground: 244 244 245;--card: 39 39 42;--card-foreground: 244 244 245;--popover: 39 39 42;--popover-foreground: 244 244 245;--primary: 161 161 170;--primary-foreground: 24 24 27;--secondary: 113 113 122;--secondary-foreground: 244 244 245;--muted: 63 63 70;--muted-foreground: 161 161 170;--accent: 82 82 91;--accent-foreground: 244 244 245;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 63 63 70;--input: 63 63 70;--ring: 161 161 170;--chart-1: 161 161 170;--chart-2: 113 113 122;--chart-3: 82 82 91;--chart-4: 212 212 216;--chart-5: 244 244 245;--sidebar: 24 24 27;--sidebar-foreground: 244 244 245;--sidebar-primary: 161 161 170;--sidebar-primary-foreground: 24 24 27;--sidebar-accent: 82 82 91;--sidebar-accent-foreground: 244 244 245;--sidebar-border: 63 63 70;--sidebar-ring: 161 161 170}.theme-t3-chat{--background: 250 245 250;--foreground: 80 24 84;--card: 250 245 250;--card-foreground: 80 24 84;--popover: 255 255 255;--popover-foreground: 80 24 84;--primary: 168 67 112;--primary-foreground: 255 255 255;--secondary: 241 196 230;--secondary-foreground: 119 52 124;--muted: 246 229 243;--muted-foreground: 131 69 136;--accent: 241 196 230;--accent-foreground: 119 52 124;--destructive: 171 67 71;--destructive-foreground: 255 255 255;--border: 239 189 235;--input: 231 193 220;--ring: 219 39 119;--chart-1: 217 38 162;--chart-2: 108 18 185;--chart-3: 39 71 84;--chart-4: 232 196 104;--chart-5: 244 164 98;--sidebar: 243 228 246;--sidebar-foreground: 172 22 104;--sidebar-primary: 69 69 84;--sidebar-primary-foreground: 250 241 247;--sidebar-accent: 248 248 247;--sidebar-accent-foreground: 69 69 84;--sidebar-border: 236 234 233;--sidebar-ring: 219 39 119}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 220 224 232;--card-foreground: 76 79 105;--popover: 255 255 255;--popover-foreground: 76 79 105;--primary: 138 173 244;--primary-foreground: 76 79 105;--secondary: 220 224 232;--secondary-foreground: 76 79 105;--muted: 230 233 239;--muted-foreground: 108 112 134;--accent: 166 227 161;--accent-foreground: 76 79 105;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 204 208 218;--input: 204 208 218;--ring: 138 173 244;--chart-1: 138 173 244;--chart-2: 166 227 161;--chart-3: 250 179 135;--chart-4: 245 169 184;--chart-5: 203 166 247;--sidebar: 239 241 245;--sidebar-foreground: 76 79 105;--sidebar-primary: 138 173 244;--sidebar-primary-foreground: 76 79 105;--sidebar-accent: 166 227 161;--sidebar-accent-foreground: 76 79 105;--sidebar-border: 204 208 218;--sidebar-ring: 138 173 244}.theme-supabase{--background: 252 252 252;--foreground: 15 23 42;--card: 255 255 255;--card-foreground: 15 23 42;--popover: 255 255 255;--popover-foreground: 15 23 42;--primary: 62 207 142;--primary-foreground: 255 255 255;--secondary: 245 245 245;--secondary-foreground: 51 65 85;--muted: 248 250 252;--muted-foreground: 100 116 139;--accent: 240 253 244;--accent-foreground: 22 101 52;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 226 232 240;--input: 226 232 240;--ring: 62 207 142;--chart-1: 62 207 142;--chart-2: 34 197 94;--chart-3: 132 204 22;--chart-4: 234 179 8;--chart-5: 251 146 60;--sidebar: 252 252 252;--sidebar-foreground: 15 23 42;--sidebar-primary: 62 207 142;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 253 244;--sidebar-accent-foreground: 22 101 52;--sidebar-border: 226 232 240;--sidebar-ring: 62 207 142}.theme-vercel{--background: 255 255 255;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 0 0 0;--primary-foreground: 255 255 255;--secondary: 250 250 250;--secondary-foreground: 0 0 0;--muted: 245 245 245;--muted-foreground: 115 115 115;--accent: 245 245 245;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 0 0 0;--chart-1: 0 0 0;--chart-2: 115 115 115;--chart-3: 163 163 163;--chart-4: 212 212 212;--chart-5: 245 245 245;--sidebar: 255 255 255;--sidebar-foreground: 0 0 0;--sidebar-primary: 0 0 0;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 245 245 245;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 229 229 229;--sidebar-ring: 0 0 0}.theme-claude{--background: 255 255 255;--foreground: 44 51 56;--card: 255 255 255;--card-foreground: 44 51 56;--popover: 255 255 255;--popover-foreground: 44 51 56;--primary: 204 109 61;--primary-foreground: 255 255 255;--secondary: 250 250 250;--secondary-foreground: 44 51 56;--muted: 245 245 245;--muted-foreground: 115 115 115;--accent: 254 243 232;--accent-foreground: 194 65 12;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 204 109 61;--chart-1: 204 109 61;--chart-2: 245 158 11;--chart-3: 251 191 36;--chart-4: 168 85 247;--chart-5: 59 130 246;--sidebar: 255 255 255;--sidebar-foreground: 44 51 56;--sidebar-primary: 204 109 61;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 243 232;--sidebar-accent-foreground: 194 65 12;--sidebar-border: 229 229 229;--sidebar-ring: 204 109 61}.theme-cyberpunk{--background: 245 245 245;--foreground: 24 24 27;--card: 255 255 255;--card-foreground: 24 24 27;--popover: 255 255 255;--popover-foreground: 24 24 27;--primary: 255 20 147;--primary-foreground: 255 255 255;--secondary: 0 255 255;--secondary-foreground: 24 24 27;--muted: 240 240 240;--muted-foreground: 113 113 122;--accent: 255 0 255;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 216;--input: 212 212 216;--ring: 255 20 147;--chart-1: 255 20 147;--chart-2: 0 255 255;--chart-3: 255 0 255;--chart-4: 0 255 0;--chart-5: 255 255 0;--sidebar: 245 245 245;--sidebar-foreground: 24 24 27;--sidebar-primary: 255 20 147;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 0 255;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 212 212 216;--sidebar-ring: 255 20 147}.theme-ocean-breeze{--background: 240 249 255;--foreground: 21 94 117;--card: 255 255 255;--card-foreground: 21 94 117;--popover: 255 255 255;--popover-foreground: 21 94 117;--primary: 6 182 212;--primary-foreground: 255 255 255;--secondary: 165 243 252;--secondary-foreground: 21 94 117;--muted: 240 249 255;--muted-foreground: 75 85 99;--accent: 186 230 253;--accent-foreground: 21 94 117;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 147 197 253;--input: 147 197 253;--ring: 6 182 212;--chart-1: 6 182 212;--chart-2: 34 211 238;--chart-3: 14 165 233;--chart-4: 56 189 248;--chart-5: 125 211 252;--sidebar: 240 249 255;--sidebar-foreground: 21 94 117;--sidebar-primary: 6 182 212;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 186 230 253;--sidebar-accent-foreground: 21 94 117;--sidebar-border: 147 197 253;--sidebar-ring: 6 182 212}.theme-sunset-horizon{--background: 255 251 235;--foreground: 120 53 15;--card: 255 255 255;--card-foreground: 120 53 15;--popover: 255 255 255;--popover-foreground: 120 53 15;--primary: 245 101 101;--primary-foreground: 255 255 255;--secondary: 251 191 36;--secondary-foreground: 120 53 15;--muted: 254 243 199;--muted-foreground: 146 64 14;--accent: 253 230 138;--accent-foreground: 120 53 15;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 251 191 36;--input: 251 191 36;--ring: 245 101 101;--chart-1: 245 101 101;--chart-2: 251 191 36;--chart-3: 251 146 60;--chart-4: 249 115 22;--chart-5: 234 88 12;--sidebar: 255 251 235;--sidebar-foreground: 120 53 15;--sidebar-primary: 245 101 101;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 253 230 138;--sidebar-accent-foreground: 120 53 15;--sidebar-border: 251 191 36;--sidebar-ring: 245 101 101}.theme-midnight-bloom{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246;--chart-1: 96 165 250;--chart-2: 59 130 246;--chart-3: 37 99 235;--chart-4: 29 78 216;--chart-5: 30 64 175;--sidebar: 23 23 23;--sidebar-foreground: 229 229 229;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 58 138;--sidebar-accent-foreground: 191 219 254;--sidebar-border: 64 64 64;--sidebar-ring: 59 130 246}.dark.theme-twitter{--background: 0 0 0;--foreground: 231 233 234;--card: 22 24 28;--card-foreground: 231 233 234;--popover: 0 0 0;--popover-foreground: 231 233 234;--primary: 29 155 240;--primary-foreground: 255 255 255;--secondary: 22 24 28;--secondary-foreground: 231 233 234;--muted: 32 35 39;--muted-foreground: 113 118 123;--accent: 29 155 240;--accent-foreground: 255 255 255;--destructive: 244 33 46;--destructive-foreground: 255 255 255;--border: 47 51 54;--input: 32 35 39;--ring: 29 161 242;--chart-1: 29 155 240;--chart-2: 0 186 124;--chart-3: 255 212 0;--chart-4: 23 191 99;--chart-5: 249 24 128;--sidebar: 0 0 0;--sidebar-foreground: 231 233 234;--sidebar-primary: 29 155 240;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 32 35 39;--sidebar-accent-foreground: 231 233 234;--sidebar-border: 47 51 54;--sidebar-ring: 29 161 242}.dark.theme-t3-chat{--background: 34 29 39;--foreground: 210 196 222;--card: 44 38 50;--card-foreground: 219 197 210;--popover: 16 10 14;--popover-foreground: 248 241 245;--primary: 163 0 76;--primary-foreground: 239 192 216;--secondary: 54 45 61;--secondary-foreground: 212 199 225;--muted: 40 34 45;--muted-foreground: 194 182 207;--accent: 70 55 83;--accent-foreground: 248 241 245;--destructive: 48 16 21;--destructive-foreground: 255 255 255;--border: 59 50 55;--input: 62 52 60;--ring: 219 39 119;--chart-1: 168 67 112;--chart-2: 147 77 203;--chart-3: 232 140 48;--chart-4: 175 87 219;--chart-5: 226 54 112;--sidebar: 24 17 23;--sidebar-foreground: 224 202 214;--sidebar-primary: 29 78 216;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 38 25 34;--sidebar-accent-foreground: 244 244 245;--sidebar-border: 0 0 0;--sidebar-ring: 219 39 119}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 49 50 68;--card-foreground: 205 214 244;--popover: 24 24 37;--popover-foreground: 205 214 244;--primary: 137 180 250;--primary-foreground: 24 24 37;--secondary: 49 50 68;--secondary-foreground: 205 214 244;--muted: 49 50 68;--muted-foreground: 166 173 200;--accent: 166 227 161;--accent-foreground: 24 24 37;--destructive: 243 139 168;--destructive-foreground: 24 24 37;--border: 88 91 112;--input: 88 91 112;--ring: 137 180 250;--chart-1: 137 180 250;--chart-2: 166 227 161;--chart-3: 250 179 135;--chart-4: 245 169 184;--chart-5: 203 166 247;--sidebar: 24 24 37;--sidebar-foreground: 205 214 244;--sidebar-primary: 137 180 250;--sidebar-primary-foreground: 24 24 37;--sidebar-accent: 49 50 68;--sidebar-accent-foreground: 205 214 244;--sidebar-border: 88 91 112;--sidebar-ring: 137 180 250}.dark.theme-supabase{--background: 16 16 16;--foreground: 248 250 252;--card: 26 26 26;--card-foreground: 248 250 252;--popover: 16 16 16;--popover-foreground: 248 250 252;--primary: 62 207 142;--primary-foreground: 255 255 255;--secondary: 26 26 26;--secondary-foreground: 248 250 252;--muted: 39 39 42;--muted-foreground: 161 161 170;--accent: 20 83 45;--accent-foreground: 187 247 208;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 39 39 42;--input: 39 39 42;--ring: 62 207 142;--chart-1: 62 207 142;--chart-2: 34 197 94;--chart-3: 132 204 22;--chart-4: 234 179 8;--chart-5: 251 146 60;--sidebar: 16 16 16;--sidebar-foreground: 248 250 252;--sidebar-primary: 62 207 142;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 20 83 45;--sidebar-accent-foreground: 187 247 208;--sidebar-border: 39 39 42;--sidebar-ring: 62 207 142}.dark.theme-vercel{--background: 0 0 0;--foreground: 255 255 255;--card: 26 26 26;--card-foreground: 255 255 255;--popover: 0 0 0;--popover-foreground: 255 255 255;--primary: 255 255 255;--primary-foreground: 0 0 0;--secondary: 26 26 26;--secondary-foreground: 255 255 255;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 38 38 38;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 255 255 255;--chart-1: 255 255 255;--chart-2: 163 163 163;--chart-3: 115 115 115;--chart-4: 82 82 82;--chart-5: 64 64 64;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 255 255;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 38 38 38;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 64 64 64;--sidebar-ring: 255 255 255}.dark.theme-claude{--background: 16 16 16;--foreground: 250 250 250;--card: 32 32 32;--card-foreground: 250 250 250;--popover: 16 16 16;--popover-foreground: 250 250 250;--primary: 204 109 61;--primary-foreground: 255 255 255;--secondary: 32 32 32;--secondary-foreground: 250 250 250;--muted: 39 39 42;--muted-foreground: 161 161 170;--accent: 124 45 18;--accent-foreground: 254 243 232;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 204 109 61;--chart-1: 204 109 61;--chart-2: 245 158 11;--chart-3: 251 191 36;--chart-4: 168 85 247;--chart-5: 59 130 246;--sidebar: 16 16 16;--sidebar-foreground: 250 250 250;--sidebar-primary: 204 109 61;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 124 45 18;--sidebar-accent-foreground: 254 243 232;--sidebar-border: 64 64 64;--sidebar-ring: 204 109 61}.dark.theme-cyberpunk{--background: 10 0 20;--foreground: 255 20 147;--card: 20 0 40;--card-foreground: 255 20 147;--popover: 10 0 20;--popover-foreground: 255 20 147;--primary: 255 20 147;--primary-foreground: 10 0 20;--secondary: 0 255 255;--secondary-foreground: 10 0 20;--muted: 30 10 50;--muted-foreground: 200 50 200;--accent: 255 0 255;--accent-foreground: 10 0 20;--destructive: 255 0 0;--destructive-foreground: 255 255 255;--border: 100 0 150;--input: 100 0 150;--ring: 255 20 147;--chart-1: 255 20 147;--chart-2: 0 255 255;--chart-3: 255 0 255;--chart-4: 0 255 0;--chart-5: 255 255 0;--sidebar: 10 0 20;--sidebar-foreground: 255 20 147;--sidebar-primary: 255 20 147;--sidebar-primary-foreground: 10 0 20;--sidebar-accent: 255 0 255;--sidebar-accent-foreground: 10 0 20;--sidebar-border: 100 0 150;--sidebar-ring: 255 20 147}.dark.theme-ocean-breeze{--background: 8 47 73;--foreground: 165 243 252;--card: 21 94 117;--card-foreground: 165 243 252;--popover: 8 47 73;--popover-foreground: 165 243 252;--primary: 34 211 238;--primary-foreground: 8 47 73;--secondary: 21 94 117;--secondary-foreground: 165 243 252;--muted: 30 58 138;--muted-foreground: 125 211 252;--accent: 14 165 233;--accent-foreground: 165 243 252;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 56 189 248;--input: 56 189 248;--ring: 34 211 238;--chart-1: 34 211 238;--chart-2: 6 182 212;--chart-3: 14 165 233;--chart-4: 56 189 248;--chart-5: 125 211 252;--sidebar: 8 47 73;--sidebar-foreground: 165 243 252;--sidebar-primary: 34 211 238;--sidebar-primary-foreground: 8 47 73;--sidebar-accent: 14 165 233;--sidebar-accent-foreground: 165 243 252;--sidebar-border: 56 189 248;--sidebar-ring: 34 211 238}.dark.theme-sunset-horizon{--background: 55 25 25;--foreground: 253 230 138;--card: 120 53 15;--card-foreground: 253 230 138;--popover: 55 25 25;--popover-foreground: 253 230 138;--primary: 248 113 113;--primary-foreground: 55 25 25;--secondary: 217 119 6;--secondary-foreground: 253 230 138;--muted: 146 64 14;--muted-foreground: 254 215 170;--accent: 249 115 22;--accent-foreground: 253 230 138;--destructive: 185 28 28;--destructive-foreground: 255 255 255;--border: 217 119 6;--input: 217 119 6;--ring: 248 113 113;--chart-1: 248 113 113;--chart-2: 217 119 6;--chart-3: 251 146 60;--chart-4: 249 115 22;--chart-5: 234 88 12;--sidebar: 55 25 25;--sidebar-foreground: 253 230 138;--sidebar-primary: 248 113 113;--sidebar-primary-foreground: 55 25 25;--sidebar-accent: 249 115 22;--sidebar-accent-foreground: 253 230 138;--sidebar-border: 217 119 6;--sidebar-ring: 248 113 113}.dark.theme-midnight-bloom{--background: 17 7 27;--foreground: 243 232 255;--card: 30 27 75;--card-foreground: 243 232 255;--popover: 30 27 75;--popover-foreground: 243 232 255;--primary: 168 85 247;--primary-foreground: 255 255 255;--secondary: 99 102 241;--secondary-foreground: 255 255 255;--muted: 55 48 163;--muted-foreground: 196 181 253;--accent: 139 92 246;--accent-foreground: 243 232 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 76 29 149;--input: 76 29 149;--ring: 168 85 247;--chart-1: 168 85 247;--chart-2: 99 102 241;--chart-3: 139 92 246;--chart-4: 196 181 253;--chart-5: 55 48 163;--sidebar: 17 7 27;--sidebar-foreground: 243 232 255;--sidebar-primary: 168 85 247;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 92 246;--sidebar-accent-foreground: 243 232 255;--sidebar-border: 76 29 149;--sidebar-ring: 168 85 247}.theme-doom-64{--background: 204 204 204;--foreground: 31 31 31;--card: 176 176 176;--card-foreground: 31 31 31;--popover: 176 176 176;--popover-foreground: 31 31 31;--primary: 183 28 28;--primary-foreground: 255 255 255;--secondary: 85 107 47;--secondary-foreground: 255 255 255;--muted: 184 184 184;--muted-foreground: 74 74 74;--accent: 70 130 180;--accent-foreground: 255 255 255;--destructive: 255 111 0;--destructive-foreground: 0 0 0;--border: 80 80 80;--input: 80 80 80;--ring: 183 28 28;--font-sans: "Oxanium", sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: "Source Code Pro", monospace;--radius: 0px}.dark.theme-doom-64{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 229 57 53;--primary-foreground: 255 255 255;--secondary: 104 159 56;--secondary-foreground: 0 0 0;--muted: 37 37 37;--muted-foreground: 160 160 160;--accent: 100 181 246;--accent-foreground: 0 0 0;--destructive: 255 160 0;--destructive-foreground: 0 0 0;--border: 74 74 74;--input: 74 74 74;--ring: 229 57 53;--font-sans: "Oxanium", sans-serif;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: "Source Code Pro", monospace;--radius: 0px}.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--font-sans: Inter, sans-serif;--font-serif: Source Serif 4, serif;--font-mono: JetBrains Mono, monospace;--radius: .375rem}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 255 255 255;--card-foreground: 76 79 105;--popover: 255 255 255;--popover-foreground: 76 79 105;--primary: 136 57 239;--primary-foreground: 255 255 255;--secondary: 204 208 218;--secondary-foreground: 76 79 105;--muted: 220 224 232;--muted-foreground: 108 111 133;--accent: 4 165 229;--accent-foreground: 255 255 255;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 188 192 204;--input: 204 208 218;--ring: 136 57 239}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 30 30 46;--card-foreground: 205 214 244;--popover: 30 30 46;--popover-foreground: 205 214 244;--primary: 203 166 247;--primary-foreground: 30 30 46;--secondary: 88 91 112;--secondary-foreground: 205 214 244;--muted: 41 44 60;--muted-foreground: 166 173 200;--accent: 137 220 235;--accent-foreground: 30 30 46;--destructive: 243 139 168;--destructive-foreground: 30 30 46;--border: 49 50 68;--input: 49 50 68;--ring: 203 166 247}.theme-graphite{--background: 240 240 240;--foreground: 96 96 96;--card: 255 255 255;--card-foreground: 96 96 96;--popover: 255 255 255;--popover-foreground: 96 96 96;--primary: 96 96 96;--primary-foreground: 255 255 255;--secondary: 224 224 224;--secondary-foreground: 96 96 96;--muted: 248 248 248;--muted-foreground: 128 128 128;--accent: 192 192 192;--accent-foreground: 64 64 64;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 224 224 224;--input: 224 224 224;--ring: 96 96 96}.dark.theme-graphite{--background: 26 26 26;--foreground: 160 160 160;--card: 38 38 38;--card-foreground: 160 160 160;--popover: 38 38 38;--popover-foreground: 160 160 160;--primary: 160 160 160;--primary-foreground: 26 26 26;--secondary: 48 48 48;--secondary-foreground: 160 160 160;--muted: 32 32 32;--muted-foreground: 128 128 128;--accent: 64 64 64;--accent-foreground: 192 192 192;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 48 48 48;--input: 48 48 48;--ring: 160 160 160}.theme-perpetuity{--background: 232 240 240;--foreground: 6 133 142;--card: 255 255 255;--card-foreground: 6 133 142;--popover: 255 255 255;--popover-foreground: 6 133 142;--primary: 6 133 142;--primary-foreground: 255 255 255;--secondary: 217 234 234;--secondary-foreground: 6 133 142;--muted: 237 246 246;--muted-foreground: 8 145 154;--accent: 204 251 241;--accent-foreground: 6 133 142;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 179 229 229;--input: 179 229 229;--ring: 6 133 142}.dark.theme-perpetuity{--background: 10 26 32;--foreground: 77 232 232;--card: 15 35 45;--card-foreground: 77 232 232;--popover: 15 35 45;--popover-foreground: 77 232 232;--primary: 77 232 232;--primary-foreground: 10 26 32;--secondary: 22 73 85;--secondary-foreground: 77 232 232;--muted: 18 46 56;--muted-foreground: 155 218 218;--accent: 28 96 112;--accent-foreground: 77 232 232;--destructive: 248 113 113;--destructive-foreground: 10 26 32;--border: 22 73 85;--input: 22 73 85;--ring: 77 232 232}.theme-amber-minimal{--background: 255 255 255;--foreground: 146 64 14;--card: 255 255 255;--card-foreground: 146 64 14;--popover: 255 255 255;--popover-foreground: 146 64 14;--primary: 245 158 11;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 146 64 14;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 254 243 199;--accent-foreground: 146 64 14;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 245 158 11}.dark.theme-amber-minimal{--background: 23 23 23;--foreground: 251 191 36;--card: 38 38 38;--card-foreground: 251 191 36;--popover: 38 38 38;--popover-foreground: 251 191 36;--primary: 245 158 11;--primary-foreground: 23 23 23;--secondary: 38 38 38;--secondary-foreground: 251 191 36;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 146 64 14;--accent-foreground: 254 243 199;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 245 158 11}.theme-modern-minimal{--background: 255 255 255;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 224 242 254;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 59 130 246;--chart-1: 59 130 246;--chart-2: 37 99 235;--chart-3: 29 78 216;--chart-4: 30 64 175;--chart-5: 30 58 138;--sidebar: 249 250 251;--sidebar-foreground: 51 51 51;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 242 254;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 229 231 235;--sidebar-ring: 59 130 246;--font-sans: "Inter", sans-serif;--font-serif: "Source Serif 4", serif;--font-mono: "JetBrains Mono", monospace;--radius: .375rem}.dark.theme-modern-minimal{--background: 23 23 23;--foreground: 229 229 229;--card: 38 38 38;--card-foreground: 229 229 229;--popover: 38 38 38;--popover-foreground: 229 229 229;--primary: 59 130 246;--primary-foreground: 255 255 255;--secondary: 38 38 38;--secondary-foreground: 229 229 229;--muted: 38 38 38;--muted-foreground: 163 163 163;--accent: 30 58 138;--accent-foreground: 191 219 254;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 59 130 246;--chart-1: 96 165 250;--chart-2: 59 130 246;--chart-3: 37 99 235;--chart-4: 29 78 216;--chart-5: 30 64 175;--sidebar: 23 23 23;--sidebar-foreground: 229 229 229;--sidebar-primary: 59 130 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 58 138;--sidebar-accent-foreground: 191 219 254;--sidebar-border: 64 64 64;--sidebar-ring: 59 130 246;--font-sans: "Inter", sans-serif;--font-serif: "Source Serif 4", serif;--font-mono: "JetBrains Mono", monospace;--radius: .375rem}.theme-t3-chat{--background: 250 245 250;--foreground: 80 24 84;--card: 250 245 250;--card-foreground: 80 24 84;--popover: 255 255 255;--popover-foreground: 80 24 84;--primary: 168 67 112;--primary-foreground: 255 255 255;--secondary: 241 196 230;--secondary-foreground: 119 52 124;--muted: 246 229 243;--muted-foreground: 131 69 136;--accent: 241 196 230;--accent-foreground: 119 52 124;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 234 179 220;--input: 234 179 220;--ring: 168 67 112;--chart-1: 168 67 112;--chart-2: 163 0 76;--chart-3: 133 30 94;--chart-4: 103 60 126;--chart-5: 73 90 158;--sidebar: 250 245 250;--sidebar-foreground: 80 24 84;--sidebar-primary: 168 67 112;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 241 196 230;--sidebar-accent-foreground: 119 52 124;--sidebar-border: 234 179 220;--sidebar-ring: 168 67 112}.dark.theme-t3-chat{--background: 34 29 39;--foreground: 243 232 255;--card: 54 45 61;--card-foreground: 243 232 255;--popover: 54 45 61;--popover-foreground: 243 232 255;--primary: 163 0 76;--primary-foreground: 255 255 255;--secondary: 54 45 61;--secondary-foreground: 243 232 255;--muted: 45 39 51;--muted-foreground: 168 159 182;--accent: 103 60 126;--accent-foreground: 241 196 230;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 73 67 87;--input: 73 67 87;--ring: 163 0 76;--chart-1: 163 0 76;--chart-2: 168 67 112;--chart-3: 133 30 94;--chart-4: 103 60 126;--chart-5: 73 90 158;--sidebar: 34 29 39;--sidebar-foreground: 243 232 255;--sidebar-primary: 163 0 76;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 103 60 126;--sidebar-accent-foreground: 241 196 230;--sidebar-border: 73 67 87;--sidebar-ring: 163 0 76}.theme-mocha-mousse{--background: 241 240 229;--foreground: 80 60 50;--card: 250 248 240;--card-foreground: 80 60 50;--popover: 250 248 240;--popover-foreground: 80 60 50;--primary: 163 119 100;--primary-foreground: 255 255 255;--secondary: 186 171 146;--secondary-foreground: 80 60 50;--muted: 235 230 218;--muted-foreground: 120 100 90;--accent: 210 195 170;--accent-foreground: 80 60 50;--destructive: 204 78 56;--destructive-foreground: 255 255 255;--border: 220 210 190;--input: 220 210 190;--ring: 163 119 100;--chart-1: 163 119 100;--chart-2: 186 171 146;--chart-3: 140 105 85;--chart-4: 115 90 70;--chart-5: 90 75 60;--sidebar: 241 240 229;--sidebar-foreground: 80 60 50;--sidebar-primary: 163 119 100;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 210 195 170;--sidebar-accent-foreground: 80 60 50;--sidebar-border: 220 210 190;--sidebar-ring: 163 119 100}.dark.theme-mocha-mousse{--background: 45 37 33;--foreground: 240 220 200;--card: 65 55 48;--card-foreground: 240 220 200;--popover: 65 55 48;--popover-foreground: 240 220 200;--primary: 195 158 136;--primary-foreground: 45 37 33;--secondary: 138 101 90;--secondary-foreground: 240 220 200;--muted: 55 47 42;--muted-foreground: 180 160 145;--accent: 160 130 110;--accent-foreground: 240 220 200;--destructive: 220 100 80;--destructive-foreground: 255 255 255;--border: 85 75 68;--input: 85 75 68;--ring: 195 158 136;--chart-1: 195 158 136;--chart-2: 138 101 90;--chart-3: 180 140 120;--chart-4: 160 120 100;--chart-5: 140 100 80;--sidebar: 45 37 33;--sidebar-foreground: 240 220 200;--sidebar-primary: 195 158 136;--sidebar-primary-foreground: 45 37 33;--sidebar-accent: 160 130 110;--sidebar-accent-foreground: 240 220 200;--sidebar-border: 85 75 68;--sidebar-ring: 195 158 136}.theme-bubblegum{--background: 246 230 238;--foreground: 80 30 60;--card: 252 240 246;--card-foreground: 80 30 60;--popover: 252 240 246;--popover-foreground: 80 30 60;--primary: 208 79 153;--primary-foreground: 255 255 255;--secondary: 138 207 209;--secondary-foreground: 80 30 60;--muted: 248 235 242;--muted-foreground: 120 80 100;--accent: 180 220 222;--accent-foreground: 80 30 60;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 228 190 210;--input: 228 190 210;--ring: 208 79 153;--chart-1: 208 79 153;--chart-2: 138 207 209;--chart-3: 255 182 193;--chart-4: 221 160 221;--chart-5: 255 20 147;--sidebar: 246 230 238;--sidebar-foreground: 80 30 60;--sidebar-primary: 208 79 153;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 180 220 222;--sidebar-accent-foreground: 80 30 60;--sidebar-border: 228 190 210;--sidebar-ring: 208 79 153}.dark.theme-bubblegum{--background: 18 36 46;--foreground: 240 220 230;--card: 35 50 58;--card-foreground: 240 220 230;--popover: 35 50 58;--popover-foreground: 240 220 230;--primary: 251 226 167;--primary-foreground: 18 36 46;--secondary: 228 162 177;--secondary-foreground: 18 36 46;--muted: 28 42 50;--muted-foreground: 180 160 170;--accent: 200 180 190;--accent-foreground: 18 36 46;--destructive: 255 107 114;--destructive-foreground: 18 36 46;--border: 60 75 85;--input: 60 75 85;--ring: 251 226 167;--chart-1: 251 226 167;--chart-2: 228 162 177;--chart-3: 255 182 193;--chart-4: 221 160 221;--chart-5: 255 20 147;--sidebar: 18 36 46;--sidebar-foreground: 240 220 230;--sidebar-primary: 251 226 167;--sidebar-primary-foreground: 18 36 46;--sidebar-accent: 200 180 190;--sidebar-accent-foreground: 18 36 46;--sidebar-border: 60 75 85;--sidebar-ring: 251 226 167}.theme-amethyst-haze{--background: 248 247 250;--foreground: 60 50 80;--card: 252 251 254;--card-foreground: 60 50 80;--popover: 252 251 254;--popover-foreground: 60 50 80;--primary: 138 121 171;--primary-foreground: 255 255 255;--secondary: 223 217 236;--secondary-foreground: 60 50 80;--muted: 240 238 245;--muted-foreground: 100 90 120;--accent: 210 200 230;--accent-foreground: 60 50 80;--destructive: 192 57 43;--destructive-foreground: 255 255 255;--border: 215 210 230;--input: 215 210 230;--ring: 138 121 171;--chart-1: 138 121 171;--chart-2: 169 149 201;--chart-3: 147 51 234;--chart-4: 168 85 247;--chart-5: 124 58 237;--sidebar: 248 247 250;--sidebar-foreground: 60 50 80;--sidebar-primary: 138 121 171;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 210 200 230;--sidebar-accent-foreground: 60 50 80;--sidebar-border: 215 210 230;--sidebar-ring: 138 121 171}.dark.theme-amethyst-haze{--background: 26 24 35;--foreground: 220 210 240;--card: 45 42 55;--card-foreground: 220 210 240;--popover: 45 42 55;--popover-foreground: 220 210 240;--primary: 169 149 201;--primary-foreground: 26 24 35;--secondary: 90 83 112;--secondary-foreground: 220 210 240;--muted: 35 32 45;--muted-foreground: 160 150 180;--accent: 120 110 140;--accent-foreground: 220 210 240;--destructive: 220 80 70;--destructive-foreground: 255 255 255;--border: 70 65 85;--input: 70 65 85;--ring: 169 149 201;--chart-1: 169 149 201;--chart-2: 90 83 112;--chart-3: 147 51 234;--chart-4: 168 85 247;--chart-5: 124 58 237;--sidebar: 26 24 35;--sidebar-foreground: 220 210 240;--sidebar-primary: 169 149 201;--sidebar-primary-foreground: 26 24 35;--sidebar-accent: 120 110 140;--sidebar-accent-foreground: 220 210 240;--sidebar-border: 70 65 85;--sidebar-ring: 169 149 201}.theme-catppuccin{--background: 239 241 245;--foreground: 76 79 105;--card: 230 233 239;--card-foreground: 76 79 105;--popover: 230 233 239;--popover-foreground: 76 79 105;--primary: 136 57 239;--primary-foreground: 255 255 255;--secondary: 204 208 218;--secondary-foreground: 76 79 105;--muted: 220 224 232;--muted-foreground: 108 112 134;--accent: 188 192 204;--accent-foreground: 76 79 105;--destructive: 210 15 57;--destructive-foreground: 255 255 255;--border: 172 176 190;--input: 172 176 190;--ring: 136 57 239;--chart-1: 136 57 239;--chart-2: 30 102 245;--chart-3: 64 160 43;--chart-4: 223 142 29;--chart-5: 210 15 57;--sidebar: 239 241 245;--sidebar-foreground: 76 79 105;--sidebar-primary: 136 57 239;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 188 192 204;--sidebar-accent-foreground: 76 79 105;--sidebar-border: 172 176 190;--sidebar-ring: 136 57 239}.dark.theme-catppuccin{--background: 24 24 37;--foreground: 205 214 244;--card: 49 50 68;--card-foreground: 205 214 244;--popover: 49 50 68;--popover-foreground: 205 214 244;--primary: 203 166 247;--primary-foreground: 24 24 37;--secondary: 88 91 112;--secondary-foreground: 205 214 244;--muted: 69 71 90;--muted-foreground: 166 173 200;--accent: 127 132 156;--accent-foreground: 205 214 244;--destructive: 243 139 168;--destructive-foreground: 24 24 37;--border: 108 112 134;--input: 108 112 134;--ring: 203 166 247;--chart-1: 203 166 247;--chart-2: 137 180 250;--chart-3: 166 227 161;--chart-4: 249 226 175;--chart-5: 243 139 168;--sidebar: 24 24 37;--sidebar-foreground: 205 214 244;--sidebar-primary: 203 166 247;--sidebar-primary-foreground: 24 24 37;--sidebar-accent: 127 132 156;--sidebar-accent-foreground: 205 214 244;--sidebar-border: 108 112 134;--sidebar-ring: 203 166 247}.theme-supabase{--background: 252 252 252;--foreground: 37 99 235;--card: 253 253 253;--card-foreground: 37 99 235;--popover: 253 253 253;--popover-foreground: 37 99 235;--primary: 114 227 173;--primary-foreground: 0 0 0;--secondary: 240 253 244;--secondary-foreground: 22 163 74;--muted: 247 254 249;--muted-foreground: 75 85 99;--accent: 134 239 172;--accent-foreground: 21 128 61;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 231 235;--input: 229 231 235;--ring: 114 227 173;--chart-1: 114 227 173;--chart-2: 52 211 153;--chart-3: 34 197 94;--chart-4: 22 163 74;--chart-5: 21 128 61;--sidebar: 252 252 252;--sidebar-foreground: 37 99 235;--sidebar-primary: 114 227 173;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 134 239 172;--sidebar-accent-foreground: 21 128 61;--sidebar-border: 229 231 235;--sidebar-ring: 114 227 173}.dark.theme-supabase{--background: 18 18 18;--foreground: 229 229 229;--card: 36 36 36;--card-foreground: 229 229 229;--popover: 36 36 36;--popover-foreground: 229 229 229;--primary: 0 98 57;--primary-foreground: 255 255 255;--secondary: 22 163 74;--secondary-foreground: 255 255 255;--muted: 54 54 54;--muted-foreground: 163 163 163;--accent: 34 197 94;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 82 82 82;--input: 82 82 82;--ring: 0 98 57;--chart-1: 0 98 57;--chart-2: 22 163 74;--chart-3: 34 197 94;--chart-4: 52 211 153;--chart-5: 114 227 173;--sidebar: 18 18 18;--sidebar-foreground: 229 229 229;--sidebar-primary: 0 98 57;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 34 197 94;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 82 82 82;--sidebar-ring: 0 98 57}.theme-vercel{--background: 252 252 252;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 0 0 0;--primary-foreground: 255 255 255;--secondary: 240 240 240;--secondary-foreground: 0 0 0;--muted: 250 250 250;--muted-foreground: 115 115 115;--accent: 240 240 240;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 0 0 0;--chart-1: 0 0 0;--chart-2: 64 64 64;--chart-3: 115 115 115;--chart-4: 163 163 163;--chart-5: 212 212 212;--sidebar: 252 252 252;--sidebar-foreground: 0 0 0;--sidebar-primary: 0 0 0;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 240 240;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 229 229 229;--sidebar-ring: 0 0 0}.dark.theme-vercel{--background: 0 0 0;--foreground: 255 255 255;--card: 20 20 20;--card-foreground: 255 255 255;--popover: 20 20 20;--popover-foreground: 255 255 255;--primary: 255 255 255;--primary-foreground: 0 0 0;--secondary: 64 64 64;--secondary-foreground: 255 255 255;--muted: 40 40 40;--muted-foreground: 163 163 163;--accent: 64 64 64;--accent-foreground: 255 255 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 64 64 64;--input: 64 64 64;--ring: 255 255 255;--chart-1: 255 255 255;--chart-2: 212 212 212;--chart-3: 163 163 163;--chart-4: 115 115 115;--chart-5: 64 64 64;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 255 255;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 64 64 64;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 64 64 64;--sidebar-ring: 255 255 255}.theme-claude{--background: 250 249 245;--foreground: 60 50 45;--card: 255 254 250;--card-foreground: 60 50 45;--popover: 255 254 250;--popover-foreground: 60 50 45;--primary: 201 100 66;--primary-foreground: 255 255 255;--secondary: 233 230 220;--secondary-foreground: 60 50 45;--muted: 245 240 235;--muted-foreground: 120 110 100;--accent: 240 215 200;--accent-foreground: 60 50 45;--destructive: 220 80 60;--destructive-foreground: 255 255 255;--border: 220 210 195;--input: 220 210 195;--ring: 201 100 66;--chart-1: 201 100 66;--chart-2: 217 119 87;--chart-3: 180 90 50;--chart-4: 160 80 40;--chart-5: 140 70 30;--sidebar: 250 249 245;--sidebar-foreground: 60 50 45;--sidebar-primary: 201 100 66;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 215 200;--sidebar-accent-foreground: 60 50 45;--sidebar-border: 220 210 195;--sidebar-ring: 201 100 66}.dark.theme-claude{--background: 38 38 36;--foreground: 250 249 245;--card: 55 55 52;--card-foreground: 250 249 245;--popover: 55 55 52;--popover-foreground: 250 249 245;--primary: 217 119 87;--primary-foreground: 38 38 36;--secondary: 95 90 85;--secondary-foreground: 250 249 245;--muted: 48 48 46;--muted-foreground: 180 170 160;--accent: 140 120 110;--accent-foreground: 250 249 245;--destructive: 240 100 80;--destructive-foreground: 255 255 255;--border: 85 82 78;--input: 85 82 78;--ring: 217 119 87;--chart-1: 217 119 87;--chart-2: 201 100 66;--chart-3: 180 90 50;--chart-4: 160 80 40;--chart-5: 140 70 30;--sidebar: 38 38 36;--sidebar-foreground: 250 249 245;--sidebar-primary: 217 119 87;--sidebar-primary-foreground: 38 38 36;--sidebar-accent: 140 120 110;--sidebar-accent-foreground: 250 249 245;--sidebar-border: 85 82 78;--sidebar-ring: 217 119 87}.theme-notebook{--background: 249 249 249;--foreground: 96 96 96;--card: 255 255 255;--card-foreground: 96 96 96;--popover: 255 255 255;--popover-foreground: 96 96 96;--primary: 96 96 96;--primary-foreground: 255 255 255;--secondary: 222 222 222;--secondary-foreground: 96 96 96;--muted: 240 240 240;--muted-foreground: 128 128 128;--accent: 235 235 235;--accent-foreground: 96 96 96;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 222 222 222;--input: 222 222 222;--ring: 96 96 96;--chart-1: 96 96 96;--chart-2: 128 128 128;--chart-3: 160 160 160;--chart-4: 192 192 192;--chart-5: 224 224 224;--sidebar: 249 249 249;--sidebar-foreground: 96 96 96;--sidebar-primary: 96 96 96;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 235 235 235;--sidebar-accent-foreground: 96 96 96;--sidebar-border: 222 222 222;--sidebar-ring: 96 96 96}.dark.theme-notebook{--background: 43 43 43;--foreground: 176 176 176;--card: 60 60 60;--card-foreground: 176 176 176;--popover: 60 60 60;--popover-foreground: 176 176 176;--primary: 176 176 176;--primary-foreground: 43 43 43;--secondary: 90 90 90;--secondary-foreground: 176 176 176;--muted: 50 50 50;--muted-foreground: 140 140 140;--accent: 120 120 120;--accent-foreground: 176 176 176;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 90 90 90;--input: 90 90 90;--ring: 176 176 176;--chart-1: 176 176 176;--chart-2: 140 140 140;--chart-3: 120 120 120;--chart-4: 100 100 100;--chart-5: 80 80 80;--sidebar: 43 43 43;--sidebar-foreground: 176 176 176;--sidebar-primary: 176 176 176;--sidebar-primary-foreground: 43 43 43;--sidebar-accent: 120 120 120;--sidebar-accent-foreground: 176 176 176;--sidebar-border: 90 90 90;--sidebar-ring: 176 176 176}.theme-mono{--background: 255 255 255;--foreground: 115 115 115;--card: 255 255 255;--card-foreground: 115 115 115;--popover: 255 255 255;--popover-foreground: 115 115 115;--primary: 115 115 115;--primary-foreground: 255 255 255;--secondary: 245 245 245;--secondary-foreground: 115 115 115;--muted: 250 250 250;--muted-foreground: 160 160 160;--accent: 240 240 240;--accent-foreground: 115 115 115;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 229 229 229;--input: 229 229 229;--ring: 115 115 115;--chart-1: 115 115 115;--chart-2: 140 140 140;--chart-3: 165 165 165;--chart-4: 190 190 190;--chart-5: 215 215 215;--sidebar: 255 255 255;--sidebar-foreground: 115 115 115;--sidebar-primary: 115 115 115;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 240 240 240;--sidebar-accent-foreground: 115 115 115;--sidebar-border: 229 229 229;--sidebar-ring: 115 115 115}.dark.theme-mono{--background: 10 10 10;--foreground: 115 115 115;--card: 25 25 25;--card-foreground: 115 115 115;--popover: 25 25 25;--popover-foreground: 115 115 115;--primary: 115 115 115;--primary-foreground: 10 10 10;--secondary: 38 38 38;--secondary-foreground: 115 115 115;--muted: 20 20 20;--muted-foreground: 80 80 80;--accent: 50 50 50;--accent-foreground: 115 115 115;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 38 38 38;--input: 38 38 38;--ring: 115 115 115;--chart-1: 115 115 115;--chart-2: 90 90 90;--chart-3: 70 70 70;--chart-4: 50 50 50;--chart-5: 30 30 30;--sidebar: 10 10 10;--sidebar-foreground: 115 115 115;--sidebar-primary: 115 115 115;--sidebar-primary-foreground: 10 10 10;--sidebar-accent: 50 50 50;--sidebar-accent-foreground: 115 115 115;--sidebar-border: 38 38 38;--sidebar-ring: 115 115 115}.theme-nature{--background: 248 245 240;--foreground: 34 68 42;--card: 255 255 255;--card-foreground: 34 68 42;--popover: 255 255 255;--popover-foreground: 34 68 42;--primary: 46 125 50;--primary-foreground: 255 255 255;--secondary: 232 245 233;--secondary-foreground: 46 125 50;--muted: 240 253 241;--muted-foreground: 74 85 81;--accent: 220 238 221;--accent-foreground: 34 68 42;--destructive: 211 47 47;--destructive-foreground: 255 255 255;--border: 187 247 208;--input: 187 247 208;--ring: 46 125 50;--chart-1: 46 125 50;--chart-2: 34 197 94;--chart-3: 22 163 74;--chart-4: 21 128 61;--chart-5: 20 83 45;--sidebar: 248 245 240;--sidebar-foreground: 34 68 42;--sidebar-primary: 46 125 50;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 220 238 221;--sidebar-accent-foreground: 34 68 42;--sidebar-border: 187 247 208;--sidebar-ring: 46 125 50}.dark.theme-nature{--background: 28 42 31;--foreground: 220 252 231;--card: 45 65 50;--card-foreground: 220 252 231;--popover: 45 65 50;--popover-foreground: 220 252 231;--primary: 76 175 80;--primary-foreground: 28 42 31;--secondary: 62 74 61;--secondary-foreground: 220 252 231;--muted: 38 55 42;--muted-foreground: 156 163 175;--accent: 74 85 81;--accent-foreground: 220 252 231;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 62 74 61;--input: 62 74 61;--ring: 76 175 80;--chart-1: 76 175 80;--chart-2: 34 197 94;--chart-3: 22 163 74;--chart-4: 21 128 61;--chart-5: 20 83 45;--sidebar: 28 42 31;--sidebar-foreground: 220 252 231;--sidebar-primary: 76 175 80;--sidebar-primary-foreground: 28 42 31;--sidebar-accent: 74 85 81;--sidebar-accent-foreground: 220 252 231;--sidebar-border: 62 74 61;--sidebar-ring: 76 175 80}.theme-cyberpunk{--background: 248 249 250;--foreground: 30 20 60;--card: 255 255 255;--card-foreground: 30 20 60;--popover: 255 255 255;--popover-foreground: 30 20 60;--primary: 255 0 200;--primary-foreground: 255 255 255;--secondary: 240 240 255;--secondary-foreground: 30 20 60;--muted: 250 245 255;--muted-foreground: 100 80 140;--accent: 200 180 255;--accent-foreground: 30 20 60;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 200 180 255;--input: 200 180 255;--ring: 255 0 200;--chart-1: 255 0 200;--chart-2: 0 255 255;--chart-3: 255 255 0;--chart-4: 255 0 128;--chart-5: 128 0 255;--sidebar: 248 249 250;--sidebar-foreground: 30 20 60;--sidebar-primary: 255 0 200;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 200 180 255;--sidebar-accent-foreground: 30 20 60;--sidebar-border: 200 180 255;--sidebar-ring: 255 0 200}.dark.theme-cyberpunk{--background: 12 12 29;--foreground: 0 255 255;--card: 25 25 50;--card-foreground: 0 255 255;--popover: 25 25 50;--popover-foreground: 0 255 255;--primary: 255 0 200;--primary-foreground: 12 12 29;--secondary: 30 30 63;--secondary-foreground: 0 255 255;--muted: 20 20 40;--muted-foreground: 150 120 200;--accent: 100 80 160;--accent-foreground: 0 255 255;--destructive: 255 50 100;--destructive-foreground: 12 12 29;--border: 60 50 120;--input: 60 50 120;--ring: 255 0 200;--chart-1: 255 0 200;--chart-2: 0 255 255;--chart-3: 255 255 0;--chart-4: 255 0 128;--chart-5: 128 0 255;--sidebar: 12 12 29;--sidebar-foreground: 0 255 255;--sidebar-primary: 255 0 200;--sidebar-primary-foreground: 12 12 29;--sidebar-accent: 100 80 160;--sidebar-accent-foreground: 0 255 255;--sidebar-border: 60 50 120;--sidebar-ring: 255 0 200}.theme-neo-brutalism{--background: 255 255 255;--foreground: 0 0 0;--card: 255 255 255;--card-foreground: 0 0 0;--popover: 255 255 255;--popover-foreground: 0 0 0;--primary: 255 51 51;--primary-foreground: 255 255 255;--secondary: 255 255 0;--secondary-foreground: 0 0 0;--muted: 240 240 240;--muted-foreground: 64 64 64;--accent: 0 255 128;--accent-foreground: 0 0 0;--destructive: 255 0 100;--destructive-foreground: 255 255 255;--border: 0 0 0;--input: 0 0 0;--ring: 255 51 51;--chart-1: 255 51 51;--chart-2: 255 255 0;--chart-3: 0 255 128;--chart-4: 255 0 100;--chart-5: 0 200 255;--sidebar: 255 255 255;--sidebar-foreground: 0 0 0;--sidebar-primary: 255 51 51;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 0 255 128;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 0 0 0;--sidebar-ring: 255 51 51;--radius: 0px}.dark.theme-neo-brutalism{--background: 0 0 0;--foreground: 255 255 255;--card: 0 0 0;--card-foreground: 255 255 255;--popover: 0 0 0;--popover-foreground: 255 255 255;--primary: 255 102 102;--primary-foreground: 0 0 0;--secondary: 255 255 51;--secondary-foreground: 0 0 0;--muted: 25 25 25;--muted-foreground: 200 200 200;--accent: 51 255 153;--accent-foreground: 0 0 0;--destructive: 255 51 128;--destructive-foreground: 0 0 0;--border: 255 255 255;--input: 255 255 255;--ring: 255 102 102;--chart-1: 255 102 102;--chart-2: 255 255 51;--chart-3: 51 255 153;--chart-4: 255 51 128;--chart-5: 51 230 255;--sidebar: 0 0 0;--sidebar-foreground: 255 255 255;--sidebar-primary: 255 102 102;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 51 255 153;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 255 255 255;--sidebar-ring: 255 102 102;--radius: 0px}.theme-bold-tech{--background: 255 255 255;--foreground: 49 46 129;--card: 255 255 255;--card-foreground: 49 46 129;--popover: 255 255 255;--popover-foreground: 49 46 129;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 243 240 255;--secondary-foreground: 67 56 202;--muted: 245 243 255;--muted-foreground: 124 58 237;--accent: 219 234 254;--accent-foreground: 30 64 175;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 224 231 255;--input: 224 231 255;--ring: 139 92 246;--chart-1: 139 92 246;--chart-2: 124 58 237;--chart-3: 109 40 217;--chart-4: 91 33 182;--chart-5: 76 29 149;--sidebar: 245 243 255;--sidebar-foreground: 49 46 129;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 219 234 254;--sidebar-accent-foreground: 30 64 175;--sidebar-border: 224 231 255;--sidebar-ring: 139 92 246;--radius: .625rem}.dark.theme-bold-tech{--background: 15 23 42;--foreground: 224 231 255;--card: 30 27 75;--card-foreground: 224 231 255;--popover: 30 27 75;--popover-foreground: 224 231 255;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 30 27 75;--secondary-foreground: 224 231 255;--muted: 30 27 75;--muted-foreground: 196 181 253;--accent: 67 56 202;--accent-foreground: 224 231 255;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 46 16 101;--input: 46 16 101;--ring: 139 92 246;--chart-1: 167 139 250;--chart-2: 139 92 246;--chart-3: 124 58 237;--chart-4: 109 40 217;--chart-5: 91 33 182;--sidebar: 15 23 42;--sidebar-foreground: 224 231 255;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 67 56 202;--sidebar-accent-foreground: 224 231 255;--sidebar-border: 46 16 101;--sidebar-ring: 139 92 246;--radius: .625rem}.theme-caffeine{--background: 249 249 249;--foreground: 32 32 32;--card: 252 252 252;--card-foreground: 32 32 32;--popover: 252 252 252;--popover-foreground: 32 32 32;--primary: 100 74 64;--primary-foreground: 255 255 255;--secondary: 255 223 181;--secondary-foreground: 88 45 29;--muted: 239 239 239;--muted-foreground: 100 100 100;--accent: 232 232 232;--accent-foreground: 32 32 32;--destructive: 229 77 46;--destructive-foreground: 255 255 255;--border: 216 216 216;--input: 216 216 216;--ring: 100 74 64;--chart-1: 100 74 64;--chart-2: 229 77 46;--chart-3: 255 223 181;--chart-4: 88 45 29;--chart-5: 32 32 32;--sidebar: 252 252 252;--sidebar-foreground: 32 32 32;--sidebar-primary: 100 74 64;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 223 181;--sidebar-accent-foreground: 88 45 29;--sidebar-border: 216 216 216;--sidebar-ring: 100 74 64;--radius: .5rem}.dark.theme-caffeine{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 139 111 71;--primary-foreground: 255 255 255;--secondary: 61 41 20;--secondary-foreground: 255 223 181;--muted: 51 51 51;--muted-foreground: 160 160 160;--accent: 68 68 68;--accent-foreground: 224 224 224;--destructive: 255 107 71;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 139 111 71;--chart-1: 139 111 71;--chart-2: 255 107 71;--chart-3: 255 223 181;--chart-4: 61 41 20;--chart-5: 224 224 224;--sidebar: 26 26 26;--sidebar-foreground: 224 224 224;--sidebar-primary: 139 111 71;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 61 41 20;--sidebar-accent-foreground: 255 223 181;--sidebar-border: 68 68 68;--sidebar-ring: 139 111 71;--radius: .5rem}.theme-candyland{--background: 247 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 255 192 203;--primary-foreground: 0 0 0;--secondary: 135 206 235;--secondary-foreground: 0 0 0;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 255 255 0;--accent-foreground: 0 0 0;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 255 192 203;--chart-1: 255 192 203;--chart-2: 135 206 235;--chart-3: 255 255 0;--chart-4: 255 105 180;--chart-5: 152 251 152;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 255 192 203;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 135 206 235;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 212 212 212;--sidebar-ring: 255 192 203;--radius: 1rem}.dark.theme-candyland{--background: 26 26 26;--foreground: 224 224 224;--card: 42 42 42;--card-foreground: 224 224 224;--popover: 42 42 42;--popover-foreground: 224 224 224;--primary: 255 105 180;--primary-foreground: 0 0 0;--secondary: 70 130 180;--secondary-foreground: 255 255 255;--muted: 58 58 58;--muted-foreground: 160 160 160;--accent: 255 215 0;--accent-foreground: 0 0 0;--destructive: 255 107 107;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 255 105 180;--chart-1: 255 105 180;--chart-2: 70 130 180;--chart-3: 255 215 0;--chart-4: 255 20 147;--chart-5: 144 238 144;--sidebar: 26 26 26;--sidebar-foreground: 224 224 224;--sidebar-primary: 255 105 180;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 70 130 180;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 68 68 68;--sidebar-ring: 255 105 180;--radius: 1rem}.theme-claymorphism{--background: 231 229 228;--foreground: 30 41 59;--card: 245 245 244;--card-foreground: 30 41 59;--popover: 245 245 244;--popover-foreground: 30 41 59;--primary: 99 102 241;--primary-foreground: 255 255 255;--secondary: 214 211 209;--secondary-foreground: 75 85 99;--muted: 231 229 228;--muted-foreground: 107 114 128;--accent: 243 229 245;--accent-foreground: 55 65 81;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 214 211 209;--input: 214 211 209;--ring: 99 102 241;--chart-1: 99 102 241;--chart-2: 139 92 246;--chart-3: 167 139 250;--chart-4: 196 181 253;--chart-5: 221 214 254;--sidebar: 245 245 244;--sidebar-foreground: 30 41 59;--sidebar-primary: 99 102 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 243 229 245;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 214 211 209;--sidebar-ring: 99 102 241;--radius: 1.5rem}.dark.theme-claymorphism{--background: 41 37 36;--foreground: 245 245 244;--card: 68 64 60;--card-foreground: 245 245 244;--popover: 68 64 60;--popover-foreground: 245 245 244;--primary: 139 92 246;--primary-foreground: 255 255 255;--secondary: 87 83 78;--secondary-foreground: 214 211 209;--muted: 60 58 57;--muted-foreground: 168 162 158;--accent: 124 45 18;--accent-foreground: 254 215 170;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 139 92 246;--chart-1: 139 92 246;--chart-2: 167 139 250;--chart-3: 196 181 253;--chart-4: 221 214 254;--chart-5: 237 233 254;--sidebar: 41 37 36;--sidebar-foreground: 245 245 244;--sidebar-primary: 139 92 246;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 124 45 18;--sidebar-accent-foreground: 254 215 170;--sidebar-border: 87 83 78;--sidebar-ring: 139 92 246;--radius: 1.5rem}.theme-clean-slate{--background: 248 250 252;--foreground: 30 41 59;--card: 255 255 255;--card-foreground: 30 41 59;--popover: 255 255 255;--popover-foreground: 30 41 59;--primary: 99 102 241;--primary-foreground: 255 255 255;--secondary: 229 231 235;--secondary-foreground: 55 65 81;--muted: 243 244 246;--muted-foreground: 107 114 128;--accent: 224 231 255;--accent-foreground: 55 65 81;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 209 213 219;--input: 209 213 219;--ring: 99 102 241;--chart-1: 99 102 241;--chart-2: 139 92 246;--chart-3: 168 85 247;--chart-4: 192 132 252;--chart-5: 216 180 254;--sidebar: 255 255 255;--sidebar-foreground: 30 41 59;--sidebar-primary: 99 102 241;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 224 231 255;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 209 213 219;--sidebar-ring: 99 102 241;--radius: .375rem}.dark.theme-clean-slate{--background: 15 23 42;--foreground: 226 232 240;--card: 30 41 59;--card-foreground: 226 232 240;--popover: 30 41 59;--popover-foreground: 226 232 240;--primary: 129 140 248;--primary-foreground: 255 255 255;--secondary: 51 65 85;--secondary-foreground: 203 213 225;--muted: 71 85 105;--muted-foreground: 148 163 184;--accent: 67 56 202;--accent-foreground: 226 232 240;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 71 85 105;--input: 71 85 105;--ring: 129 140 248;--chart-1: 129 140 248;--chart-2: 167 139 250;--chart-3: 192 132 252;--chart-4: 216 180 254;--chart-5: 233 213 255;--sidebar: 15 23 42;--sidebar-foreground: 226 232 240;--sidebar-primary: 129 140 248;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 67 56 202;--sidebar-accent-foreground: 226 232 240;--sidebar-border: 71 85 105;--sidebar-ring: 129 140 248;--radius: .375rem}.theme-cosmic-night{--background: 245 245 255;--foreground: 42 42 74;--card: 255 255 255;--card-foreground: 42 42 74;--popover: 255 255 255;--popover-foreground: 42 42 74;--primary: 110 86 207;--primary-foreground: 255 255 255;--secondary: 228 223 255;--secondary-foreground: 74 64 128;--muted: 240 240 250;--muted-foreground: 108 108 138;--accent: 216 230 255;--accent-foreground: 42 42 74;--destructive: 255 84 112;--destructive-foreground: 255 255 255;--border: 228 223 255;--input: 228 223 255;--ring: 110 86 207;--chart-1: 110 86 207;--chart-2: 138 112 217;--chart-3: 164 143 255;--chart-4: 191 168 255;--chart-5: 217 194 255;--sidebar: 255 255 255;--sidebar-foreground: 42 42 74;--sidebar-primary: 110 86 207;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 216 230 255;--sidebar-accent-foreground: 42 42 74;--sidebar-border: 228 223 255;--sidebar-ring: 110 86 207;--radius: .75rem}.dark.theme-cosmic-night{--background: 26 26 46;--foreground: 228 223 255;--card: 46 46 94;--card-foreground: 228 223 255;--popover: 46 46 94;--popover-foreground: 228 223 255;--primary: 164 143 255;--primary-foreground: 255 255 255;--secondary: 62 62 126;--secondary-foreground: 228 223 255;--muted: 62 62 126;--muted-foreground: 184 184 216;--accent: 255 0 200;--accent-foreground: 255 255 255;--destructive: 255 84 112;--destructive-foreground: 255 255 255;--border: 78 78 158;--input: 78 78 158;--ring: 164 143 255;--chart-1: 164 143 255;--chart-2: 191 168 255;--chart-3: 217 194 255;--chart-4: 230 211 255;--chart-5: 242 232 255;--sidebar: 26 26 46;--sidebar-foreground: 228 223 255;--sidebar-primary: 164 143 255;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 0 200;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 46 46 94;--sidebar-ring: 164 143 255;--radius: .75rem}.theme-elegant-luxury{--background: 250 247 245;--foreground: 26 26 26;--card: 250 247 245;--card-foreground: 26 26 26;--popover: 250 247 245;--popover-foreground: 26 26 26;--primary: 155 44 44;--primary-foreground: 255 255 255;--secondary: 253 242 214;--secondary-foreground: 128 85 0;--muted: 240 235 232;--muted-foreground: 87 83 78;--accent: 254 243 199;--accent-foreground: 127 29 29;--destructive: 153 27 27;--destructive-foreground: 255 255 255;--border: 245 232 210;--input: 245 232 210;--ring: 155 44 44;--chart-1: 155 44 44;--chart-2: 184 50 50;--chart-3: 214 57 57;--chart-4: 244 64 64;--chart-5: 255 71 71;--sidebar: 250 247 245;--sidebar-foreground: 26 26 26;--sidebar-primary: 155 44 44;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 243 199;--sidebar-accent-foreground: 127 29 29;--sidebar-border: 245 232 210;--sidebar-ring: 155 44 44;--radius: .5rem}.dark.theme-elegant-luxury{--background: 28 25 23;--foreground: 250 247 245;--card: 41 37 36;--card-foreground: 250 247 245;--popover: 41 37 36;--popover-foreground: 250 247 245;--primary: 255 102 102;--primary-foreground: 255 255 255;--secondary: 68 64 60;--secondary-foreground: 254 243 199;--muted: 60 56 54;--muted-foreground: 168 162 158;--accent: 202 138 4;--accent-foreground: 254 243 199;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 255 102 102;--chart-1: 255 102 102;--chart-2: 255 128 128;--chart-3: 255 153 153;--chart-4: 255 179 179;--chart-5: 255 204 204;--sidebar: 28 25 23;--sidebar-foreground: 250 247 245;--sidebar-primary: 255 102 102;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 202 138 4;--sidebar-accent-foreground: 254 243 199;--sidebar-border: 87 83 78;--sidebar-ring: 255 102 102;--radius: .5rem}.theme-kodama-grove{--background: 228 215 176;--foreground: 92 75 62;--card: 231 219 191;--card-foreground: 92 75 62;--popover: 243 234 210;--popover-foreground: 92 75 62;--primary: 141 157 79;--primary-foreground: 253 251 246;--secondary: 222 206 160;--secondary-foreground: 92 75 62;--muted: 222 206 160;--muted-foreground: 133 118 106;--accent: 219 200 148;--accent-foreground: 92 75 62;--destructive: 217 139 126;--destructive-foreground: 250 248 242;--border: 177 150 129;--input: 177 150 129;--ring: 141 157 79;--chart-1: 141 157 79;--chart-2: 154 170 92;--chart-3: 167 183 105;--chart-4: 180 196 118;--chart-5: 193 209 131;--sidebar: 231 219 191;--sidebar-foreground: 92 75 62;--sidebar-primary: 141 157 79;--sidebar-primary-foreground: 253 251 246;--sidebar-accent: 219 200 148;--sidebar-accent-foreground: 92 75 62;--sidebar-border: 177 150 129;--sidebar-ring: 141 157 79;--radius: .75rem}.dark.theme-kodama-grove{--background: 45 51 25;--foreground: 228 215 176;--card: 64 77 31;--card-foreground: 228 215 176;--popover: 64 77 31;--popover-foreground: 228 215 176;--primary: 138 159 123;--primary-foreground: 253 251 246;--secondary: 82 96 37;--secondary-foreground: 228 215 176;--muted: 63 74 30;--muted-foreground: 177 150 129;--accent: 125 138 95;--accent-foreground: 228 215 176;--destructive: 217 139 126;--destructive-foreground: 250 248 242;--border: 89 102 48;--input: 89 102 48;--ring: 138 159 123;--chart-1: 138 159 123;--chart-2: 151 172 136;--chart-3: 164 185 149;--chart-4: 177 198 162;--chart-5: 190 211 175;--sidebar: 45 51 25;--sidebar-foreground: 228 215 176;--sidebar-primary: 138 159 123;--sidebar-primary-foreground: 253 251 246;--sidebar-accent: 125 138 95;--sidebar-accent-foreground: 228 215 176;--sidebar-border: 89 102 48;--sidebar-ring: 138 159 123;--radius: .75rem}.theme-northern-lights{--background: 249 249 250;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 52 168 90;--primary-foreground: 255 255 255;--secondary: 100 149 237;--secondary-foreground: 255 255 255;--muted: 221 217 196;--muted-foreground: 110 110 110;--accent: 102 217 239;--accent-foreground: 51 51 51;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 212 212 212;--input: 212 212 212;--ring: 52 168 90;--chart-1: 52 168 90;--chart-2: 100 149 237;--chart-3: 102 217 239;--chart-4: 144 238 144;--chart-5: 255 215 0;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 52 168 90;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 102 217 239;--sidebar-accent-foreground: 51 51 51;--sidebar-border: 212 212 212;--sidebar-ring: 52 168 90;--radius: .5rem}.dark.theme-northern-lights{--background: 10 10 10;--foreground: 240 240 240;--card: 26 26 26;--card-foreground: 240 240 240;--popover: 26 26 26;--popover-foreground: 240 240 240;--primary: 0 255 127;--primary-foreground: 0 0 0;--secondary: 65 105 225;--secondary-foreground: 255 255 255;--muted: 42 42 42;--muted-foreground: 160 160 160;--accent: 0 255 255;--accent-foreground: 0 0 0;--destructive: 255 99 71;--destructive-foreground: 255 255 255;--border: 68 68 68;--input: 68 68 68;--ring: 0 255 127;--chart-1: 0 255 127;--chart-2: 65 105 225;--chart-3: 0 255 255;--chart-4: 152 251 152;--chart-5: 255 215 0;--sidebar: 10 10 10;--sidebar-foreground: 240 240 240;--sidebar-primary: 0 255 127;--sidebar-primary-foreground: 0 0 0;--sidebar-accent: 0 255 255;--sidebar-accent-foreground: 0 0 0;--sidebar-border: 68 68 68;--sidebar-ring: 52 168 90;--radius: .5rem}.theme-pastel-dreams{--background: 247 243 249;--foreground: 55 65 81;--card: 255 255 255;--card-foreground: 55 65 81;--popover: 255 255 255;--popover-foreground: 55 65 81;--primary: 167 139 250;--primary-foreground: 255 255 255;--secondary: 233 216 253;--secondary-foreground: 75 85 99;--muted: 243 232 255;--muted-foreground: 107 114 128;--accent: 243 229 245;--accent-foreground: 55 65 81;--destructive: 252 165 165;--destructive-foreground: 255 255 255;--border: 233 216 253;--input: 233 216 253;--ring: 167 139 250;--chart-1: 167 139 250;--chart-2: 192 132 252;--chart-3: 216 180 254;--chart-4: 233 213 255;--chart-5: 243 232 255;--sidebar: 255 255 255;--sidebar-foreground: 55 65 81;--sidebar-primary: 167 139 250;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 243 229 245;--sidebar-accent-foreground: 55 65 81;--sidebar-border: 233 216 253;--sidebar-ring: 167 139 250;--radius: 1rem}.dark.theme-pastel-dreams{--background: 31 27 36;--foreground: 233 216 253;--card: 45 36 54;--card-foreground: 233 216 253;--popover: 45 36 54;--popover-foreground: 233 216 253;--primary: 192 170 253;--primary-foreground: 255 255 255;--secondary: 61 45 72;--secondary-foreground: 233 216 253;--muted: 53 40 65;--muted-foreground: 167 139 250;--accent: 107 70 193;--accent-foreground: 233 216 253;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 76 51 89;--input: 76 51 89;--ring: 192 170 253;--chart-1: 192 170 253;--chart-2: 216 180 254;--chart-3: 233 213 255;--chart-4: 243 232 255;--chart-5: 250 245 255;--sidebar: 31 27 36;--sidebar-foreground: 233 216 253;--sidebar-primary: 192 170 253;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 107 70 193;--sidebar-accent-foreground: 233 216 253;--sidebar-border: 76 51 89;--sidebar-ring: 192 170 253;--radius: 1rem}.theme-quantum-rose{--background: 255 240 248;--foreground: 145 24 92;--card: 255 247 252;--card-foreground: 145 24 92;--popover: 255 247 252;--popover-foreground: 145 24 92;--primary: 230 6 122;--primary-foreground: 255 255 255;--secondary: 255 214 255;--secondary-foreground: 145 24 92;--muted: 255 227 242;--muted-foreground: 192 66 131;--accent: 255 193 227;--accent-foreground: 145 24 92;--destructive: 209 56 105;--destructive-foreground: 255 255 255;--border: 255 214 255;--input: 255 214 255;--ring: 230 6 122;--chart-1: 230 6 122;--chart-2: 242 52 160;--chart-3: 255 107 199;--chart-4: 255 168 226;--chart-5: 255 214 255;--sidebar: 255 247 252;--sidebar-foreground: 145 24 92;--sidebar-primary: 230 6 122;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 193 227;--sidebar-accent-foreground: 145 24 92;--sidebar-border: 255 214 255;--sidebar-ring: 230 6 122;--radius: .75rem}.dark.theme-quantum-rose{--background: 45 10 31;--foreground: 255 193 227;--card: 74 21 56;--card-foreground: 255 193 227;--popover: 74 21 56;--popover-foreground: 255 193 227;--primary: 76 175 80;--primary-foreground: 255 255 255;--secondary: 93 32 81;--secondary-foreground: 255 193 227;--muted: 61 18 41;--muted-foreground: 230 6 122;--accent: 16 185 129;--accent-foreground: 255 255 255;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 107 41 105;--input: 107 41 105;--ring: 76 175 80;--chart-1: 76 175 80;--chart-2: 16 185 129;--chart-3: 52 211 153;--chart-4: 110 231 183;--chart-5: 167 243 208;--sidebar: 45 10 31;--sidebar-foreground: 255 193 227;--sidebar-primary: 76 175 80;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 16 185 129;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 74 21 56;--sidebar-ring: 76 175 80;--radius: .75rem}.theme-retro-arcade{--background: 253 246 227;--foreground: 7 54 66;--card: 238 232 213;--card-foreground: 7 54 66;--popover: 238 232 213;--popover-foreground: 7 54 66;--primary: 211 54 130;--primary-foreground: 255 255 255;--secondary: 42 161 152;--secondary-foreground: 255 255 255;--muted: 147 161 161;--muted-foreground: 7 54 66;--accent: 203 75 22;--accent-foreground: 255 255 255;--destructive: 220 50 47;--destructive-foreground: 255 255 255;--border: 131 148 150;--input: 131 148 150;--ring: 211 54 130;--chart-1: 211 54 130;--chart-2: 42 161 152;--chart-3: 203 75 22;--chart-4: 133 153 0;--chart-5: 181 137 0;--sidebar: 238 232 213;--sidebar-foreground: 7 54 66;--sidebar-primary: 211 54 130;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 203 75 22;--sidebar-accent-foreground: 255 255 255;--sidebar-border: 131 148 150;--sidebar-ring: 211 54 130;--radius: .25rem}.dark.theme-retro-arcade{--background: 0 43 54;--foreground: 253 246 227;--card: 7 54 66;--card-foreground: 253 246 227;--popover: 7 54 66;--popover-foreground: 253 246 227;--primary: 108 92 231;--primary-foreground: 255 255 255;--secondary: 0 210 211;--secondary-foreground: 0 43 54;--muted: 88 110 117;--muted-foreground: 147 161 161;--accent: 255 99 72;--accent-foreground: 0 43 54;--destructive: 255 71 87;--destructive-foreground: 255 255 255;--border: 88 110 117;--input: 88 110 117;--ring: 108 92 231;--chart-1: 108 92 231;--chart-2: 0 210 211;--chart-3: 255 99 72;--chart-4: 123 237 159;--chart-5: 255 165 2;--sidebar: 0 43 54;--sidebar-foreground: 253 246 227;--sidebar-primary: 108 92 231;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 255 99 72;--sidebar-accent-foreground: 0 43 54;--sidebar-border: 68 68 68;--sidebar-ring: 108 92 231;--radius: .25rem}.theme-solar-dusk{--background: 253 251 247;--foreground: 74 59 51;--card: 248 244 238;--card-foreground: 74 59 51;--popover: 248 244 238;--popover-foreground: 74 59 51;--primary: 180 83 9;--primary-foreground: 255 255 255;--secondary: 228 192 144;--secondary-foreground: 87 83 78;--muted: 241 233 218;--muted-foreground: 120 113 108;--accent: 242 218 186;--accent-foreground: 87 83 78;--destructive: 153 27 27;--destructive-foreground: 255 255 255;--border: 228 192 144;--input: 228 192 144;--ring: 180 83 9;--chart-1: 180 83 9;--chart-2: 217 119 6;--chart-3: 245 158 11;--chart-4: 252 211 77;--chart-5: 254 243 199;--sidebar: 248 244 238;--sidebar-foreground: 74 59 51;--sidebar-primary: 180 83 9;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 242 218 186;--sidebar-accent-foreground: 87 83 78;--sidebar-border: 228 192 144;--sidebar-ring: 180 83 9;--radius: .5rem}.dark.theme-solar-dusk{--background: 28 25 23;--foreground: 253 251 247;--card: 41 37 36;--card-foreground: 253 251 247;--popover: 41 37 36;--popover-foreground: 253 251 247;--primary: 255 126 95;--primary-foreground: 255 255 255;--secondary: 68 64 60;--secondary-foreground: 228 192 144;--muted: 60 56 54;--muted-foreground: 168 162 158;--accent: 254 178 168;--accent-foreground: 28 25 23;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 87 83 78;--input: 87 83 78;--ring: 255 126 95;--chart-1: 255 126 95;--chart-2: 255 159 122;--chart-3: 255 193 149;--chart-4: 255 227 176;--chart-5: 255 245 202;--sidebar: 28 25 23;--sidebar-foreground: 253 251 247;--sidebar-primary: 255 126 95;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 254 178 168;--sidebar-accent-foreground: 28 25 23;--sidebar-border: 87 83 78;--sidebar-ring: 255 126 95;--radius: .5rem}.theme-starry-night{--background: 245 247 250;--foreground: 26 34 56;--card: 227 234 242;--card-foreground: 26 34 56;--popover: 255 251 230;--popover-foreground: 26 34 56;--primary: 58 91 160;--primary-foreground: 255 251 230;--secondary: 247 200 115;--secondary-foreground: 26 34 56;--muted: 229 229 223;--muted-foreground: 58 91 160;--accent: 110 163 193;--accent-foreground: 255 251 230;--destructive: 45 30 47;--destructive-foreground: 255 251 230;--border: 247 200 115;--input: 247 200 115;--ring: 58 91 160;--chart-1: 58 91 160;--chart-2: 247 200 115;--chart-3: 110 163 193;--chart-4: 255 230 109;--chart-5: 129 199 132;--sidebar: 227 234 242;--sidebar-foreground: 26 34 56;--sidebar-primary: 58 91 160;--sidebar-primary-foreground: 255 251 230;--sidebar-accent: 110 163 193;--sidebar-accent-foreground: 255 251 230;--sidebar-border: 247 200 115;--sidebar-ring: 58 91 160;--radius: .75rem}.dark.theme-starry-night{--background: 15 20 25;--foreground: 255 251 230;--card: 26 34 56;--card-foreground: 255 251 230;--popover: 45 30 47;--popover-foreground: 255 251 230;--primary: 255 204 2;--primary-foreground: 15 20 25;--secondary: 46 134 171;--secondary-foreground: 255 251 230;--muted: 36 52 71;--muted-foreground: 163 158 154;--accent: 241 135 1;--accent-foreground: 15 20 25;--destructive: 255 107 107;--destructive-foreground: 255 251 230;--border: 58 91 160;--input: 58 91 160;--ring: 255 204 2;--chart-1: 255 204 2;--chart-2: 46 134 171;--chart-3: 241 135 1;--chart-4: 78 205 196;--chart-5: 149 225 211;--sidebar: 15 20 25;--sidebar-foreground: 255 251 230;--sidebar-primary: 255 204 2;--sidebar-primary-foreground: 15 20 25;--sidebar-accent: 241 135 1;--sidebar-accent-foreground: 15 20 25;--sidebar-border: 26 34 56;--sidebar-ring: 255 204 2;--radius: .75rem}.theme-tangerine{--background: 232 235 237;--foreground: 51 51 51;--card: 255 255 255;--card-foreground: 51 51 51;--popover: 255 255 255;--popover-foreground: 51 51 51;--primary: 224 93 56;--primary-foreground: 255 255 255;--secondary: 243 244 246;--secondary-foreground: 75 85 99;--muted: 249 250 251;--muted-foreground: 107 114 128;--accent: 214 228 240;--accent-foreground: 30 58 138;--destructive: 239 68 68;--destructive-foreground: 255 255 255;--border: 209 213 219;--input: 209 213 219;--ring: 224 93 56;--chart-1: 224 93 56;--chart-2: 249 115 22;--chart-3: 251 191 36;--chart-4: 52 211 153;--chart-5: 96 165 250;--sidebar: 255 255 255;--sidebar-foreground: 51 51 51;--sidebar-primary: 224 93 56;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 214 228 240;--sidebar-accent-foreground: 30 58 138;--sidebar-border: 209 213 219;--sidebar-ring: 224 93 56;--radius: .5rem}.dark.theme-tangerine{--background: 26 26 26;--foreground: 232 235 237;--card: 42 42 42;--card-foreground: 232 235 237;--popover: 42 42 42;--popover-foreground: 232 235 237;--primary: 255 112 67;--primary-foreground: 255 255 255;--secondary: 55 65 81;--secondary-foreground: 209 213 219;--muted: 75 85 99;--muted-foreground: 156 163 175;--accent: 30 64 175;--accent-foreground: 219 234 254;--destructive: 248 113 113;--destructive-foreground: 255 255 255;--border: 75 85 99;--input: 75 85 99;--ring: 255 112 67;--chart-1: 255 112 67;--chart-2: 251 146 60;--chart-3: 252 211 77;--chart-4: 52 211 153;--chart-5: 96 165 250;--sidebar: 26 26 26;--sidebar-foreground: 232 235 237;--sidebar-primary: 255 112 67;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 30 64 175;--sidebar-accent-foreground: 219 234 254;--sidebar-border: 75 85 99;--sidebar-ring: 224 93 56;--radius: .5rem}.theme-vintage-paper{--background: 245 241 230;--foreground: 74 63 53;--card: 255 252 245;--card-foreground: 74 63 53;--popover: 255 252 245;--popover-foreground: 74 63 53;--primary: 166 124 82;--primary-foreground: 255 255 255;--secondary: 226 216 195;--secondary-foreground: 92 77 63;--muted: 236 229 216;--muted-foreground: 125 107 86;--accent: 212 200 170;--accent-foreground: 74 63 53;--destructive: 181 74 53;--destructive-foreground: 255 255 255;--border: 219 208 186;--input: 219 208 186;--ring: 166 124 82;--chart-1: 166 124 82;--chart-2: 201 152 109;--chart-3: 212 165 116;--chart-4: 226 194 138;--chart-5: 240 223 159;--sidebar: 255 252 245;--sidebar-foreground: 74 63 53;--sidebar-primary: 166 124 82;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 212 200 170;--sidebar-accent-foreground: 74 63 53;--sidebar-border: 219 208 186;--sidebar-ring: 166 124 82;--radius: .375rem}.dark.theme-vintage-paper{--background: 45 39 33;--foreground: 245 241 230;--card: 61 53 42;--card-foreground: 245 241 230;--popover: 61 53 42;--popover-foreground: 245 241 230;--primary: 255 126 95;--primary-foreground: 255 255 255;--secondary: 77 66 54;--secondary-foreground: 226 216 195;--muted: 63 55 48;--muted-foreground: 166 124 82;--accent: 139 90 60;--accent-foreground: 245 241 230;--destructive: 220 38 38;--destructive-foreground: 255 255 255;--border: 93 82 62;--input: 93 82 62;--ring: 255 126 95;--chart-1: 255 126 95;--chart-2: 255 148 119;--chart-3: 255 170 143;--chart-4: 255 192 167;--chart-5: 255 214 191;--sidebar: 45 39 33;--sidebar-foreground: 245 241 230;--sidebar-primary: 255 126 95;--sidebar-primary-foreground: 255 255 255;--sidebar-accent: 139 90 60;--sidebar-accent-foreground: 245 241 230;--sidebar-border: 93 82 62;--sidebar-ring: 255 126 95;--radius: .375rem}.table-row-focused{background-color:rgb(var(--accent) / .1)!important;border-left:3px solid rgb(var(--accent))!important;outline:none!important}.table-cell-focused button,.table-cell-focused a{border:none!important;border-radius:none!important;background-color:none!important;outline:none!important}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity: 1;color:rgb(var(--muted-foreground) / var(--tw-text-opacity, 1))}.hover\:whitespace-normal:hover{white-space:normal}.hover\:break-all:hover{word-break:break-all}.hover\:border-border\/40:hover{border-color:rgb(var(--border) / .4)}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/90:hover{background-color:rgb(var(--destructive) / .9)}.hover\:bg-muted\/50:hover{background-color:rgb(var(--muted) / .5)}.hover\:bg-primary\/90:hover{background-color:rgb(var(--primary) / .9)}.hover\:bg-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(var(--secondary) / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/20:hover{background-color:rgb(var(--secondary) / .2)}.hover\:bg-secondary\/30:hover{background-color:rgb(var(--secondary) / .3)}.hover\:bg-secondary\/60:hover{background-color:rgb(var(--secondary) / .6)}.hover\:bg-secondary\/80:hover{background-color:rgb(var(--secondary) / .8)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-accent-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.hover\:text-primary\/80:hover{color:rgb(var(--primary) / .8)}.hover\:text-secondary-foreground:hover{--tw-text-opacity: 1;color:rgb(var(--secondary-foreground) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ring) / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ring) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: rgb(var(--background) / 1)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:bg-accent[aria-selected=true]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.aria-selected\:text-accent-foreground[aria-selected=true]{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[highlighted\]\:bg-accent[data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[highlighted\]\:bg-secondary\/50[data-highlighted]{background-color:rgb(var(--secondary) / .5)}.data-\[state\=active\]\:bg-background[data-state=active]{--tw-bg-opacity: 1;background-color:rgb(var(--background) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity: 1;background-color:rgb(var(--primary) / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity: 1;background-color:rgb(var(--accent) / var(--tw-bg-opacity, 1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity: 1;background-color:rgb(var(--muted) / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity: 1;background-color:rgb(var(--input) / var(--tw-bg-opacity, 1))}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{--tw-text-opacity: 1;color:rgb(var(--accent-foreground) / var(--tw-text-opacity, 1))}.data-\[state\=active\]\:text-foreground[data-state=active]{--tw-text-opacity: 1;color:rgb(var(--foreground) / var(--tw-text-opacity, 1))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&_\[data-command-group\]\:not\(\[hidden\]\)_\~\[data-command-group\]\]\:pt-0 [data-command-group]:not([hidden])~[data-command-group]{padding-top:0}.\[\&_\[data-command-group\]\]\:px-2 [data-command-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[data-command-input-wrapper\]_svg\]\:h-5 [data-command-input-wrapper] svg{height:1.25rem}.\[\&_\[data-command-input-wrapper\]_svg\]\:w-5 [data-command-input-wrapper] svg{width:1.25rem}.\[\&_\[data-command-input\]\]\:h-12 [data-command-input]{height:3rem}.\[\&_\[data-command-item\]\]\:px-2 [data-command-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[data-command-item\]\]\:py-3 [data-command-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[data-command-item\]_svg\]\:h-5 [data-command-item] svg{height:1.25rem}.\[\&_\[data-command-item\]_svg\]\:w-5 [data-command-item] svg{width:1.25rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}body{margin:0;padding:0} diff --git a/.svelte-kit/output/server/chunks/SearchResultLayout.js b/.svelte-kit/output/server/chunks/SearchResultLayout.js new file mode 100644 index 0000000..9a99485 --- /dev/null +++ b/.svelte-kit/output/server/chunks/SearchResultLayout.js @@ -0,0 +1,1197 @@ +import { O as sanitize_props, I as spread_props, P as slot, J as escape_html, y as pop, w as push, E as spread_attributes, X as clsx, F as bind_props, R as store_get, T as ensure_array_like, V as stringify, S as unsubscribe_stores, K as attr, W as attr_class, Q as fallback } from "./index.js"; +import { c as cn, p as page, b as breadcrumbs } from "./breadcrumbs.js"; +import { I as Icon, c as Input, B as Button, o as onDestroy, k as keyboardShortcuts, t as tick } from "./keyboard-shortcuts.js"; +import { createTable, getPaginationRowModel, getFilteredRowModel, getSortedRowModel, getCoreRowModel } from "@tanstack/table-core"; +import "clsx"; +import { w as writable } from "./exports.js"; +import "./client.js"; +function Arrow_up_down($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + ["path", { "d": "m21 16-4 4-4-4" }], + ["path", { "d": "M17 20V4" }], + ["path", { "d": "m3 8 4-4 4 4" }], + ["path", { "d": "M7 4v16" }] + ]; + Icon($$payload, spread_props([ + { name: "arrow-up-down" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Chevron_left($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [["path", { "d": "m15 18-6-6 6-6" }]]; + Icon($$payload, spread_props([ + { name: "chevron-left" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Chevron_right($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [["path", { "d": "m9 18 6-6-6-6" }]]; + Icon($$payload, spread_props([ + { name: "chevron-right" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Chevrons_left($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + ["path", { "d": "m11 17-5-5 5-5" }], + ["path", { "d": "m18 17-5-5 5-5" }] + ]; + Icon($$payload, spread_props([ + { name: "chevrons-left" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Chevrons_right($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + ["path", { "d": "m6 17 5-5-5-5" }], + ["path", { "d": "m13 17 5-5-5-5" }] + ]; + Icon($$payload, spread_props([ + { name: "chevrons-right" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +class RenderComponentConfig { + component; + props; + constructor(component, props = {}) { + this.component = component; + this.props = props; + } +} +class RenderSnippetConfig { + snippet; + params; + constructor(snippet, params) { + this.snippet = snippet; + this.params = params; + } +} +function renderComponent(component, props) { + return new RenderComponentConfig(component, props); +} +function Flex_render($$payload, $$props) { + push(); + let { content, context } = $$props; + if (typeof content === "string") { + $$payload.out += ""; + $$payload.out += `${escape_html(content)}`; + } else if (content instanceof Function) { + $$payload.out += ""; + const result = content(context); + if (result instanceof RenderComponentConfig) { + $$payload.out += ""; + const { component: Component, props } = result; + $$payload.out += ``; + Component($$payload, spread_props([props])); + $$payload.out += ``; + } else if (result instanceof RenderSnippetConfig) { + $$payload.out += ""; + const { snippet, params } = result; + snippet($$payload, params); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += `${escape_html(result)}`; + } + $$payload.out += ``; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + pop(); +} +function createSvelteTable(options) { + const resolvedOptions = mergeObjects( + { + state: {}, + onStateChange() { + }, + renderFallbackValue: null, + mergeOptions: (defaultOptions, options2) => { + return mergeObjects(defaultOptions, options2); + } + }, + options + ); + const table = createTable(resolvedOptions); + let state = table.initialState; + function updateOptions() { + table.setOptions((prev) => { + return mergeObjects(prev, options, { + state: mergeObjects(state, options.state || {}), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + onStateChange: (updater) => { + if (updater instanceof Function) state = updater(state); + else state = mergeObjects(state, updater); + options.onStateChange?.(updater); + } + }); + }); + } + updateOptions(); + return table; +} +function mergeObjects(...sources) { + const target = {}; + for (let i = 0; i < sources.length; i++) { + let source = sources[i]; + if (typeof source === "function") source = source(); + if (source) { + const descriptors = Object.getOwnPropertyDescriptors(source); + for (const key in descriptors) { + if (key in target) continue; + Object.defineProperty(target, key, { + enumerable: true, + get() { + for (let i2 = sources.length - 1; i2 >= 0; i2--) { + let s = sources[i2]; + if (typeof s === "function") s = s(); + const v = (s || {})[key]; + if (v !== void 0) return v; + } + } + }); + } + } + } + return target; +} +function Table($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += `
    `; + children?.($$payload); + $$payload.out += `
    `; + bind_props($$props, { ref }); + pop(); +} +function Table_body($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Table_cell($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Table_head($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Table_header($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Table_row($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +const STORAGE_KEY = "passdb-table-settings"; +const DEFAULT_SETTINGS = { + pageSize: 15 +}; +function createTableSettingsStore() { + const initialSettings = (() => { + if (typeof window !== "undefined") { + try { + const stored = localStorage.getItem(STORAGE_KEY); + if (stored) { + const parsed = JSON.parse(stored); + return { ...DEFAULT_SETTINGS, ...parsed }; + } + } catch (error) { + console.warn("Failed to parse table settings from localStorage:", error); + } + } + return DEFAULT_SETTINGS; + })(); + const { subscribe, set, update } = writable(initialSettings); + function persistSettings(settings) { + if (typeof window !== "undefined") { + try { + localStorage.setItem(STORAGE_KEY, JSON.stringify(settings)); + } catch (error) { + console.warn("Failed to save table settings to localStorage:", error); + } + } + } + return { + subscribe, + setPageSize: (pageSize) => { + update((settings) => { + const newSettings = { ...settings, pageSize }; + persistSettings(newSettings); + return newSettings; + }); + }, + reset: () => { + persistSettings(DEFAULT_SETTINGS); + set(DEFAULT_SETTINGS); + } + }; +} +const tableSettings = createTableSettingsStore(); +function Data_table($$payload, $$props) { + push(); + var $$store_subs; + let { columns: columns2, data, pageSize } = $$props; + const effectivePageSize = pageSize || store_get($$store_subs ??= {}, "$tableSettings", tableSettings).pageSize; + let globalFilter = ""; + let sorting = []; + let columnFilters = []; + let pageIndex = 0; + const pagination = { pageIndex, pageSize: effectivePageSize }; + const table = createSvelteTable({ + get data() { + return data; + }, + get columns() { + return columns2; + }, + getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), + getFilteredRowModel: getFilteredRowModel(), + getPaginationRowModel: getPaginationRowModel(), + state: { + get globalFilter() { + return globalFilter; + }, + get sorting() { + return sorting; + }, + get columnFilters() { + return columnFilters; + }, + get pagination() { + return pagination; + } + }, + onGlobalFilterChange: (updater) => { + globalFilter = typeof updater === "function" ? updater(globalFilter) : updater; + pageIndex = 0; + }, + onSortingChange: (updater) => { + sorting = typeof updater === "function" ? updater(sorting) : updater; + }, + onColumnFiltersChange: (updater) => { + columnFilters = typeof updater === "function" ? updater(columnFilters) : updater; + }, + onPaginationChange: (updater) => { + const newPagination = typeof updater === "function" ? updater(pagination) : updater; + pageIndex = newPagination.pageIndex; + }, + globalFilterFn: "includesString" + }); + function handleFilterChange(event) { + const target = event.target; + table.setGlobalFilter(target.value); + } + $$payload.out += `
    `; + Input($$payload, { + placeholder: "Filter results...", + value: table.getState().globalFilter ?? "", + oninput: handleFilterChange, + class: "w-full", + "data-filter-input": true + }); + $$payload.out += `
    `; + if (table.getState().globalFilter && table.getState().globalFilter.length > 0) { + $$payload.out += ""; + $$payload.out += `
    `; + if (table.getFilteredRowModel().rows.length > 0) { + $$payload.out += ""; + $$payload.out += `Showing ${escape_html(table.getFilteredRowModel().rows.length)} of ${escape_html(table.getCoreRowModel().rows.length)} results`; + } else { + $$payload.out += ""; + $$payload.out += `No results found for current filter`; + } + $$payload.out += `
    `; + } else { + $$payload.out += ""; + } + $$payload.out += `
    `; + Button($$payload, { + variant: "outline", + size: "sm", + onclick: () => table.setPageIndex(0), + disabled: !table.getCanPreviousPage(), + children: ($$payload2) => { + Chevrons_left($$payload2, { class: "h-4 w-4" }); + }, + $$slots: { default: true } + }); + $$payload.out += ` `; + Button($$payload, { + variant: "outline", + size: "sm", + onclick: () => table.previousPage(), + disabled: !table.getCanPreviousPage(), + "data-pagination-prev": true, + children: ($$payload2) => { + Chevron_left($$payload2, { class: "h-4 w-4" }); + }, + $$slots: { default: true } + }); + $$payload.out += ` Page ${escape_html(table.getState().pagination.pageIndex + 1)} of ${escape_html(Math.max(1, table.getPageCount()))} `; + Button($$payload, { + variant: "outline", + size: "sm", + onclick: () => table.nextPage(), + disabled: !table.getCanNextPage(), + "data-pagination-next": true, + children: ($$payload2) => { + Chevron_right($$payload2, { class: "h-4 w-4" }); + }, + $$slots: { default: true } + }); + $$payload.out += ` `; + Button($$payload, { + variant: "outline", + size: "sm", + onclick: () => table.setPageIndex(table.getPageCount() - 1), + disabled: !table.getCanNextPage(), + children: ($$payload2) => { + Chevrons_right($$payload2, { class: "h-4 w-4" }); + }, + $$slots: { default: true } + }); + $$payload.out += `
    `; + Table($$payload, { + children: ($$payload2) => { + $$payload2.out += ``; + Table_header($$payload2, { + class: "bg-muted/50", + children: ($$payload3) => { + const each_array = ensure_array_like(table.getHeaderGroups()); + $$payload3.out += ``; + for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) { + let headerGroup = each_array[$$index_1]; + $$payload3.out += ``; + Table_row($$payload3, { + class: " border-border hover:bg-transparent bg-background", + children: ($$payload4) => { + const each_array_1 = ensure_array_like(headerGroup.headers); + $$payload4.out += ``; + for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) { + let header = each_array_1[$$index]; + $$payload4.out += ``; + Table_head($$payload4, { + class: "text-card-foreground font-semibold", + children: ($$payload5) => { + if (!header.isPlaceholder) { + $$payload5.out += ""; + if (header.column.getCanSort()) { + $$payload5.out += ""; + Button($$payload5, { + variant: "ghost", + onclick: header.column.getToggleSortingHandler(), + class: "h-auto p-0 font-semibold hover:bg-secondary hover:text-secondary-foreground", + children: ($$payload6) => { + Flex_render($$payload6, { + content: header.column.columnDef.header, + context: header.getContext() + }); + $$payload6.out += ` `; + Arrow_up_down($$payload6, { class: "ml-2 h-4 w-4" }); + $$payload6.out += ``; + }, + $$slots: { default: true } + }); + } else { + $$payload5.out += ""; + Flex_render($$payload5, { + content: header.column.columnDef.header, + context: header.getContext() + }); + } + $$payload5.out += ``; + } else { + $$payload5.out += ""; + } + $$payload5.out += ``; + }, + $$slots: { default: true } + }); + $$payload4.out += ``; + } + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + } + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ` `; + Table_body($$payload2, { + children: ($$payload3) => { + if (table.getRowModel().rows?.length) { + $$payload3.out += ""; + const each_array_2 = ensure_array_like(table.getRowModel().rows); + $$payload3.out += ``; + for (let index = 0, $$length = each_array_2.length; index < $$length; index++) { + let row = each_array_2[index]; + $$payload3.out += ``; + Table_row($$payload3, { + class: `border-b border-border/50 transition-colors ${stringify(index % 2 === 0 ? "bg-background/75 hover:bg-secondary/20" : "bg-background/90 hover:bg-secondary/30")}`, + "data-table-row": true, + children: ($$payload4) => { + const each_array_3 = ensure_array_like(row.getVisibleCells()); + $$payload4.out += ``; + for (let $$index_2 = 0, $$length2 = each_array_3.length; $$index_2 < $$length2; $$index_2++) { + let cell = each_array_3[$$index_2]; + $$payload4.out += ``; + Table_cell($$payload4, { + class: "text-card-foreground", + "data-table-cell": true, + children: ($$payload5) => { + Flex_render($$payload5, { + content: cell.column.columnDef.cell, + context: cell.getContext() + }); + }, + $$slots: { default: true } + }); + $$payload4.out += ``; + } + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + } + $$payload3.out += ``; + } else { + $$payload3.out += ""; + $$payload3.out += ``; + Table_row($$payload3, { + children: ($$payload4) => { + $$payload4.out += ``; + Table_cell($$payload4, { + colspan: columns2.length, + class: "h-24 text-center", + children: ($$payload5) => { + $$payload5.out += `No results found.`; + }, + $$slots: { default: true } + }); + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + } + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ``; + }, + $$slots: { default: true } + }); + $$payload.out += `
    Items per page: `; + Input($$payload, { + type: "number", + min: "1", + max: "1000", + value: table.getState().pagination.pageSize, + oninput: (e) => { + const target = e.target; + const value = parseInt(target.value); + if (value > 0 && value <= 1e3) { + table.setPageSize(value); + tableSettings.setPageSize(value); + } + }, + class: "w-20 h-8 text-center" + }); + $$payload.out += `
    `; + if ($$store_subs) unsubscribe_stores($$store_subs); + pop(); +} +function Table_actions($$payload, $$props) { + push(); + var $$store_subs; + let { + type, + username, + domain, + password, + showEmailLink = false + } = $$props; + if (type === "username") { + $$payload.out += ""; + $$payload.out += `
    `; + if (showEmailLink && !store_get($$store_subs ??= {}, "$page", page).route.id?.includes("/email/") && username && username !== "-" && domain && domain !== "-") { + $$payload.out += ""; + $$payload.out += ``; + } else if (showEmailLink && !store_get($$store_subs ??= {}, "$page", page).route.id?.includes("/email/")) { + $$payload.out += ""; + $$payload.out += `
    `; + } else { + $$payload.out += ""; + } + $$payload.out += ` `; + if (username && username !== "-") { + $$payload.out += ""; + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += `-`; + } + $$payload.out += `
    `; + } else if (type === "domain") { + $$payload.out += ""; + if (domain && domain !== "-") { + $$payload.out += ""; + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += `-`; + } + $$payload.out += ``; + } else if (type === "password") { + $$payload.out += ""; + $$payload.out += `
    `; + if (password && password !== "-") { + $$payload.out += ""; + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += `-`; + } + $$payload.out += `
    `; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + if ($$store_subs) unsubscribe_stores($$store_subs); + pop(); +} +const columns = [ + { + accessorKey: "username", + header: "Username", + enableSorting: true, + enableGlobalFilter: true, + cell: ({ row }) => { + const username = row.getValue("username"); + const domain = row.original.domain; + return renderComponent(Table_actions, { + type: "username", + username, + domain, + showEmailLink: true + }); + } + }, + { + accessorKey: "domain", + header: "Domain", + enableSorting: true, + enableGlobalFilter: true, + cell: ({ row }) => { + const domain = row.getValue("domain"); + return renderComponent(Table_actions, { + type: "domain", + domain + }); + } + }, + { + accessorKey: "password", + header: "Password", + enableSorting: false, + enableGlobalFilter: true, + cell: ({ row }) => { + const password = row.getValue("password"); + return renderComponent(Table_actions, { + type: "password", + password + }); + } + } +]; +function Results($$payload, $$props) { + push(); + var $$store_subs; + let searchParams, params; + let results = $$props["results"]; + onDestroy(() => { + keyboardShortcuts.setContext("global"); + }); + searchParams = store_get($$store_subs ??= {}, "$page", page).url.searchParams; + params = { + page: searchParams.get("page") ? parseInt(searchParams.get("page")) : 1, + per_page: searchParams.get("per_page") ? parseInt(searchParams.get("per_page")) : void 0, + ...Object.fromEntries(searchParams.entries()) + }; + $$payload.out += `
    `; + Data_table($$payload, { + columns, + data: results, + pageSize: params.per_page + }); + $$payload.out += `
    `; + if ($$store_subs) unsubscribe_stores($$store_subs); + bind_props($$props, { results }); + pop(); +} +function LoadingStates($$payload, $$props) { + let { type = "spinner", message = "" } = $$props; + if (type === "spinner") { + $$payload.out += ""; + $$payload.out += `
    `; + if (message) { + $$payload.out += ""; + $$payload.out += `

    ${escape_html(message)}

    `; + } else { + $$payload.out += ""; + } + $$payload.out += `
    `; + } else if (type === "skeleton") { + $$payload.out += ""; + const each_array = ensure_array_like(Array(3)); + $$payload.out += `
    `; + for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) { + each_array[$$index]; + $$payload.out += `
    `; + } + $$payload.out += `
    `; + } else if (type === "dots") { + $$payload.out += ""; + $$payload.out += `
    `; + } else { + $$payload.out += ""; + } + $$payload.out += ``; +} +function useFetch(url, options = {}) { + const { + immediate = true, + retry = 3, + retryDelay = 1e3, + ...fetchOptions + } = options; + let data = null; + let error = null; + let loading = false; + const getUrl = () => typeof url === "function" ? url() : url; + async function executeWithRetry(attempt = 0) { + loading = true; + error = null; + try { + const response = await fetch(getUrl(), fetchOptions); + if (!response.ok) { + throw new Error(`HTTP ${response.status}: ${response.statusText}`); + } + const contentType = response.headers.get("content-type"); + if (contentType?.includes("application/json")) { + data = await response.json(); + } else { + data = await response.text(); + } + loading = false; + await tick(); + } catch (e) { + const fetchError = e; + if (attempt < retry) { + await new Promise((resolve) => setTimeout(resolve, retryDelay * Math.pow(2, attempt))); + return executeWithRetry(attempt + 1); + } + error = fetchError; + data = null; + loading = false; + await tick(); + } + } + async function execute() { + return executeWithRetry(0); + } + async function mutate(newData) { + data = newData; + await tick(); + } + if (immediate && typeof window !== "undefined") { + execute(); + } + return { + get data() { + return data; + }, + get error() { + return error; + }, + get loading() { + return loading; + }, + get isIdle() { + return !loading && !error && !data; + }, + get isSuccess() { + return !loading && !error && data !== null; + }, + get isError() { + return !loading && error !== null; + }, + execute, + mutate, + refresh: execute, + reset: async () => { + data = null; + error = null; + loading = false; + await tick(); + } + }; +} +function useAPI(endpoint, options) { + const getBaseUrl = () => typeof window !== "undefined" ? localStorage.getItem("host") || "http://localhost:4567" : "http://localhost:4567"; + return useFetch(() => `${getBaseUrl()}${endpoint}`, options); +} +function Fetcher($$payload, $$props) { + push(); + let endpoint = $$props["endpoint"]; + const { data: results, loading, error, isSuccess } = useAPI(endpoint); + $$payload.out += `
    `; + if (loading) { + $$payload.out += ""; + LoadingStates($$payload, { + type: "spinner", + message: "Searching database..." + }); + } else if (error) { + $$payload.out += ""; + $$payload.out += `

    Failed to fetch results

    ${escape_html(error.message)}

    Please check your API host configuration and try again.

    `; + } else if (isSuccess && results) { + $$payload.out += ""; + if (results.length === 0) { + $$payload.out += ""; + $$payload.out += `

    No results found

    Try adjusting your search terms

    `; + } else { + $$payload.out += ""; + Results($$payload, { results }); + } + $$payload.out += ``; + } else { + $$payload.out += ""; + } + $$payload.out += `
    `; + bind_props($$props, { endpoint }); + pop(); +} +function Breadcrumb($$payload, $$props) { + push(); + let { + ref = void 0, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Breadcrumb_item($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Breadcrumb_separator($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += `svg]:size-3.5", className)), + ...restProps + } + )}>`; + if (children) { + $$payload.out += ""; + children?.($$payload); + $$payload.out += ``; + } else { + $$payload.out += ""; + Chevron_right($$payload, {}); + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Breadcrumb_list($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Breadcrumb_page($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Breadcrumbs($$payload, $$props) { + push(); + var $$store_subs; + let displayBreadcrumbs, responsiveClasses, needsTextTruncation; + displayBreadcrumbs = (() => { + const total = store_get($$store_subs ??= {}, "$breadcrumbs", breadcrumbs).length; + if (total <= 4) { + return store_get($$store_subs ??= {}, "$breadcrumbs", breadcrumbs).map((breadcrumb, index) => ({ + ...breadcrumb, + originalIndex: index, + showEllipsis: false + })); + } else { + const result = []; + result.push({ + ...store_get($$store_subs ??= {}, "$breadcrumbs", breadcrumbs)[0], + originalIndex: 0, + showEllipsis: false + }); + result.push({ + label: "...", + path: "", + timestamp: 0, + originalIndex: -1, + showEllipsis: true + }); + const lastThree = store_get($$store_subs ??= {}, "$breadcrumbs", breadcrumbs).slice(-3); + lastThree.forEach((breadcrumb, index) => { + result.push({ + ...breadcrumb, + originalIndex: total - 3 + index, + showEllipsis: false + }); + }); + return result; + } + })(); + responsiveClasses = (() => { + const total = store_get($$store_subs ??= {}, "$breadcrumbs", breadcrumbs).length; + if (total <= 3) return "text-sm px-3 py-1.5"; + if (total <= 4) return "text-sm px-2.5 py-1.5"; + return "text-xs px-2 py-1.5"; + })(); + needsTextTruncation = store_get($$store_subs ??= {}, "$breadcrumbs", breadcrumbs).length > 4; + if (store_get($$store_subs ??= {}, "$breadcrumbs", breadcrumbs).length > 1) { + $$payload.out += ""; + $$payload.out += `
    `; + Breadcrumb($$payload, { + children: ($$payload2) => { + Breadcrumb_list($$payload2, { + class: "gap-1 flex-nowrap overflow-hidden", + children: ($$payload3) => { + const each_array = ensure_array_like(displayBreadcrumbs); + $$payload3.out += ``; + for (let index = 0, $$length = each_array.length; index < $$length; index++) { + let breadcrumb = each_array[index]; + Breadcrumb_item($$payload3, { + class: needsTextTruncation ? "flex-shrink min-w-0" : "flex-shrink-0", + children: ($$payload4) => { + if (breadcrumb.showEllipsis) { + $$payload4.out += ""; + $$payload4.out += `
    ...
    `; + } else if (breadcrumb.originalIndex === store_get($$store_subs ??= {}, "$breadcrumbs", breadcrumbs).length - 1) { + $$payload4.out += ""; + Breadcrumb_page($$payload4, { + class: `${stringify(responsiveClasses)} font-medium text-foreground bg-background/40 rounded border border-border/40 ${stringify(needsTextTruncation ? "truncate max-w-[200px]" : "")}`, + title: breadcrumb.label, + children: ($$payload5) => { + $$payload5.out += `${escape_html(breadcrumb.label)}`; + }, + $$slots: { default: true } + }); + } else { + $$payload4.out += ""; + $$payload4.out += `${escape_html(breadcrumb.label)}`; + } + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + if (index < displayBreadcrumbs.length - 1) { + $$payload3.out += ""; + Breadcrumb_separator($$payload3, { + class: "mx-1 flex-shrink-0", + children: ($$payload4) => { + Chevron_right($$payload4, { class: "h-3 w-3 text-muted-foreground/50" }); + }, + $$slots: { default: true } + }); + } else { + $$payload3.out += ""; + } + $$payload3.out += ``; + } + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + }, + $$slots: { default: true } + }); + $$payload.out += `
    `; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + if ($$store_subs) unsubscribe_stores($$store_subs); + pop(); +} +function SearchResultLayout($$payload, $$props) { + push(); + var $$store_subs; + let paramValue, querystring, endpoint; + let params = fallback($$props["params"], () => ({}), true); + let apiPath = $$props["apiPath"]; + let paramKey = $$props["paramKey"]; + let breadcrumbLabel = $$props["breadcrumbLabel"]; + let formatBreadcrumb = fallback($$props["formatBreadcrumb"], (v) => v); + paramValue = params[paramKey]; + querystring = store_get($$store_subs ??= {}, "$page", page).url.search; + endpoint = `/api/v1/${apiPath}/${paramValue}${querystring}`; + if (paramValue) { + const displayValue = formatBreadcrumb(decodeURIComponent(paramValue)); + breadcrumbs.addFromLocation(`${breadcrumbLabel}: ${displayValue}`); + } + $$payload.out += `
    `; + Breadcrumbs($$payload); + $$payload.out += `
    `; + Fetcher($$payload, { endpoint }); + $$payload.out += ` `; + slot($$payload, $$props, "default", {}); + $$payload.out += `
    `; + if ($$store_subs) unsubscribe_stores($$store_subs); + bind_props($$props, { + params, + apiPath, + paramKey, + breadcrumbLabel, + formatBreadcrumb + }); + pop(); +} +export { + LoadingStates as L, + SearchResultLayout as S, + useAPI as u +}; diff --git a/.svelte-kit/output/server/chunks/breadcrumbs.js b/.svelte-kit/output/server/chunks/breadcrumbs.js new file mode 100644 index 0000000..6a1f816 --- /dev/null +++ b/.svelte-kit/output/server/chunks/breadcrumbs.js @@ -0,0 +1,154 @@ +import { clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; +import { w as writable, j as get } from "./exports.js"; +import { g as goto } from "./client.js"; +import { a1 as getContext } from "./index.js"; +const getStores = () => { + const stores$1 = getContext("__svelte__"); + return { + /** @type {typeof page} */ + page: { + subscribe: stores$1.page.subscribe + }, + /** @type {typeof navigating} */ + navigating: { + subscribe: stores$1.navigating.subscribe + }, + /** @type {typeof updated} */ + updated: stores$1.updated + }; +}; +const page = { + subscribe(fn) { + const store = getStores().page; + return store.subscribe(fn); + } +}; +function cn(...inputs) { + return twMerge(clsx(inputs)); +} +function createNavigationStore() { + const { subscribe, set } = writable("none"); + return { + subscribe, + setNavigationType: (type) => { + set(type); + setTimeout(() => set("none"), 100); + } + }; +} +const navigation = createNavigationStore(); +const STORAGE_KEY = "passdb-breadcrumbs"; +function createBreadcrumbStore() { + const initialBreadcrumbs = typeof window !== "undefined" ? JSON.parse(localStorage.getItem(STORAGE_KEY) || "[]") : []; + if (initialBreadcrumbs.length === 0 || initialBreadcrumbs[0].path !== "/") { + initialBreadcrumbs.unshift({ + label: "Home", + path: "/", + timestamp: Date.now() + }); + } + const { subscribe, set, update } = writable(initialBreadcrumbs); + function persistBreadcrumbs(breadcrumbs2) { + if (typeof window !== "undefined") { + localStorage.setItem(STORAGE_KEY, JSON.stringify(breadcrumbs2)); + } + } + function addBreadcrumb(label, path) { + const currentNavigationType = get(navigation); + if (currentNavigationType === "back") { + return; + } + update((breadcrumbs2) => { + const lastBreadcrumb = breadcrumbs2[breadcrumbs2.length - 1]; + if (lastBreadcrumb && lastBreadcrumb.path === path) { + return breadcrumbs2; + } + if (path === "/" && breadcrumbs2.some((b) => b.path === "/")) { + return breadcrumbs2; + } + const newBreadcrumb = { + label, + path, + timestamp: Date.now() + }; + const updatedBreadcrumbs = [...breadcrumbs2, newBreadcrumb]; + persistBreadcrumbs(updatedBreadcrumbs); + return updatedBreadcrumbs; + }); + } + function navigateToBreadcrumb(index) { + update((breadcrumbs2) => { + const newBreadcrumbs = breadcrumbs2.slice(0, index + 1); + persistBreadcrumbs(newBreadcrumbs); + return newBreadcrumbs; + }); + } + function goBack() { + const currentBreadcrumbs = get({ subscribe }); + if (currentBreadcrumbs.length > 1) { + navigation.setNavigationType("back"); + const previousBreadcrumb = currentBreadcrumbs[currentBreadcrumbs.length - 2]; + update((breadcrumbs2) => { + const newBreadcrumbs = breadcrumbs2.slice(0, -1); + persistBreadcrumbs(newBreadcrumbs); + return newBreadcrumbs; + }); + goto(previousBreadcrumb.path); + } + } + function clearBreadcrumbs() { + const homeBreadcrumb = [{ + label: "Home", + path: "/", + timestamp: Date.now() + }]; + set(homeBreadcrumb); + persistBreadcrumbs(homeBreadcrumb); + } + function reset() { + clearBreadcrumbs(); + } + function addFromLocation(customLabel) { + const currentPage = get(page); + const currentLocation = currentPage.url.pathname; + if (!currentLocation) return; + let label = customLabel; + if (!label) { + if (currentLocation === "/") { + label = "Home"; + } else if (currentLocation.startsWith("/username/")) { + const username = currentLocation.split("/")[2]; + label = `Username: ${decodeURIComponent(username)}`; + } else if (currentLocation.startsWith("/domain/")) { + const domain = currentLocation.split("/")[2]; + label = `Domain: ${decodeURIComponent(domain)}`; + } else if (currentLocation.startsWith("/password/")) { + const password = currentLocation.split("/")[2]; + const displayPassword = password.length > 20 ? password.substring(0, 20) + "..." : password; + label = `Password: ${decodeURIComponent(displayPassword)}`; + } else if (currentLocation.startsWith("/email/")) { + const email = currentLocation.split("/")[2]; + label = `Email: ${decodeURIComponent(email)}`; + } else { + label = "Page"; + } + } + addBreadcrumb(label, currentLocation); + } + return { + subscribe, + addBreadcrumb, + navigateToBreadcrumb, + goBack, + clearBreadcrumbs, + reset, + addFromLocation + }; +} +const breadcrumbs = createBreadcrumbStore(); +export { + breadcrumbs as b, + cn as c, + page as p +}; diff --git a/.svelte-kit/output/server/chunks/client.js b/.svelte-kit/output/server/chunks/client.js new file mode 100644 index 0000000..efbaa90 --- /dev/null +++ b/.svelte-kit/output/server/chunks/client.js @@ -0,0 +1,48 @@ +import "clsx"; +import { w as writable } from "./exports.js"; +import { a5 as noop } from "./index.js"; +function get(key, parse = JSON.parse) { + try { + return parse(sessionStorage[key]); + } catch { + } +} +const SNAPSHOT_KEY = "sveltekit:snapshot"; +const SCROLL_KEY = "sveltekit:scroll"; +function create_updated_store() { + const { set, subscribe } = writable(false); + { + return { + subscribe, + // eslint-disable-next-line @typescript-eslint/require-await + check: async () => false + }; + } +} +const is_legacy = noop.toString().includes("$$") || /function \w+\(\) \{\}/.test(noop.toString()); +if (is_legacy) { + ({ + data: {}, + form: null, + error: null, + params: {}, + route: { id: null }, + state: {}, + status: -1, + url: new URL("https://example.com") + }); +} +get(SCROLL_KEY) ?? {}; +get(SNAPSHOT_KEY) ?? {}; +const stores = { + updated: /* @__PURE__ */ create_updated_store() +}; +function goto(url, opts = {}) { + { + throw new Error("Cannot call goto(...) on the server"); + } +} +export { + goto as g, + stores as s +}; diff --git a/.svelte-kit/output/server/chunks/events.js b/.svelte-kit/output/server/chunks/events.js new file mode 100644 index 0000000..f1c2628 --- /dev/null +++ b/.svelte-kit/output/server/chunks/events.js @@ -0,0 +1,135 @@ +import { Z as set_active_reaction, _ as set_active_effect, $ as active_reaction, a as active_effect, a0 as queue_micro_task, t as define_property, z as is_array } from "./index.js"; +function without_reactive_context(fn) { + var previous_reaction = active_reaction; + var previous_effect = active_effect; + set_active_reaction(null); + set_active_effect(null); + try { + return fn(); + } finally { + set_active_reaction(previous_reaction); + set_active_effect(previous_effect); + } +} +const all_registered_events = /* @__PURE__ */ new Set(); +const root_event_handles = /* @__PURE__ */ new Set(); +function create_event(event_name, dom, handler, options = {}) { + function target_handler(event) { + if (!options.capture) { + handle_event_propagation.call(dom, event); + } + if (!event.cancelBubble) { + return without_reactive_context(() => { + return handler?.call(this, event); + }); + } + } + if (event_name.startsWith("pointer") || event_name.startsWith("touch") || event_name === "wheel") { + queue_micro_task(() => { + dom.addEventListener(event_name, target_handler, options); + }); + } else { + dom.addEventListener(event_name, target_handler, options); + } + return target_handler; +} +function on(element, type, handler, options = {}) { + var target_handler = create_event(type, element, handler, options); + return () => { + element.removeEventListener(type, target_handler, options); + }; +} +function handle_event_propagation(event) { + var handler_element = this; + var owner_document = ( + /** @type {Node} */ + handler_element.ownerDocument + ); + var event_name = event.type; + var path = event.composedPath?.() || []; + var current_target = ( + /** @type {null | Element} */ + path[0] || event.target + ); + var path_idx = 0; + var handled_at = event.__root; + if (handled_at) { + var at_idx = path.indexOf(handled_at); + if (at_idx !== -1 && (handler_element === document || handler_element === /** @type {any} */ + window)) { + event.__root = handler_element; + return; + } + var handler_idx = path.indexOf(handler_element); + if (handler_idx === -1) { + return; + } + if (at_idx <= handler_idx) { + path_idx = at_idx; + } + } + current_target = /** @type {Element} */ + path[path_idx] || event.target; + if (current_target === handler_element) return; + define_property(event, "currentTarget", { + configurable: true, + get() { + return current_target || owner_document; + } + }); + var previous_reaction = active_reaction; + var previous_effect = active_effect; + set_active_reaction(null); + set_active_effect(null); + try { + var throw_error; + var other_errors = []; + while (current_target !== null) { + var parent_element = current_target.assignedSlot || current_target.parentNode || /** @type {any} */ + current_target.host || null; + try { + var delegated = current_target["__" + event_name]; + if (delegated != null && (!/** @type {any} */ + current_target.disabled || // DOM could've been updated already by the time this is reached, so we check this as well + // -> the target could not have been disabled because it emits the event in the first place + event.target === current_target)) { + if (is_array(delegated)) { + var [fn, ...data] = delegated; + fn.apply(current_target, [event, ...data]); + } else { + delegated.call(current_target, event); + } + } + } catch (error) { + if (throw_error) { + other_errors.push(error); + } else { + throw_error = error; + } + } + if (event.cancelBubble || parent_element === handler_element || parent_element === null) { + break; + } + current_target = parent_element; + } + if (throw_error) { + for (let error of other_errors) { + queueMicrotask(() => { + throw error; + }); + } + throw throw_error; + } + } finally { + event.__root = handler_element; + delete event.currentTarget; + set_active_reaction(previous_reaction); + set_active_effect(previous_effect); + } +} +export { + all_registered_events as a, + handle_event_propagation as h, + on as o, + root_event_handles as r +}; diff --git a/.svelte-kit/output/server/chunks/exports.js b/.svelte-kit/output/server/chunks/exports.js new file mode 100644 index 0000000..d00a5df --- /dev/null +++ b/.svelte-kit/output/server/chunks/exports.js @@ -0,0 +1,283 @@ +import { a5 as noop, a6 as safe_not_equal, a7 as subscribe_to_store, a8 as run_all } from "./index.js"; +const internal = new URL("sveltekit-internal://"); +function resolve(base, path) { + if (path[0] === "/" && path[1] === "/") return path; + let url = new URL(base, internal); + url = new URL(path, url); + return url.protocol === internal.protocol ? url.pathname + url.search + url.hash : url.href; +} +function normalize_path(path, trailing_slash) { + if (path === "/" || trailing_slash === "ignore") return path; + if (trailing_slash === "never") { + return path.endsWith("/") ? path.slice(0, -1) : path; + } else if (trailing_slash === "always" && !path.endsWith("/")) { + return path + "/"; + } + return path; +} +function decode_pathname(pathname) { + return pathname.split("%25").map(decodeURI).join("%25"); +} +function decode_params(params) { + for (const key in params) { + params[key] = decodeURIComponent(params[key]); + } + return params; +} +function make_trackable(url, callback, search_params_callback, allow_hash = false) { + const tracked = new URL(url); + Object.defineProperty(tracked, "searchParams", { + value: new Proxy(tracked.searchParams, { + get(obj, key) { + if (key === "get" || key === "getAll" || key === "has") { + return (param) => { + search_params_callback(param); + return obj[key](param); + }; + } + callback(); + const value = Reflect.get(obj, key); + return typeof value === "function" ? value.bind(obj) : value; + } + }), + enumerable: true, + configurable: true + }); + const tracked_url_properties = ["href", "pathname", "search", "toString", "toJSON"]; + if (allow_hash) tracked_url_properties.push("hash"); + for (const property of tracked_url_properties) { + Object.defineProperty(tracked, property, { + get() { + callback(); + return url[property]; + }, + enumerable: true, + configurable: true + }); + } + { + tracked[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => { + return inspect(url, opts); + }; + tracked.searchParams[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => { + return inspect(url.searchParams, opts); + }; + } + if (!allow_hash) { + disable_hash(tracked); + } + return tracked; +} +function disable_hash(url) { + allow_nodejs_console_log(url); + Object.defineProperty(url, "hash", { + get() { + throw new Error( + "Cannot access event.url.hash. Consider using `page.url.hash` inside a component instead" + ); + } + }); +} +function disable_search(url) { + allow_nodejs_console_log(url); + for (const property of ["search", "searchParams"]) { + Object.defineProperty(url, property, { + get() { + throw new Error(`Cannot access url.${property} on a page with prerendering enabled`); + } + }); + } +} +function allow_nodejs_console_log(url) { + { + url[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => { + return inspect(new URL(url), opts); + }; + } +} +const subscriber_queue = []; +function readable(value, start) { + return { + subscribe: writable(value, start).subscribe + }; +} +function writable(value, start = noop) { + let stop = null; + const subscribers = /* @__PURE__ */ new Set(); + function set(new_value) { + if (safe_not_equal(value, new_value)) { + value = new_value; + if (stop) { + const run_queue = !subscriber_queue.length; + for (const subscriber of subscribers) { + subscriber[1](); + subscriber_queue.push(subscriber, value); + } + if (run_queue) { + for (let i = 0; i < subscriber_queue.length; i += 2) { + subscriber_queue[i][0](subscriber_queue[i + 1]); + } + subscriber_queue.length = 0; + } + } + } + } + function update(fn) { + set(fn( + /** @type {T} */ + value + )); + } + function subscribe(run, invalidate = noop) { + const subscriber = [run, invalidate]; + subscribers.add(subscriber); + if (subscribers.size === 1) { + stop = start(set, update) || noop; + } + run( + /** @type {T} */ + value + ); + return () => { + subscribers.delete(subscriber); + if (subscribers.size === 0 && stop) { + stop(); + stop = null; + } + }; + } + return { set, update, subscribe }; +} +function derived(stores, fn, initial_value) { + const single = !Array.isArray(stores); + const stores_array = single ? [stores] : stores; + if (!stores_array.every(Boolean)) { + throw new Error("derived() expects stores as input, got a falsy value"); + } + const auto = fn.length < 2; + return readable(initial_value, (set, update) => { + let started = false; + const values = []; + let pending = 0; + let cleanup = noop; + const sync = () => { + if (pending) { + return; + } + cleanup(); + const result = fn(single ? values[0] : values, set, update); + if (auto) { + set(result); + } else { + cleanup = typeof result === "function" ? result : noop; + } + }; + const unsubscribers = stores_array.map( + (store, i) => subscribe_to_store( + store, + (value) => { + values[i] = value; + pending &= ~(1 << i); + if (started) { + sync(); + } + }, + () => { + pending |= 1 << i; + } + ) + ); + started = true; + sync(); + return function stop() { + run_all(unsubscribers); + cleanup(); + started = false; + }; + }); +} +function get(store) { + let value; + subscribe_to_store(store, (_) => value = _)(); + return value; +} +function validator(expected) { + function validate(module, file) { + if (!module) return; + for (const key in module) { + if (key[0] === "_" || expected.has(key)) continue; + const values = [...expected.values()]; + const hint = hint_for_supported_files(key, file?.slice(file.lastIndexOf("."))) ?? `valid exports are ${values.join(", ")}, or anything with a '_' prefix`; + throw new Error(`Invalid export '${key}'${file ? ` in ${file}` : ""} (${hint})`); + } + } + return validate; +} +function hint_for_supported_files(key, ext = ".js") { + const supported_files = []; + if (valid_layout_exports.has(key)) { + supported_files.push(`+layout${ext}`); + } + if (valid_page_exports.has(key)) { + supported_files.push(`+page${ext}`); + } + if (valid_layout_server_exports.has(key)) { + supported_files.push(`+layout.server${ext}`); + } + if (valid_page_server_exports.has(key)) { + supported_files.push(`+page.server${ext}`); + } + if (valid_server_exports.has(key)) { + supported_files.push(`+server${ext}`); + } + if (supported_files.length > 0) { + return `'${key}' is a valid export in ${supported_files.slice(0, -1).join(", ")}${supported_files.length > 1 ? " or " : ""}${supported_files.at(-1)}`; + } +} +const valid_layout_exports = /* @__PURE__ */ new Set([ + "load", + "prerender", + "csr", + "ssr", + "trailingSlash", + "config" +]); +const valid_page_exports = /* @__PURE__ */ new Set([...valid_layout_exports, "entries"]); +const valid_layout_server_exports = /* @__PURE__ */ new Set([...valid_layout_exports]); +const valid_page_server_exports = /* @__PURE__ */ new Set([...valid_layout_server_exports, "actions", "entries"]); +const valid_server_exports = /* @__PURE__ */ new Set([ + "GET", + "POST", + "PATCH", + "PUT", + "DELETE", + "OPTIONS", + "HEAD", + "fallback", + "prerender", + "trailingSlash", + "config", + "entries" +]); +const validate_layout_exports = validator(valid_layout_exports); +const validate_page_exports = validator(valid_page_exports); +const validate_layout_server_exports = validator(valid_layout_server_exports); +const validate_page_server_exports = validator(valid_page_server_exports); +const validate_server_exports = validator(valid_server_exports); +export { + decode_params as a, + validate_layout_exports as b, + validate_page_server_exports as c, + disable_search as d, + validate_page_exports as e, + resolve as f, + decode_pathname as g, + validate_server_exports as h, + derived as i, + get as j, + make_trackable as m, + normalize_path as n, + readable as r, + validate_layout_server_exports as v, + writable as w +}; diff --git a/.svelte-kit/output/server/chunks/index.js b/.svelte-kit/output/server/chunks/index.js new file mode 100644 index 0000000..5e5f610 --- /dev/null +++ b/.svelte-kit/output/server/chunks/index.js @@ -0,0 +1,1682 @@ +import { clsx as clsx$1 } from "clsx"; +const BROWSER = false; +var is_array = Array.isArray; +var index_of = Array.prototype.indexOf; +var array_from = Array.from; +var define_property = Object.defineProperty; +var get_descriptor = Object.getOwnPropertyDescriptor; +var object_prototype = Object.prototype; +var array_prototype = Array.prototype; +var get_prototype_of = Object.getPrototypeOf; +var is_extensible = Object.isExtensible; +const noop = () => { +}; +function run_all(arr) { + for (var i = 0; i < arr.length; i++) { + arr[i](); + } +} +function fallback(value, fallback2, lazy = false) { + return value === void 0 ? lazy ? ( + /** @type {() => V} */ + fallback2() + ) : ( + /** @type {V} */ + fallback2 + ) : value; +} +function equals(value) { + return value === this.v; +} +function safe_not_equal(a, b) { + return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function"; +} +function safe_equals(value) { + return !safe_not_equal(value, this.v); +} +const DERIVED = 1 << 1; +const EFFECT = 1 << 2; +const RENDER_EFFECT = 1 << 3; +const BLOCK_EFFECT = 1 << 4; +const BRANCH_EFFECT = 1 << 5; +const ROOT_EFFECT = 1 << 6; +const BOUNDARY_EFFECT = 1 << 7; +const UNOWNED = 1 << 8; +const DISCONNECTED = 1 << 9; +const CLEAN = 1 << 10; +const DIRTY = 1 << 11; +const MAYBE_DIRTY = 1 << 12; +const INERT = 1 << 13; +const DESTROYED = 1 << 14; +const EFFECT_RAN = 1 << 15; +const EFFECT_TRANSPARENT = 1 << 16; +const HEAD_EFFECT = 1 << 19; +const EFFECT_HAS_DERIVED = 1 << 20; +const EFFECT_IS_UPDATING = 1 << 21; +const STATE_SYMBOL = Symbol("$state"); +const LEGACY_PROPS = Symbol("legacy props"); +function effect_update_depth_exceeded() { + { + throw new Error(`https://svelte.dev/e/effect_update_depth_exceeded`); + } +} +function hydration_failed() { + { + throw new Error(`https://svelte.dev/e/hydration_failed`); + } +} +function state_descriptors_fixed() { + { + throw new Error(`https://svelte.dev/e/state_descriptors_fixed`); + } +} +function state_prototype_fixed() { + { + throw new Error(`https://svelte.dev/e/state_prototype_fixed`); + } +} +function state_unsafe_mutation() { + { + throw new Error(`https://svelte.dev/e/state_unsafe_mutation`); + } +} +let tracing_mode_flag = false; +const HYDRATION_START = "["; +const HYDRATION_END = "]"; +const HYDRATION_ERROR = {}; +const ELEMENT_IS_NAMESPACED = 1; +const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1; +const UNINITIALIZED = Symbol(); +function lifecycle_outside_component(name) { + { + throw new Error(`https://svelte.dev/e/lifecycle_outside_component`); + } +} +let component_context = null; +function set_component_context(context) { + component_context = context; +} +function push$1(props, runes = false, fn) { + var ctx = component_context = { + p: component_context, + c: null, + d: false, + e: null, + m: false, + s: props, + x: null, + l: null + }; + teardown(() => { + ctx.d = true; + }); +} +function pop$1(component) { + const context_stack_item = component_context; + if (context_stack_item !== null) { + const component_effects = context_stack_item.e; + if (component_effects !== null) { + var previous_effect = active_effect; + var previous_reaction = active_reaction; + context_stack_item.e = null; + try { + for (var i = 0; i < component_effects.length; i++) { + var component_effect = component_effects[i]; + set_active_effect(component_effect.effect); + set_active_reaction(component_effect.reaction); + effect(component_effect.fn); + } + } finally { + set_active_effect(previous_effect); + set_active_reaction(previous_reaction); + } + } + component_context = context_stack_item.p; + context_stack_item.m = true; + } + return ( + /** @type {T} */ + {} + ); +} +function is_runes() { + return true; +} +function proxy(value) { + if (typeof value !== "object" || value === null || STATE_SYMBOL in value) { + return value; + } + const prototype = get_prototype_of(value); + if (prototype !== object_prototype && prototype !== array_prototype) { + return value; + } + var sources = /* @__PURE__ */ new Map(); + var is_proxied_array = is_array(value); + var version = /* @__PURE__ */ state(0); + var reaction = active_reaction; + var with_parent = (fn) => { + var previous_reaction = active_reaction; + set_active_reaction(reaction); + var result = fn(); + set_active_reaction(previous_reaction); + return result; + }; + if (is_proxied_array) { + sources.set("length", /* @__PURE__ */ state( + /** @type {any[]} */ + value.length + )); + } + return new Proxy( + /** @type {any} */ + value, + { + defineProperty(_, prop, descriptor) { + if (!("value" in descriptor) || descriptor.configurable === false || descriptor.enumerable === false || descriptor.writable === false) { + state_descriptors_fixed(); + } + var s = sources.get(prop); + if (s === void 0) { + s = with_parent(() => { + var s2 = /* @__PURE__ */ state(descriptor.value); + sources.set(prop, s2); + return s2; + }); + } else { + set(s, descriptor.value, true); + } + return true; + }, + deleteProperty(target, prop) { + var s = sources.get(prop); + if (s === void 0) { + if (prop in target) { + const s2 = with_parent(() => /* @__PURE__ */ state(UNINITIALIZED)); + sources.set(prop, s2); + update_version(version); + } + } else { + if (is_proxied_array && typeof prop === "string") { + var ls = ( + /** @type {Source} */ + sources.get("length") + ); + var n = Number(prop); + if (Number.isInteger(n) && n < ls.v) { + set(ls, n); + } + } + set(s, UNINITIALIZED); + update_version(version); + } + return true; + }, + get(target, prop, receiver) { + if (prop === STATE_SYMBOL) { + return value; + } + var s = sources.get(prop); + var exists = prop in target; + if (s === void 0 && (!exists || get_descriptor(target, prop)?.writable)) { + s = with_parent(() => { + var p = proxy(exists ? target[prop] : UNINITIALIZED); + var s2 = /* @__PURE__ */ state(p); + return s2; + }); + sources.set(prop, s); + } + if (s !== void 0) { + var v = get(s); + return v === UNINITIALIZED ? void 0 : v; + } + return Reflect.get(target, prop, receiver); + }, + getOwnPropertyDescriptor(target, prop) { + var descriptor = Reflect.getOwnPropertyDescriptor(target, prop); + if (descriptor && "value" in descriptor) { + var s = sources.get(prop); + if (s) descriptor.value = get(s); + } else if (descriptor === void 0) { + var source2 = sources.get(prop); + var value2 = source2?.v; + if (source2 !== void 0 && value2 !== UNINITIALIZED) { + return { + enumerable: true, + configurable: true, + value: value2, + writable: true + }; + } + } + return descriptor; + }, + has(target, prop) { + if (prop === STATE_SYMBOL) { + return true; + } + var s = sources.get(prop); + var has = s !== void 0 && s.v !== UNINITIALIZED || Reflect.has(target, prop); + if (s !== void 0 || active_effect !== null && (!has || get_descriptor(target, prop)?.writable)) { + if (s === void 0) { + s = with_parent(() => { + var p = has ? proxy(target[prop]) : UNINITIALIZED; + var s2 = /* @__PURE__ */ state(p); + return s2; + }); + sources.set(prop, s); + } + var value2 = get(s); + if (value2 === UNINITIALIZED) { + return false; + } + } + return has; + }, + set(target, prop, value2, receiver) { + var s = sources.get(prop); + var has = prop in target; + if (is_proxied_array && prop === "length") { + for (var i = value2; i < /** @type {Source} */ + s.v; i += 1) { + var other_s = sources.get(i + ""); + if (other_s !== void 0) { + set(other_s, UNINITIALIZED); + } else if (i in target) { + other_s = with_parent(() => /* @__PURE__ */ state(UNINITIALIZED)); + sources.set(i + "", other_s); + } + } + } + if (s === void 0) { + if (!has || get_descriptor(target, prop)?.writable) { + s = with_parent(() => /* @__PURE__ */ state(void 0)); + set(s, proxy(value2)); + sources.set(prop, s); + } + } else { + has = s.v !== UNINITIALIZED; + var p = with_parent(() => proxy(value2)); + set(s, p); + } + var descriptor = Reflect.getOwnPropertyDescriptor(target, prop); + if (descriptor?.set) { + descriptor.set.call(receiver, value2); + } + if (!has) { + if (is_proxied_array && typeof prop === "string") { + var ls = ( + /** @type {Source} */ + sources.get("length") + ); + var n = Number(prop); + if (Number.isInteger(n) && n >= ls.v) { + set(ls, n + 1); + } + } + update_version(version); + } + return true; + }, + ownKeys(target) { + get(version); + var own_keys = Reflect.ownKeys(target).filter((key2) => { + var source3 = sources.get(key2); + return source3 === void 0 || source3.v !== UNINITIALIZED; + }); + for (var [key, source2] of sources) { + if (source2.v !== UNINITIALIZED && !(key in target)) { + own_keys.push(key); + } + } + return own_keys; + }, + setPrototypeOf() { + state_prototype_fixed(); + } + } + ); +} +function update_version(signal, d = 1) { + set(signal, signal.v + d); +} +function destroy_derived_effects(derived2) { + var effects = derived2.effects; + if (effects !== null) { + derived2.effects = null; + for (var i = 0; i < effects.length; i += 1) { + destroy_effect( + /** @type {Effect} */ + effects[i] + ); + } + } +} +function get_derived_parent_effect(derived2) { + var parent = derived2.parent; + while (parent !== null) { + if ((parent.f & DERIVED) === 0) { + return ( + /** @type {Effect} */ + parent + ); + } + parent = parent.parent; + } + return null; +} +function execute_derived(derived2) { + var value; + var prev_active_effect = active_effect; + set_active_effect(get_derived_parent_effect(derived2)); + { + try { + destroy_derived_effects(derived2); + value = update_reaction(derived2); + } finally { + set_active_effect(prev_active_effect); + } + } + return value; +} +function update_derived(derived2) { + var value = execute_derived(derived2); + if (!derived2.equals(value)) { + derived2.v = value; + derived2.wv = increment_write_version(); + } + if (is_destroying_effect) return; + var status = (skip_reaction || (derived2.f & UNOWNED) !== 0) && derived2.deps !== null ? MAYBE_DIRTY : CLEAN; + set_signal_status(derived2, status); +} +const old_values = /* @__PURE__ */ new Map(); +function source(v, stack) { + var signal = { + f: 0, + // TODO ideally we could skip this altogether, but it causes type errors + v, + reactions: null, + equals, + rv: 0, + wv: 0 + }; + return signal; +} +// @__NO_SIDE_EFFECTS__ +function state(v, stack) { + const s = source(v); + push_reaction_value(s); + return s; +} +// @__NO_SIDE_EFFECTS__ +function mutable_source(initial_value, immutable = false, trackable = true) { + const s = source(initial_value); + if (!immutable) { + s.equals = safe_equals; + } + return s; +} +function set(source2, value, should_proxy = false) { + if (active_reaction !== null && !untracking && is_runes() && (active_reaction.f & (DERIVED | BLOCK_EFFECT)) !== 0 && !(reaction_sources?.[1].includes(source2) && reaction_sources[0] === active_reaction)) { + state_unsafe_mutation(); + } + let new_value = should_proxy ? proxy(value) : value; + return internal_set(source2, new_value); +} +function internal_set(source2, value) { + if (!source2.equals(value)) { + var old_value = source2.v; + if (is_destroying_effect) { + old_values.set(source2, value); + } else { + old_values.set(source2, old_value); + } + source2.v = value; + if ((source2.f & DERIVED) !== 0) { + if ((source2.f & DIRTY) !== 0) { + execute_derived( + /** @type {Derived} */ + source2 + ); + } + set_signal_status(source2, (source2.f & UNOWNED) === 0 ? CLEAN : MAYBE_DIRTY); + } + source2.wv = increment_write_version(); + mark_reactions(source2, DIRTY); + if (active_effect !== null && (active_effect.f & CLEAN) !== 0 && (active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0) { + if (untracked_writes === null) { + set_untracked_writes([source2]); + } else { + untracked_writes.push(source2); + } + } + } + return value; +} +function mark_reactions(signal, status) { + var reactions = signal.reactions; + if (reactions === null) return; + var length = reactions.length; + for (var i = 0; i < length; i++) { + var reaction = reactions[i]; + var flags = reaction.f; + if ((flags & DIRTY) !== 0) continue; + set_signal_status(reaction, status); + if ((flags & (CLEAN | UNOWNED)) !== 0) { + if ((flags & DERIVED) !== 0) { + mark_reactions( + /** @type {Derived} */ + reaction, + MAYBE_DIRTY + ); + } else { + schedule_effect( + /** @type {Effect} */ + reaction + ); + } + } + } +} +var $window; +var first_child_getter; +var next_sibling_getter; +function init_operations() { + if ($window !== void 0) { + return; + } + $window = window; + var element_prototype = Element.prototype; + var node_prototype = Node.prototype; + var text_prototype = Text.prototype; + first_child_getter = get_descriptor(node_prototype, "firstChild").get; + next_sibling_getter = get_descriptor(node_prototype, "nextSibling").get; + if (is_extensible(element_prototype)) { + element_prototype.__click = void 0; + element_prototype.__className = void 0; + element_prototype.__attributes = null; + element_prototype.__style = void 0; + element_prototype.__e = void 0; + } + if (is_extensible(text_prototype)) { + text_prototype.__t = void 0; + } +} +function create_text(value = "") { + return document.createTextNode(value); +} +// @__NO_SIDE_EFFECTS__ +function get_first_child(node) { + return first_child_getter.call(node); +} +// @__NO_SIDE_EFFECTS__ +function get_next_sibling(node) { + return next_sibling_getter.call(node); +} +function clear_text_content(node) { + node.textContent = ""; +} +function push_effect(effect2, parent_effect) { + var parent_last = parent_effect.last; + if (parent_last === null) { + parent_effect.last = parent_effect.first = effect2; + } else { + parent_last.next = effect2; + effect2.prev = parent_last; + parent_effect.last = effect2; + } +} +function create_effect(type, fn, sync, push2 = true) { + var parent = active_effect; + var effect2 = { + ctx: component_context, + deps: null, + nodes_start: null, + nodes_end: null, + f: type | DIRTY, + first: null, + fn, + last: null, + next: null, + parent, + prev: null, + teardown: null, + transitions: null, + wv: 0 + }; + if (sync) { + try { + update_effect(effect2); + effect2.f |= EFFECT_RAN; + } catch (e) { + destroy_effect(effect2); + throw e; + } + } else if (fn !== null) { + schedule_effect(effect2); + } + var inert = sync && effect2.deps === null && effect2.first === null && effect2.nodes_start === null && effect2.teardown === null && (effect2.f & (EFFECT_HAS_DERIVED | BOUNDARY_EFFECT)) === 0; + if (!inert && push2) { + if (parent !== null) { + push_effect(effect2, parent); + } + if (active_reaction !== null && (active_reaction.f & DERIVED) !== 0) { + var derived2 = ( + /** @type {Derived} */ + active_reaction + ); + (derived2.effects ??= []).push(effect2); + } + } + return effect2; +} +function teardown(fn) { + const effect2 = create_effect(RENDER_EFFECT, null, false); + set_signal_status(effect2, CLEAN); + effect2.teardown = fn; + return effect2; +} +function component_root(fn) { + const effect2 = create_effect(ROOT_EFFECT, fn, true); + return (options = {}) => { + return new Promise((fulfil) => { + if (options.outro) { + pause_effect(effect2, () => { + destroy_effect(effect2); + fulfil(void 0); + }); + } else { + destroy_effect(effect2); + fulfil(void 0); + } + }); + }; +} +function effect(fn) { + return create_effect(EFFECT, fn, false); +} +function branch(fn, push2 = true) { + return create_effect(RENDER_EFFECT | BRANCH_EFFECT, fn, true, push2); +} +function execute_effect_teardown(effect2) { + var teardown2 = effect2.teardown; + if (teardown2 !== null) { + const previously_destroying_effect = is_destroying_effect; + const previous_reaction = active_reaction; + set_is_destroying_effect(true); + set_active_reaction(null); + try { + teardown2.call(null); + } finally { + set_is_destroying_effect(previously_destroying_effect); + set_active_reaction(previous_reaction); + } + } +} +function destroy_effect_children(signal, remove_dom = false) { + var effect2 = signal.first; + signal.first = signal.last = null; + while (effect2 !== null) { + var next = effect2.next; + if ((effect2.f & ROOT_EFFECT) !== 0) { + effect2.parent = null; + } else { + destroy_effect(effect2, remove_dom); + } + effect2 = next; + } +} +function destroy_block_effect_children(signal) { + var effect2 = signal.first; + while (effect2 !== null) { + var next = effect2.next; + if ((effect2.f & BRANCH_EFFECT) === 0) { + destroy_effect(effect2); + } + effect2 = next; + } +} +function destroy_effect(effect2, remove_dom = true) { + var removed = false; + if ((remove_dom || (effect2.f & HEAD_EFFECT) !== 0) && effect2.nodes_start !== null && effect2.nodes_end !== null) { + remove_effect_dom( + effect2.nodes_start, + /** @type {TemplateNode} */ + effect2.nodes_end + ); + removed = true; + } + destroy_effect_children(effect2, remove_dom && !removed); + remove_reactions(effect2, 0); + set_signal_status(effect2, DESTROYED); + var transitions = effect2.transitions; + if (transitions !== null) { + for (const transition of transitions) { + transition.stop(); + } + } + execute_effect_teardown(effect2); + var parent = effect2.parent; + if (parent !== null && parent.first !== null) { + unlink_effect(effect2); + } + effect2.next = effect2.prev = effect2.teardown = effect2.ctx = effect2.deps = effect2.fn = effect2.nodes_start = effect2.nodes_end = null; +} +function remove_effect_dom(node, end) { + while (node !== null) { + var next = node === end ? null : ( + /** @type {TemplateNode} */ + /* @__PURE__ */ get_next_sibling(node) + ); + node.remove(); + node = next; + } +} +function unlink_effect(effect2) { + var parent = effect2.parent; + var prev = effect2.prev; + var next = effect2.next; + if (prev !== null) prev.next = next; + if (next !== null) next.prev = prev; + if (parent !== null) { + if (parent.first === effect2) parent.first = next; + if (parent.last === effect2) parent.last = prev; + } +} +function pause_effect(effect2, callback) { + var transitions = []; + pause_children(effect2, transitions, true); + run_out_transitions(transitions, () => { + destroy_effect(effect2); + if (callback) callback(); + }); +} +function run_out_transitions(transitions, fn) { + var remaining = transitions.length; + if (remaining > 0) { + var check = () => --remaining || fn(); + for (var transition of transitions) { + transition.out(check); + } + } else { + fn(); + } +} +function pause_children(effect2, transitions, local) { + if ((effect2.f & INERT) !== 0) return; + effect2.f ^= INERT; + if (effect2.transitions !== null) { + for (const transition of effect2.transitions) { + if (transition.is_global || local) { + transitions.push(transition); + } + } + } + var child = effect2.first; + while (child !== null) { + var sibling = child.next; + var transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0; + pause_children(child, transitions, transparent ? local : false); + child = sibling; + } +} +let micro_tasks = []; +let idle_tasks = []; +function run_micro_tasks() { + var tasks = micro_tasks; + micro_tasks = []; + run_all(tasks); +} +function run_idle_tasks() { + var tasks = idle_tasks; + idle_tasks = []; + run_all(tasks); +} +function queue_micro_task(fn) { + if (micro_tasks.length === 0) { + queueMicrotask(run_micro_tasks); + } + micro_tasks.push(fn); +} +function flush_tasks() { + if (micro_tasks.length > 0) { + run_micro_tasks(); + } + if (idle_tasks.length > 0) { + run_idle_tasks(); + } +} +function handle_error(error) { + var effect2 = ( + /** @type {Effect} */ + active_effect + ); + if ((effect2.f & EFFECT_RAN) === 0) { + if ((effect2.f & BOUNDARY_EFFECT) === 0) { + throw error; + } + effect2.fn(error); + } else { + invoke_error_boundary(error, effect2); + } +} +function invoke_error_boundary(error, effect2) { + while (effect2 !== null) { + if ((effect2.f & BOUNDARY_EFFECT) !== 0) { + try { + effect2.fn(error); + return; + } catch { + } + } + effect2 = effect2.parent; + } + throw error; +} +let is_flushing = false; +let last_scheduled_effect = null; +let is_updating_effect = false; +let is_destroying_effect = false; +function set_is_destroying_effect(value) { + is_destroying_effect = value; +} +let queued_root_effects = []; +let dev_effect_stack = []; +let active_reaction = null; +let untracking = false; +function set_active_reaction(reaction) { + active_reaction = reaction; +} +let active_effect = null; +function set_active_effect(effect2) { + active_effect = effect2; +} +let reaction_sources = null; +function push_reaction_value(value) { + if (active_reaction !== null && active_reaction.f & EFFECT_IS_UPDATING) { + if (reaction_sources === null) { + reaction_sources = [active_reaction, [value]]; + } else { + reaction_sources[1].push(value); + } + } +} +let new_deps = null; +let skipped_deps = 0; +let untracked_writes = null; +function set_untracked_writes(value) { + untracked_writes = value; +} +let write_version = 1; +let read_version = 0; +let skip_reaction = false; +function increment_write_version() { + return ++write_version; +} +function check_dirtiness(reaction) { + var flags = reaction.f; + if ((flags & DIRTY) !== 0) { + return true; + } + if ((flags & MAYBE_DIRTY) !== 0) { + var dependencies = reaction.deps; + var is_unowned = (flags & UNOWNED) !== 0; + if (dependencies !== null) { + var i; + var dependency; + var is_disconnected = (flags & DISCONNECTED) !== 0; + var is_unowned_connected = is_unowned && active_effect !== null && !skip_reaction; + var length = dependencies.length; + if (is_disconnected || is_unowned_connected) { + var derived2 = ( + /** @type {Derived} */ + reaction + ); + var parent = derived2.parent; + for (i = 0; i < length; i++) { + dependency = dependencies[i]; + if (is_disconnected || !dependency?.reactions?.includes(derived2)) { + (dependency.reactions ??= []).push(derived2); + } + } + if (is_disconnected) { + derived2.f ^= DISCONNECTED; + } + if (is_unowned_connected && parent !== null && (parent.f & UNOWNED) === 0) { + derived2.f ^= UNOWNED; + } + } + for (i = 0; i < length; i++) { + dependency = dependencies[i]; + if (check_dirtiness( + /** @type {Derived} */ + dependency + )) { + update_derived( + /** @type {Derived} */ + dependency + ); + } + if (dependency.wv > reaction.wv) { + return true; + } + } + } + if (!is_unowned || active_effect !== null && !skip_reaction) { + set_signal_status(reaction, CLEAN); + } + } + return false; +} +function schedule_possible_effect_self_invalidation(signal, effect2, root = true) { + var reactions = signal.reactions; + if (reactions === null) return; + for (var i = 0; i < reactions.length; i++) { + var reaction = reactions[i]; + if (reaction_sources?.[1].includes(signal) && reaction_sources[0] === active_reaction) continue; + if ((reaction.f & DERIVED) !== 0) { + schedule_possible_effect_self_invalidation( + /** @type {Derived} */ + reaction, + effect2, + false + ); + } else if (effect2 === reaction) { + if (root) { + set_signal_status(reaction, DIRTY); + } else if ((reaction.f & CLEAN) !== 0) { + set_signal_status(reaction, MAYBE_DIRTY); + } + schedule_effect( + /** @type {Effect} */ + reaction + ); + } + } +} +function update_reaction(reaction) { + var previous_deps = new_deps; + var previous_skipped_deps = skipped_deps; + var previous_untracked_writes = untracked_writes; + var previous_reaction = active_reaction; + var previous_skip_reaction = skip_reaction; + var previous_reaction_sources = reaction_sources; + var previous_component_context = component_context; + var previous_untracking = untracking; + var flags = reaction.f; + new_deps = /** @type {null | Value[]} */ + null; + skipped_deps = 0; + untracked_writes = null; + skip_reaction = (flags & UNOWNED) !== 0 && (untracking || !is_updating_effect || active_reaction === null); + active_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null; + reaction_sources = null; + set_component_context(reaction.ctx); + untracking = false; + read_version++; + reaction.f |= EFFECT_IS_UPDATING; + try { + var result = ( + /** @type {Function} */ + (0, reaction.fn)() + ); + var deps = reaction.deps; + if (new_deps !== null) { + var i; + remove_reactions(reaction, skipped_deps); + if (deps !== null && skipped_deps > 0) { + deps.length = skipped_deps + new_deps.length; + for (i = 0; i < new_deps.length; i++) { + deps[skipped_deps + i] = new_deps[i]; + } + } else { + reaction.deps = deps = new_deps; + } + if (!skip_reaction) { + for (i = skipped_deps; i < deps.length; i++) { + (deps[i].reactions ??= []).push(reaction); + } + } + } else if (deps !== null && skipped_deps < deps.length) { + remove_reactions(reaction, skipped_deps); + deps.length = skipped_deps; + } + if (is_runes() && untracked_writes !== null && !untracking && deps !== null && (reaction.f & (DERIVED | MAYBE_DIRTY | DIRTY)) === 0) { + for (i = 0; i < /** @type {Source[]} */ + untracked_writes.length; i++) { + schedule_possible_effect_self_invalidation( + untracked_writes[i], + /** @type {Effect} */ + reaction + ); + } + } + if (previous_reaction !== null && previous_reaction !== reaction) { + read_version++; + if (untracked_writes !== null) { + if (previous_untracked_writes === null) { + previous_untracked_writes = untracked_writes; + } else { + previous_untracked_writes.push(.../** @type {Source[]} */ + untracked_writes); + } + } + } + return result; + } catch (error) { + handle_error(error); + } finally { + new_deps = previous_deps; + skipped_deps = previous_skipped_deps; + untracked_writes = previous_untracked_writes; + active_reaction = previous_reaction; + skip_reaction = previous_skip_reaction; + reaction_sources = previous_reaction_sources; + set_component_context(previous_component_context); + untracking = previous_untracking; + reaction.f ^= EFFECT_IS_UPDATING; + } +} +function remove_reaction(signal, dependency) { + let reactions = dependency.reactions; + if (reactions !== null) { + var index = index_of.call(reactions, signal); + if (index !== -1) { + var new_length = reactions.length - 1; + if (new_length === 0) { + reactions = dependency.reactions = null; + } else { + reactions[index] = reactions[new_length]; + reactions.pop(); + } + } + } + if (reactions === null && (dependency.f & DERIVED) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear + // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps` + // allows us to skip the expensive work of disconnecting and immediately reconnecting it + (new_deps === null || !new_deps.includes(dependency))) { + set_signal_status(dependency, MAYBE_DIRTY); + if ((dependency.f & (UNOWNED | DISCONNECTED)) === 0) { + dependency.f ^= DISCONNECTED; + } + destroy_derived_effects( + /** @type {Derived} **/ + dependency + ); + remove_reactions( + /** @type {Derived} **/ + dependency, + 0 + ); + } +} +function remove_reactions(signal, start_index) { + var dependencies = signal.deps; + if (dependencies === null) return; + for (var i = start_index; i < dependencies.length; i++) { + remove_reaction(signal, dependencies[i]); + } +} +function update_effect(effect2) { + var flags = effect2.f; + if ((flags & DESTROYED) !== 0) { + return; + } + set_signal_status(effect2, CLEAN); + var previous_effect = active_effect; + var was_updating_effect = is_updating_effect; + active_effect = effect2; + is_updating_effect = true; + try { + if ((flags & BLOCK_EFFECT) !== 0) { + destroy_block_effect_children(effect2); + } else { + destroy_effect_children(effect2); + } + execute_effect_teardown(effect2); + var teardown2 = update_reaction(effect2); + effect2.teardown = typeof teardown2 === "function" ? teardown2 : null; + effect2.wv = write_version; + var dep; + if (BROWSER && tracing_mode_flag && (effect2.f & DIRTY) !== 0 && effect2.deps !== null) ; + if (BROWSER) ; + } finally { + is_updating_effect = was_updating_effect; + active_effect = previous_effect; + } +} +function infinite_loop_guard() { + try { + effect_update_depth_exceeded(); + } catch (error) { + if (last_scheduled_effect !== null) { + { + invoke_error_boundary(error, last_scheduled_effect); + } + } else { + throw error; + } + } +} +function flush_queued_root_effects() { + var was_updating_effect = is_updating_effect; + try { + var flush_count = 0; + is_updating_effect = true; + while (queued_root_effects.length > 0) { + if (flush_count++ > 1e3) { + infinite_loop_guard(); + } + var root_effects = queued_root_effects; + var length = root_effects.length; + queued_root_effects = []; + for (var i = 0; i < length; i++) { + var collected_effects = process_effects(root_effects[i]); + flush_queued_effects(collected_effects); + } + old_values.clear(); + } + } finally { + is_flushing = false; + is_updating_effect = was_updating_effect; + last_scheduled_effect = null; + } +} +function flush_queued_effects(effects) { + var length = effects.length; + if (length === 0) return; + for (var i = 0; i < length; i++) { + var effect2 = effects[i]; + if ((effect2.f & (DESTROYED | INERT)) === 0) { + if (check_dirtiness(effect2)) { + update_effect(effect2); + if (effect2.deps === null && effect2.first === null && effect2.nodes_start === null) { + if (effect2.teardown === null) { + unlink_effect(effect2); + } else { + effect2.fn = null; + } + } + } + } + } +} +function schedule_effect(signal) { + if (!is_flushing) { + is_flushing = true; + queueMicrotask(flush_queued_root_effects); + } + var effect2 = last_scheduled_effect = signal; + while (effect2.parent !== null) { + effect2 = effect2.parent; + var flags = effect2.f; + if ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) { + if ((flags & CLEAN) === 0) return; + effect2.f ^= CLEAN; + } + } + queued_root_effects.push(effect2); +} +function process_effects(root) { + var effects = []; + var effect2 = root; + while (effect2 !== null) { + var flags = effect2.f; + var is_branch = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0; + var is_skippable_branch = is_branch && (flags & CLEAN) !== 0; + if (!is_skippable_branch && (flags & INERT) === 0) { + if ((flags & EFFECT) !== 0) { + effects.push(effect2); + } else if (is_branch) { + effect2.f ^= CLEAN; + } else { + if (check_dirtiness(effect2)) { + update_effect(effect2); + } + } + var child = effect2.first; + if (child !== null) { + effect2 = child; + continue; + } + } + var parent = effect2.parent; + effect2 = effect2.next; + while (effect2 === null && parent !== null) { + effect2 = parent.next; + parent = parent.parent; + } + } + return effects; +} +function flushSync(fn) { + var result; + while (true) { + flush_tasks(); + if (queued_root_effects.length === 0) { + is_flushing = false; + last_scheduled_effect = null; + return ( + /** @type {T} */ + result + ); + } + is_flushing = true; + flush_queued_root_effects(); + } +} +function get(signal) { + var flags = signal.f; + var is_derived = (flags & DERIVED) !== 0; + if (active_reaction !== null && !untracking) { + if (!reaction_sources?.[1].includes(signal) || reaction_sources[0] !== active_reaction) { + var deps = active_reaction.deps; + if (signal.rv < read_version) { + signal.rv = read_version; + if (new_deps === null && deps !== null && deps[skipped_deps] === signal) { + skipped_deps++; + } else if (new_deps === null) { + new_deps = [signal]; + } else if (!skip_reaction || !new_deps.includes(signal)) { + new_deps.push(signal); + } + } + } + } else if (is_derived && /** @type {Derived} */ + signal.deps === null && /** @type {Derived} */ + signal.effects === null) { + var derived2 = ( + /** @type {Derived} */ + signal + ); + var parent = derived2.parent; + if (parent !== null && (parent.f & UNOWNED) === 0) { + derived2.f ^= UNOWNED; + } + } + if (is_derived) { + derived2 = /** @type {Derived} */ + signal; + if (check_dirtiness(derived2)) { + update_derived(derived2); + } + } + if (is_destroying_effect && old_values.has(signal)) { + return old_values.get(signal); + } + return signal.v; +} +function untrack(fn) { + var previous_untracking = untracking; + try { + untracking = true; + return fn(); + } finally { + untracking = previous_untracking; + } +} +const STATUS_MASK = -7169; +function set_signal_status(signal, status) { + signal.f = signal.f & STATUS_MASK | status; +} +const VOID_ELEMENT_NAMES = [ + "area", + "base", + "br", + "col", + "command", + "embed", + "hr", + "img", + "input", + "keygen", + "link", + "meta", + "param", + "source", + "track", + "wbr" +]; +function is_void(name) { + return VOID_ELEMENT_NAMES.includes(name) || name.toLowerCase() === "!doctype"; +} +const DOM_BOOLEAN_ATTRIBUTES = [ + "allowfullscreen", + "async", + "autofocus", + "autoplay", + "checked", + "controls", + "default", + "disabled", + "formnovalidate", + "hidden", + "indeterminate", + "inert", + "ismap", + "loop", + "multiple", + "muted", + "nomodule", + "novalidate", + "open", + "playsinline", + "readonly", + "required", + "reversed", + "seamless", + "selected", + "webkitdirectory", + "defer", + "disablepictureinpicture", + "disableremoteplayback" +]; +function is_boolean_attribute(name) { + return DOM_BOOLEAN_ATTRIBUTES.includes(name); +} +const PASSIVE_EVENTS = ["touchstart", "touchmove"]; +function is_passive_event(name) { + return PASSIVE_EVENTS.includes(name); +} +const RAW_TEXT_ELEMENTS = ( + /** @type {const} */ + ["textarea", "script", "style", "title"] +); +function is_raw_text_element(name) { + return RAW_TEXT_ELEMENTS.includes( + /** @type {RAW_TEXT_ELEMENTS[number]} */ + name + ); +} +const ATTR_REGEX = /[&"<]/g; +const CONTENT_REGEX = /[&<]/g; +function escape_html(value, is_attr) { + const str = String(value ?? ""); + const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX; + pattern.lastIndex = 0; + let escaped = ""; + let last = 0; + while (pattern.test(str)) { + const i = pattern.lastIndex - 1; + const ch = str[i]; + escaped += str.substring(last, i) + (ch === "&" ? "&" : ch === '"' ? """ : "<"); + last = i + 1; + } + return escaped + str.substring(last); +} +const replacements = { + translate: /* @__PURE__ */ new Map([ + [true, "yes"], + [false, "no"] + ]) +}; +function attr(name, value, is_boolean = false) { + if (value == null || !value && is_boolean) return ""; + const normalized = name in replacements && replacements[name].get(value) || value; + const assignment = is_boolean ? "" : `="${escape_html(normalized, true)}"`; + return ` ${name}${assignment}`; +} +function clsx(value) { + if (typeof value === "object") { + return clsx$1(value); + } else { + return value ?? ""; + } +} +function to_class(value, hash, directives) { + var classname = value == null ? "" : "" + value; + return classname === "" ? null : classname; +} +function to_style(value, styles) { + return value == null ? null : String(value); +} +function subscribe_to_store(store, run, invalidate) { + if (store == null) { + run(void 0); + if (invalidate) invalidate(void 0); + return noop; + } + const unsub = untrack( + () => store.subscribe( + run, + // @ts-expect-error + invalidate + ) + ); + return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub; +} +var current_component = null; +function getContext(key) { + const context_map = get_or_init_context_map(); + const result = ( + /** @type {T} */ + context_map.get(key) + ); + return result; +} +function setContext(key, context) { + get_or_init_context_map().set(key, context); + return context; +} +function hasContext(key) { + return get_or_init_context_map().has(key); +} +function getAllContexts() { + return get_or_init_context_map(); +} +function get_or_init_context_map(name) { + if (current_component === null) { + lifecycle_outside_component(); + } + return current_component.c ??= new Map(get_parent_context(current_component) || void 0); +} +function push(fn) { + current_component = { p: current_component, c: null, d: null }; +} +function pop() { + var component = ( + /** @type {Component} */ + current_component + ); + var ondestroy = component.d; + if (ondestroy) { + on_destroy.push(...ondestroy); + } + current_component = component.p; +} +function get_parent_context(component_context2) { + let parent = component_context2.p; + while (parent !== null) { + const context_map = parent.c; + if (context_map !== null) { + return context_map; + } + parent = parent.p; + } + return null; +} +const BLOCK_OPEN = ``; +const BLOCK_CLOSE = ``; +const EMPTY_COMMENT = ``; +class HeadPayload { + /** @type {Set<{ hash: string; code: string }>} */ + css = /* @__PURE__ */ new Set(); + out = ""; + uid = () => ""; + title = ""; + constructor(css = /* @__PURE__ */ new Set(), out = "", title = "", uid = () => "") { + this.css = css; + this.out = out; + this.title = title; + this.uid = uid; + } +} +class Payload { + /** @type {Set<{ hash: string; code: string }>} */ + css = /* @__PURE__ */ new Set(); + out = ""; + uid = () => ""; + select_value = void 0; + head = new HeadPayload(); + constructor(id_prefix = "") { + this.uid = props_id_generator(id_prefix); + this.head.uid = this.uid; + } +} +function copy_payload({ out, css, head, uid }) { + const payload = new Payload(); + payload.out = out; + payload.css = new Set(css); + payload.uid = uid; + payload.head = new HeadPayload(); + payload.head.out = head.out; + payload.head.css = new Set(head.css); + payload.head.title = head.title; + payload.head.uid = head.uid; + return payload; +} +function assign_payload(p1, p2) { + p1.out = p2.out; + p1.css = p2.css; + p1.head = p2.head; + p1.uid = p2.uid; +} +function props_id_generator(prefix) { + let uid = 1; + return () => `${prefix}s${uid++}`; +} +const INVALID_ATTR_NAME_CHAR_REGEX = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u; +function element(payload, tag, attributes_fn = noop, children_fn = noop) { + payload.out += ""; + if (tag) { + payload.out += `<${tag}`; + attributes_fn(); + payload.out += `>`; + if (!is_void(tag)) { + children_fn(); + if (!is_raw_text_element(tag)) { + payload.out += EMPTY_COMMENT; + } + payload.out += ``; + } + } + payload.out += ""; +} +let on_destroy = []; +function render(component, options = {}) { + const payload = new Payload(options.idPrefix ? options.idPrefix + "-" : ""); + const prev_on_destroy = on_destroy; + on_destroy = []; + payload.out += BLOCK_OPEN; + if (options.context) { + push(); + current_component.c = options.context; + } + component(payload, options.props ?? {}, {}, {}); + if (options.context) { + pop(); + } + payload.out += BLOCK_CLOSE; + for (const cleanup of on_destroy) cleanup(); + on_destroy = prev_on_destroy; + let head = payload.head.out + payload.head.title; + for (const { hash, code } of payload.css) { + head += ``; + } + return { + head, + html: payload.out, + body: payload.out + }; +} +function spread_attributes(attrs, css_hash, classes, styles, flags = 0) { + if (attrs.class) { + attrs.class = clsx(attrs.class); + } + let attr_str = ""; + let name; + const is_html = (flags & ELEMENT_IS_NAMESPACED) === 0; + const lowercase = (flags & ELEMENT_PRESERVE_ATTRIBUTE_CASE) === 0; + for (name in attrs) { + if (typeof attrs[name] === "function") continue; + if (name[0] === "$" && name[1] === "$") continue; + if (INVALID_ATTR_NAME_CHAR_REGEX.test(name)) continue; + var value = attrs[name]; + if (lowercase) { + name = name.toLowerCase(); + } + attr_str += attr(name, value, is_html && is_boolean_attribute(name)); + } + return attr_str; +} +function spread_props(props) { + const merged_props = {}; + let key; + for (let i = 0; i < props.length; i++) { + const obj = props[i]; + for (key in obj) { + const desc = Object.getOwnPropertyDescriptor(obj, key); + if (desc) { + Object.defineProperty(merged_props, key, desc); + } else { + merged_props[key] = obj[key]; + } + } + } + return merged_props; +} +function stringify(value) { + return typeof value === "string" ? value : value == null ? "" : value + ""; +} +function attr_class(value, hash, directives) { + var result = to_class(value); + return result ? ` class="${escape_html(result, true)}"` : ""; +} +function attr_style(value, directives) { + var result = to_style(value); + return result ? ` style="${escape_html(result, true)}"` : ""; +} +function store_get(store_values, store_name, store) { + if (store_name in store_values && store_values[store_name][0] === store) { + return store_values[store_name][2]; + } + store_values[store_name]?.[1](); + store_values[store_name] = [store, null, void 0]; + const unsub = subscribe_to_store( + store, + /** @param {any} v */ + (v) => store_values[store_name][2] = v + ); + store_values[store_name][1] = unsub; + return store_values[store_name][2]; +} +function unsubscribe_stores(store_values) { + for (const store_name in store_values) { + store_values[store_name][1](); + } +} +function slot(payload, $$props, name, slot_props, fallback_fn) { + var slot_fn = $$props.$$slots?.[name]; + if (slot_fn === true) { + slot_fn = $$props["children"]; + } + if (slot_fn !== void 0) { + slot_fn(payload, slot_props); + } +} +function rest_props(props, rest) { + const rest_props2 = {}; + let key; + for (key in props) { + if (!rest.includes(key)) { + rest_props2[key] = props[key]; + } + } + return rest_props2; +} +function sanitize_props(props) { + const { children, $$slots, ...sanitized } = props; + return sanitized; +} +function bind_props(props_parent, props_now) { + for (const key in props_now) { + const initial_value = props_parent[key]; + const value = props_now[key]; + if (initial_value === void 0 && value !== void 0 && Object.getOwnPropertyDescriptor(props_parent, key)?.set) { + props_parent[key] = value; + } + } +} +function ensure_array_like(array_like_or_iterator) { + if (array_like_or_iterator) { + return array_like_or_iterator.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator); + } + return []; +} +function once(get_value) { + let value = ( + /** @type {V} */ + UNINITIALIZED + ); + return () => { + if (value === UNINITIALIZED) { + value = get_value(); + } + return value; + }; +} +function derived(fn) { + const get_value = once(fn); + let updated_value; + return function(new_value) { + if (arguments.length === 0) { + return updated_value ?? get_value(); + } + updated_value = new_value; + return updated_value; + }; +} +export { + active_reaction as $, + get_prototype_of as A, + BROWSER as B, + object_prototype as C, + derived as D, + spread_attributes as E, + bind_props as F, + getAllContexts as G, + HYDRATION_ERROR as H, + spread_props as I, + escape_html as J, + attr as K, + LEGACY_PROPS as L, + copy_payload as M, + assign_payload as N, + sanitize_props as O, + slot as P, + fallback as Q, + store_get as R, + unsubscribe_stores as S, + ensure_array_like as T, + attr_style as U, + stringify as V, + attr_class as W, + clsx as X, + element as Y, + set_active_reaction as Z, + set_active_effect as _, + active_effect as a, + queue_micro_task as a0, + getContext as a1, + hasContext as a2, + current_component as a3, + rest_props as a4, + noop as a5, + safe_not_equal as a6, + subscribe_to_store as a7, + run_all as a8, + get_first_child as b, + HYDRATION_START as c, + HYDRATION_END as d, + clear_text_content as e, + array_from as f, + get_next_sibling as g, + hydration_failed as h, + init_operations as i, + component_root as j, + is_passive_event as k, + create_text as l, + branch as m, + component_context as n, + pop$1 as o, + push$1 as p, + get as q, + flushSync as r, + set as s, + define_property as t, + mutable_source as u, + render as v, + push as w, + setContext as x, + pop as y, + is_array as z +}; diff --git a/.svelte-kit/output/server/chunks/internal.js b/.svelte-kit/output/server/chunks/internal.js new file mode 100644 index 0000000..bb96086 --- /dev/null +++ b/.svelte-kit/output/server/chunks/internal.js @@ -0,0 +1,500 @@ +import { H as HYDRATION_ERROR, g as get_next_sibling, a as active_effect, i as init_operations, b as get_first_child, c as HYDRATION_START, d as HYDRATION_END, h as hydration_failed, e as clear_text_content, f as array_from, j as component_root, k as is_passive_event, l as create_text, m as branch, p as push, n as component_context, o as pop, s as set, L as LEGACY_PROPS, q as get, r as flushSync, t as define_property, u as mutable_source, v as render, w as push$1, x as setContext, y as pop$1 } from "./index.js"; +import { a as all_registered_events, r as root_event_handles, h as handle_event_propagation } from "./events.js"; +import "clsx"; +let base = ""; +let assets = base; +const app_dir = "_app"; +const initial = { base, assets }; +function override(paths) { + base = paths.base; + assets = paths.assets; +} +function reset() { + base = initial.base; + assets = initial.assets; +} +function set_assets(path) { + assets = initial.assets = path; +} +let public_env = {}; +let safe_public_env = {}; +function set_private_env(environment) { +} +function set_public_env(environment) { + public_env = environment; +} +function set_safe_public_env(environment) { + safe_public_env = environment; +} +function hydration_mismatch(location) { + { + console.warn(`https://svelte.dev/e/hydration_mismatch`); + } +} +let hydrating = false; +function set_hydrating(value) { + hydrating = value; +} +let hydrate_node; +function set_hydrate_node(node) { + if (node === null) { + hydration_mismatch(); + throw HYDRATION_ERROR; + } + return hydrate_node = node; +} +function hydrate_next() { + return set_hydrate_node( + /** @type {TemplateNode} */ + get_next_sibling(hydrate_node) + ); +} +function assign_nodes(start, end) { + var effect = ( + /** @type {Effect} */ + active_effect + ); + if (effect.nodes_start === null) { + effect.nodes_start = start; + effect.nodes_end = end; + } +} +function mount(component, options2) { + return _mount(component, options2); +} +function hydrate(component, options2) { + init_operations(); + options2.intro = options2.intro ?? false; + const target = options2.target; + const was_hydrating = hydrating; + const previous_hydrate_node = hydrate_node; + try { + var anchor = ( + /** @type {TemplateNode} */ + get_first_child(target) + ); + while (anchor && (anchor.nodeType !== 8 || /** @type {Comment} */ + anchor.data !== HYDRATION_START)) { + anchor = /** @type {TemplateNode} */ + get_next_sibling(anchor); + } + if (!anchor) { + throw HYDRATION_ERROR; + } + set_hydrating(true); + set_hydrate_node( + /** @type {Comment} */ + anchor + ); + hydrate_next(); + const instance = _mount(component, { ...options2, anchor }); + if (hydrate_node === null || hydrate_node.nodeType !== 8 || /** @type {Comment} */ + hydrate_node.data !== HYDRATION_END) { + hydration_mismatch(); + throw HYDRATION_ERROR; + } + set_hydrating(false); + return ( + /** @type {Exports} */ + instance + ); + } catch (error) { + if (error === HYDRATION_ERROR) { + if (options2.recover === false) { + hydration_failed(); + } + init_operations(); + clear_text_content(target); + set_hydrating(false); + return mount(component, options2); + } + throw error; + } finally { + set_hydrating(was_hydrating); + set_hydrate_node(previous_hydrate_node); + } +} +const document_listeners = /* @__PURE__ */ new Map(); +function _mount(Component, { target, anchor, props = {}, events, context, intro = true }) { + init_operations(); + var registered_events = /* @__PURE__ */ new Set(); + var event_handle = (events2) => { + for (var i = 0; i < events2.length; i++) { + var event_name = events2[i]; + if (registered_events.has(event_name)) continue; + registered_events.add(event_name); + var passive = is_passive_event(event_name); + target.addEventListener(event_name, handle_event_propagation, { passive }); + var n = document_listeners.get(event_name); + if (n === void 0) { + document.addEventListener(event_name, handle_event_propagation, { passive }); + document_listeners.set(event_name, 1); + } else { + document_listeners.set(event_name, n + 1); + } + } + }; + event_handle(array_from(all_registered_events)); + root_event_handles.add(event_handle); + var component = void 0; + var unmount2 = component_root(() => { + var anchor_node = anchor ?? target.appendChild(create_text()); + branch(() => { + if (context) { + push({}); + var ctx = ( + /** @type {ComponentContext} */ + component_context + ); + ctx.c = context; + } + if (events) { + props.$$events = events; + } + if (hydrating) { + assign_nodes( + /** @type {TemplateNode} */ + anchor_node, + null + ); + } + component = Component(anchor_node, props) || {}; + if (hydrating) { + active_effect.nodes_end = hydrate_node; + } + if (context) { + pop(); + } + }); + return () => { + for (var event_name of registered_events) { + target.removeEventListener(event_name, handle_event_propagation); + var n = ( + /** @type {number} */ + document_listeners.get(event_name) + ); + if (--n === 0) { + document.removeEventListener(event_name, handle_event_propagation); + document_listeners.delete(event_name); + } else { + document_listeners.set(event_name, n); + } + } + root_event_handles.delete(event_handle); + if (anchor_node !== anchor) { + anchor_node.parentNode?.removeChild(anchor_node); + } + }; + }); + mounted_components.set(component, unmount2); + return component; +} +let mounted_components = /* @__PURE__ */ new WeakMap(); +function unmount(component, options2) { + const fn = mounted_components.get(component); + if (fn) { + mounted_components.delete(component); + return fn(options2); + } + return Promise.resolve(); +} +function asClassComponent$1(component) { + return class extends Svelte4Component { + /** @param {any} options */ + constructor(options2) { + super({ + component, + ...options2 + }); + } + }; +} +class Svelte4Component { + /** @type {any} */ + #events; + /** @type {Record} */ + #instance; + /** + * @param {ComponentConstructorOptions & { + * component: any; + * }} options + */ + constructor(options2) { + var sources = /* @__PURE__ */ new Map(); + var add_source = (key, value) => { + var s = mutable_source(value, false, false); + sources.set(key, s); + return s; + }; + const props = new Proxy( + { ...options2.props || {}, $$events: {} }, + { + get(target, prop) { + return get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop))); + }, + has(target, prop) { + if (prop === LEGACY_PROPS) return true; + get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop))); + return Reflect.has(target, prop); + }, + set(target, prop, value) { + set(sources.get(prop) ?? add_source(prop, value), value); + return Reflect.set(target, prop, value); + } + } + ); + this.#instance = (options2.hydrate ? hydrate : mount)(options2.component, { + target: options2.target, + anchor: options2.anchor, + props, + context: options2.context, + intro: options2.intro ?? false, + recover: options2.recover + }); + if (!options2?.props?.$$host || options2.sync === false) { + flushSync(); + } + this.#events = props.$$events; + for (const key of Object.keys(this.#instance)) { + if (key === "$set" || key === "$destroy" || key === "$on") continue; + define_property(this, key, { + get() { + return this.#instance[key]; + }, + /** @param {any} value */ + set(value) { + this.#instance[key] = value; + }, + enumerable: true + }); + } + this.#instance.$set = /** @param {Record} next */ + (next) => { + Object.assign(props, next); + }; + this.#instance.$destroy = () => { + unmount(this.#instance); + }; + } + /** @param {Record} props */ + $set(props) { + this.#instance.$set(props); + } + /** + * @param {string} event + * @param {(...args: any[]) => any} callback + * @returns {any} + */ + $on(event, callback) { + this.#events[event] = this.#events[event] || []; + const cb = (...args) => callback.call(this, ...args); + this.#events[event].push(cb); + return () => { + this.#events[event] = this.#events[event].filter( + /** @param {any} fn */ + (fn) => fn !== cb + ); + }; + } + $destroy() { + this.#instance.$destroy(); + } +} +let read_implementation = null; +function set_read_implementation(fn) { + read_implementation = fn; +} +function set_manifest(_) { +} +function asClassComponent(component) { + const component_constructor = asClassComponent$1(component); + const _render = (props, { context } = {}) => { + const result = render(component, { props, context }); + return { + css: { code: "", map: null }, + head: result.head, + html: result.body + }; + }; + component_constructor.render = _render; + return component_constructor; +} +let prerendering = false; +function set_building() { +} +function set_prerendering() { + prerendering = true; +} +function Root($$payload, $$props) { + push$1(); + let { + stores, + page, + constructors, + components = [], + form, + data_0 = null, + data_1 = null + } = $$props; + { + setContext("__svelte__", stores); + } + { + stores.page.set(page); + } + const Pyramid_1 = constructors[1]; + if (constructors[1]) { + $$payload.out += ""; + const Pyramid_0 = constructors[0]; + $$payload.out += ``; + Pyramid_0($$payload, { + data: data_0, + form, + children: ($$payload2) => { + $$payload2.out += ``; + Pyramid_1($$payload2, { data: data_1, form }); + $$payload2.out += ``; + }, + $$slots: { default: true } + }); + $$payload.out += ``; + } else { + $$payload.out += ""; + const Pyramid_0 = constructors[0]; + $$payload.out += ``; + Pyramid_0($$payload, { data: data_0, form }); + $$payload.out += ``; + } + $$payload.out += ` `; + { + $$payload.out += ""; + } + $$payload.out += ``; + pop$1(); +} +const root = asClassComponent(Root); +const options = { + app_template_contains_nonce: false, + csp: { "mode": "auto", "directives": { "upgrade-insecure-requests": false, "block-all-mixed-content": false }, "reportOnly": { "upgrade-insecure-requests": false, "block-all-mixed-content": false } }, + csrf_check_origin: true, + embedded: false, + env_public_prefix: "PUBLIC_", + env_private_prefix: "", + hash_routing: false, + hooks: null, + // added lazily, via `get_hooks` + preload_strategy: "modulepreload", + root, + service_worker: false, + templates: { + app: ({ head, body, assets: assets2, nonce, env }) => '\n\n \n \n \n \n \n \n \n PassDB\n ' + head + '\n \n \n
    ' + body + "
    \n \n\n", + error: ({ status, message }) => '\n\n \n \n ' + message + ` + + + + +
    + ` + status + '\n
    \n

    ' + message + "

    \n
    \n
    \n \n\n" + }, + version_hash: "z86zug" +}; +async function get_hooks() { + let handle; + let handleFetch; + let handleError; + let init; + let reroute; + let transport; + return { + handle, + handleFetch, + handleError, + init, + reroute, + transport + }; +} +export { + assets as a, + base as b, + app_dir as c, + read_implementation as d, + options as e, + set_private_env as f, + get_hooks as g, + prerendering as h, + set_public_env as i, + set_safe_public_env as j, + set_read_implementation as k, + set_assets as l, + set_building as m, + set_manifest as n, + override as o, + public_env as p, + set_prerendering as q, + reset as r, + safe_public_env as s +}; diff --git a/.svelte-kit/output/server/chunks/keyboard-shortcuts.js b/.svelte-kit/output/server/chunks/keyboard-shortcuts.js new file mode 100644 index 0000000..2db7c5a --- /dev/null +++ b/.svelte-kit/output/server/chunks/keyboard-shortcuts.js @@ -0,0 +1,1208 @@ +import { a3 as current_component, E as spread_attributes, X as clsx, F as bind_props, y as pop, w as push, O as sanitize_props, a4 as rest_props, Q as fallback, T as ensure_array_like, Y as element, P as slot } from "./index.js"; +import { c as cn, b as breadcrumbs } from "./breadcrumbs.js"; +import { tv } from "tailwind-variants"; +import Mousetrap from "mousetrap"; +import { g as goto } from "./client.js"; +import { i as derived, w as writable, j as get } from "./exports.js"; +function lifecycle_function_unavailable(name) { + const error = new Error(`lifecycle_function_unavailable +\`${name}(...)\` is not available on the server +https://svelte.dev/e/lifecycle_function_unavailable`); + error.name = "Svelte error"; + throw error; +} +function onDestroy(fn) { + var context = ( + /** @type {Component} */ + current_component + ); + (context.d ??= []).push(fn); +} +function mount() { + lifecycle_function_unavailable("mount"); +} +function unmount() { + lifecycle_function_unavailable("unmount"); +} +async function tick() { +} +const THEME_CLASSES$1 = [ + "dark", + "theme-modern-minimal", + "theme-t3-chat", + "theme-twitter", + "theme-mocha-mousse", + "theme-bubblegum", + "theme-amethyst-haze", + "theme-notebook", + "theme-doom-64", + "theme-catppuccin", + "theme-graphite", + "theme-perpetuity", + "theme-kodama-grove", + "theme-cosmic-night", + "theme-tangerine", + "theme-quantum-rose", + "theme-nature", + "theme-bold-tech", + "theme-elegant-luxury", + "theme-amber-minimal", + "theme-supabase", + "theme-neo-brutalism", + "theme-solar-dusk", + "theme-claymorphism", + "theme-cyberpunk", + "theme-pastel-dreams", + "theme-clean-slate", + "theme-caffeine", + "theme-ocean-breeze", + "theme-retro-arcade", + "theme-midnight-bloom", + "theme-candyland", + "theme-northern-lights", + "theme-vintage-paper", + "theme-sunset-horizon", + "theme-starry-night", + "theme-claude", + "theme-vercel", + "theme-mono" +]; +const themes$1 = [ + { + name: "Default", + value: "system", + colors: { + background: "rgb(249, 249, 250)", + primary: "rgb(52, 168, 90)", + secondary: "rgb(100, 149, 237)" + }, + colorsDark: { + background: "rgb(26, 29, 35)", + primary: "rgb(52, 168, 90)", + secondary: "rgb(70, 130, 180)" + } + }, + { + name: "Modern Minimal", + value: "modern-minimal", + colors: { + background: "rgb(255, 255, 255)", + primary: "rgb(59, 130, 246)", + secondary: "rgb(243, 244, 246)" + }, + colorsDark: { + background: "rgb(23, 23, 23)", + primary: "rgb(59, 130, 246)", + secondary: "rgb(38, 38, 38)" + } + }, + { + name: "T3 Chat", + value: "t3-chat", + colors: { + background: "rgb(250, 245, 250)", + primary: "rgb(168, 67, 112)", + secondary: "rgb(241, 196, 230)" + }, + colorsDark: { + background: "rgb(34, 29, 39)", + primary: "rgb(163, 0, 76)", + secondary: "rgb(54, 45, 61)" + } + }, + { + name: "Twitter", + value: "twitter", + colors: { + background: "rgb(255, 255, 255)", + primary: "rgb(30, 157, 241)", + secondary: "rgb(15, 20, 25)" + }, + colorsDark: { + background: "rgb(0, 0, 0)", + primary: "rgb(28, 156, 240)", + secondary: "rgb(240, 243, 244)" + } + }, + { + name: "Mocha Mousse", + value: "mocha-mousse", + colors: { + background: "rgb(241, 240, 229)", + primary: "rgb(163, 119, 100)", + secondary: "rgb(186, 171, 146)" + }, + colorsDark: { + background: "rgb(45, 37, 33)", + primary: "rgb(195, 158, 136)", + secondary: "rgb(138, 101, 90)" + } + }, + { + name: "Bubblegum", + value: "bubblegum", + colors: { + background: "rgb(246, 230, 238)", + primary: "rgb(208, 79, 153)", + secondary: "rgb(138, 207, 209)" + }, + colorsDark: { + background: "rgb(18, 36, 46)", + primary: "rgb(251, 226, 167)", + secondary: "rgb(228, 162, 177)" + } + }, + { + name: "Amethyst Haze", + value: "amethyst-haze", + colors: { + background: "rgb(248, 247, 250)", + primary: "rgb(138, 121, 171)", + secondary: "rgb(223, 217, 236)" + }, + colorsDark: { + background: "rgb(26, 24, 35)", + primary: "rgb(169, 149, 201)", + secondary: "rgb(90, 83, 112)" + } + }, + { + name: "Notebook", + value: "notebook", + colors: { + background: "rgb(249, 249, 249)", + primary: "rgb(96, 96, 96)", + secondary: "rgb(222, 222, 222)" + }, + colorsDark: { + background: "rgb(43, 43, 43)", + primary: "rgb(176, 176, 176)", + secondary: "rgb(90, 90, 90)" + } + }, + { + name: "Doom 64", + value: "doom-64", + colors: { + background: "rgb(204, 204, 204)", + primary: "rgb(183, 28, 28)", + secondary: "rgb(85, 107, 47)" + }, + colorsDark: { + background: "rgb(26, 26, 26)", + primary: "rgb(229, 57, 53)", + secondary: "rgb(104, 159, 56)" + } + }, + { + name: "Catppuccin", + value: "catppuccin", + colors: { + background: "rgb(239, 241, 245)", + primary: "rgb(136, 57, 239)", + secondary: "rgb(204, 208, 218)" + }, + colorsDark: { + background: "rgb(24, 24, 37)", + primary: "rgb(203, 166, 247)", + secondary: "rgb(88, 91, 112)" + } + }, + { + name: "Graphite", + value: "graphite", + colors: { + background: "rgb(240, 240, 240)", + primary: "rgb(96, 96, 96)", + secondary: "rgb(224, 224, 224)" + }, + colorsDark: { + background: "rgb(26, 26, 26)", + primary: "rgb(160, 160, 160)", + secondary: "rgb(48, 48, 48)" + } + }, + { + name: "Perpetuity", + value: "perpetuity", + colors: { + background: "rgb(232, 240, 240)", + primary: "rgb(6, 133, 142)", + secondary: "rgb(217, 234, 234)" + }, + colorsDark: { + background: "rgb(10, 26, 32)", + primary: "rgb(77, 232, 232)", + secondary: "rgb(22, 73, 85)" + } + }, + { + name: "Kodama Grove", + value: "kodama-grove", + colors: { + background: "rgb(228, 215, 176)", + primary: "rgb(141, 157, 79)", + secondary: "rgb(222, 206, 160)" + }, + colorsDark: { + background: "rgb(58, 53, 41)", + primary: "rgb(138, 159, 123)", + secondary: "rgb(90, 83, 69)" + } + }, + { + name: "Cosmic Night", + value: "cosmic-night", + colors: { + background: "rgb(245, 245, 255)", + primary: "rgb(110, 86, 207)", + secondary: "rgb(228, 223, 255)" + }, + colorsDark: { + background: "rgb(15, 15, 26)", + primary: "rgb(164, 143, 255)", + secondary: "rgb(45, 43, 85)" + } + }, + { + name: "Tangerine", + value: "tangerine", + colors: { + background: "rgb(232, 235, 237)", + primary: "rgb(224, 93, 56)", + secondary: "rgb(243, 244, 246)" + }, + colorsDark: { + background: "rgb(28, 36, 51)", + primary: "rgb(224, 93, 56)", + secondary: "rgb(42, 48, 62)" + } + }, + { + name: "Quantum Rose", + value: "quantum-rose", + colors: { + background: "rgb(255, 240, 248)", + primary: "rgb(230, 6, 122)", + secondary: "rgb(255, 214, 255)" + }, + colorsDark: { + background: "rgb(26, 9, 34)", + primary: "rgb(255, 107, 239)", + secondary: "rgb(70, 32, 79)" + } + }, + { + name: "Nature", + value: "nature", + colors: { + background: "rgb(248, 245, 240)", + primary: "rgb(46, 125, 50)", + secondary: "rgb(232, 245, 233)" + }, + colorsDark: { + background: "rgb(28, 42, 31)", + primary: "rgb(76, 175, 80)", + secondary: "rgb(62, 74, 61)" + } + }, + { + name: "Bold Tech", + value: "bold-tech", + colors: { + background: "rgb(255, 255, 255)", + primary: "rgb(139, 92, 246)", + secondary: "rgb(243, 240, 255)" + }, + colorsDark: { + background: "rgb(15, 23, 42)", + primary: "rgb(139, 92, 246)", + secondary: "rgb(30, 27, 75)" + } + }, + { + name: "Elegant Luxury", + value: "elegant-luxury", + colors: { + background: "rgb(250, 247, 245)", + primary: "rgb(155, 44, 44)", + secondary: "rgb(253, 242, 214)" + }, + colorsDark: { + background: "rgb(28, 25, 23)", + primary: "rgb(185, 28, 28)", + secondary: "rgb(146, 64, 14)" + } + }, + { + name: "Amber Minimal", + value: "amber-minimal", + colors: { + background: "rgb(255, 255, 255)", + primary: "rgb(245, 158, 11)", + secondary: "rgb(243, 244, 246)" + }, + colorsDark: { + background: "rgb(23, 23, 23)", + primary: "rgb(245, 158, 11)", + secondary: "rgb(38, 38, 38)" + } + }, + { + name: "Supabase", + value: "supabase", + colors: { + background: "rgb(252, 252, 252)", + primary: "rgb(114, 227, 173)", + secondary: "rgb(253, 253, 253)" + }, + colorsDark: { + background: "rgb(18, 18, 18)", + primary: "rgb(0, 98, 57)", + secondary: "rgb(36, 36, 36)" + } + }, + { + name: "Neo Brutalism", + value: "neo-brutalism", + colors: { + background: "rgb(255, 255, 255)", + primary: "rgb(255, 51, 51)", + secondary: "rgb(255, 255, 0)" + }, + colorsDark: { + background: "rgb(0, 0, 0)", + primary: "rgb(255, 102, 102)", + secondary: "rgb(255, 255, 51)" + } + }, + { + name: "Solar Dusk", + value: "solar-dusk", + colors: { + background: "rgb(253, 251, 247)", + primary: "rgb(180, 83, 9)", + secondary: "rgb(228, 192, 144)" + }, + colorsDark: { + background: "rgb(28, 25, 23)", + primary: "rgb(249, 115, 22)", + secondary: "rgb(87, 83, 78)" + } + }, + { + name: "Claymorphism", + value: "claymorphism", + colors: { + background: "rgb(231, 229, 228)", + primary: "rgb(99, 102, 241)", + secondary: "rgb(214, 211, 209)" + }, + colorsDark: { + background: "rgb(30, 27, 24)", + primary: "rgb(129, 140, 248)", + secondary: "rgb(58, 54, 51)" + } + }, + { + name: "Cyberpunk", + value: "cyberpunk", + colors: { + background: "rgb(248, 249, 250)", + primary: "rgb(255, 0, 200)", + secondary: "rgb(240, 240, 255)" + }, + colorsDark: { + background: "rgb(12, 12, 29)", + primary: "rgb(255, 0, 200)", + secondary: "rgb(30, 30, 63)" + } + }, + { + name: "Pastel Dreams", + value: "pastel-dreams", + colors: { + background: "rgb(247, 243, 249)", + primary: "rgb(167, 139, 250)", + secondary: "rgb(233, 216, 253)" + }, + colorsDark: { + background: "rgb(28, 25, 23)", + primary: "rgb(192, 170, 253)", + secondary: "rgb(63, 50, 74)" + } + }, + { + name: "Clean Slate", + value: "clean-slate", + colors: { + background: "rgb(248, 250, 252)", + primary: "rgb(99, 102, 241)", + secondary: "rgb(229, 231, 235)" + }, + colorsDark: { + background: "rgb(15, 23, 42)", + primary: "rgb(129, 140, 248)", + secondary: "rgb(45, 55, 72)" + } + }, + { + name: "Caffeine", + value: "caffeine", + colors: { + background: "rgb(249, 249, 249)", + primary: "rgb(100, 74, 64)", + secondary: "rgb(255, 223, 181)" + }, + colorsDark: { + background: "rgb(17, 17, 17)", + primary: "rgb(255, 224, 194)", + secondary: "rgb(57, 48, 40)" + } + }, + { + name: "Ocean Breeze", + value: "ocean-breeze", + colors: { + background: "rgb(240, 248, 255)", + primary: "rgb(34, 197, 94)", + secondary: "rgb(224, 242, 254)" + }, + colorsDark: { + background: "rgb(15, 23, 42)", + primary: "rgb(52, 211, 153)", + secondary: "rgb(45, 55, 72)" + } + }, + { + name: "Retro Arcade", + value: "retro-arcade", + colors: { + background: "rgb(253, 246, 227)", + primary: "rgb(211, 54, 130)", + secondary: "rgb(42, 161, 152)" + }, + colorsDark: { + background: "rgb(0, 43, 54)", + primary: "rgb(211, 54, 130)", + secondary: "rgb(42, 161, 152)" + } + }, + { + name: "Midnight Bloom", + value: "midnight-bloom", + colors: { + background: "rgb(249, 249, 249)", + primary: "rgb(108, 92, 231)", + secondary: "rgb(161, 201, 242)" + }, + colorsDark: { + background: "rgb(26, 29, 35)", + primary: "rgb(108, 92, 231)", + secondary: "rgb(75, 0, 130)" + } + }, + { + name: "Candyland", + value: "candyland", + colors: { + background: "rgb(247, 249, 250)", + primary: "rgb(255, 192, 203)", + secondary: "rgb(135, 206, 235)" + }, + colorsDark: { + background: "rgb(26, 29, 35)", + primary: "rgb(255, 153, 204)", + secondary: "rgb(51, 204, 51)" + } + }, + { + name: "Northern Lights", + value: "northern-lights", + colors: { + background: "rgb(249, 249, 250)", + primary: "rgb(52, 168, 90)", + secondary: "rgb(100, 149, 237)" + }, + colorsDark: { + background: "rgb(26, 29, 35)", + primary: "rgb(52, 168, 90)", + secondary: "rgb(70, 130, 180)" + } + }, + { + name: "Vintage Paper", + value: "vintage-paper", + colors: { + background: "rgb(245, 241, 230)", + primary: "rgb(166, 124, 82)", + secondary: "rgb(226, 216, 195)" + }, + colorsDark: { + background: "rgb(45, 38, 33)", + primary: "rgb(192, 160, 128)", + secondary: "rgb(74, 64, 57)" + } + }, + { + name: "Sunset Horizon", + value: "sunset-horizon", + colors: { + background: "rgb(255, 249, 245)", + primary: "rgb(255, 126, 95)", + secondary: "rgb(255, 237, 234)" + }, + colorsDark: { + background: "rgb(42, 32, 36)", + primary: "rgb(255, 126, 95)", + secondary: "rgb(70, 58, 65)" + } + }, + { + name: "Starry Night", + value: "starry-night", + colors: { + background: "rgb(245, 247, 250)", + primary: "rgb(58, 91, 160)", + secondary: "rgb(247, 200, 115)" + }, + colorsDark: { + background: "rgb(24, 26, 36)", + primary: "rgb(58, 91, 160)", + secondary: "rgb(255, 224, 102)" + } + }, + { + name: "Claude", + value: "claude", + colors: { + background: "rgb(250, 249, 245)", + primary: "rgb(201, 100, 66)", + secondary: "rgb(233, 230, 220)" + }, + colorsDark: { + background: "rgb(38, 38, 36)", + primary: "rgb(217, 119, 87)", + secondary: "rgb(250, 249, 245)" + } + }, + { + name: "Vercel", + value: "vercel", + colors: { + background: "rgb(252, 252, 252)", + primary: "rgb(0, 0, 0)", + secondary: "rgb(240, 240, 240)" + }, + colorsDark: { + background: "rgb(0, 0, 0)", + primary: "rgb(255, 255, 255)", + secondary: "rgb(64, 64, 64)" + } + }, + { + name: "Mono", + value: "mono", + colors: { + background: "rgb(255, 255, 255)", + primary: "rgb(115, 115, 115)", + secondary: "rgb(245, 245, 245)" + }, + colorsDark: { + background: "rgb(10, 10, 10)", + primary: "rgb(115, 115, 115)", + secondary: "rgb(38, 38, 38)" + } + } +]; +const THEME_CLASSES = THEME_CLASSES$1; +const themeCache = /* @__PURE__ */ new Map(); +themes$1.forEach((theme2) => themeCache.set(theme2.value, theme2)); +function createThemeStore() { + const isBrowser = typeof window !== "undefined"; + const rawStoredTheme = isBrowser ? localStorage.getItem("theme") : null; + const validThemes = themes$1.map((t) => t.value); + const storedTheme = rawStoredTheme && validThemes.includes(rawStoredTheme) ? rawStoredTheme : "system"; + if (isBrowser && rawStoredTheme && rawStoredTheme !== storedTheme) { + localStorage.setItem("theme", storedTheme); + } + const { subscribe, set } = writable(storedTheme); + return { + subscribe, + setTheme: async (theme2) => { + if (isBrowser) { + localStorage.setItem("theme", theme2); + } + set(theme2); + const currentDarkMode = isBrowser ? localStorage.getItem("darkMode") === "true" : false; + await applyTheme(theme2, currentDarkMode); + }, + init: async () => { + if (!isBrowser) return; + const currentDarkMode = localStorage.getItem("darkMode") === "true"; + await applyTheme(storedTheme, currentDarkMode); + const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)"); + mediaQuery.addEventListener("change", async () => { + const currentTheme = localStorage.getItem("theme"); + if (currentTheme === "system") { + const currentDarkMode2 = localStorage.getItem("darkMode") === "true"; + await applyTheme("system", currentDarkMode2); + } + }); + } + }; +} +function createDarkModeStore() { + const isBrowser = typeof window !== "undefined"; + const storedDarkMode = isBrowser ? localStorage.getItem("darkMode") === "true" : false; + const store = writable(storedDarkMode); + return { + subscribe: store.subscribe, + toggle: async () => { + if (!isBrowser) return; + const currentValue = localStorage.getItem("darkMode") === "true"; + const newValue = !currentValue; + localStorage.setItem("darkMode", String(newValue)); + store.set(newValue); + const currentTheme = localStorage.getItem("theme"); + await applyTheme(currentTheme || "system", newValue); + }, + set: async (value) => { + if (!isBrowser) return; + localStorage.setItem("darkMode", String(value)); + store.set(value); + const currentTheme = localStorage.getItem("theme"); + await applyTheme(currentTheme || "system", value); + } + }; +} +async function applyTheme(theme2, darkMode) { + const root = document.documentElement; + const validThemes = themes$1.map((t) => t.value); + if (!validThemes.includes(theme2)) { + console.warn(`Invalid theme "${theme2}", falling back to system`); + theme2 = "system"; + } + root.classList.remove(...THEME_CLASSES); + let shouldBeDark = darkMode; + if (theme2 === "system") { + shouldBeDark = darkMode; + } else { + root.classList.add(`theme-${theme2}`); + if (theme2 === "midnight-bloom") { + shouldBeDark = true; + } + } + if (shouldBeDark) { + root.classList.add("dark"); + } +} +const allThemesList = writable(themes$1); +const themes = derived(allThemesList, ($themes) => $themes); +const isDarkMode = createDarkModeStore(); +const theme = createThemeStore(); +const buttonVariants = tv({ + base: "ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-secondary hover:text-secondary-foreground", + destructive: "bg-destructive text-destructive-foreground hover:bg-secondary hover:text-secondary-foreground", + outline: "border-input bg-background hover:bg-secondary hover:text-secondary-foreground border", + secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-secondary hover:text-secondary-foreground", + link: "text-primary underline-offset-4 hover:underline hover:text-secondary-foreground" + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 rounded-md px-3", + lg: "h-11 rounded-md px-8", + icon: "h-10 w-10" + } + }, + defaultVariants: { variant: "default", size: "default" } +}); +function Button($$payload, $$props) { + push(); + let { + class: className, + variant = "default", + size = "default", + ref = null, + href = void 0, + type = "button", + children, + $$slots, + $$events, + ...restProps + } = $$props; + if (href) { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +/** + * @license lucide-svelte v0.517.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ +const defaultAttributes = { + xmlns: "http://www.w3.org/2000/svg", + width: 24, + height: 24, + viewBox: "0 0 24 24", + fill: "none", + stroke: "currentColor", + "stroke-width": 2, + "stroke-linecap": "round", + "stroke-linejoin": "round" +}; +function Icon($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const $$restProps = rest_props($$sanitized_props, [ + "name", + "color", + "size", + "strokeWidth", + "absoluteStrokeWidth", + "iconNode" + ]); + push(); + let name = fallback($$props["name"], void 0); + let color = fallback($$props["color"], "currentColor"); + let size = fallback($$props["size"], 24); + let strokeWidth = fallback($$props["strokeWidth"], 2); + let absoluteStrokeWidth = fallback($$props["absoluteStrokeWidth"], false); + let iconNode = fallback($$props["iconNode"], () => [], true); + const mergeClasses = (...classes) => classes.filter((className, index, array) => { + return Boolean(className) && array.indexOf(className) === index; + }).join(" "); + const each_array = ensure_array_like(iconNode); + $$payload.out += ``; + for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) { + let [tag, attrs] = each_array[$$index]; + element($$payload, tag, () => { + $$payload.out += `${spread_attributes({ ...attrs }, null, void 0, void 0, 3)}`; + }); + } + $$payload.out += ``; + slot($$payload, $$props, "default", {}); + $$payload.out += ``; + bind_props($$props, { + name, + color, + size, + strokeWidth, + absoluteStrokeWidth, + iconNode + }); + pop(); +} +function Input($$payload, $$props) { + push(); + let { + ref = null, + value = void 0, + type, + files = void 0, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + if (type === "file") { + $$payload.out += ""; + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref, value, files }); + pop(); +} +class KeyboardShortcutManager { + shortcuts = /* @__PURE__ */ new Map(); + currentContext = "global"; + helpModalOpen = false; + onShowHelp; + onHideHelp; + constructor() { + this.setupGlobalShortcuts(); + } + setupGlobalShortcuts() { + this.bind("?", "Show keyboard shortcuts help", () => { + this.toggleHelp(); + }, "global"); + this.bind("/", "Focus search bar", () => { + this.focusSearchBar(); + }, "global"); + this.bind("g h", "Go to home page", () => { + goto(); + }, "global"); + this.bind("ctrl+o", "Navigate back through breadcrumbs", () => { + this.navigateBack(); + }, "global"); + this.bind("] t", "Next theme", () => { + this.nextTheme(); + }, "global"); + this.bind("[ t", "Previous theme", () => { + this.previousTheme(); + }, "global"); + this.bind("c t", "Open theme picker", () => { + this.openThemePicker(); + }, "global"); + this.bind("c m", "Toggle dark/light mode", () => { + isDarkMode.toggle(); + }, "global"); + } + setupResultsShortcuts() { + this.setContext("results"); + this.bind("f", "Focus filter input", () => { + this.focusFilter(); + }, "results"); + this.bind("] ]", "Next page", () => { + this.nextPage(); + }, "results"); + this.bind("[ [", "Previous page", () => { + this.previousPage(); + }, "results"); + } + setupTableShortcuts() { + this.setContext("table"); + this.bind("j", "Focus next table row", () => { + this.focusNextRow(); + }, "table"); + this.bind("k", "Focus previous table row", () => { + this.focusPreviousRow(); + }, "table"); + this.bind("h", "Focus previous cell in row", () => { + this.focusPreviousCell(); + }, "table"); + this.bind("l", "Focus next cell in row", () => { + this.focusNextCell(); + }, "table"); + this.bind("enter", "Click active cell link", () => { + this.clickActiveCell(); + }, "table"); + } + bind(key, description, action, context = "global") { + const shortcut = { key, description, action, context }; + this.shortcuts.set(key, shortcut); + Mousetrap.bind(key, (e) => { + e.preventDefault(); + action(); + return false; + }); + } + unbind(key) { + Mousetrap.unbind(key); + this.shortcuts.delete(key); + } + setContext(context) { + this.currentContext = context; + } + // Global actions + toggleHelp() { + this.helpModalOpen = !this.helpModalOpen; + if (this.helpModalOpen && this.onShowHelp) { + this.onShowHelp(); + } else if (!this.helpModalOpen && this.onHideHelp) { + this.onHideHelp(); + } + } + focusSearchBar() { + const searchInput = document.querySelector('input[type="search"], input[placeholder*="search" i], input[placeholder*="Search" i]'); + if (searchInput) { + searchInput.focus(); + searchInput.select(); + } + } + navigateBack() { + breadcrumbs.goBack(); + } + nextTheme() { + const currentTheme = get(theme); + const availableThemes = get(themes); + const currentIndex = availableThemes.findIndex((t) => t.value === currentTheme); + const nextIndex = (currentIndex + 1) % availableThemes.length; + theme.setTheme(availableThemes[nextIndex].value); + } + previousTheme() { + const currentTheme = get(theme); + const availableThemes = get(themes); + const currentIndex = availableThemes.findIndex((t) => t.value === currentTheme); + const previousIndex = currentIndex === 0 ? availableThemes.length - 1 : currentIndex - 1; + theme.setTheme(availableThemes[previousIndex].value); + } + openThemePicker() { + const themeButton = document.querySelector("[data-theme-trigger]"); + if (themeButton) { + themeButton.click(); + } + } + // Results page actions + focusFilter() { + const filterInput = document.querySelector("[data-filter-input]"); + if (filterInput) { + filterInput.focus(); + filterInput.select(); + } + } + nextPage() { + const nextButton = document.querySelector("[data-pagination-next]"); + if (nextButton && !nextButton.disabled) { + nextButton.click(); + } + } + previousPage() { + const prevButton = document.querySelector("[data-pagination-prev]"); + if (prevButton && !prevButton.disabled) { + prevButton.click(); + } + } + // Table navigation actions + focusNextRow() { + const currentRow = document.querySelector(".table-row-focused"); + let nextRow = null; + if (currentRow) { + nextRow = currentRow.nextElementSibling; + } else { + nextRow = document.querySelector("[data-table-row]"); + } + if (nextRow) { + this.setRowFocus(nextRow); + } + } + focusPreviousRow() { + const currentRow = document.querySelector(".table-row-focused"); + let prevRow = null; + if (currentRow) { + prevRow = currentRow.previousElementSibling; + } else { + const rows = document.querySelectorAll("[data-table-row]"); + prevRow = rows[rows.length - 1]; + } + if (prevRow) { + this.setRowFocus(prevRow); + } + } + focusNextCell() { + const currentCell = document.querySelector(".table-cell-focused"); + let nextCell = null; + if (currentCell) { + nextCell = currentCell.nextElementSibling; + } else { + const focusedRow = document.querySelector(".table-row-focused"); + if (focusedRow) { + nextCell = focusedRow.querySelector("[data-table-cell]"); + } + } + if (nextCell) { + this.setCellFocus(nextCell); + } + } + focusPreviousCell() { + const currentCell = document.querySelector(".table-cell-focused"); + let prevCell = null; + if (currentCell) { + prevCell = currentCell.previousElementSibling; + } else { + const focusedRow = document.querySelector(".table-row-focused"); + if (focusedRow) { + const cells = focusedRow.querySelectorAll("[data-table-cell]"); + prevCell = cells[cells.length - 1]; + } + } + if (prevCell) { + this.setCellFocus(prevCell); + } + } + clickActiveCell() { + const activeCell = document.querySelector(".table-cell-focused"); + if (activeCell) { + const link = activeCell.querySelector("a"); + if (link) { + link.click(); + } + } + } + setRowFocus(row) { + document.querySelectorAll(".table-row-focused").forEach((el) => { + el.classList.remove("table-row-focused"); + }); + document.querySelectorAll(".table-cell-focused").forEach((el) => { + el.classList.remove("table-cell-focused"); + }); + row.classList.add("table-row-focused"); + row.scrollIntoView({ behavior: "smooth", block: "nearest" }); + } + setCellFocus(cell) { + document.querySelectorAll(".table-cell-focused").forEach((el) => { + el.classList.remove("table-cell-focused"); + }); + cell.classList.add("table-cell-focused"); + } + // Help modal management + onHelpShow(callback) { + this.onShowHelp = callback; + } + onHelpHide(callback) { + this.onHideHelp = callback; + } + getShortcutGroups() { + const allShortcuts = /* @__PURE__ */ new Map(); + this.shortcuts.forEach((shortcut, key) => { + allShortcuts.set(key, shortcut); + }); + const possibleShortcuts = [ + { key: "?", description: "Show keyboard shortcuts help", action: () => { + }, context: "global" }, + { key: "/", description: "Focus search bar", action: () => { + }, context: "global" }, + { key: "g h", description: "Go to home page", action: () => { + }, context: "global" }, + { key: "ctrl+o", description: "Navigate back through breadcrumbs", action: () => { + }, context: "global" }, + { key: "] t", description: "Next theme", action: () => { + }, context: "global" }, + { key: "[ t", description: "Previous theme", action: () => { + }, context: "global" }, + { key: "c t", description: "Open theme picker", action: () => { + }, context: "global" }, + { key: "c m", description: "Toggle dark/light mode", action: () => { + }, context: "global" }, + { key: "f", description: "Focus filter input", action: () => { + }, context: "results" }, + { key: "] ]", description: "Next page", action: () => { + }, context: "results" }, + { key: "[ [", description: "Previous page", action: () => { + }, context: "results" }, + { key: "j", description: "Focus next table row", action: () => { + }, context: "table" }, + { key: "k", description: "Focus previous table row", action: () => { + }, context: "table" }, + { key: "h", description: "Focus previous cell in row", action: () => { + }, context: "table" }, + { key: "l", description: "Focus next cell in row", action: () => { + }, context: "table" }, + { key: "enter", description: "Click active cell link", action: () => { + }, context: "table" } + ]; + possibleShortcuts.forEach((shortcut) => { + if (!allShortcuts.has(shortcut.key)) { + allShortcuts.set(shortcut.key, shortcut); + } + }); + const groups = [ + { + title: "Navigation", + shortcuts: Array.from(allShortcuts.values()).filter( + (s) => ["/", "g h", "ctrl+o"].includes(s.key) + ) + }, + { + title: "Theme Management", + shortcuts: Array.from(allShortcuts.values()).filter( + (s) => ["] t", "[ t", "c t", "c m"].includes(s.key) + ) + }, + { + title: "Results Page", + shortcuts: Array.from(allShortcuts.values()).filter( + (s) => ["f", "] ]", "[ ["].includes(s.key) + ) + }, + { + title: "Table Navigation", + shortcuts: Array.from(allShortcuts.values()).filter( + (s) => ["j", "k", "h", "l", "enter"].includes(s.key) + ) + } + ]; + return groups.filter((group) => group.shortcuts.length > 0); + } + destroy() { + this.shortcuts.forEach((_, key) => { + Mousetrap.unbind(key); + }); + this.shortcuts.clear(); + } +} +const keyboardShortcuts = new KeyboardShortcutManager(); +export { + Button as B, + Icon as I, + theme as a, + themes as b, + Input as c, + isDarkMode as i, + keyboardShortcuts as k, + mount as m, + onDestroy as o, + tick as t, + unmount as u +}; diff --git a/.svelte-kit/output/server/chunks/noop.js b/.svelte-kit/output/server/chunks/noop.js new file mode 100644 index 0000000..7668a1b --- /dev/null +++ b/.svelte-kit/output/server/chunks/noop.js @@ -0,0 +1,577 @@ +import { clsx } from "clsx"; +import parse from "style-to-object"; +import { a2 as hasContext, a1 as getContext, x as setContext } from "./index.js"; +function isFunction(value) { + return typeof value === "function"; +} +function isObject(value) { + return value !== null && typeof value === "object"; +} +const CLASS_VALUE_PRIMITIVE_TYPES = ["string", "number", "bigint", "boolean"]; +function isClassValue(value) { + if (value === null || value === void 0) + return true; + if (CLASS_VALUE_PRIMITIVE_TYPES.includes(typeof value)) + return true; + if (Array.isArray(value)) + return value.every((item) => isClassValue(item)); + if (typeof value === "object") { + if (Object.getPrototypeOf(value) !== Object.prototype) + return false; + return true; + } + return false; +} +const BoxSymbol = Symbol("box"); +const isWritableSymbol = Symbol("is-writable"); +function isBox(value) { + return isObject(value) && BoxSymbol in value; +} +function isWritableBox(value) { + return box.isBox(value) && isWritableSymbol in value; +} +function box(initialValue) { + let current = initialValue; + return { + [BoxSymbol]: true, + [isWritableSymbol]: true, + get current() { + return current; + }, + set current(v) { + current = v; + } + }; +} +function boxWith(getter, setter) { + const derived = getter(); + if (setter) { + return { + [BoxSymbol]: true, + [isWritableSymbol]: true, + get current() { + return derived; + }, + set current(v) { + setter(v); + } + }; + } + return { + [BoxSymbol]: true, + get current() { + return getter(); + } + }; +} +function boxFrom(value) { + if (box.isBox(value)) return value; + if (isFunction(value)) return box.with(value); + return box(value); +} +function boxFlatten(boxes) { + return Object.entries(boxes).reduce( + (acc, [key, b]) => { + if (!box.isBox(b)) { + return Object.assign(acc, { [key]: b }); + } + if (box.isWritableBox(b)) { + Object.defineProperty(acc, key, { + get() { + return b.current; + }, + set(v) { + b.current = v; + } + }); + } else { + Object.defineProperty(acc, key, { + get() { + return b.current; + } + }); + } + return acc; + }, + {} + ); +} +function toReadonlyBox(b) { + if (!box.isWritableBox(b)) return b; + return { + [BoxSymbol]: true, + get current() { + return b.current; + } + }; +} +box.from = boxFrom; +box.with = boxWith; +box.flatten = boxFlatten; +box.readonly = toReadonlyBox; +box.isBox = isBox; +box.isWritableBox = isWritableBox; +function composeHandlers(...handlers) { + return function(e) { + for (const handler of handlers) { + if (!handler) + continue; + if (e.defaultPrevented) + return; + if (typeof handler === "function") { + handler.call(this, e); + } else { + handler.current?.call(this, e); + } + } + }; +} +const NUMBER_CHAR_RE = /\d/; +const STR_SPLITTERS = ["-", "_", "/", "."]; +function isUppercase(char = "") { + if (NUMBER_CHAR_RE.test(char)) + return void 0; + return char !== char.toLowerCase(); +} +function splitByCase(str) { + const parts = []; + let buff = ""; + let previousUpper; + let previousSplitter; + for (const char of str) { + const isSplitter = STR_SPLITTERS.includes(char); + if (isSplitter === true) { + parts.push(buff); + buff = ""; + previousUpper = void 0; + continue; + } + const isUpper = isUppercase(char); + if (previousSplitter === false) { + if (previousUpper === false && isUpper === true) { + parts.push(buff); + buff = char; + previousUpper = isUpper; + continue; + } + if (previousUpper === true && isUpper === false && buff.length > 1) { + const lastChar = buff.at(-1); + parts.push(buff.slice(0, Math.max(0, buff.length - 1))); + buff = lastChar + char; + previousUpper = isUpper; + continue; + } + } + buff += char; + previousUpper = isUpper; + previousSplitter = isSplitter; + } + parts.push(buff); + return parts; +} +function pascalCase(str) { + if (!str) + return ""; + return splitByCase(str).map((p2) => upperFirst(p2)).join(""); +} +function camelCase(str) { + return lowerFirst(pascalCase(str || "")); +} +function upperFirst(str) { + return str ? str[0].toUpperCase() + str.slice(1) : ""; +} +function lowerFirst(str) { + return str ? str[0].toLowerCase() + str.slice(1) : ""; +} +function cssToStyleObj(css) { + if (!css) + return {}; + const styleObj = {}; + function iterator(name, value) { + if (name.startsWith("-moz-") || name.startsWith("-webkit-") || name.startsWith("-ms-") || name.startsWith("-o-")) { + styleObj[pascalCase(name)] = value; + return; + } + if (name.startsWith("--")) { + styleObj[name] = value; + return; + } + styleObj[camelCase(name)] = value; + } + parse(css, iterator); + return styleObj; +} +function executeCallbacks(...callbacks) { + return (...args) => { + for (const callback of callbacks) { + if (typeof callback === "function") { + callback(...args); + } + } + }; +} +function createParser(matcher, replacer) { + const regex = RegExp(matcher, "g"); + return (str) => { + if (typeof str !== "string") { + throw new TypeError(`expected an argument of type string, but got ${typeof str}`); + } + if (!str.match(regex)) + return str; + return str.replace(regex, replacer); + }; +} +const camelToKebab = createParser(/[A-Z]/, (match) => `-${match.toLowerCase()}`); +function styleToCSS(styleObj) { + if (!styleObj || typeof styleObj !== "object" || Array.isArray(styleObj)) { + throw new TypeError(`expected an argument of type object, but got ${typeof styleObj}`); + } + return Object.keys(styleObj).map((property) => `${camelToKebab(property)}: ${styleObj[property]};`).join("\n"); +} +function styleToString(style = {}) { + return styleToCSS(style).replace("\n", " "); +} +const srOnlyStyles = { + position: "absolute", + width: "1px", + height: "1px", + padding: "0", + margin: "-1px", + overflow: "hidden", + clip: "rect(0, 0, 0, 0)", + whiteSpace: "nowrap", + borderWidth: "0", + transform: "translateX(-100%)" +}; +styleToString(srOnlyStyles); +function isEventHandler(key) { + return key.length > 2 && key.startsWith("on") && key[2] === key[2]?.toLowerCase(); +} +function mergeProps(...args) { + const result = { ...args[0] }; + for (let i = 1; i < args.length; i++) { + const props = args[i]; + for (const key in props) { + const a = result[key]; + const b = props[key]; + const aIsFunction = typeof a === "function"; + const bIsFunction = typeof b === "function"; + if (aIsFunction && typeof bIsFunction && isEventHandler(key)) { + const aHandler = a; + const bHandler = b; + result[key] = composeHandlers(aHandler, bHandler); + } else if (aIsFunction && bIsFunction) { + result[key] = executeCallbacks(a, b); + } else if (key === "class") { + const aIsClassValue = isClassValue(a); + const bIsClassValue = isClassValue(b); + if (aIsClassValue && bIsClassValue) { + result[key] = clsx(a, b); + } else if (aIsClassValue) { + result[key] = clsx(a); + } else if (bIsClassValue) { + result[key] = clsx(b); + } + } else if (key === "style") { + const aIsObject = typeof a === "object"; + const bIsObject = typeof b === "object"; + const aIsString = typeof a === "string"; + const bIsString = typeof b === "string"; + if (aIsObject && bIsObject) { + result[key] = { ...a, ...b }; + } else if (aIsObject && bIsString) { + const parsedStyle = cssToStyleObj(b); + result[key] = { ...a, ...parsedStyle }; + } else if (aIsString && bIsObject) { + const parsedStyle = cssToStyleObj(a); + result[key] = { ...parsedStyle, ...b }; + } else if (aIsString && bIsString) { + const parsedStyleA = cssToStyleObj(a); + const parsedStyleB = cssToStyleObj(b); + result[key] = { ...parsedStyleA, ...parsedStyleB }; + } else if (aIsObject) { + result[key] = a; + } else if (bIsObject) { + result[key] = b; + } else if (aIsString) { + result[key] = a; + } else if (bIsString) { + result[key] = b; + } + } else { + result[key] = b !== void 0 ? b : a; + } + } + } + if (typeof result.style === "object") { + result.style = styleToString(result.style).replaceAll("\n", " "); + } + if (result.hidden !== true) { + result.hidden = void 0; + delete result.hidden; + } + if (result.disabled !== true) { + result.disabled = void 0; + delete result.disabled; + } + return result; +} +const defaultWindow = void 0; +function getActiveElement(document2) { + let activeElement = document2.activeElement; + while (activeElement?.shadowRoot) { + const node = activeElement.shadowRoot.activeElement; + if (node === activeElement) + break; + else + activeElement = node; + } + return activeElement; +} +const SvelteMap = globalThis.Map; +function createSubscriber(_) { + return () => { + }; +} +class ActiveElement { + #document; + #subscribe; + constructor(options = {}) { + const { + window = defaultWindow, + document: document2 = window?.document + } = options; + if (window === void 0) return; + this.#document = document2; + this.#subscribe = createSubscriber(); + } + get current() { + this.#subscribe?.(); + if (!this.#document) return null; + return getActiveElement(this.#document); + } +} +new ActiveElement(); +function runWatcher(sources, flush, effect, options = {}) { + const { lazy = false } = options; +} +function watch(sources, effect, options) { + runWatcher(sources, "post", effect, options); +} +function watchPre(sources, effect, options) { + runWatcher(sources, "pre", effect, options); +} +watch.pre = watchPre; +class Context { + #name; + #key; + /** + * @param name The name of the context. + * This is used for generating the context key and error messages. + */ + constructor(name) { + this.#name = name; + this.#key = Symbol(name); + } + /** + * The key used to get and set the context. + * + * It is not recommended to use this value directly. + * Instead, use the methods provided by this class. + */ + get key() { + return this.#key; + } + /** + * Checks whether this has been set in the context of a parent component. + * + * Must be called during component initialisation. + */ + exists() { + return hasContext(this.#key); + } + /** + * Retrieves the context that belongs to the closest parent component. + * + * Must be called during component initialisation. + * + * @throws An error if the context does not exist. + */ + get() { + const context = getContext(this.#key); + if (context === void 0) { + throw new Error(`Context "${this.#name}" not found`); + } + return context; + } + /** + * Retrieves the context that belongs to the closest parent component, + * or the given fallback value if the context does not exist. + * + * Must be called during component initialisation. + */ + getOr(fallback) { + const context = getContext(this.#key); + if (context === void 0) { + return fallback; + } + return context; + } + /** + * Associates the given value with the current component and returns it. + * + * Must be called during component initialisation. + */ + set(context) { + return setContext(this.#key, context); + } +} +function useRefById({ + id, + ref, + deps = () => true, + onRefChange, + getRootNode +}) { + watch([() => id.current, deps], ([_id]) => { + const rootNode = getRootNode?.() ?? document; + const node = rootNode?.getElementById(_id); + if (node) ref.current = node; + else ref.current = null; + onRefChange?.(ref.current); + }); +} +function getDataOpenClosed(condition) { + return condition ? "open" : "closed"; +} +function getAriaDisabled(condition) { + return condition ? "true" : "false"; +} +function getAriaExpanded(condition) { + return condition ? "true" : "false"; +} +function getDataDisabled(condition) { + return condition ? "" : void 0; +} +function getAriaSelected(condition) { + return condition ? "true" : "false"; +} +function getAriaOrientation(orientation) { + return orientation; +} +function getAriaHidden(condition) { + return condition ? "true" : void 0; +} +function getDataOrientation(orientation) { + return orientation; +} +function getDataSelected(condition) { + return condition ? "" : void 0; +} +function getHidden(condition) { + return condition ? true : void 0; +} +function getDisabled(condition) { + return condition ? true : void 0; +} +const ARROW_DOWN = "ArrowDown"; +const ARROW_LEFT = "ArrowLeft"; +const ARROW_RIGHT = "ArrowRight"; +const ARROW_UP = "ArrowUp"; +const END = "End"; +const ENTER = "Enter"; +const ESCAPE = "Escape"; +const HOME = "Home"; +const SPACE = " "; +const TAB = "Tab"; +const p = "p"; +const n = "n"; +const j = "j"; +const k = "k"; +const isBrowser = typeof document !== "undefined"; +function isHTMLElement(element) { + return element instanceof HTMLElement; +} +function isElement(element) { + return element instanceof Element; +} +function isTouch(e) { + return e.pointerType === "touch"; +} +function isFocusVisible(element) { + return element.matches(":focus-visible"); +} +function isNotNull(value) { + return value !== null; +} +function isSelectableInput(element) { + return element instanceof HTMLInputElement && "select" in element; +} +function isElementHidden(node, stopAt) { + if (getComputedStyle(node).visibility === "hidden") + return true; + while (node) { + if (stopAt !== void 0 && node === stopAt) + return false; + if (getComputedStyle(node).display === "none") + return true; + node = node.parentElement; + } + return false; +} +globalThis.bitsIdCounter ??= { current: 0 }; +function useId(prefix = "bits") { + globalThis.bitsIdCounter.current++; + return `${prefix}-${globalThis.bitsIdCounter.current}`; +} +function noop() { +} +export { + ARROW_UP as A, + j as B, + Context as C, + n as D, + ESCAPE as E, + getDataSelected as F, + getDataDisabled as G, + HOME as H, + getAriaSelected as I, + getAriaDisabled as J, + srOnlyStyles as K, + getAriaExpanded as L, + isTouch as M, + isFocusVisible as N, + ARROW_RIGHT as O, + ARROW_LEFT as P, + SvelteMap as Q, + getDisabled as R, + SPACE as S, + TAB as T, + getHidden as U, + useId as a, + box as b, + isElement as c, + defaultWindow as d, + executeCallbacks as e, + isSelectableInput as f, + getDataOpenClosed as g, + isElementHidden as h, + isBrowser as i, + isHTMLElement as j, + composeHandlers as k, + cssToStyleObj as l, + mergeProps as m, + noop as n, + isNotNull as o, + getDataOrientation as p, + getAriaHidden as q, + getAriaOrientation as r, + styleToString as s, + ENTER as t, + useRefById as u, + END as v, + watch as w, + k as x, + p as y, + ARROW_DOWN as z +}; diff --git a/.svelte-kit/output/server/entries/fallbacks/error.svelte.js b/.svelte-kit/output/server/entries/fallbacks/error.svelte.js new file mode 100644 index 0000000..72d2eaf --- /dev/null +++ b/.svelte-kit/output/server/entries/fallbacks/error.svelte.js @@ -0,0 +1,26 @@ +import { a1 as getContext, J as escape_html, y as pop, w as push } from "../../chunks/index.js"; +import "clsx"; +import { s as stores } from "../../chunks/client.js"; +({ + check: stores.updated.check +}); +function context() { + return getContext("__request__"); +} +const page$1 = { + get error() { + return context().page.error; + }, + get status() { + return context().page.status; + } +}; +const page = page$1; +function Error$1($$payload, $$props) { + push(); + $$payload.out += `

    ${escape_html(page.status)}

    ${escape_html(page.error?.message)}

    `; + pop(); +} +export { + Error$1 as default +}; diff --git a/.svelte-kit/output/server/entries/pages/_layout.svelte.js b/.svelte-kit/output/server/entries/pages/_layout.svelte.js new file mode 100644 index 0000000..80900d7 --- /dev/null +++ b/.svelte-kit/output/server/entries/pages/_layout.svelte.js @@ -0,0 +1,9549 @@ +import { z as is_array, A as get_prototype_of, C as object_prototype, w as push, y as pop, D as derived, E as spread_attributes, F as bind_props, G as getAllContexts, I as spread_props, J as escape_html, K as attr, M as copy_payload, N as assign_payload, O as sanitize_props, P as slot, Q as fallback, R as store_get, S as unsubscribe_stores, T as ensure_array_like, U as attr_style, V as stringify, W as attr_class, X as clsx, Y as element } from "../../chunks/index.js"; +import { t as tick, m as mount, u as unmount, I as Icon, i as isDarkMode, a as theme, b as themes, c as Input, k as keyboardShortcuts, o as onDestroy } from "../../chunks/keyboard-shortcuts.js"; +import "../../chunks/client.js"; +import { c as cn, p as page } from "../../chunks/breadcrumbs.js"; +import { d as defaultWindow, b as box, w as watch, e as executeCallbacks, C as Context, u as useRefById, g as getDataOpenClosed, a as useId$1, m as mergeProps, i as isBrowser$1, n as noop$1, c as isElement, E as ESCAPE, f as isSelectableInput, h as isElementHidden, T as TAB, j as isHTMLElement, k as composeHandlers, l as cssToStyleObj, o as isNotNull, s as styleToString, p as getDataOrientation, q as getAriaHidden, r as getAriaOrientation, t as ENTER, v as END, H as HOME, A as ARROW_UP, x as k, y as p, z as ARROW_DOWN, B as j, D as n, F as getDataSelected, G as getDataDisabled, I as getAriaSelected, J as getAriaDisabled, K as srOnlyStyles, S as SPACE, L as getAriaExpanded, M as isTouch, N as isFocusVisible } from "../../chunks/noop.js"; +import "style-to-object"; +import "clsx"; +import cssesc from "css.escape"; +import { computePosition, offset, shift, flip, size, arrow, hide, limitShift } from "@floating-ui/dom"; +import { o as on } from "../../chunks/events.js"; +import { isTabbable } from "tabbable"; +import { tv } from "tailwind-variants"; +const empty = []; +function snapshot(value, skip_warning = false) { + return clone(value, /* @__PURE__ */ new Map(), "", empty); +} +function clone(value, cloned, path, paths, original = null) { + if (typeof value === "object" && value !== null) { + var unwrapped = cloned.get(value); + if (unwrapped !== void 0) return unwrapped; + if (value instanceof Map) return ( + /** @type {Snapshot} */ + new Map(value) + ); + if (value instanceof Set) return ( + /** @type {Snapshot} */ + new Set(value) + ); + if (is_array(value)) { + var copy = ( + /** @type {Snapshot} */ + Array(value.length) + ); + cloned.set(value, copy); + if (original !== null) { + cloned.set(original, copy); + } + for (var i = 0; i < value.length; i += 1) { + var element2 = value[i]; + if (i in value) { + copy[i] = clone(element2, cloned, path, paths); + } + } + return copy; + } + if (get_prototype_of(value) === object_prototype) { + copy = {}; + cloned.set(value, copy); + if (original !== null) { + cloned.set(original, copy); + } + for (var key in value) { + copy[key] = clone(value[key], cloned, path, paths); + } + return copy; + } + if (value instanceof Date) { + return ( + /** @type {Snapshot} */ + structuredClone(value) + ); + } + if (typeof /** @type {T & { toJSON?: any } } */ + value.toJSON === "function") { + return clone( + /** @type {T & { toJSON(): any } } */ + value.toJSON(), + cloned, + path, + paths, + // Associate the instance with the toJSON clone + value + ); + } + } + if (value instanceof EventTarget) { + return ( + /** @type {Snapshot} */ + value + ); + } + try { + return ( + /** @type {Snapshot} */ + structuredClone(value) + ); + } catch (e) { + return ( + /** @type {Snapshot} */ + value + ); + } +} +function useDebounce(callback, wait = 250) { + let context = null; + function debounced(...args) { + if (context) { + if (context.timeout) { + clearTimeout(context.timeout); + } + } else { + let resolve; + let reject; + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + context = { + timeout: null, + runner: null, + promise, + resolve, + reject + }; + } + context.runner = async () => { + if (!context) return; + const ctx = context; + context = null; + try { + ctx.resolve(await callback.apply(this, args)); + } catch (error) { + ctx.reject(error); + } + }; + context.timeout = setTimeout(context.runner, typeof wait === "function" ? wait() : wait); + return context.promise; + } + debounced.cancel = async () => { + if (!context || context.timeout === null) { + await new Promise((resolve) => setTimeout(resolve, 0)); + if (!context || context.timeout === null) return; + } + clearTimeout(context.timeout); + context.reject("Cancelled"); + context = null; + }; + debounced.runScheduledNow = async () => { + if (!context || !context.timeout) { + await new Promise((resolve) => setTimeout(resolve, 0)); + if (!context || !context.timeout) return; + } + clearTimeout(context.timeout); + context.timeout = null; + await context.runner?.(); + }; + Object.defineProperty(debounced, "pending", { + enumerable: true, + get() { + return !!context?.timeout; + } + }); + return debounced; +} +class ElementSize { + #size = { width: 0, height: 0 }; + constructor(node, options = { box: "border-box" }) { + options.window ?? defaultWindow; + this.#size = { + width: options.initialSize?.width ?? 0, + height: options.initialSize?.height ?? 0 + }; + } + get current() { + return this.#size; + } + get width() { + return this.#size.width; + } + get height() { + return this.#size.height; + } +} +class IsMounted { + #isMounted = false; + constructor() { + } + get current() { + return this.#isMounted; + } +} +class Previous { + #previous = void 0; + #curr; + constructor(getter) { + } + get current() { + return this.#previous; + } +} +function afterSleep(ms, cb) { + return setTimeout(cb, ms); +} +function afterTick(fn) { + tick().then(fn); +} +function useStateMachine(initialState, machine) { + const state = box(initialState); + function reducer(event) { + const nextState = machine[state.current][event]; + return nextState ?? state.current; + } + const dispatch = (event) => { + state.current = reducer(event); + }; + return { state, dispatch }; +} +function usePresence(present, id) { + let styles = {}; + let prevAnimationNameState = "none"; + const initialState = present.current ? "mounted" : "unmounted"; + let node = null; + const prevPresent = new Previous(() => present.current); + watch([() => id.current, () => present.current], ([id2, present2]) => { + if (!id2 || !present2) return; + afterTick(() => { + node = document.getElementById(id2); + }); + }); + const { state, dispatch } = useStateMachine(initialState, { + mounted: { + UNMOUNT: "unmounted", + ANIMATION_OUT: "unmountSuspended" + }, + unmountSuspended: { MOUNT: "mounted", ANIMATION_END: "unmounted" }, + unmounted: { MOUNT: "mounted" } + }); + watch(() => present.current, (currPresent) => { + if (!node) { + node = document.getElementById(id.current); + } + if (!node) return; + const hasPresentChanged = currPresent !== prevPresent.current; + if (!hasPresentChanged) return; + const prevAnimationName = prevAnimationNameState; + const currAnimationName = getAnimationName(node); + if (currPresent) { + dispatch("MOUNT"); + } else if (currAnimationName === "none" || styles.display === "none") { + dispatch("UNMOUNT"); + } else { + const isAnimating = prevAnimationName !== currAnimationName; + if (prevPresent && isAnimating) { + dispatch("ANIMATION_OUT"); + } else { + dispatch("UNMOUNT"); + } + } + }); + function handleAnimationEnd(event) { + if (!node) node = document.getElementById(id.current); + if (!node) return; + const currAnimationName = getAnimationName(node); + const isCurrentAnimation = currAnimationName.includes(event.animationName) || currAnimationName === "none"; + if (event.target === node && isCurrentAnimation) { + dispatch("ANIMATION_END"); + } + } + function handleAnimationStart(event) { + if (!node) node = document.getElementById(id.current); + if (!node) return; + if (event.target === node) { + prevAnimationNameState = getAnimationName(node); + } + } + watch(() => state.current, () => { + if (!node) node = document.getElementById(id.current); + if (!node) return; + const currAnimationName = getAnimationName(node); + prevAnimationNameState = state.current === "mounted" ? currAnimationName : "none"; + }); + watch(() => node, (node2) => { + if (!node2) return; + styles = getComputedStyle(node2); + return executeCallbacks(on(node2, "animationstart", handleAnimationStart), on(node2, "animationcancel", handleAnimationEnd), on(node2, "animationend", handleAnimationEnd)); + }); + const isPresentDerived = ["mounted", "unmountSuspended"].includes(state.current); + return { + get current() { + return isPresentDerived; + } + }; +} +function getAnimationName(node) { + return node ? getComputedStyle(node).animationName || "none" : "none"; +} +function Presence_layer($$payload, $$props) { + push(); + let { present, forceMount, presence, id } = $$props; + const isPresent = usePresence(box.with(() => present), box.with(() => id)); + if (forceMount || present || isPresent.current) { + $$payload.out += ""; + presence?.($$payload, { present: isPresent }); + $$payload.out += ``; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + pop(); +} +function createAttrs(variant) { + return { + content: `data-${variant}-content`, + trigger: `data-${variant}-trigger`, + overlay: `data-${variant}-overlay`, + title: `data-${variant}-title`, + description: `data-${variant}-description`, + close: `data-${variant}-close`, + cancel: `data-${variant}-cancel`, + action: `data-${variant}-action` + }; +} +class DialogRootState { + opts; + triggerNode = null; + contentNode = null; + descriptionNode = null; + contentId = void 0; + titleId = void 0; + triggerId = void 0; + descriptionId = void 0; + cancelNode = null; + #attrs = derived(() => createAttrs(this.opts.variant.current)); + get attrs() { + return this.#attrs(); + } + set attrs($$value) { + return this.#attrs($$value); + } + constructor(opts) { + this.opts = opts; + this.handleOpen = this.handleOpen.bind(this); + this.handleClose = this.handleClose.bind(this); + } + handleOpen() { + if (this.opts.open.current) return; + this.opts.open.current = true; + } + handleClose() { + if (!this.opts.open.current) return; + this.opts.open.current = false; + } + #sharedProps = derived(() => ({ + "data-state": getDataOpenClosed(this.opts.open.current) + })); + get sharedProps() { + return this.#sharedProps(); + } + set sharedProps($$value) { + return this.#sharedProps($$value); + } +} +class DialogTitleState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + onRefChange: (node) => { + this.root.titleId = node?.id; + }, + deps: () => this.root.opts.open.current + }); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: "heading", + "aria-level": this.opts.level.current, + [this.root.attrs.title]: "", + ...this.root.sharedProps + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class DialogDescriptionState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + deps: () => this.root.opts.open.current, + onRefChange: (node) => { + this.root.descriptionNode = node; + this.root.descriptionId = node?.id; + } + }); + } + #props = derived(() => ({ + id: this.opts.id.current, + [this.root.attrs.description]: "", + ...this.root.sharedProps + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class DialogContentState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + deps: () => this.root.opts.open.current, + onRefChange: (node) => { + this.root.contentNode = node; + this.root.contentId = node?.id; + } + }); + } + #snippetProps = derived(() => ({ open: this.root.opts.open.current })); + get snippetProps() { + return this.#snippetProps(); + } + set snippetProps($$value) { + return this.#snippetProps($$value); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: this.root.opts.variant.current === "alert-dialog" ? "alertdialog" : "dialog", + "aria-modal": "true", + "aria-describedby": this.root.descriptionId, + "aria-labelledby": this.root.titleId, + [this.root.attrs.content]: "", + style: { + pointerEvents: "auto", + outline: this.root.opts.variant.current === "alert-dialog" ? "none" : void 0 + }, + tabindex: this.root.opts.variant.current === "alert-dialog" ? -1 : void 0, + ...this.root.sharedProps + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class DialogOverlayState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + deps: () => this.root.opts.open.current + }); + } + #snippetProps = derived(() => ({ open: this.root.opts.open.current })); + get snippetProps() { + return this.#snippetProps(); + } + set snippetProps($$value) { + return this.#snippetProps($$value); + } + #props = derived(() => ({ + id: this.opts.id.current, + [this.root.attrs.overlay]: "", + style: { pointerEvents: "auto" }, + ...this.root.sharedProps + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +const DialogRootContext = new Context("Dialog.Root"); +function useDialogRoot(props) { + return DialogRootContext.set(new DialogRootState(props)); +} +function useDialogTitle(props) { + return new DialogTitleState(props, DialogRootContext.get()); +} +function useDialogContent(props) { + return new DialogContentState(props, DialogRootContext.get()); +} +function useDialogOverlay(props) { + return new DialogOverlayState(props, DialogRootContext.get()); +} +function useDialogDescription(props) { + return new DialogDescriptionState(props, DialogRootContext.get()); +} +function Dialog_title($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + child, + children, + level = 2, + $$slots, + $$events, + ...restProps + } = $$props; + const titleState = useDialogTitle({ + id: box.with(() => id), + level: box.with(() => level), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, titleState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Portal($$payload, $$props) { + push(); + let { to = "body", children, disabled } = $$props; + getAllContexts(); + let target = getTarget(); + function getTarget() { + if (!isBrowser$1 || disabled) return null; + let localTarget = null; + if (typeof to === "string") { + localTarget = document.querySelector(to); + } else if (to instanceof HTMLElement || to instanceof DocumentFragment) { + localTarget = to; + } else ; + return localTarget; + } + let instance; + function unmountInstance() { + if (instance) { + unmount(); + instance = null; + } + } + watch([() => target, () => disabled], ([target2, disabled2]) => { + if (!target2 || disabled2) { + unmountInstance(); + return; + } + instance = mount(); + return () => { + unmountInstance(); + }; + }); + if (disabled) { + $$payload.out += ""; + children?.($$payload); + $$payload.out += ``; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + pop(); +} +function addEventListener(target, event, handler, options) { + const events = Array.isArray(event) ? event : [event]; + events.forEach((_event) => target.addEventListener(_event, handler, options)); + return () => { + events.forEach((_event) => target.removeEventListener(_event, handler, options)); + }; +} +class CustomEventDispatcher { + eventName; + options; + constructor(eventName, options = { bubbles: true, cancelable: true }) { + this.eventName = eventName; + this.options = options; + } + createEvent(detail) { + return new CustomEvent(this.eventName, { + ...this.options, + detail + }); + } + dispatch(element2, detail) { + const event = this.createEvent(detail); + element2.dispatchEvent(event); + return event; + } + listen(element2, callback, options) { + const handler = (event) => { + callback(event); + }; + return on(element2, this.eventName, handler, options); + } +} +function debounce(fn, wait = 500) { + let timeout = null; + const debounced = (...args) => { + if (timeout !== null) { + clearTimeout(timeout); + } + timeout = setTimeout(() => { + fn(...args); + }, wait); + }; + debounced.destroy = () => { + if (timeout !== null) { + clearTimeout(timeout); + timeout = null; + } + }; + return debounced; +} +function isOrContainsTarget(node, target) { + return node === target || node.contains(target); +} +function getOwnerDocument(el) { + return el?.ownerDocument ?? document; +} +function getFirstNonCommentChild(element2) { + if (!element2) + return null; + for (const child of element2.childNodes) { + if (child.nodeType !== Node.COMMENT_NODE) { + return child; + } + } + return null; +} +function isClickTrulyOutside(event, contentNode) { + const { clientX, clientY } = event; + const rect = contentNode.getBoundingClientRect(); + return clientX < rect.left || clientX > rect.right || clientY < rect.top || clientY > rect.bottom; +} +globalThis.bitsDismissableLayers ??= /* @__PURE__ */ new Map(); +class DismissibleLayerState { + opts; + #interactOutsideProp; + #behaviorType; + #interceptedEvents = { pointerdown: false }; + #isResponsibleLayer = false; + #isFocusInsideDOMTree = false; + node = box(null); + #documentObj = void 0; + #onFocusOutside; + currNode = null; + #unsubClickListener = noop$1; + constructor(opts) { + this.opts = opts; + useRefById({ + id: opts.id, + ref: this.node, + deps: () => opts.enabled.current, + onRefChange: (node) => { + this.currNode = node; + } + }); + this.#behaviorType = opts.interactOutsideBehavior; + this.#interactOutsideProp = opts.onInteractOutside; + this.#onFocusOutside = opts.onFocusOutside; + let unsubEvents = noop$1; + const cleanup = () => { + this.#resetState(); + globalThis.bitsDismissableLayers.delete(this); + this.#handleInteractOutside.destroy(); + unsubEvents(); + }; + watch( + [ + () => this.opts.enabled.current, + () => this.currNode + ], + ([enabled, currNode]) => { + if (!enabled || !currNode) return; + afterSleep(1, () => { + if (!this.currNode) return; + globalThis.bitsDismissableLayers.set(this, this.#behaviorType); + unsubEvents(); + unsubEvents = this.#addEventListeners(); + }); + return cleanup; + } + ); + } + #handleFocus = (event) => { + if (event.defaultPrevented) return; + if (!this.currNode) return; + afterTick(() => { + if (!this.currNode || this.#isTargetWithinLayer(event.target)) return; + if (event.target && !this.#isFocusInsideDOMTree) { + this.#onFocusOutside.current?.(event); + } + }); + }; + #addEventListeners() { + return executeCallbacks( + /** + * CAPTURE INTERACTION START + * mark interaction-start event as intercepted. + * mark responsible layer during interaction start + * to avoid checking if is responsible layer during interaction end + * when a new floating element may have been opened. + */ + on(this.#documentObj, "pointerdown", executeCallbacks(this.#markInterceptedEvent, this.#markResponsibleLayer), { capture: true }), + /** + * BUBBLE INTERACTION START + * Mark interaction-start event as non-intercepted. Debounce `onInteractOutsideStart` + * to avoid prematurely checking if other events were intercepted. + */ + on(this.#documentObj, "pointerdown", executeCallbacks(this.#markNonInterceptedEvent, this.#handleInteractOutside)), + /** + * HANDLE FOCUS OUTSIDE + */ + on(this.#documentObj, "focusin", this.#handleFocus) + ); + } + #handleDismiss = (e) => { + let event = e; + if (event.defaultPrevented) { + event = createWrappedEvent(e); + } + this.#interactOutsideProp.current(e); + }; + #handleInteractOutside = debounce( + (e) => { + if (!this.currNode) { + this.#unsubClickListener(); + return; + } + const isEventValid = this.opts.isValidEvent.current(e, this.currNode) || isValidEvent(e, this.currNode); + if (!this.#isResponsibleLayer || this.#isAnyEventIntercepted() || !isEventValid) { + this.#unsubClickListener(); + return; + } + let event = e; + if (event.defaultPrevented) { + event = createWrappedEvent(event); + } + if (this.#behaviorType.current !== "close" && this.#behaviorType.current !== "defer-otherwise-close") { + this.#unsubClickListener(); + return; + } + if (e.pointerType === "touch") { + this.#unsubClickListener(); + this.#unsubClickListener = addEventListener(this.#documentObj, "click", this.#handleDismiss, { once: true }); + } else { + this.#interactOutsideProp.current(event); + } + }, + 10 + ); + #markInterceptedEvent = (e) => { + this.#interceptedEvents[e.type] = true; + }; + #markNonInterceptedEvent = (e) => { + this.#interceptedEvents[e.type] = false; + }; + #markResponsibleLayer = () => { + if (!this.node.current) return; + this.#isResponsibleLayer = isResponsibleLayer(this.node.current); + }; + #isTargetWithinLayer = (target) => { + if (!this.node.current) return false; + return isOrContainsTarget(this.node.current, target); + }; + #resetState = debounce( + () => { + for (const eventType in this.#interceptedEvents) { + this.#interceptedEvents[eventType] = false; + } + this.#isResponsibleLayer = false; + }, + 20 + ); + #isAnyEventIntercepted() { + const i = Object.values(this.#interceptedEvents).some(Boolean); + return i; + } + #onfocuscapture = () => { + this.#isFocusInsideDOMTree = true; + }; + #onblurcapture = () => { + this.#isFocusInsideDOMTree = false; + }; + props = { + onfocuscapture: this.#onfocuscapture, + onblurcapture: this.#onblurcapture + }; +} +function useDismissibleLayer(props) { + return new DismissibleLayerState(props); +} +function getTopMostLayer(layersArr) { + return layersArr.findLast(([_, { current: behaviorType }]) => behaviorType === "close" || behaviorType === "ignore"); +} +function isResponsibleLayer(node) { + const layersArr = [...globalThis.bitsDismissableLayers]; + const topMostLayer = getTopMostLayer(layersArr); + if (topMostLayer) return topMostLayer[0].node.current === node; + const [firstLayerNode] = layersArr[0]; + return firstLayerNode.node.current === node; +} +function isValidEvent(e, node) { + if ("button" in e && e.button > 0) return false; + const target = e.target; + if (!isElement(target)) return false; + const ownerDocument = getOwnerDocument(target); + const isValid = ownerDocument.documentElement.contains(target) && !isOrContainsTarget(node, target) && isClickTrulyOutside(e, node); + return isValid; +} +function createWrappedEvent(e) { + const capturedCurrentTarget = e.currentTarget; + const capturedTarget = e.target; + let newEvent; + if (e instanceof PointerEvent) { + newEvent = new PointerEvent(e.type, e); + } else { + newEvent = new PointerEvent("pointerdown", e); + } + let isPrevented = false; + const wrappedEvent = new Proxy(newEvent, { + get: (target, prop) => { + if (prop === "currentTarget") { + return capturedCurrentTarget; + } + if (prop === "target") { + return capturedTarget; + } + if (prop === "preventDefault") { + return () => { + isPrevented = true; + if (typeof target.preventDefault === "function") { + target.preventDefault(); + } + }; + } + if (prop === "defaultPrevented") { + return isPrevented; + } + if (prop in target) { + return target[prop]; + } + return e[prop]; + } + }); + return wrappedEvent; +} +function Dismissible_layer($$payload, $$props) { + push(); + let { + interactOutsideBehavior = "close", + onInteractOutside = noop$1, + onFocusOutside = noop$1, + id, + children, + enabled, + isValidEvent: isValidEvent2 = () => false + } = $$props; + const dismissibleLayerState = useDismissibleLayer({ + id: box.with(() => id), + interactOutsideBehavior: box.with(() => interactOutsideBehavior), + onInteractOutside: box.with(() => onInteractOutside), + enabled: box.with(() => enabled), + onFocusOutside: box.with(() => onFocusOutside), + isValidEvent: box.with(() => isValidEvent2) + }); + children?.($$payload, { props: dismissibleLayerState.props }); + $$payload.out += ``; + pop(); +} +globalThis.bitsEscapeLayers ??= /* @__PURE__ */ new Map(); +class EscapeLayerState { + opts; + constructor(opts) { + this.opts = opts; + let unsubEvents = noop$1; + watch(() => opts.enabled.current, (enabled) => { + if (enabled) { + globalThis.bitsEscapeLayers.set(this, opts.escapeKeydownBehavior); + unsubEvents = this.#addEventListener(); + } + return () => { + unsubEvents(); + globalThis.bitsEscapeLayers.delete(this); + }; + }); + } + #addEventListener = () => { + return on(document, "keydown", this.#onkeydown, { passive: false }); + }; + #onkeydown = (e) => { + if (e.key !== ESCAPE || !isResponsibleEscapeLayer(this)) return; + const clonedEvent = new KeyboardEvent(e.type, e); + e.preventDefault(); + const behaviorType = this.opts.escapeKeydownBehavior.current; + if (behaviorType !== "close" && behaviorType !== "defer-otherwise-close") return; + this.opts.onEscapeKeydown.current(clonedEvent); + }; +} +function useEscapeLayer(props) { + return new EscapeLayerState(props); +} +function isResponsibleEscapeLayer(instance) { + const layersArr = [...globalThis.bitsEscapeLayers]; + const topMostLayer = layersArr.findLast(([_, { current: behaviorType }]) => behaviorType === "close" || behaviorType === "ignore"); + if (topMostLayer) return topMostLayer[0] === instance; + const [firstLayerNode] = layersArr[0]; + return firstLayerNode === instance; +} +function Escape_layer($$payload, $$props) { + push(); + let { + escapeKeydownBehavior = "close", + onEscapeKeydown = noop$1, + children, + enabled + } = $$props; + useEscapeLayer({ + escapeKeydownBehavior: box.with(() => escapeKeydownBehavior), + onEscapeKeydown: box.with(() => onEscapeKeydown), + enabled: box.with(() => enabled) + }); + children?.($$payload); + $$payload.out += ``; + pop(); +} +const focusStack = box([]); +function createFocusScopeStack() { + return { + add(focusScope) { + const activeFocusScope = focusStack.current[0]; + if (activeFocusScope && focusScope.id !== activeFocusScope.id) { + activeFocusScope.pause(); + } + focusStack.current = removeFromFocusScopeArray(focusStack.current, focusScope); + focusStack.current.unshift(focusScope); + }, + remove(focusScope) { + focusStack.current = removeFromFocusScopeArray(focusStack.current, focusScope); + focusStack.current[0]?.resume(); + }, + get current() { + return focusStack.current; + } + }; +} +function createFocusScopeAPI() { + let paused = false; + let isHandlingFocus = false; + return { + id: useId$1(), + get paused() { + return paused; + }, + get isHandlingFocus() { + return isHandlingFocus; + }, + set isHandlingFocus(value) { + isHandlingFocus = value; + }, + pause() { + paused = true; + }, + resume() { + paused = false; + } + }; +} +function removeFromFocusScopeArray(arr, item) { + return [...arr].filter((i) => i.id !== item.id); +} +function removeLinks(items) { + return items.filter((item) => item.tagName !== "A"); +} +function focus(element2, { select = false } = {}) { + if (!(element2 && element2.focus)) + return; + if (document.activeElement === element2) + return; + const previouslyFocusedElement = document.activeElement; + element2.focus({ preventScroll: true }); + if (element2 !== previouslyFocusedElement && isSelectableInput(element2) && select) { + element2.select(); + } +} +function focusFirst(candidates, { select = false } = {}) { + const previouslyFocusedElement = document.activeElement; + for (const candidate of candidates) { + focus(candidate, { select }); + if (document.activeElement !== previouslyFocusedElement) + return true; + } +} +function findVisible(elements, container) { + for (const element2 of elements) { + if (!isElementHidden(element2, container)) + return element2; + } +} +function getTabbableCandidates(container) { + const nodes = []; + const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + acceptNode: (node) => { + const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden"; + if (node.disabled || node.hidden || isHiddenInput) + return NodeFilter.FILTER_SKIP; + return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; + } + }); + while (walker.nextNode()) + nodes.push(walker.currentNode); + return nodes; +} +function getTabbableEdges(container) { + const candidates = getTabbableCandidates(container); + const first = findVisible(candidates, container); + const last = findVisible(candidates.reverse(), container); + return [first, last]; +} +const AutoFocusOnMountEvent = new CustomEventDispatcher("focusScope.autoFocusOnMount", { bubbles: false, cancelable: true }); +const AutoFocusOnDestroyEvent = new CustomEventDispatcher("focusScope.autoFocusOnDestroy", { bubbles: false, cancelable: true }); +const FocusScopeContext = new Context("FocusScope"); +function useFocusScope({ + id, + loop, + enabled, + onOpenAutoFocus, + onCloseAutoFocus, + forceMount +}) { + const focusScopeStack = createFocusScopeStack(); + const focusScope = createFocusScopeAPI(); + const ref = box(null); + const ctx = FocusScopeContext.getOr({ ignoreCloseAutoFocus: false }); + let lastFocusedElement = null; + useRefById({ id, ref, deps: () => enabled.current }); + function manageFocus(event) { + if (focusScope.paused || !ref.current || focusScope.isHandlingFocus) return; + focusScope.isHandlingFocus = true; + try { + const target = event.target; + if (!isHTMLElement(target)) return; + const isWithinActiveScope = ref.current.contains(target); + if (event.type === "focusin") { + if (isWithinActiveScope) { + lastFocusedElement = target; + } else { + if (ctx.ignoreCloseAutoFocus) return; + focus(lastFocusedElement, { select: true }); + } + } else if (event.type === "focusout") { + if (!isWithinActiveScope && !ctx.ignoreCloseAutoFocus) { + focus(lastFocusedElement, { select: true }); + } + } + } finally { + focusScope.isHandlingFocus = false; + } + } + function handleMutations(mutations) { + if (!lastFocusedElement || !ref.current) return; + let elementWasRemoved = false; + for (const mutation of mutations) { + if (mutation.type === "childList" && mutation.removedNodes.length > 0) { + for (const removedNode of mutation.removedNodes) { + if (removedNode === lastFocusedElement) { + elementWasRemoved = true; + break; + } + if (removedNode.nodeType === Node.ELEMENT_NODE && removedNode.contains(lastFocusedElement)) { + elementWasRemoved = true; + break; + } + } + } + if (elementWasRemoved) break; + } + if (elementWasRemoved && ref.current && !ref.current.contains(document.activeElement)) { + focus(ref.current); + } + } + watch([() => ref.current, () => enabled.current], ([container, enabled2]) => { + if (!container || !enabled2) return; + const removeEvents = executeCallbacks(on(document, "focusin", manageFocus), on(document, "focusout", manageFocus)); + const mutationObserver = new MutationObserver(handleMutations); + mutationObserver.observe(container, { + childList: true, + subtree: true, + attributes: false + }); + return () => { + removeEvents(); + mutationObserver.disconnect(); + }; + }); + watch([() => forceMount.current, () => ref.current], ([forceMount2, container]) => { + if (forceMount2) return; + const prevFocusedElement = document.activeElement; + handleOpen(container, prevFocusedElement); + return () => { + if (!container) return; + handleClose(prevFocusedElement); + }; + }); + watch( + [ + () => forceMount.current, + () => ref.current, + () => enabled.current + ], + ([forceMount2, container]) => { + if (!forceMount2) return; + const prevFocusedElement = document.activeElement; + handleOpen(container, prevFocusedElement); + return () => { + if (!container) return; + handleClose(prevFocusedElement); + }; + } + ); + function handleOpen(container, prevFocusedElement) { + if (!container) container = document.getElementById(id.current); + if (!container || !enabled.current) return; + focusScopeStack.add(focusScope); + const hasFocusedCandidate = container.contains(prevFocusedElement); + if (!hasFocusedCandidate) { + const mountEvent = AutoFocusOnMountEvent.createEvent(); + onOpenAutoFocus.current(mountEvent); + if (!mountEvent.defaultPrevented) { + afterTick(() => { + if (!container) return; + const result = focusFirst(removeLinks(getTabbableCandidates(container)), { select: true }); + if (!result) focus(container); + }); + } + } + } + function handleClose(prevFocusedElement) { + const destroyEvent = AutoFocusOnDestroyEvent.createEvent(); + onCloseAutoFocus.current?.(destroyEvent); + const shouldIgnore = ctx.ignoreCloseAutoFocus; + afterSleep(0, () => { + if (!destroyEvent.defaultPrevented && prevFocusedElement && !shouldIgnore) { + focus(isTabbable(prevFocusedElement) ? prevFocusedElement : document.body, { select: true }); + } + focusScopeStack.remove(focusScope); + }); + } + function handleKeydown(e) { + if (!enabled.current) return; + if (!loop.current && !enabled.current) return; + if (focusScope.paused) return; + const isTabKey = e.key === TAB && !e.ctrlKey && !e.altKey && !e.metaKey; + const focusedElement = document.activeElement; + if (!(isTabKey && focusedElement)) return; + const container = ref.current; + if (!container) return; + const [first, last] = getTabbableEdges(container); + const hasTabbableElementsInside = first && last; + if (!hasTabbableElementsInside) { + if (focusedElement === container) { + e.preventDefault(); + } + } else { + if (!e.shiftKey && focusedElement === last) { + e.preventDefault(); + if (loop.current) focus(first, { select: true }); + } else if (e.shiftKey && focusedElement === first) { + e.preventDefault(); + if (loop.current) focus(last, { select: true }); + } + } + } + const props = (() => ({ + id: id.current, + tabindex: -1, + onkeydown: handleKeydown + }))(); + return { + get props() { + return props; + } + }; +} +function Focus_scope($$payload, $$props) { + push(); + let { + id, + trapFocus = false, + loop = false, + onCloseAutoFocus = noop$1, + onOpenAutoFocus = noop$1, + focusScope, + forceMount = false + } = $$props; + const focusScopeState = useFocusScope({ + enabled: box.with(() => trapFocus), + loop: box.with(() => loop), + onCloseAutoFocus: box.with(() => onCloseAutoFocus), + onOpenAutoFocus: box.with(() => onOpenAutoFocus), + id: box.with(() => id), + forceMount: box.with(() => forceMount) + }); + focusScope?.($$payload, { props: focusScopeState.props }); + $$payload.out += ``; + pop(); +} +globalThis.bitsTextSelectionLayers ??= /* @__PURE__ */ new Map(); +class TextSelectionLayerState { + opts; + #unsubSelectionLock = noop$1; + #ref = box(null); + constructor(opts) { + this.opts = opts; + useRefById({ + id: opts.id, + ref: this.#ref, + deps: () => this.opts.enabled.current + }); + let unsubEvents = noop$1; + watch(() => this.opts.enabled.current, (isEnabled) => { + if (isEnabled) { + globalThis.bitsTextSelectionLayers.set(this, this.opts.enabled); + unsubEvents(); + unsubEvents = this.#addEventListeners(); + } + return () => { + unsubEvents(); + this.#resetSelectionLock(); + globalThis.bitsTextSelectionLayers.delete(this); + }; + }); + } + #addEventListeners() { + return executeCallbacks(on(document, "pointerdown", this.#pointerdown), on(document, "pointerup", composeHandlers(this.#resetSelectionLock, this.opts.onPointerUp.current))); + } + #pointerdown = (e) => { + const node = this.#ref.current; + const target = e.target; + if (!isHTMLElement(node) || !isHTMLElement(target) || !this.opts.enabled.current) return; + if (!isHighestLayer(this) || !isOrContainsTarget(node, target)) return; + this.opts.onPointerDown.current(e); + if (e.defaultPrevented) return; + this.#unsubSelectionLock = preventTextSelectionOverflow(node); + }; + #resetSelectionLock = () => { + this.#unsubSelectionLock(); + this.#unsubSelectionLock = noop$1; + }; +} +function useTextSelectionLayer(props) { + return new TextSelectionLayerState(props); +} +const getUserSelect = (node) => node.style.userSelect || node.style.webkitUserSelect; +function preventTextSelectionOverflow(node) { + const body = document.body; + const originalBodyUserSelect = getUserSelect(body); + const originalNodeUserSelect = getUserSelect(node); + setUserSelect(body, "none"); + setUserSelect(node, "text"); + return () => { + setUserSelect(body, originalBodyUserSelect); + setUserSelect(node, originalNodeUserSelect); + }; +} +function setUserSelect(node, value) { + node.style.userSelect = value; + node.style.webkitUserSelect = value; +} +function isHighestLayer(instance) { + const layersArr = [...globalThis.bitsTextSelectionLayers]; + if (!layersArr.length) return false; + const highestLayer = layersArr.at(-1); + if (!highestLayer) return false; + return highestLayer[0] === instance; +} +function Text_selection_layer($$payload, $$props) { + push(); + let { + preventOverflowTextSelection = true, + onPointerDown = noop$1, + onPointerUp = noop$1, + id, + children, + enabled + } = $$props; + useTextSelectionLayer({ + id: box.with(() => id), + onPointerDown: box.with(() => onPointerDown), + onPointerUp: box.with(() => onPointerUp), + enabled: box.with(() => enabled && preventOverflowTextSelection) + }); + children?.($$payload); + $$payload.out += ``; + pop(); +} +function createSharedHook(factory) { + let state = void 0; + return (...args) => { + return state; + }; +} +const useBodyLockStackCount = createSharedHook(); +function useBodyScrollLock(initialState, restoreScrollDelay = () => null) { + useId$1(); + useBodyLockStackCount(); + return; +} +function Scroll_lock($$payload, $$props) { + push(); + let { + preventScroll = true, + restoreScrollDelay = null + } = $$props; + useBodyScrollLock(preventScroll, () => restoreScrollDelay); + pop(); +} +function shouldTrapFocus({ forceMount, present, trapFocus, open }) { + if (forceMount) { + return open && trapFocus; + } + return present && trapFocus && open; +} +function Dialog_overlay($$payload, $$props) { + push(); + let { + id = useId$1(), + forceMount = false, + child, + children, + ref = null, + $$slots, + $$events, + ...restProps + } = $$props; + const overlayState = useDialogOverlay({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, overlayState.props); + { + let presence = function($$payload2) { + if (child) { + $$payload2.out += ""; + child($$payload2, { + props: mergeProps(mergedProps), + ...overlayState.snippetProps + }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + $$payload2.out += ``; + children?.($$payload2, overlayState.snippetProps); + $$payload2.out += ``; + } + $$payload2.out += ``; + }; + Presence_layer($$payload, { + id, + present: overlayState.root.opts.open.current || forceMount, + presence + }); + } + bind_props($$props, { ref }); + pop(); +} +function Dialog_description($$payload, $$props) { + push(); + let { + id = useId$1(), + children, + child, + ref = null, + $$slots, + $$events, + ...restProps + } = $$props; + const descriptionState = useDialogDescription({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, descriptionState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function get(valueOrGetValue) { + return typeof valueOrGetValue === "function" ? valueOrGetValue() : valueOrGetValue; +} +function getDPR(element2) { + if (typeof window === "undefined") return 1; + const win = element2.ownerDocument.defaultView || window; + return win.devicePixelRatio || 1; +} +function roundByDPR(element2, value) { + const dpr = getDPR(element2); + return Math.round(value * dpr) / dpr; +} +function getFloatingContentCSSVars(name) { + return { + [`--bits-${name}-content-transform-origin`]: `var(--bits-floating-transform-origin)`, + [`--bits-${name}-content-available-width`]: `var(--bits-floating-available-width)`, + [`--bits-${name}-content-available-height`]: `var(--bits-floating-available-height)`, + [`--bits-${name}-anchor-width`]: `var(--bits-floating-anchor-width)`, + [`--bits-${name}-anchor-height`]: `var(--bits-floating-anchor-height)` + }; +} +function useFloating(options) { + get(options.open) ?? true; + const middlewareOption = get(options.middleware); + const transformOption = get(options.transform) ?? true; + const placementOption = get(options.placement) ?? "bottom"; + const strategyOption = get(options.strategy) ?? "absolute"; + const reference = options.reference; + let x = 0; + let y = 0; + const floating = box(null); + let strategy = strategyOption; + let placement = placementOption; + let middlewareData = {}; + let isPositioned = false; + const floatingStyles = (() => { + const initialStyles = { position: strategy, left: "0", top: "0" }; + if (!floating.current) { + return initialStyles; + } + const xVal = roundByDPR(floating.current, x); + const yVal = roundByDPR(floating.current, y); + if (transformOption) { + return { + ...initialStyles, + transform: `translate(${xVal}px, ${yVal}px)`, + ...getDPR(floating.current) >= 1.5 && { willChange: "transform" } + }; + } + return { + position: strategy, + left: `${xVal}px`, + top: `${yVal}px` + }; + })(); + function update() { + if (reference.current === null || floating.current === null) return; + computePosition(reference.current, floating.current, { + middleware: middlewareOption, + placement: placementOption, + strategy: strategyOption + }).then((position) => { + x = position.x; + y = position.y; + strategy = position.strategy; + placement = position.placement; + middlewareData = position.middlewareData; + isPositioned = true; + }); + } + return { + floating, + reference, + get strategy() { + return strategy; + }, + get placement() { + return placement; + }, + get middlewareData() { + return middlewareData; + }, + get isPositioned() { + return isPositioned; + }, + get floatingStyles() { + return floatingStyles; + }, + get update() { + return update; + } + }; +} +const OPPOSITE_SIDE = { + top: "bottom", + right: "left", + bottom: "top", + left: "right" +}; +class FloatingRootState { + anchorNode = box(null); + customAnchorNode = box(null); + triggerNode = box(null); + constructor() { + } +} +class FloatingContentState { + opts; + root; + // nodes + contentRef = box(null); + wrapperRef = box(null); + arrowRef = box(null); + // ids + arrowId = box(useId$1()); + #transformedStyle = derived(() => { + if (typeof this.opts.style === "string") return cssToStyleObj(this.opts.style); + if (!this.opts.style) return {}; + }); + #updatePositionStrategy = void 0; + #arrowSize = new ElementSize(() => this.arrowRef.current ?? void 0); + #arrowWidth = derived(() => this.#arrowSize?.width ?? 0); + #arrowHeight = derived(() => this.#arrowSize?.height ?? 0); + #desiredPlacement = derived(() => this.opts.side?.current + (this.opts.align.current !== "center" ? `-${this.opts.align.current}` : "")); + #boundary = derived(() => Array.isArray(this.opts.collisionBoundary.current) ? this.opts.collisionBoundary.current : [this.opts.collisionBoundary.current]); + #hasExplicitBoundaries = derived(() => this.#boundary().length > 0); + get hasExplicitBoundaries() { + return this.#hasExplicitBoundaries(); + } + set hasExplicitBoundaries($$value) { + return this.#hasExplicitBoundaries($$value); + } + #detectOverflowOptions = derived(() => ({ + padding: this.opts.collisionPadding.current, + boundary: this.#boundary().filter(isNotNull), + altBoundary: this.hasExplicitBoundaries + })); + get detectOverflowOptions() { + return this.#detectOverflowOptions(); + } + set detectOverflowOptions($$value) { + return this.#detectOverflowOptions($$value); + } + #availableWidth = void 0; + #availableHeight = void 0; + #anchorWidth = void 0; + #anchorHeight = void 0; + #middleware = derived(() => [ + offset({ + mainAxis: this.opts.sideOffset.current + this.#arrowHeight(), + alignmentAxis: this.opts.alignOffset.current + }), + this.opts.avoidCollisions.current && shift({ + mainAxis: true, + crossAxis: false, + limiter: this.opts.sticky.current === "partial" ? limitShift() : void 0, + ...this.detectOverflowOptions + }), + this.opts.avoidCollisions.current && flip({ ...this.detectOverflowOptions }), + size({ + ...this.detectOverflowOptions, + apply: ({ rects, availableWidth, availableHeight }) => { + const { width: anchorWidth, height: anchorHeight } = rects.reference; + this.#availableWidth = availableWidth; + this.#availableHeight = availableHeight; + this.#anchorWidth = anchorWidth; + this.#anchorHeight = anchorHeight; + } + }), + this.arrowRef.current && arrow({ + element: this.arrowRef.current, + padding: this.opts.arrowPadding.current + }), + transformOrigin({ + arrowWidth: this.#arrowWidth(), + arrowHeight: this.#arrowHeight() + }), + this.opts.hideWhenDetached.current && hide({ + strategy: "referenceHidden", + ...this.detectOverflowOptions + }) + ].filter(Boolean)); + get middleware() { + return this.#middleware(); + } + set middleware($$value) { + return this.#middleware($$value); + } + floating; + #placedSide = derived(() => getSideFromPlacement(this.floating.placement)); + get placedSide() { + return this.#placedSide(); + } + set placedSide($$value) { + return this.#placedSide($$value); + } + #placedAlign = derived(() => getAlignFromPlacement(this.floating.placement)); + get placedAlign() { + return this.#placedAlign(); + } + set placedAlign($$value) { + return this.#placedAlign($$value); + } + #arrowX = derived(() => this.floating.middlewareData.arrow?.x ?? 0); + get arrowX() { + return this.#arrowX(); + } + set arrowX($$value) { + return this.#arrowX($$value); + } + #arrowY = derived(() => this.floating.middlewareData.arrow?.y ?? 0); + get arrowY() { + return this.#arrowY(); + } + set arrowY($$value) { + return this.#arrowY($$value); + } + #cannotCenterArrow = derived(() => this.floating.middlewareData.arrow?.centerOffset !== 0); + get cannotCenterArrow() { + return this.#cannotCenterArrow(); + } + set cannotCenterArrow($$value) { + return this.#cannotCenterArrow($$value); + } + contentZIndex; + #arrowBaseSide = derived(() => OPPOSITE_SIDE[this.placedSide]); + get arrowBaseSide() { + return this.#arrowBaseSide(); + } + set arrowBaseSide($$value) { + return this.#arrowBaseSide($$value); + } + #wrapperProps = derived(() => ({ + id: this.opts.wrapperId.current, + "data-bits-floating-content-wrapper": "", + style: { + ...this.floating.floatingStyles, + // keep off page when measuring + transform: this.floating.isPositioned ? this.floating.floatingStyles.transform : "translate(0, -200%)", + minWidth: "max-content", + zIndex: this.contentZIndex, + "--bits-floating-transform-origin": `${this.floating.middlewareData.transformOrigin?.x} ${this.floating.middlewareData.transformOrigin?.y}`, + "--bits-floating-available-width": `${this.#availableWidth}px`, + "--bits-floating-available-height": `${this.#availableHeight}px`, + "--bits-floating-anchor-width": `${this.#anchorWidth}px`, + "--bits-floating-anchor-height": `${this.#anchorHeight}px`, + // hide the content if using the hide middleware and should be hidden + ...this.floating.middlewareData.hide?.referenceHidden && { + visibility: "hidden", + "pointer-events": "none" + }, + ...this.#transformedStyle() + }, + // Floating UI calculates logical alignment based the `dir` attribute + dir: this.opts.dir.current + })); + get wrapperProps() { + return this.#wrapperProps(); + } + set wrapperProps($$value) { + return this.#wrapperProps($$value); + } + #props = derived(() => ({ + "data-side": this.placedSide, + "data-align": this.placedAlign, + style: styleToString({ + ...this.#transformedStyle() + // if the FloatingContent hasn't been placed yet (not all measurements done) + }) + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } + #arrowStyle = derived(() => ({ + position: "absolute", + left: this.arrowX ? `${this.arrowX}px` : void 0, + top: this.arrowY ? `${this.arrowY}px` : void 0, + [this.arrowBaseSide]: 0, + "transform-origin": { + top: "", + right: "0 0", + bottom: "center 0", + left: "100% 0" + }[this.placedSide], + transform: { + top: "translateY(100%)", + right: "translateY(50%) rotate(90deg) translateX(-50%)", + bottom: "rotate(180deg)", + left: "translateY(50%) rotate(-90deg) translateX(50%)" + }[this.placedSide], + visibility: this.cannotCenterArrow ? "hidden" : void 0 + })); + get arrowStyle() { + return this.#arrowStyle(); + } + set arrowStyle($$value) { + return this.#arrowStyle($$value); + } + constructor(opts, root) { + this.opts = opts; + this.root = root; + if (opts.customAnchor) { + this.root.customAnchorNode.current = opts.customAnchor.current; + } + watch(() => opts.customAnchor.current, (customAnchor) => { + this.root.customAnchorNode.current = customAnchor; + }); + useRefById({ + id: this.opts.wrapperId, + ref: this.wrapperRef, + deps: () => this.opts.enabled.current + }); + useRefById({ + id: this.opts.id, + ref: this.contentRef, + deps: () => this.opts.enabled.current + }); + this.floating = useFloating({ + strategy: () => this.opts.strategy.current, + placement: () => this.#desiredPlacement(), + middleware: () => this.middleware, + reference: this.root.anchorNode, + open: () => this.opts.enabled.current + }); + watch(() => this.contentRef.current, (contentNode) => { + if (!contentNode) return; + this.contentZIndex = window.getComputedStyle(contentNode).zIndex; + }); + } +} +class FloatingAnchorState { + opts; + root; + ref = box(null); + constructor(opts, root) { + this.opts = opts; + this.root = root; + if (opts.virtualEl && opts.virtualEl.current) { + root.triggerNode = box.from(opts.virtualEl.current); + } else { + useRefById({ + id: opts.id, + ref: this.ref, + onRefChange: (node) => { + root.triggerNode.current = node; + } + }); + } + } +} +const FloatingRootContext = new Context("Floating.Root"); +const FloatingContentContext = new Context("Floating.Content"); +function useFloatingRootState() { + return FloatingRootContext.set(new FloatingRootState()); +} +function useFloatingContentState(props) { + return FloatingContentContext.set(new FloatingContentState(props, FloatingRootContext.get())); +} +function useFloatingAnchorState(props) { + return new FloatingAnchorState(props, FloatingRootContext.get()); +} +function transformOrigin(options) { + return { + name: "transformOrigin", + options, + fn(data) { + const { placement, rects, middlewareData } = data; + const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0; + const isArrowHidden = cannotCenterArrow; + const arrowWidth = isArrowHidden ? 0 : options.arrowWidth; + const arrowHeight = isArrowHidden ? 0 : options.arrowHeight; + const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement); + const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign]; + const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2; + const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2; + let x = ""; + let y = ""; + if (placedSide === "bottom") { + x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`; + y = `${-arrowHeight}px`; + } else if (placedSide === "top") { + x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`; + y = `${rects.floating.height + arrowHeight}px`; + } else if (placedSide === "right") { + x = `${-arrowHeight}px`; + y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`; + } else if (placedSide === "left") { + x = `${rects.floating.width + arrowHeight}px`; + y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`; + } + return { data: { x, y } }; + } + }; +} +function getSideAndAlignFromPlacement(placement) { + const [side, align = "center"] = placement.split("-"); + return [side, align]; +} +function getSideFromPlacement(placement) { + return getSideAndAlignFromPlacement(placement)[0]; +} +function getAlignFromPlacement(placement) { + return getSideAndAlignFromPlacement(placement)[1]; +} +function Floating_layer($$payload, $$props) { + push(); + let { children } = $$props; + useFloatingRootState(); + children?.($$payload); + $$payload.out += ``; + pop(); +} +function boxAutoReset(defaultValue, afterMs = 1e4, onChange = noop$1) { + let timeout = null; + let value = defaultValue; + function resetAfter() { + return window.setTimeout( + () => { + value = defaultValue; + onChange(defaultValue); + }, + afterMs + ); + } + return box.with(() => value, (v) => { + value = v; + onChange(v); + if (timeout) clearTimeout(timeout); + timeout = resetAfter(); + }); +} +function Floating_layer_anchor($$payload, $$props) { + push(); + let { id, children, virtualEl } = $$props; + useFloatingAnchorState({ + id: box.with(() => id), + virtualEl: box.with(() => virtualEl) + }); + children?.($$payload); + $$payload.out += ``; + pop(); +} +function Floating_layer_content($$payload, $$props) { + push(); + let { + content, + side = "bottom", + sideOffset = 0, + align = "center", + alignOffset = 0, + id, + arrowPadding = 0, + avoidCollisions = true, + collisionBoundary = [], + collisionPadding = 0, + hideWhenDetached = false, + onPlaced = () => { + }, + sticky = "partial", + updatePositionStrategy = "optimized", + strategy = "fixed", + dir = "ltr", + style = {}, + wrapperId = useId$1(), + customAnchor = null, + enabled + } = $$props; + const contentState = useFloatingContentState({ + side: box.with(() => side), + sideOffset: box.with(() => sideOffset), + align: box.with(() => align), + alignOffset: box.with(() => alignOffset), + id: box.with(() => id), + arrowPadding: box.with(() => arrowPadding), + avoidCollisions: box.with(() => avoidCollisions), + collisionBoundary: box.with(() => collisionBoundary), + collisionPadding: box.with(() => collisionPadding), + hideWhenDetached: box.with(() => hideWhenDetached), + onPlaced: box.with(() => onPlaced), + sticky: box.with(() => sticky), + updatePositionStrategy: box.with(() => updatePositionStrategy), + strategy: box.with(() => strategy), + dir: box.with(() => dir), + style: box.with(() => style), + enabled: box.with(() => enabled), + wrapperId: box.with(() => wrapperId), + customAnchor: box.with(() => customAnchor) + }); + const mergedProps = mergeProps(contentState.wrapperProps, { style: { pointerEvents: "auto" } }); + content?.($$payload, { + props: contentState.props, + wrapperProps: mergedProps + }); + $$payload.out += ``; + pop(); +} +function Floating_layer_content_static($$payload, $$props) { + push(); + let { content } = $$props; + content?.($$payload, { props: {}, wrapperProps: {} }); + $$payload.out += ``; + pop(); +} +const SEPARATOR_ROOT_ATTR = "data-separator-root"; +class SeparatorRootState { + opts; + constructor(opts) { + this.opts = opts; + useRefById(opts); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: this.opts.decorative.current ? "none" : "separator", + "aria-orientation": getAriaOrientation(this.opts.orientation.current), + "aria-hidden": getAriaHidden(this.opts.decorative.current), + "data-orientation": getDataOrientation(this.opts.orientation.current), + [SEPARATOR_ROOT_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +function useSeparatorRoot(props) { + return new SeparatorRootState(props); +} +function Separator$1($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + child, + children, + decorative = false, + orientation = "horizontal", + $$slots, + $$events, + ...restProps + } = $$props; + const rootState = useSeparatorRoot({ + ref: box.with(() => ref, (v) => ref = v), + id: box.with(() => id), + decorative: box.with(() => decorative), + orientation: box.with(() => orientation) + }); + const mergedProps = mergeProps(restProps, rootState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Popper_content($$payload, $$props) { + let { + content, + isStatic = false, + onPlaced, + $$slots, + $$events, + ...restProps + } = $$props; + if (isStatic) { + $$payload.out += ""; + Floating_layer_content_static($$payload, { content }); + } else { + $$payload.out += ""; + Floating_layer_content($$payload, spread_props([{ content, onPlaced }, restProps])); + } + $$payload.out += ``; +} +function Popper_layer_inner($$payload, $$props) { + push(); + let { + popper, + onEscapeKeydown, + escapeKeydownBehavior, + preventOverflowTextSelection, + id, + onPointerDown, + onPointerUp, + side, + sideOffset, + align, + alignOffset, + arrowPadding, + avoidCollisions, + collisionBoundary, + collisionPadding, + sticky, + hideWhenDetached, + updatePositionStrategy, + strategy, + dir, + preventScroll, + wrapperId, + style, + onPlaced, + onInteractOutside, + onCloseAutoFocus, + onOpenAutoFocus, + onFocusOutside, + interactOutsideBehavior = "close", + loop, + trapFocus = true, + isValidEvent: isValidEvent2 = () => false, + customAnchor = null, + isStatic = false, + enabled, + $$slots, + $$events, + ...restProps + } = $$props; + { + let content = function($$payload2, { props: floatingProps, wrapperProps }) { + if (restProps.forceMount && enabled) { + $$payload2.out += ""; + Scroll_lock($$payload2, { preventScroll }); + } else if (!restProps.forceMount) { + $$payload2.out += ""; + Scroll_lock($$payload2, { preventScroll }); + } else { + $$payload2.out += ""; + } + $$payload2.out += ` `; + { + let focusScope = function($$payload3, { props: focusScopeProps }) { + Escape_layer($$payload3, { + onEscapeKeydown, + escapeKeydownBehavior, + enabled, + children: ($$payload4) => { + { + let children = function($$payload5, { props: dismissibleProps }) { + Text_selection_layer($$payload5, { + id, + preventOverflowTextSelection, + onPointerDown, + onPointerUp, + enabled, + children: ($$payload6) => { + popper?.($$payload6, { + props: mergeProps(restProps, floatingProps, dismissibleProps, focusScopeProps, { style: { pointerEvents: "auto" } }), + wrapperProps + }); + $$payload6.out += ``; + } + }); + }; + Dismissible_layer($$payload4, { + id, + onInteractOutside, + onFocusOutside, + interactOutsideBehavior, + isValidEvent: isValidEvent2, + enabled, + children + }); + } + } + }); + }; + Focus_scope($$payload2, { + id, + onOpenAutoFocus, + onCloseAutoFocus, + loop, + trapFocus: enabled && trapFocus, + forceMount: restProps.forceMount, + focusScope + }); + } + $$payload2.out += ``; + }; + Popper_content($$payload, { + isStatic, + id, + side, + sideOffset, + align, + alignOffset, + arrowPadding, + avoidCollisions, + collisionBoundary, + collisionPadding, + sticky, + hideWhenDetached, + updatePositionStrategy, + strategy, + dir, + wrapperId, + style, + onPlaced, + customAnchor, + enabled, + content, + $$slots: { content: true } + }); + } + pop(); +} +function Popper_layer($$payload, $$props) { + let { + popper, + present, + onEscapeKeydown, + escapeKeydownBehavior, + preventOverflowTextSelection, + id, + onPointerDown, + onPointerUp, + side, + sideOffset, + align, + alignOffset, + arrowPadding, + avoidCollisions, + collisionBoundary, + collisionPadding, + sticky, + hideWhenDetached, + updatePositionStrategy, + strategy, + dir, + preventScroll, + wrapperId, + style, + onPlaced, + onInteractOutside, + onCloseAutoFocus, + onOpenAutoFocus, + onFocusOutside, + interactOutsideBehavior = "close", + loop, + trapFocus = true, + isValidEvent: isValidEvent2 = () => false, + customAnchor = null, + isStatic = false, + $$slots, + $$events, + ...restProps + } = $$props; + { + let presence = function($$payload2) { + Popper_layer_inner($$payload2, spread_props([ + { + popper, + onEscapeKeydown, + escapeKeydownBehavior, + preventOverflowTextSelection, + id, + onPointerDown, + onPointerUp, + side, + sideOffset, + align, + alignOffset, + arrowPadding, + avoidCollisions, + collisionBoundary, + collisionPadding, + sticky, + hideWhenDetached, + updatePositionStrategy, + strategy, + dir, + preventScroll, + wrapperId, + style, + onPlaced, + customAnchor, + isStatic, + enabled: present, + onInteractOutside, + onCloseAutoFocus, + onOpenAutoFocus, + interactOutsideBehavior, + loop, + trapFocus, + isValidEvent: isValidEvent2, + onFocusOutside, + forceMount: false + }, + restProps + ])); + }; + Presence_layer($$payload, spread_props([ + { id, present }, + restProps, + { presence, $$slots: { presence: true } } + ])); + } +} +function Popper_layer_force_mount($$payload, $$props) { + let { + popper, + onEscapeKeydown, + escapeKeydownBehavior, + preventOverflowTextSelection, + id, + onPointerDown, + onPointerUp, + side, + sideOffset, + align, + alignOffset, + arrowPadding, + avoidCollisions, + collisionBoundary, + collisionPadding, + sticky, + hideWhenDetached, + updatePositionStrategy, + strategy, + dir, + preventScroll, + wrapperId, + style, + onPlaced, + onInteractOutside, + onCloseAutoFocus, + onOpenAutoFocus, + onFocusOutside, + interactOutsideBehavior = "close", + loop, + trapFocus = true, + isValidEvent: isValidEvent2 = () => false, + customAnchor = null, + isStatic = false, + enabled, + $$slots, + $$events, + ...restProps + } = $$props; + Popper_layer_inner($$payload, spread_props([ + { + popper, + onEscapeKeydown, + escapeKeydownBehavior, + preventOverflowTextSelection, + id, + onPointerDown, + onPointerUp, + side, + sideOffset, + align, + alignOffset, + arrowPadding, + avoidCollisions, + collisionBoundary, + collisionPadding, + sticky, + hideWhenDetached, + updatePositionStrategy, + strategy, + dir, + preventScroll, + wrapperId, + style, + onPlaced, + customAnchor, + isStatic, + enabled, + onInteractOutside, + onCloseAutoFocus, + onOpenAutoFocus, + interactOutsideBehavior, + loop, + trapFocus, + isValidEvent: isValidEvent2, + onFocusOutside + }, + restProps, + { forceMount: true } + ])); +} +function Mounted$1($$payload, $$props) { + push(); + let { mounted = false, onMountedChange = noop$1 } = $$props; + bind_props($$props, { mounted }); + pop(); +} +function findNextSibling(el, selector) { + let sibling = el.nextElementSibling; + while (sibling) { + if (sibling.matches(selector)) + return sibling; + sibling = sibling.nextElementSibling; + } +} +function findPreviousSibling(el, selector) { + let sibling = el.previousElementSibling; + while (sibling) { + if (sibling.matches(selector)) + return sibling; + sibling = sibling.previousElementSibling; + } +} +const COMMAND_ROOT_ATTR = "data-command-root"; +const COMMAND_EMPTY_ATTR = "data-command-empty"; +const COMMAND_GROUP_ATTR = "data-command-group"; +const COMMAND_GROUP_ITEMS_ATTR = "data-command-group-items"; +const COMMAND_GROUP_HEADING_ATTR = "data-command-group-heading"; +const COMMAND_ITEM_ATTR = "data-command-item"; +const COMMAND_INPUT_LABEL_ATTR = "data-command-input-label"; +const COMMAND_VALUE_ATTR = "data-value"; +const COMMAND_GROUP_SELECTOR = `[${COMMAND_GROUP_ATTR}]`; +const COMMAND_GROUP_ITEMS_SELECTOR = `[${COMMAND_GROUP_ITEMS_ATTR}]`; +const COMMAND_GROUP_HEADING_SELECTOR = `[${COMMAND_GROUP_HEADING_ATTR}]`; +const COMMAND_ITEM_SELECTOR = `[${COMMAND_ITEM_ATTR}]`; +const COMMAND_VALID_ITEM_SELECTOR = `${COMMAND_ITEM_SELECTOR}:not([aria-disabled="true"])`; +const CommandRootContext = new Context("Command.Root"); +const CommandGroupContainerContext = new Context("Command.Group"); +const defaultState = { + /** Value of the search query */ + search: "", + /** Currently selected item value */ + value: "", + filtered: { + /** The count of all visible items. */ + count: 0, + /** Map from visible item id to its search store. */ + items: /* @__PURE__ */ new Map(), + /** Set of groups with at least one visible item. */ + groups: /* @__PURE__ */ new Set() + } +}; +class CommandRootState { + opts; + #updateScheduled = false; + sortAfterTick = false; + sortAndFilterAfterTick = false; + allItems = /* @__PURE__ */ new Set(); + allGroups = /* @__PURE__ */ new Map(); + allIds = /* @__PURE__ */ new Map(); + // attempt to prevent the harsh delay when user is typing fast + key = 0; + viewportNode = null; + inputNode = null; + labelNode = null; + // published state that the components and other things can react to + commandState = defaultState; + // internal state that we mutate in batches and publish to the `state` at once + _commandState = defaultState; + #snapshot() { + return snapshot(this._commandState); + } + #scheduleUpdate() { + if (this.#updateScheduled) return; + this.#updateScheduled = true; + afterTick(() => { + this.#updateScheduled = false; + const currentState = this.#snapshot(); + const hasStateChanged = !Object.is(this.commandState, currentState); + if (hasStateChanged) { + this.commandState = currentState; + this.opts.onStateChange?.current?.(currentState); + } + }); + } + setState(key, value, opts) { + if (Object.is(this._commandState[key], value)) return; + this._commandState[key] = value; + if (key === "search") { + this.#filterItems(); + this.#sort(); + } else if (key === "value") { + if (!opts) { + this.#scrollSelectedIntoView(); + } + } + this.#scheduleUpdate(); + } + constructor(opts) { + this.opts = opts; + const defaults = { + ...this._commandState, + value: this.opts.value.current ?? "" + }; + this._commandState = defaults; + this.commandState = defaults; + useRefById(opts); + this.onkeydown = this.onkeydown.bind(this); + } + /** + * Calculates score for an item based on search text and keywords. + * Higher score = better match. + * + * @param value - Item's display text + * @param keywords - Optional keywords to boost scoring + * @returns Score from 0-1, where 0 = no match + */ + #score(value, keywords) { + const filter = this.opts.filter.current ?? computeCommandScore; + const score = value ? filter(value, this._commandState.search, keywords) : 0; + return score; + } + /** + * Sorts items and groups based on search scores. + * Groups are sorted by their highest scoring item. + * When no search active, selects first item. + */ + #sort() { + if (!this._commandState.search || this.opts.shouldFilter.current === false) { + this.#selectFirstItem(); + return; + } + const scores = this._commandState.filtered.items; + const groups = []; + for (const value of this._commandState.filtered.groups) { + const items = this.allGroups.get(value); + let max = 0; + if (!items) { + groups.push([value, max]); + continue; + } + for (const item of items) { + const score = scores.get(item); + max = Math.max(score ?? 0, max); + } + groups.push([value, max]); + } + const listInsertionElement = this.viewportNode; + const sorted = this.getValidItems().sort((a, b) => { + const valueA = a.getAttribute("data-value"); + const valueB = b.getAttribute("data-value"); + const scoresA = scores.get(valueA) ?? 0; + const scoresB = scores.get(valueB) ?? 0; + return scoresB - scoresA; + }); + for (const item of sorted) { + const group = item.closest(COMMAND_GROUP_ITEMS_SELECTOR); + if (group) { + const itemToAppend = item.parentElement === group ? item : item.closest(`${COMMAND_GROUP_ITEMS_SELECTOR} > *`); + if (itemToAppend) { + group.appendChild(itemToAppend); + } + } else { + const itemToAppend = item.parentElement === listInsertionElement ? item : item.closest(`${COMMAND_GROUP_ITEMS_SELECTOR} > *`); + if (itemToAppend) { + listInsertionElement?.appendChild(itemToAppend); + } + } + } + const sortedGroups = groups.sort((a, b) => b[1] - a[1]); + for (const group of sortedGroups) { + const element2 = listInsertionElement?.querySelector(`${COMMAND_GROUP_SELECTOR}[${COMMAND_VALUE_ATTR}="${cssesc(group[0])}"]`); + element2?.parentElement?.appendChild(element2); + } + this.#selectFirstItem(); + } + /** + * Sets current value and triggers re-render if cleared. + * + * @param value - New value to set + */ + setValue(value, opts) { + if (value !== this.opts.value.current && value === "") { + afterTick(() => { + this.key++; + }); + } + this.setState("value", value, opts); + this.opts.value.current = value; + } + /** + * Selects first non-disabled item on next tick. + */ + #selectFirstItem() { + afterTick(() => { + const item = this.getValidItems().find((item2) => item2.getAttribute("aria-disabled") !== "true"); + const value = item?.getAttribute(COMMAND_VALUE_ATTR); + this.setValue(value || ""); + }); + } + /** + * Updates filtered items/groups based on search. + * Recalculates scores and filtered count. + */ + #filterItems() { + if (!this._commandState.search || this.opts.shouldFilter.current === false) { + this._commandState.filtered.count = this.allItems.size; + return; + } + this._commandState.filtered.groups = /* @__PURE__ */ new Set(); + let itemCount = 0; + for (const id of this.allItems) { + const value = this.allIds.get(id)?.value ?? ""; + const keywords = this.allIds.get(id)?.keywords ?? []; + const rank = this.#score(value, keywords); + this._commandState.filtered.items.set(id, rank); + if (rank > 0) itemCount++; + } + for (const [groupId, group] of this.allGroups) { + for (const itemId of group) { + const currItem = this._commandState.filtered.items.get(itemId); + if (currItem && currItem > 0) { + this._commandState.filtered.groups.add(groupId); + break; + } + } + } + this._commandState.filtered.count = itemCount; + } + /** + * Gets all non-disabled, visible command items. + * + * @returns Array of valid item elements + * @remarks Exposed for direct item access and bound checking + */ + getValidItems() { + const node = this.opts.ref.current; + if (!node) return []; + const validItems = Array.from(node.querySelectorAll(COMMAND_VALID_ITEM_SELECTOR)).filter((el) => !!el); + return validItems; + } + /** + * Gets currently selected command item. + * + * @returns Selected element or undefined + */ + #getSelectedItem() { + const node = this.opts.ref.current; + if (!node) return; + const selectedNode = node.querySelector(`${COMMAND_VALID_ITEM_SELECTOR}[data-selected]`); + if (!selectedNode) return; + return selectedNode; + } + /** + * Scrolls selected item into view. + * Special handling for first items in groups. + */ + #scrollSelectedIntoView() { + afterTick(() => { + const item = this.#getSelectedItem(); + if (!item) return; + const grandparent = item.parentElement?.parentElement; + if (!grandparent) return; + const firstChildOfParent = getFirstNonCommentChild(grandparent); + if (firstChildOfParent && firstChildOfParent.dataset?.value === item.dataset?.value) { + const closestGroupHeader = item?.closest(COMMAND_GROUP_SELECTOR)?.querySelector(COMMAND_GROUP_HEADING_SELECTOR); + closestGroupHeader?.scrollIntoView({ block: "nearest" }); + return; + } + item.scrollIntoView({ block: "nearest" }); + }); + } + /** + * Sets selection to item at specified index in valid items array. + * If index is out of bounds, does nothing. + * + * @param index - Zero-based index of item to select + * @remarks + * Uses `getValidItems()` to get selectable items, filtering out disabled/hidden ones. + * Access valid items directly via `getValidItems()` to check bounds before calling. + * + * @example + * // get valid items length for bounds check + * const items = getValidItems() + * if (index < items.length) { + * updateSelectedToIndex(index) + * } + */ + updateSelectedToIndex(index) { + const items = this.getValidItems(); + const item = items[index]; + if (item) { + this.setValue(item.getAttribute(COMMAND_VALUE_ATTR) ?? ""); + } + } + /** + * Updates selected item by moving up/down relative to current selection. + * Handles wrapping when loop option is enabled. + * + * @param change - Direction to move: 1 for next item, -1 for previous item + * @remarks + * The loop behavior wraps: + * - From last item to first when moving next + * - From first item to last when moving previous + * + * Uses `getValidItems()` to get all selectable items, which filters out disabled/hidden items. + * You can call `getValidItems()` directly to get the current valid items array. + * + * @example + * // select next item + * updateSelectedByItem(1) + * + * // get all valid items + * const items = getValidItems() + */ + updateSelectedByItem(change) { + const selected = this.#getSelectedItem(); + const items = this.getValidItems(); + const index = items.findIndex((item) => item === selected); + let newSelected = items[index + change]; + if (this.opts.loop.current) { + newSelected = index + change < 0 ? items[items.length - 1] : index + change === items.length ? items[0] : items[index + change]; + } + if (newSelected) { + this.setValue(newSelected.getAttribute(COMMAND_VALUE_ATTR) ?? ""); + } + } + /** + * Moves selection to the first valid item in the next/previous group. + * If no group is found, falls back to selecting the next/previous item globally. + * + * @param change - Direction to move: 1 for next group, -1 for previous group + * @example + * // move to first item in next group + * updateSelectedByGroup(1) + * + * // move to first item in previous group + * updateSelectedByGroup(-1) + */ + updateSelectedByGroup(change) { + const selected = this.#getSelectedItem(); + let group = selected?.closest(COMMAND_GROUP_SELECTOR); + let item; + while (group && !item) { + group = change > 0 ? findNextSibling(group, COMMAND_GROUP_SELECTOR) : findPreviousSibling(group, COMMAND_GROUP_SELECTOR); + item = group?.querySelector(COMMAND_VALID_ITEM_SELECTOR); + } + if (item) { + this.setValue(item.getAttribute(COMMAND_VALUE_ATTR) ?? ""); + } else { + this.updateSelectedByItem(change); + } + } + /** + * Maps item id to display value and search keywords. + * Returns cleanup function to remove mapping. + * + * @param id - Unique item identifier + * @param value - Display text + * @param keywords - Optional search boost terms + * @returns Cleanup function + */ + registerValue(value, keywords) { + if (!(value && value === this.allIds.get(value)?.value)) { + this.allIds.set(value, { value, keywords }); + } + this._commandState.filtered.items.set(value, this.#score(value, keywords)); + if (!this.sortAfterTick) { + this.sortAfterTick = true; + afterTick(() => { + this.#sort(); + this.sortAfterTick = false; + }); + } + return () => { + this.allIds.delete(value); + }; + } + /** + * Registers item in command list and its group. + * Handles filtering, sorting and selection updates. + * + * @param id - Item identifier + * @param groupId - Optional group to add item to + * @returns Cleanup function that handles selection + */ + registerItem(id, groupId) { + this.allItems.add(id); + if (groupId) { + if (!this.allGroups.has(groupId)) { + this.allGroups.set(groupId, /* @__PURE__ */ new Set([id])); + } else { + this.allGroups.get(groupId).add(id); + } + } + if (!this.sortAndFilterAfterTick) { + this.sortAndFilterAfterTick = true; + afterTick(() => { + this.#filterItems(); + this.#sort(); + this.sortAndFilterAfterTick = false; + }); + } + this.#scheduleUpdate(); + return () => { + const selectedItem = this.#getSelectedItem(); + this.allIds.delete(id); + this.allItems.delete(id); + this.commandState.filtered.items.delete(id); + this.#filterItems(); + if (selectedItem?.getAttribute("id") === id) { + this.#selectFirstItem(); + } + this.#scheduleUpdate(); + }; + } + /** + * Creates empty group if not exists. + * + * @param id - Group identifier + * @returns Cleanup function + */ + registerGroup(id) { + if (!this.allGroups.has(id)) { + this.allGroups.set(id, /* @__PURE__ */ new Set()); + } + return () => { + this.allIds.delete(id); + this.allGroups.delete(id); + }; + } + /** + * Selects last valid item. + */ + #last() { + return this.updateSelectedToIndex(this.getValidItems().length - 1); + } + /** + * Handles next item selection: + * - Meta: Jump to last + * - Alt: Next group + * - Default: Next item + * + * @param e - Keyboard event + */ + #next(e) { + e.preventDefault(); + if (e.metaKey) { + this.#last(); + } else if (e.altKey) { + this.updateSelectedByGroup(1); + } else { + this.updateSelectedByItem(1); + } + } + /** + * Handles previous item selection: + * - Meta: Jump to first + * - Alt: Previous group + * - Default: Previous item + * + * @param e - Keyboard event + */ + #prev(e) { + e.preventDefault(); + if (e.metaKey) { + this.updateSelectedToIndex(0); + } else if (e.altKey) { + this.updateSelectedByGroup(-1); + } else { + this.updateSelectedByItem(-1); + } + } + onkeydown(e) { + switch (e.key) { + case n: + case j: { + if (this.opts.vimBindings.current && e.ctrlKey) { + this.#next(e); + } + break; + } + case ARROW_DOWN: + this.#next(e); + break; + case p: + case k: { + if (this.opts.vimBindings.current && e.ctrlKey) { + this.#prev(e); + } + break; + } + case ARROW_UP: + this.#prev(e); + break; + case HOME: + e.preventDefault(); + this.updateSelectedToIndex(0); + break; + case END: + e.preventDefault(); + this.#last(); + break; + case ENTER: { + if (!e.isComposing && e.keyCode !== 229) { + e.preventDefault(); + const item = this.#getSelectedItem(); + if (item) { + item?.click(); + } + } + } + } + } + #props = derived(() => ({ + id: this.opts.id.current, + role: "application", + [COMMAND_ROOT_ATTR]: "", + tabindex: -1, + onkeydown: this.onkeydown + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class CommandEmptyState { + opts; + root; + #isInitialRender = true; + #shouldRender = derived(() => { + return this.root._commandState.filtered.count === 0 && this.#isInitialRender === false || this.opts.forceMount.current; + }); + get shouldRender() { + return this.#shouldRender(); + } + set shouldRender($$value) { + return this.#shouldRender($$value); + } + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ ...opts, deps: () => this.shouldRender }); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: "presentation", + [COMMAND_EMPTY_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class CommandGroupContainerState { + opts; + root; + headingNode = null; + trueValue = ""; + #shouldRender = derived(() => { + if (this.opts.forceMount.current) return true; + if (this.root.opts.shouldFilter.current === false) return true; + if (!this.root.commandState.search) return true; + return this.root._commandState.filtered.groups.has(this.trueValue); + }); + get shouldRender() { + return this.#shouldRender(); + } + set shouldRender($$value) { + return this.#shouldRender($$value); + } + constructor(opts, root) { + this.opts = opts; + this.root = root; + this.trueValue = opts.value.current ?? opts.id.current; + useRefById({ ...opts, deps: () => this.shouldRender }); + watch(() => this.trueValue, () => { + return this.root.registerGroup(this.trueValue); + }); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: "presentation", + hidden: this.shouldRender ? void 0 : true, + "data-value": this.trueValue, + [COMMAND_GROUP_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class CommandGroupHeadingState { + opts; + group; + constructor(opts, group) { + this.opts = opts; + this.group = group; + useRefById({ + ...opts, + onRefChange: (node) => { + this.group.headingNode = node; + } + }); + } + #props = derived(() => ({ + id: this.opts.id.current, + [COMMAND_GROUP_HEADING_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class CommandGroupItemsState { + opts; + group; + constructor(opts, group) { + this.opts = opts; + this.group = group; + useRefById(opts); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: "group", + [COMMAND_GROUP_ITEMS_ATTR]: "", + "aria-labelledby": this.group.headingNode?.id ?? void 0 + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class CommandItemState { + opts; + root; + #group = null; + #trueForceMount = derived(() => { + return this.opts.forceMount.current || this.#group?.opts.forceMount.current === true; + }); + trueValue = ""; + #shouldRender = derived(() => { + this.opts.ref.current; + if (this.#trueForceMount() || this.root.opts.shouldFilter.current === false || !this.root.commandState.search) { + return true; + } + const currentScore = this.root.commandState.filtered.items.get(this.trueValue); + if (currentScore === void 0) return false; + return currentScore > 0; + }); + get shouldRender() { + return this.#shouldRender(); + } + set shouldRender($$value) { + return this.#shouldRender($$value); + } + #isSelected = derived(() => this.root.opts.value.current === this.trueValue && this.trueValue !== ""); + get isSelected() { + return this.#isSelected(); + } + set isSelected($$value) { + return this.#isSelected($$value); + } + constructor(opts, root) { + this.opts = opts; + this.root = root; + this.#group = CommandGroupContainerContext.getOr(null); + this.trueValue = opts.value.current; + useRefById({ + ...opts, + deps: () => Boolean(this.root.commandState.search) + }); + watch( + [ + () => this.trueValue, + () => this.#group?.trueValue, + () => this.opts.forceMount.current + ], + () => { + if (this.opts.forceMount.current) return; + return this.root.registerItem(this.trueValue, this.#group?.trueValue); + } + ); + watch( + [ + () => this.opts.value.current, + () => this.opts.ref.current + ], + () => { + if (!this.opts.value.current && this.opts.ref.current?.textContent) { + this.trueValue = this.opts.ref.current.textContent.trim(); + } + this.root.registerValue(this.trueValue, opts.keywords.current.map((kw) => kw.trim())); + this.opts.ref.current?.setAttribute(COMMAND_VALUE_ATTR, this.trueValue); + } + ); + this.onclick = this.onclick.bind(this); + this.onpointermove = this.onpointermove.bind(this); + } + #onSelect() { + if (this.opts.disabled.current) return; + this.#select(); + this.opts.onSelect?.current(); + } + #select() { + if (this.opts.disabled.current) return; + this.root.setValue(this.trueValue, true); + } + onpointermove(_) { + if (this.opts.disabled.current || this.root.opts.disablePointerSelection.current) return; + this.#select(); + } + onclick(_) { + if (this.opts.disabled.current) return; + this.#onSelect(); + } + #props = derived(() => ({ + id: this.opts.id.current, + "aria-disabled": getAriaDisabled(this.opts.disabled.current), + "aria-selected": getAriaSelected(this.isSelected), + "data-disabled": getDataDisabled(this.opts.disabled.current), + "data-selected": getDataSelected(this.isSelected), + "data-value": this.trueValue, + [COMMAND_ITEM_ATTR]: "", + role: "option", + onpointermove: this.onpointermove, + onclick: this.onclick + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class CommandLabelState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + onRefChange: (node) => { + this.root.labelNode = node; + } + }); + } + #props = derived(() => ({ + id: this.opts.id.current, + [COMMAND_INPUT_LABEL_ATTR]: "", + for: this.opts.for?.current, + style: srOnlyStyles + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +function useCommandRoot(props) { + return CommandRootContext.set(new CommandRootState(props)); +} +function useCommandEmpty(props) { + return new CommandEmptyState(props, CommandRootContext.get()); +} +function useCommandItem(props) { + const group = CommandGroupContainerContext.getOr(null); + return new CommandItemState({ ...props, group }, CommandRootContext.get()); +} +function useCommandGroupContainer(props) { + return CommandGroupContainerContext.set(new CommandGroupContainerState(props, CommandRootContext.get())); +} +function useCommandGroupHeading(props) { + return new CommandGroupHeadingState(props, CommandGroupContainerContext.get()); +} +function useCommandGroupItems(props) { + return new CommandGroupItemsState(props, CommandGroupContainerContext.get()); +} +function useCommandLabel(props) { + return new CommandLabelState(props, CommandRootContext.get()); +} +function _command_label($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + children, + $$slots, + $$events, + ...restProps + } = $$props; + const labelState = useCommandLabel({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, labelState.props); + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Command$1($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + value = "", + onValueChange = noop$1, + onStateChange = noop$1, + loop = false, + shouldFilter = true, + filter = computeCommandScore, + label = "", + vimBindings = true, + disablePointerSelection = false, + children, + child, + $$slots, + $$events, + ...restProps + } = $$props; + const rootState = useCommandRoot({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + filter: box.with(() => filter), + shouldFilter: box.with(() => shouldFilter), + loop: box.with(() => loop), + value: box.with(() => value, (v) => { + if (value !== v) { + value = v; + onValueChange(v); + } + }), + vimBindings: box.with(() => vimBindings), + disablePointerSelection: box.with(() => disablePointerSelection), + onStateChange: box.with(() => onStateChange) + }); + const updateSelectedToIndex = (i) => rootState.updateSelectedToIndex(i); + const updateSelectedByGroup = (c) => rootState.updateSelectedByGroup(c); + const updateSelectedByItem = (c) => rootState.updateSelectedByItem(c); + const getValidItems = () => rootState.getValidItems(); + const mergedProps = mergeProps(restProps, rootState.props); + function Label2($$payload2) { + _command_label($$payload2, { + children: ($$payload3) => { + $$payload3.out += `${escape_html(label)}`; + }, + $$slots: { default: true } + }); + } + if (child) { + $$payload.out += ""; + Label2($$payload); + $$payload.out += ` `; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + Label2($$payload); + $$payload.out += ` `; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { + ref, + value, + updateSelectedToIndex, + updateSelectedByGroup, + updateSelectedByItem, + getValidItems + }); + pop(); +} +function Command_empty$1($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + children, + child, + forceMount = false, + $$slots, + $$events, + ...restProps + } = $$props; + const emptyState = useCommandEmpty({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + forceMount: box.with(() => forceMount) + }); + const mergedProps = mergeProps(emptyState.props, restProps); + if (emptyState.shouldRender) { + $$payload.out += ""; + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Command_group$1($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + value = "", + forceMount = false, + children, + child, + $$slots, + $$events, + ...restProps + } = $$props; + const groupState = useCommandGroupContainer({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + forceMount: box.with(() => forceMount), + value: box.with(() => value) + }); + const mergedProps = mergeProps(restProps, groupState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Command_group_heading($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + children, + child, + $$slots, + $$events, + ...restProps + } = $$props; + const headingState = useCommandGroupHeading({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, headingState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Command_group_items($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + children, + child, + $$slots, + $$events, + ...restProps + } = $$props; + const groupItemsState = useCommandGroupItems({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, groupItemsState.props); + $$payload.out += `
    `; + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += `
    `; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Command_item$1($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + value = "", + disabled = false, + children, + child, + onSelect = noop$1, + forceMount = false, + keywords = [], + $$slots, + $$events, + ...restProps + } = $$props; + const itemState = useCommandItem({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + value: box.with(() => value), + disabled: box.with(() => disabled), + onSelect: box.with(() => onSelect), + forceMount: box.with(() => forceMount), + keywords: box.with(() => keywords) + }); + const mergedProps = mergeProps(restProps, itemState.props); + $$payload.out += ``; + { + $$payload.out += `
    `; + if (itemState.shouldRender) { + $$payload.out += ""; + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += `
    `; + } + $$payload.out += ``; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +const SCORE_CONTINUE_MATCH = 1; +const SCORE_SPACE_WORD_JUMP = 0.9; +const SCORE_NON_SPACE_WORD_JUMP = 0.8; +const SCORE_CHARACTER_JUMP = 0.17; +const SCORE_TRANSPOSITION = 0.1; +const PENALTY_SKIPPED = 0.999; +const PENALTY_CASE_MISMATCH = 0.9999; +const PENALTY_NOT_COMPLETE = 0.99; +const IS_GAP_REGEXP = /[\\/_+.#"@[({&]/; +const COUNT_GAPS_REGEXP = /[\\/_+.#"@[({&]/g; +const IS_SPACE_REGEXP = /[\s-]/; +const COUNT_SPACE_REGEXP = /[\s-]/g; +function computeCommandScoreInner(string, abbreviation, lowerString, lowerAbbreviation, stringIndex, abbreviationIndex, memoizedResults) { + if (abbreviationIndex === abbreviation.length) { + if (stringIndex === string.length) + return SCORE_CONTINUE_MATCH; + return PENALTY_NOT_COMPLETE; + } + const memoizeKey = `${stringIndex},${abbreviationIndex}`; + if (memoizedResults[memoizeKey] !== void 0) + return memoizedResults[memoizeKey]; + const abbreviationChar = lowerAbbreviation.charAt(abbreviationIndex); + let index = lowerString.indexOf(abbreviationChar, stringIndex); + let highScore = 0; + let score, transposedScore, wordBreaks, spaceBreaks; + while (index >= 0) { + score = computeCommandScoreInner(string, abbreviation, lowerString, lowerAbbreviation, index + 1, abbreviationIndex + 1, memoizedResults); + if (score > highScore) { + if (index === stringIndex) { + score *= SCORE_CONTINUE_MATCH; + } else if (IS_GAP_REGEXP.test(string.charAt(index - 1))) { + score *= SCORE_NON_SPACE_WORD_JUMP; + wordBreaks = string.slice(stringIndex, index - 1).match(COUNT_GAPS_REGEXP); + if (wordBreaks && stringIndex > 0) { + score *= PENALTY_SKIPPED ** wordBreaks.length; + } + } else if (IS_SPACE_REGEXP.test(string.charAt(index - 1))) { + score *= SCORE_SPACE_WORD_JUMP; + spaceBreaks = string.slice(stringIndex, index - 1).match(COUNT_SPACE_REGEXP); + if (spaceBreaks && stringIndex > 0) { + score *= PENALTY_SKIPPED ** spaceBreaks.length; + } + } else { + score *= SCORE_CHARACTER_JUMP; + if (stringIndex > 0) { + score *= PENALTY_SKIPPED ** (index - stringIndex); + } + } + if (string.charAt(index) !== abbreviation.charAt(abbreviationIndex)) { + score *= PENALTY_CASE_MISMATCH; + } + } + if (score < SCORE_TRANSPOSITION && lowerString.charAt(index - 1) === lowerAbbreviation.charAt(abbreviationIndex + 1) || lowerAbbreviation.charAt(abbreviationIndex + 1) === lowerAbbreviation.charAt(abbreviationIndex) && lowerString.charAt(index - 1) !== lowerAbbreviation.charAt(abbreviationIndex)) { + transposedScore = computeCommandScoreInner(string, abbreviation, lowerString, lowerAbbreviation, index + 1, abbreviationIndex + 2, memoizedResults); + if (transposedScore * SCORE_TRANSPOSITION > score) { + score = transposedScore * SCORE_TRANSPOSITION; + } + } + if (score > highScore) { + highScore = score; + } + index = lowerString.indexOf(abbreviationChar, index + 1); + } + memoizedResults[memoizeKey] = highScore; + return highScore; +} +function formatInput(string) { + return string.toLowerCase().replace(COUNT_SPACE_REGEXP, " "); +} +function computeCommandScore(command, search, commandKeywords) { + command = commandKeywords && commandKeywords.length > 0 ? `${`${command} ${commandKeywords?.join(" ")}`}` : command; + return computeCommandScoreInner(command, search, formatInput(command), formatInput(search), 0, 0, {}); +} +function useGraceArea(opts) { + const enabled = opts.enabled(); + const isPointerInTransit = boxAutoReset(false, opts.transitTimeout ?? 300, (value) => { + if (enabled) { + opts.setIsPointerInTransit?.(value); + } + }); + let pointerGraceArea = null; + function handleRemoveGraceArea() { + pointerGraceArea = null; + isPointerInTransit.current = false; + } + function handleCreateGraceArea(e, hoverTarget) { + const currentTarget = e.currentTarget; + if (!isHTMLElement(currentTarget)) return; + const exitPoint = { x: e.clientX, y: e.clientY }; + const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect()); + const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide); + const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect()); + const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]); + pointerGraceArea = graceArea; + isPointerInTransit.current = true; + } + watch( + [ + opts.triggerNode, + opts.contentNode, + opts.enabled + ], + ([triggerNode, contentNode, enabled2]) => { + if (!triggerNode || !contentNode || !enabled2) return; + const handleTriggerLeave = (e) => { + handleCreateGraceArea(e, contentNode); + }; + const handleContentLeave = (e) => { + handleCreateGraceArea(e, triggerNode); + }; + return executeCallbacks(on(triggerNode, "pointerleave", handleTriggerLeave), on(contentNode, "pointerleave", handleContentLeave)); + } + ); + watch(() => pointerGraceArea, () => { + const handleTrackPointerGrace = (e) => { + if (!pointerGraceArea) return; + const target = e.target; + if (!isElement(target)) return; + const pointerPosition = { x: e.clientX, y: e.clientY }; + const hasEnteredTarget = opts.triggerNode()?.contains(target) || opts.contentNode()?.contains(target); + const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea); + if (hasEnteredTarget) { + handleRemoveGraceArea(); + } else if (isPointerOutsideGraceArea) { + handleRemoveGraceArea(); + opts.onPointerExit(); + } + }; + return on(document, "pointermove", handleTrackPointerGrace); + }); + return { isPointerInTransit }; +} +function getExitSideFromRect(point, rect) { + const top = Math.abs(rect.top - point.y); + const bottom = Math.abs(rect.bottom - point.y); + const right = Math.abs(rect.right - point.x); + const left = Math.abs(rect.left - point.x); + switch (Math.min(top, bottom, right, left)) { + case left: + return "left"; + case right: + return "right"; + case top: + return "top"; + case bottom: + return "bottom"; + default: + throw new Error("unreachable"); + } +} +function getPaddedExitPoints(exitPoint, exitSide, padding = 5) { + const tipPadding = padding * 1.5; + switch (exitSide) { + case "top": + return [ + { + x: exitPoint.x - padding, + y: exitPoint.y + padding + }, + { x: exitPoint.x, y: exitPoint.y - tipPadding }, + { + x: exitPoint.x + padding, + y: exitPoint.y + padding + } + ]; + case "bottom": + return [ + { + x: exitPoint.x - padding, + y: exitPoint.y - padding + }, + { x: exitPoint.x, y: exitPoint.y + tipPadding }, + { + x: exitPoint.x + padding, + y: exitPoint.y - padding + } + ]; + case "left": + return [ + { + x: exitPoint.x + padding, + y: exitPoint.y - padding + }, + { x: exitPoint.x - tipPadding, y: exitPoint.y }, + { + x: exitPoint.x + padding, + y: exitPoint.y + padding + } + ]; + case "right": + return [ + { + x: exitPoint.x - padding, + y: exitPoint.y - padding + }, + { x: exitPoint.x + tipPadding, y: exitPoint.y }, + { + x: exitPoint.x - padding, + y: exitPoint.y + padding + } + ]; + } +} +function getPointsFromRect(rect) { + const { top, right, bottom, left } = rect; + return [ + { x: left, y: top }, + { x: right, y: top }, + { x: right, y: bottom }, + { x: left, y: bottom } + ]; +} +function isPointInPolygon(point, polygon) { + const { x, y } = point; + let inside = false; + for (let i = 0, j2 = polygon.length - 1; i < polygon.length; j2 = i++) { + const xi = polygon[i].x; + const yi = polygon[i].y; + const xj = polygon[j2].x; + const yj = polygon[j2].y; + const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi; + if (intersect) inside = !inside; + } + return inside; +} +function getHull(points) { + const newPoints = points.slice(); + newPoints.sort((a, b) => { + if (a.x < b.x) return -1; + else if (a.x > b.x) return 1; + else if (a.y < b.y) return -1; + else if (a.y > b.y) return 1; + else return 0; + }); + return getHullPresorted(newPoints); +} +function getHullPresorted(points) { + if (points.length <= 1) return points.slice(); + const upperHull = []; + for (let i = 0; i < points.length; i++) { + const p2 = points[i]; + while (upperHull.length >= 2) { + const q = upperHull[upperHull.length - 1]; + const r = upperHull[upperHull.length - 2]; + if ((q.x - r.x) * (p2.y - r.y) >= (q.y - r.y) * (p2.x - r.x)) upperHull.pop(); + else break; + } + upperHull.push(p2); + } + upperHull.pop(); + const lowerHull = []; + for (let i = points.length - 1; i >= 0; i--) { + const p2 = points[i]; + while (lowerHull.length >= 2) { + const q = lowerHull[lowerHull.length - 1]; + const r = lowerHull[lowerHull.length - 2]; + if ((q.x - r.x) * (p2.y - r.y) >= (q.y - r.y) * (p2.x - r.x)) lowerHull.pop(); + else break; + } + lowerHull.push(p2); + } + lowerHull.pop(); + if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) return upperHull; + else return upperHull.concat(lowerHull); +} +class PopoverRootState { + opts; + contentNode = null; + triggerNode = null; + constructor(opts) { + this.opts = opts; + } + toggleOpen() { + this.opts.open.current = !this.opts.open.current; + } + handleClose() { + if (!this.opts.open.current) return; + this.opts.open.current = false; + } +} +class PopoverTriggerState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + onRefChange: (node) => { + this.root.triggerNode = node; + } + }); + this.onclick = this.onclick.bind(this); + this.onkeydown = this.onkeydown.bind(this); + } + onclick(e) { + if (this.opts.disabled.current) return; + if (e.button !== 0) return; + this.root.toggleOpen(); + } + onkeydown(e) { + if (this.opts.disabled.current) return; + if (!(e.key === ENTER || e.key === SPACE)) return; + e.preventDefault(); + this.root.toggleOpen(); + } + #getAriaControls() { + if (this.root.opts.open.current && this.root.contentNode?.id) { + return this.root.contentNode?.id; + } + return void 0; + } + #props = derived(() => ({ + id: this.opts.id.current, + "aria-haspopup": "dialog", + "aria-expanded": getAriaExpanded(this.root.opts.open.current), + "data-state": getDataOpenClosed(this.root.opts.open.current), + "aria-controls": this.#getAriaControls(), + "data-popover-trigger": "", + disabled: this.opts.disabled.current, + // + onkeydown: this.onkeydown, + onclick: this.onclick + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class PopoverContentState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + deps: () => this.root.opts.open.current, + onRefChange: (node) => { + this.root.contentNode = node; + } + }); + } + onInteractOutside = (e) => { + this.opts.onInteractOutside.current(e); + if (e.defaultPrevented) return; + if (!isElement(e.target)) return; + const closestTrigger = e.target.closest(`[data-popover-trigger]`); + if (closestTrigger === this.root.triggerNode) return; + this.root.handleClose(); + }; + onEscapeKeydown = (e) => { + this.opts.onEscapeKeydown.current(e); + if (e.defaultPrevented) return; + this.root.handleClose(); + }; + onCloseAutoFocus = (e) => { + this.opts.onCloseAutoFocus.current(e); + if (e.defaultPrevented) return; + e.preventDefault(); + this.root.triggerNode?.focus(); + }; + #snippetProps = derived(() => ({ open: this.root.opts.open.current })); + get snippetProps() { + return this.#snippetProps(); + } + set snippetProps($$value) { + return this.#snippetProps($$value); + } + #props = derived(() => ({ + id: this.opts.id.current, + tabindex: -1, + "data-state": getDataOpenClosed(this.root.opts.open.current), + "data-popover-content": "", + style: { pointerEvents: "auto" } + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } + popperProps = { + onInteractOutside: this.onInteractOutside, + onEscapeKeydown: this.onEscapeKeydown, + onCloseAutoFocus: this.onCloseAutoFocus + }; +} +const PopoverRootContext = new Context("Popover.Root"); +function usePopoverRoot(props) { + return PopoverRootContext.set(new PopoverRootState(props)); +} +function usePopoverTrigger(props) { + return new PopoverTriggerState(props, PopoverRootContext.get()); +} +function usePopoverContent(props) { + return new PopoverContentState(props, PopoverRootContext.get()); +} +function Popover_content$1($$payload, $$props) { + push(); + let { + child, + children, + ref = null, + id = useId$1(), + forceMount = false, + onCloseAutoFocus = noop$1, + onEscapeKeydown = noop$1, + onInteractOutside = noop$1, + trapFocus = true, + preventScroll = false, + $$slots, + $$events, + ...restProps + } = $$props; + const contentState = usePopoverContent({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + onInteractOutside: box.with(() => onInteractOutside), + onEscapeKeydown: box.with(() => onEscapeKeydown), + onCloseAutoFocus: box.with(() => onCloseAutoFocus) + }); + const mergedProps = mergeProps(restProps, contentState.props); + if (forceMount) { + $$payload.out += ""; + { + let popper = function($$payload2, { props, wrapperProps }) { + const finalProps = mergeProps(props, { + style: getFloatingContentCSSVars("popover") + }); + if (child) { + $$payload2.out += ""; + child($$payload2, { + props: finalProps, + wrapperProps, + ...contentState.snippetProps + }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + $$payload2.out += ``; + children?.($$payload2); + $$payload2.out += ``; + } + $$payload2.out += ``; + }; + Popper_layer_force_mount($$payload, spread_props([ + mergedProps, + contentState.popperProps, + { + enabled: contentState.root.opts.open.current, + id, + trapFocus, + preventScroll, + loop: true, + forceMount: true, + popper, + $$slots: { popper: true } + } + ])); + } + } else if (!forceMount) { + $$payload.out += ""; + { + let popper = function($$payload2, { props, wrapperProps }) { + const finalProps = mergeProps(props, { + style: getFloatingContentCSSVars("popover") + }); + if (child) { + $$payload2.out += ""; + child($$payload2, { + props: finalProps, + wrapperProps, + ...contentState.snippetProps + }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + $$payload2.out += ``; + children?.($$payload2); + $$payload2.out += ``; + } + $$payload2.out += ``; + }; + Popper_layer($$payload, spread_props([ + mergedProps, + contentState.popperProps, + { + present: contentState.root.opts.open.current, + id, + trapFocus, + preventScroll, + loop: true, + forceMount: false, + popper, + $$slots: { popper: true } + } + ])); + } + } else { + $$payload.out += ""; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Popover_trigger($$payload, $$props) { + push(); + let { + children, + child, + id = useId$1(), + ref = null, + type = "button", + disabled = false, + $$slots, + $$events, + ...restProps + } = $$props; + const triggerState = usePopoverTrigger({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + disabled: box.with(() => Boolean(disabled)) + }); + const mergedProps = mergeProps(restProps, triggerState.props, { type }); + Floating_layer_anchor($$payload, { + id, + children: ($$payload2) => { + if (child) { + $$payload2.out += ""; + child($$payload2, { props: mergedProps }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + $$payload2.out += ``; + children?.($$payload2); + $$payload2.out += ``; + } + $$payload2.out += ``; + } + }); + bind_props($$props, { ref }); + pop(); +} +function Dialog($$payload, $$props) { + push(); + let { open = false, onOpenChange = noop$1, children } = $$props; + useDialogRoot({ + variant: box.with(() => "dialog"), + open: box.with(() => open, (v) => { + open = v; + onOpenChange(v); + }) + }); + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { open }); + pop(); +} +function Dialog_content($$payload, $$props) { + push(); + let { + id = useId$1(), + children, + child, + ref = null, + forceMount = false, + onCloseAutoFocus = noop$1, + onOpenAutoFocus = noop$1, + onEscapeKeydown = noop$1, + onInteractOutside = noop$1, + trapFocus = true, + preventScroll = true, + restoreScrollDelay = null, + $$slots, + $$events, + ...restProps + } = $$props; + const contentState = useDialogContent({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, contentState.props); + { + let presence = function($$payload2) { + { + let focusScope = function($$payload3, { props: focusScopeProps }) { + Escape_layer($$payload3, spread_props([ + mergedProps, + { + enabled: contentState.root.opts.open.current, + onEscapeKeydown: (e) => { + onEscapeKeydown(e); + if (e.defaultPrevented) return; + contentState.root.handleClose(); + }, + children: ($$payload4) => { + Dismissible_layer($$payload4, spread_props([ + mergedProps, + { + enabled: contentState.root.opts.open.current, + onInteractOutside: (e) => { + onInteractOutside(e); + if (e.defaultPrevented) return; + contentState.root.handleClose(); + }, + children: ($$payload5) => { + Text_selection_layer($$payload5, spread_props([ + mergedProps, + { + enabled: contentState.root.opts.open.current, + children: ($$payload6) => { + if (child) { + $$payload6.out += ""; + if (contentState.root.opts.open.current) { + $$payload6.out += ""; + Scroll_lock($$payload6, { preventScroll, restoreScrollDelay }); + } else { + $$payload6.out += ""; + } + $$payload6.out += ` `; + child($$payload6, { + props: mergeProps(mergedProps, focusScopeProps), + ...contentState.snippetProps + }); + $$payload6.out += ``; + } else { + $$payload6.out += ""; + Scroll_lock($$payload6, { preventScroll }); + $$payload6.out += ` `; + children?.($$payload6); + $$payload6.out += ``; + } + $$payload6.out += ``; + }, + $$slots: { default: true } + } + ])); + }, + $$slots: { default: true } + } + ])); + }, + $$slots: { default: true } + } + ])); + }; + Focus_scope($$payload2, { + loop: true, + trapFocus: shouldTrapFocus({ + forceMount, + present: contentState.root.opts.open.current, + trapFocus, + open: contentState.root.opts.open.current + }), + onOpenAutoFocus, + id, + onCloseAutoFocus: (e) => { + onCloseAutoFocus(e); + if (e.defaultPrevented) return; + contentState.root.triggerNode?.focus(); + }, + focusScope + }); + } + }; + Presence_layer($$payload, spread_props([ + mergedProps, + { + forceMount, + present: contentState.root.opts.open.current || forceMount, + presence, + $$slots: { presence: true } + } + ])); + } + bind_props($$props, { ref }); + pop(); +} +const ROOT_ATTR = "data-label-root"; +class LabelRootState { + opts; + constructor(opts) { + this.opts = opts; + this.onmousedown = this.onmousedown.bind(this); + useRefById(opts); + } + onmousedown(e) { + if (e.detail > 1) e.preventDefault(); + } + #props = derived(() => ({ + id: this.opts.id.current, + [ROOT_ATTR]: "", + onmousedown: this.onmousedown + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +function setLabelRootState(props) { + return new LabelRootState(props); +} +function Label$1($$payload, $$props) { + push(); + let { + children, + child, + id = useId$1(), + ref = null, + for: forProp, + $$slots, + $$events, + ...restProps + } = $$props; + const rootState = setLabelRootState({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, rootState.props, { for: forProp }); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +const LINK_PREVIEW_CONTENT_ATTR = "data-link-preview-content"; +const LINK_PREVIEW_TRIGGER_ATTR = "data-link-preview-trigger"; +class LinkPreviewRootState { + opts; + hasSelection = false; + isPointerDownOnContent = false; + containsSelection = false; + timeout = null; + contentNode = null; + contentMounted = false; + triggerNode = null; + isOpening = false; + constructor(opts) { + this.opts = opts; + watch(() => this.opts.open.current, (isOpen) => { + if (!isOpen) { + this.hasSelection = false; + return; + } + const handlePointerUp = () => { + this.containsSelection = false; + this.isPointerDownOnContent = false; + afterSleep(1, () => { + const isSelection = document.getSelection()?.toString() !== ""; + if (isSelection) { + this.hasSelection = true; + } else { + this.hasSelection = false; + } + }); + }; + const unsubListener = on(document, "pointerup", handlePointerUp); + if (!this.contentNode) return; + const tabCandidates = getTabbableCandidates(this.contentNode); + for (const candidate of tabCandidates) { + candidate.setAttribute("tabindex", "-1"); + } + return () => { + unsubListener(); + this.hasSelection = false; + this.isPointerDownOnContent = false; + }; + }); + } + clearTimeout() { + if (this.timeout) { + window.clearTimeout(this.timeout); + this.timeout = null; + } + } + handleOpen() { + this.clearTimeout(); + if (this.opts.open.current) return; + this.isOpening = true; + this.timeout = window.setTimeout( + () => { + if (this.isOpening) { + this.opts.open.current = true; + this.isOpening = false; + } + }, + this.opts.openDelay.current + ); + } + immediateClose() { + this.clearTimeout(); + this.isOpening = false; + this.opts.open.current = false; + } + handleClose() { + this.isOpening = false; + this.clearTimeout(); + if (!this.isPointerDownOnContent && !this.hasSelection) { + this.timeout = window.setTimeout( + () => { + this.opts.open.current = false; + }, + this.opts.closeDelay.current + ); + } + } +} +class LinkPreviewTriggerState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + this.onpointerenter = this.onpointerenter.bind(this); + this.onpointerleave = this.onpointerleave.bind(this); + this.onfocus = this.onfocus.bind(this); + this.onblur = this.onblur.bind(this); + useRefById({ + ...opts, + onRefChange: (node) => { + this.root.triggerNode = node; + } + }); + } + onpointerenter(e) { + if (isTouch(e)) return; + this.root.handleOpen(); + } + onpointerleave(e) { + if (isTouch(e)) return; + if (!this.root.contentMounted) { + this.root.immediateClose(); + } + } + onfocus(e) { + if (!isFocusVisible(e.currentTarget)) return; + this.root.handleOpen(); + } + onblur(_) { + this.root.handleClose(); + } + #props = derived(() => ({ + id: this.opts.id.current, + "aria-haspopup": "dialog", + "aria-expanded": getAriaExpanded(this.root.opts.open.current), + "data-state": getDataOpenClosed(this.root.opts.open.current), + "aria-controls": this.root.contentNode?.id, + role: "button", + [LINK_PREVIEW_TRIGGER_ATTR]: "", + onpointerenter: this.onpointerenter, + onfocus: this.onfocus, + onblur: this.onblur, + onpointerleave: this.onpointerleave + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class LinkPreviewContentState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + this.onpointerdown = this.onpointerdown.bind(this); + this.onpointerenter = this.onpointerenter.bind(this); + this.onfocusout = this.onfocusout.bind(this); + useRefById({ + ...opts, + onRefChange: (node) => { + this.root.contentNode = node; + }, + deps: () => this.root.opts.open.current + }); + useGraceArea({ + triggerNode: () => this.root.triggerNode, + contentNode: () => this.opts.ref.current, + enabled: () => this.root.opts.open.current, + onPointerExit: () => { + this.root.handleClose(); + } + }); + } + onpointerdown(e) { + const target = e.target; + if (!isElement(target)) return; + if (e.currentTarget.contains(target)) { + this.root.containsSelection = true; + } + this.root.hasSelection = true; + this.root.isPointerDownOnContent = true; + } + onpointerenter(e) { + if (isTouch(e)) return; + this.root.handleOpen(); + } + onfocusout(e) { + e.preventDefault(); + } + onInteractOutside = (e) => { + this.opts.onInteractOutside.current(e); + if (e.defaultPrevented) return; + this.root.handleClose(); + }; + onEscapeKeydown = (e) => { + this.opts.onEscapeKeydown.current?.(e); + if (e.defaultPrevented) return; + this.root.handleClose(); + }; + onOpenAutoFocus = (e) => { + e.preventDefault(); + }; + onCloseAutoFocus = (e) => { + e.preventDefault(); + }; + #snippetProps = derived(() => ({ open: this.root.opts.open.current })); + get snippetProps() { + return this.#snippetProps(); + } + set snippetProps($$value) { + return this.#snippetProps($$value); + } + #props = derived(() => ({ + id: this.opts.id.current, + tabindex: -1, + "data-state": getDataOpenClosed(this.root.opts.open.current), + [LINK_PREVIEW_CONTENT_ATTR]: "", + onpointerdown: this.onpointerdown, + onpointerenter: this.onpointerenter, + onfocusout: this.onfocusout + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } + popperProps = { + onInteractOutside: this.onInteractOutside, + onEscapeKeydown: this.onEscapeKeydown, + onOpenAutoFocus: this.onOpenAutoFocus, + onCloseAutoFocus: this.onCloseAutoFocus + }; +} +const LinkPreviewRootContext = new Context("LinkPreview.Root"); +function useLinkPreviewRoot(props) { + return LinkPreviewRootContext.set(new LinkPreviewRootState(props)); +} +function useLinkPreviewTrigger(props) { + return new LinkPreviewTriggerState(props, LinkPreviewRootContext.get()); +} +function useLinkPreviewContent(props) { + return new LinkPreviewContentState(props, LinkPreviewRootContext.get()); +} +function Link_preview($$payload, $$props) { + push(); + let { + open = false, + onOpenChange = noop$1, + openDelay = 700, + closeDelay = 300, + children + } = $$props; + useLinkPreviewRoot({ + open: box.with(() => open, (v) => { + open = v; + onOpenChange(v); + }), + openDelay: box.with(() => openDelay), + closeDelay: box.with(() => closeDelay) + }); + $$payload.out += ``; + Floating_layer($$payload, { + children: ($$payload2) => { + children?.($$payload2); + $$payload2.out += ``; + } + }); + $$payload.out += ``; + bind_props($$props, { open }); + pop(); +} +function Link_preview_content($$payload, $$props) { + push(); + let { + children, + child, + id = useId$1(), + ref = null, + side = "top", + sideOffset = 0, + align = "center", + avoidCollisions = true, + arrowPadding = 0, + sticky = "partial", + hideWhenDetached = false, + collisionPadding = 0, + onInteractOutside = noop$1, + onEscapeKeydown = noop$1, + forceMount = false, + $$slots, + $$events, + ...restProps + } = $$props; + const contentState = useLinkPreviewContent({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + onInteractOutside: box.with(() => onInteractOutside), + onEscapeKeydown: box.with(() => onEscapeKeydown) + }); + const floatingProps = { + side, + sideOffset, + align, + avoidCollisions, + arrowPadding, + sticky, + hideWhenDetached, + collisionPadding + }; + const mergedProps = mergeProps(restProps, floatingProps, contentState.props); + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + if (forceMount) { + $$payload2.out += ""; + { + let popper = function($$payload3, { props, wrapperProps }) { + const mergedProps2 = mergeProps(props, { + style: getFloatingContentCSSVars("link-preview") + }); + if (child) { + $$payload3.out += ""; + child($$payload3, { + props: mergedProps2, + wrapperProps, + ...contentState.snippetProps + }); + $$payload3.out += ``; + } else { + $$payload3.out += ""; + $$payload3.out += ``; + children?.($$payload3); + $$payload3.out += ``; + } + $$payload3.out += ``; + }; + Popper_layer_force_mount($$payload2, spread_props([ + mergedProps, + contentState.popperProps, + { + enabled: contentState.root.opts.open.current, + id, + trapFocus: false, + loop: false, + preventScroll: false, + forceMount: true, + popper, + $$slots: { popper: true } + } + ])); + } + } else if (!forceMount) { + $$payload2.out += ""; + { + let popper = function($$payload3, { props, wrapperProps }) { + const mergedProps2 = mergeProps(props, { + style: getFloatingContentCSSVars("link-preview") + }); + if (child) { + $$payload3.out += ""; + child($$payload3, { + props: mergedProps2, + wrapperProps, + ...contentState.snippetProps + }); + $$payload3.out += ``; + } else { + $$payload3.out += ""; + $$payload3.out += ``; + children?.($$payload3); + $$payload3.out += ``; + } + $$payload3.out += ` `; + Mounted$1($$payload3, { + get mounted() { + return contentState.root.contentMounted; + }, + set mounted($$value) { + contentState.root.contentMounted = $$value; + $$settled = false; + } + }); + $$payload3.out += ``; + }; + Popper_layer($$payload2, spread_props([ + mergedProps, + contentState.popperProps, + { + present: contentState.root.opts.open.current, + id, + trapFocus: false, + loop: false, + preventScroll: false, + forceMount: false, + popper, + $$slots: { popper: true } + } + ])); + } + } else { + $$payload2.out += ""; + } + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Link_preview_trigger($$payload, $$props) { + push(); + let { + ref = null, + id = useId$1(), + child, + children, + $$slots, + $$events, + ...restProps + } = $$props; + const triggerState = useLinkPreviewTrigger({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, triggerState.props); + $$payload.out += ``; + Floating_layer_anchor($$payload, { + id, + children: ($$payload2) => { + if (child) { + $$payload2.out += ""; + child($$payload2, { props: mergedProps }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + $$payload2.out += ``; + children?.($$payload2); + $$payload2.out += ``; + } + $$payload2.out += ``; + } + }); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function useResizeObserver(node, onResize) { +} +function Popover($$payload, $$props) { + push(); + let { open = false, onOpenChange = noop$1, children } = $$props; + usePopoverRoot({ + open: box.with(() => open, (v) => { + open = v; + onOpenChange(v); + }) + }); + Floating_layer($$payload, { + children: ($$payload2) => { + children?.($$payload2); + $$payload2.out += ``; + } + }); + bind_props($$props, { open }); + pop(); +} +function clamp(n2, min, max) { + return Math.min(max, Math.max(min, n2)); +} +const SCROLL_AREA_ROOT_ATTR = "data-scroll-area-root"; +const SCROLL_AREA_VIEWPORT_ATTR = "data-scroll-area-viewport"; +const SCROLL_AREA_CORNER_ATTR = "data-scroll-area-corner"; +const SCROLL_AREA_THUMB_ATTR = "data-scroll-area-thumb"; +const SCROLL_AREA_SCROLLBAR_ATTR = "data-scroll-area-scrollbar"; +class ScrollAreaRootState { + opts; + scrollAreaNode = null; + viewportNode = null; + contentNode = null; + scrollbarXNode = null; + scrollbarYNode = null; + cornerWidth = 0; + cornerHeight = 0; + scrollbarXEnabled = false; + scrollbarYEnabled = false; + constructor(opts) { + this.opts = opts; + useRefById({ + ...opts, + onRefChange: (node) => { + this.scrollAreaNode = node; + } + }); + } + #props = derived(() => ({ + id: this.opts.id.current, + dir: this.opts.dir.current, + style: { + position: "relative", + "--bits-scroll-area-corner-height": `${this.cornerHeight}px`, + "--bits-scroll-area-corner-width": `${this.cornerWidth}px` + }, + [SCROLL_AREA_ROOT_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class ScrollAreaViewportState { + opts; + root; + #contentId = box(useId$1()); + #contentRef = box(null); + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + onRefChange: (node) => { + this.root.viewportNode = node; + } + }); + useRefById({ + id: this.#contentId, + ref: this.#contentRef, + onRefChange: (node) => { + this.root.contentNode = node; + } + }); + } + #props = derived(() => ({ + id: this.opts.id.current, + style: { + overflowX: this.root.scrollbarXEnabled ? "scroll" : "hidden", + overflowY: this.root.scrollbarYEnabled ? "scroll" : "hidden" + }, + [SCROLL_AREA_VIEWPORT_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } + #contentProps = derived(() => ({ + id: this.#contentId.current, + "data-scroll-area-content": "", + /** + * When horizontal scrollbar is visible: this element should be at least + * as wide as its children for size calculations to work correctly. + * + * When horizontal scrollbar is NOT visible: this element's width should + * be constrained by the parent container to enable `text-overflow: ellipsis` + */ + style: { + minWidth: this.root.scrollbarXEnabled ? "fit-content" : void 0 + } + })); + get contentProps() { + return this.#contentProps(); + } + set contentProps($$value) { + return this.#contentProps($$value); + } +} +class ScrollAreaScrollbarState { + opts; + root; + #isHorizontal = derived(() => this.opts.orientation.current === "horizontal"); + get isHorizontal() { + return this.#isHorizontal(); + } + set isHorizontal($$value) { + return this.#isHorizontal($$value); + } + hasThumb = false; + constructor(opts, root) { + this.opts = opts; + this.root = root; + } +} +class ScrollAreaScrollbarHoverState { + scrollbar; + root; + isVisible = false; + constructor(scrollbar) { + this.scrollbar = scrollbar; + this.root = scrollbar.root; + } + #props = derived(() => ({ + "data-state": this.isVisible ? "visible" : "hidden" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class ScrollAreaScrollbarScrollState { + scrollbar; + root; + machine = useStateMachine("hidden", { + hidden: { SCROLL: "scrolling" }, + scrolling: { + SCROLL_END: "idle", + POINTER_ENTER: "interacting" + }, + interacting: { SCROLL: "interacting", POINTER_LEAVE: "idle" }, + idle: { + HIDE: "hidden", + SCROLL: "scrolling", + POINTER_ENTER: "interacting" + } + }); + #isHidden = derived(() => this.machine.state.current === "hidden"); + get isHidden() { + return this.#isHidden(); + } + set isHidden($$value) { + return this.#isHidden($$value); + } + constructor(scrollbar) { + this.scrollbar = scrollbar; + this.root = scrollbar.root; + useDebounce(() => this.machine.dispatch("SCROLL_END"), 100); + this.onpointerenter = this.onpointerenter.bind(this); + this.onpointerleave = this.onpointerleave.bind(this); + } + onpointerenter(_) { + this.machine.dispatch("POINTER_ENTER"); + } + onpointerleave(_) { + this.machine.dispatch("POINTER_LEAVE"); + } + #props = derived(() => ({ + "data-state": this.machine.state.current === "hidden" ? "hidden" : "visible", + onpointerenter: this.onpointerenter, + onpointerleave: this.onpointerleave + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class ScrollAreaScrollbarAutoState { + scrollbar; + root; + isVisible = false; + constructor(scrollbar) { + this.scrollbar = scrollbar; + this.root = scrollbar.root; + useDebounce( + () => { + const viewportNode = this.root.viewportNode; + if (!viewportNode) return; + const isOverflowX = viewportNode.offsetWidth < viewportNode.scrollWidth; + const isOverflowY = viewportNode.offsetHeight < viewportNode.scrollHeight; + this.isVisible = this.scrollbar.isHorizontal ? isOverflowX : isOverflowY; + }, + 10 + ); + } + #props = derived(() => ({ + "data-state": this.isVisible ? "visible" : "hidden" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class ScrollAreaScrollbarVisibleState { + scrollbar; + root; + thumbNode = null; + pointerOffset = 0; + sizes = { + content: 0, + viewport: 0, + scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 } + }; + #thumbRatio = derived(() => getThumbRatio(this.sizes.viewport, this.sizes.content)); + get thumbRatio() { + return this.#thumbRatio(); + } + set thumbRatio($$value) { + return this.#thumbRatio($$value); + } + #hasThumb = derived(() => Boolean(this.thumbRatio > 0 && this.thumbRatio < 1)); + get hasThumb() { + return this.#hasThumb(); + } + set hasThumb($$value) { + return this.#hasThumb($$value); + } + // this needs to be a $state to properly restore the transform style when the scrollbar + // goes from a hidden to visible state, otherwise it will start at the beginning of the + // scrollbar and flicker to the correct position after + prevTransformStyle = ""; + constructor(scrollbar) { + this.scrollbar = scrollbar; + this.root = scrollbar.root; + } + setSizes(sizes) { + this.sizes = sizes; + } + getScrollPosition(pointerPos, dir) { + return getScrollPositionFromPointer({ + pointerPos, + pointerOffset: this.pointerOffset, + sizes: this.sizes, + dir + }); + } + onThumbPointerUp() { + this.pointerOffset = 0; + } + onThumbPointerDown(pointerPos) { + this.pointerOffset = pointerPos; + } + xOnThumbPositionChange() { + if (!(this.root.viewportNode && this.thumbNode)) return; + const scrollPos = this.root.viewportNode.scrollLeft; + const offset2 = getThumbOffsetFromScroll({ + scrollPos, + sizes: this.sizes, + dir: this.root.opts.dir.current + }); + const transformStyle = `translate3d(${offset2}px, 0, 0)`; + this.thumbNode.style.transform = transformStyle; + this.prevTransformStyle = transformStyle; + } + xOnWheelScroll(scrollPos) { + if (!this.root.viewportNode) return; + this.root.viewportNode.scrollLeft = scrollPos; + } + xOnDragScroll(pointerPos) { + if (!this.root.viewportNode) return; + this.root.viewportNode.scrollLeft = this.getScrollPosition(pointerPos, this.root.opts.dir.current); + } + yOnThumbPositionChange() { + if (!(this.root.viewportNode && this.thumbNode)) return; + const scrollPos = this.root.viewportNode.scrollTop; + const offset2 = getThumbOffsetFromScroll({ scrollPos, sizes: this.sizes }); + const transformStyle = `translate3d(0, ${offset2}px, 0)`; + this.thumbNode.style.transform = transformStyle; + this.prevTransformStyle = transformStyle; + } + yOnWheelScroll(scrollPos) { + if (!this.root.viewportNode) return; + this.root.viewportNode.scrollTop = scrollPos; + } + yOnDragScroll(pointerPos) { + if (!this.root.viewportNode) return; + this.root.viewportNode.scrollTop = this.getScrollPosition(pointerPos, this.root.opts.dir.current); + } +} +class ScrollAreaScrollbarXState { + opts; + scrollbarVis; + root; + computedStyle; + scrollbar; + constructor(opts, scrollbarVis) { + this.opts = opts; + this.scrollbarVis = scrollbarVis; + this.root = scrollbarVis.root; + this.scrollbar = scrollbarVis.scrollbar; + useRefById({ + ...this.scrollbar.opts, + onRefChange: (node) => { + this.root.scrollbarXNode = node; + }, + deps: () => this.opts.mounted.current + }); + } + onThumbPointerDown = (pointerPos) => { + this.scrollbarVis.onThumbPointerDown(pointerPos.x); + }; + onDragScroll = (pointerPos) => { + this.scrollbarVis.xOnDragScroll(pointerPos.x); + }; + onThumbPointerUp = () => { + this.scrollbarVis.onThumbPointerUp(); + }; + onThumbPositionChange = () => { + this.scrollbarVis.xOnThumbPositionChange(); + }; + onWheelScroll = (e, maxScrollPos) => { + if (!this.root.viewportNode) return; + const scrollPos = this.root.viewportNode.scrollLeft + e.deltaX; + this.scrollbarVis.xOnWheelScroll(scrollPos); + if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) { + e.preventDefault(); + } + }; + onResize = () => { + if (!(this.scrollbar.opts.ref.current && this.root.viewportNode && this.computedStyle)) return; + this.scrollbarVis.setSizes({ + content: this.root.viewportNode.scrollWidth, + viewport: this.root.viewportNode.offsetWidth, + scrollbar: { + size: this.scrollbar.opts.ref.current.clientWidth, + paddingStart: toInt(this.computedStyle.paddingLeft), + paddingEnd: toInt(this.computedStyle.paddingRight) + } + }); + }; + #thumbSize = derived(() => { + return getThumbSize(this.scrollbarVis.sizes); + }); + get thumbSize() { + return this.#thumbSize(); + } + set thumbSize($$value) { + return this.#thumbSize($$value); + } + #props = derived(() => ({ + id: this.scrollbar.opts.id.current, + "data-orientation": "horizontal", + style: { + bottom: 0, + left: this.root.opts.dir.current === "rtl" ? "var(--bits-scroll-area-corner-width)" : 0, + right: this.root.opts.dir.current === "ltr" ? "var(--bits-scroll-area-corner-width)" : 0, + "--bits-scroll-area-thumb-width": `${this.thumbSize}px` + } + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class ScrollAreaScrollbarYState { + opts; + scrollbarVis; + root; + scrollbar; + computedStyle; + constructor(opts, scrollbarVis) { + this.opts = opts; + this.scrollbarVis = scrollbarVis; + this.root = scrollbarVis.root; + this.scrollbar = scrollbarVis.scrollbar; + useRefById({ + ...this.scrollbar.opts, + onRefChange: (node) => { + this.root.scrollbarYNode = node; + }, + deps: () => this.opts.mounted.current + }); + this.onThumbPointerDown = this.onThumbPointerDown.bind(this); + this.onDragScroll = this.onDragScroll.bind(this); + this.onThumbPointerUp = this.onThumbPointerUp.bind(this); + this.onThumbPositionChange = this.onThumbPositionChange.bind(this); + this.onWheelScroll = this.onWheelScroll.bind(this); + this.onResize = this.onResize.bind(this); + } + onThumbPointerDown(pointerPos) { + this.scrollbarVis.onThumbPointerDown(pointerPos.y); + } + onDragScroll(pointerPos) { + this.scrollbarVis.yOnDragScroll(pointerPos.y); + } + onThumbPointerUp() { + this.scrollbarVis.onThumbPointerUp(); + } + onThumbPositionChange() { + this.scrollbarVis.yOnThumbPositionChange(); + } + onWheelScroll(e, maxScrollPos) { + if (!this.root.viewportNode) return; + const scrollPos = this.root.viewportNode.scrollTop + e.deltaY; + this.scrollbarVis.yOnWheelScroll(scrollPos); + if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) { + e.preventDefault(); + } + } + onResize() { + if (!(this.scrollbar.opts.ref.current && this.root.viewportNode && this.computedStyle)) return; + this.scrollbarVis.setSizes({ + content: this.root.viewportNode.scrollHeight, + viewport: this.root.viewportNode.offsetHeight, + scrollbar: { + size: this.scrollbar.opts.ref.current.clientHeight, + paddingStart: toInt(this.computedStyle.paddingTop), + paddingEnd: toInt(this.computedStyle.paddingBottom) + } + }); + } + #thumbSize = derived(() => { + return getThumbSize(this.scrollbarVis.sizes); + }); + get thumbSize() { + return this.#thumbSize(); + } + set thumbSize($$value) { + return this.#thumbSize($$value); + } + #props = derived(() => ({ + id: this.scrollbar.opts.id.current, + "data-orientation": "vertical", + style: { + top: 0, + right: this.root.opts.dir.current === "ltr" ? 0 : void 0, + left: this.root.opts.dir.current === "rtl" ? 0 : void 0, + bottom: "var(--bits-scroll-area-corner-height)", + "--bits-scroll-area-thumb-height": `${this.thumbSize}px` + } + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class ScrollAreaScrollbarSharedState { + scrollbarState; + root; + scrollbarVis; + scrollbar; + rect = null; + prevWebkitUserSelect = ""; + handleResize; + handleThumbPositionChange; + handleWheelScroll; + handleThumbPointerDown; + handleThumbPointerUp; + #maxScrollPos = derived(() => this.scrollbarVis.sizes.content - this.scrollbarVis.sizes.viewport); + get maxScrollPos() { + return this.#maxScrollPos(); + } + set maxScrollPos($$value) { + return this.#maxScrollPos($$value); + } + constructor(scrollbarState) { + this.scrollbarState = scrollbarState; + this.root = scrollbarState.root; + this.scrollbarVis = scrollbarState.scrollbarVis; + this.scrollbar = scrollbarState.scrollbarVis.scrollbar; + this.handleResize = useDebounce(() => this.scrollbarState.onResize(), 10); + this.handleThumbPositionChange = this.scrollbarState.onThumbPositionChange; + this.handleWheelScroll = this.scrollbarState.onWheelScroll; + this.handleThumbPointerDown = this.scrollbarState.onThumbPointerDown; + this.handleThumbPointerUp = this.scrollbarState.onThumbPointerUp; + useResizeObserver(() => this.scrollbar.opts.ref.current, this.handleResize); + useResizeObserver(() => this.root.contentNode, this.handleResize); + this.onpointerdown = this.onpointerdown.bind(this); + this.onpointermove = this.onpointermove.bind(this); + this.onpointerup = this.onpointerup.bind(this); + } + handleDragScroll(e) { + if (!this.rect) return; + const x = e.clientX - this.rect.left; + const y = e.clientY - this.rect.top; + this.scrollbarState.onDragScroll({ x, y }); + } + onpointerdown(e) { + if (e.button !== 0) return; + const target = e.target; + target.setPointerCapture(e.pointerId); + this.rect = this.scrollbar.opts.ref.current?.getBoundingClientRect() ?? null; + this.prevWebkitUserSelect = document.body.style.webkitUserSelect; + document.body.style.webkitUserSelect = "none"; + if (this.root.viewportNode) this.root.viewportNode.style.scrollBehavior = "auto"; + this.handleDragScroll(e); + } + onpointermove(e) { + this.handleDragScroll(e); + } + onpointerup(e) { + const target = e.target; + if (target.hasPointerCapture(e.pointerId)) { + target.releasePointerCapture(e.pointerId); + } + document.body.style.webkitUserSelect = this.prevWebkitUserSelect; + if (this.root.viewportNode) this.root.viewportNode.style.scrollBehavior = ""; + this.rect = null; + } + #props = derived(() => mergeProps({ + ...this.scrollbarState.props, + style: { + position: "absolute", + ...this.scrollbarState.props.style + }, + [SCROLL_AREA_SCROLLBAR_ATTR]: "", + onpointerdown: this.onpointerdown, + onpointermove: this.onpointermove, + onpointerup: this.onpointerup + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class ScrollAreaThumbImplState { + opts; + scrollbarState; + #root; + #removeUnlinkedScrollListener; + #debounceScrollEnd = useDebounce( + () => { + if (this.#removeUnlinkedScrollListener) { + this.#removeUnlinkedScrollListener(); + this.#removeUnlinkedScrollListener = void 0; + } + }, + 100 + ); + constructor(opts, scrollbarState) { + this.opts = opts; + this.scrollbarState = scrollbarState; + this.#root = scrollbarState.root; + useRefById({ + ...opts, + onRefChange: (node) => { + this.scrollbarState.scrollbarVis.thumbNode = node; + }, + deps: () => this.opts.mounted.current + }); + this.onpointerdowncapture = this.onpointerdowncapture.bind(this); + this.onpointerup = this.onpointerup.bind(this); + } + onpointerdowncapture(e) { + const thumb = e.target; + if (!thumb) return; + const thumbRect = thumb.getBoundingClientRect(); + const x = e.clientX - thumbRect.left; + const y = e.clientY - thumbRect.top; + this.scrollbarState.handleThumbPointerDown({ x, y }); + } + onpointerup(_) { + this.scrollbarState.handleThumbPointerUp(); + } + #props = derived(() => ({ + id: this.opts.id.current, + "data-state": this.scrollbarState.scrollbarVis.hasThumb ? "visible" : "hidden", + style: { + width: "var(--bits-scroll-area-thumb-width)", + height: "var(--bits-scroll-area-thumb-height)", + transform: this.scrollbarState.scrollbarVis.prevTransformStyle + }, + onpointerdowncapture: this.onpointerdowncapture, + onpointerup: this.onpointerup, + [SCROLL_AREA_THUMB_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class ScrollAreaCornerImplState { + opts; + root; + #width = 0; + #height = 0; + #hasSize = derived(() => Boolean(this.#width && this.#height)); + get hasSize() { + return this.#hasSize(); + } + set hasSize($$value) { + return this.#hasSize($$value); + } + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById(opts); + } + #props = derived(() => ({ + id: this.opts.id.current, + style: { + width: this.#width, + height: this.#height, + position: "absolute", + right: this.root.opts.dir.current === "ltr" ? 0 : void 0, + left: this.root.opts.dir.current === "rtl" ? 0 : void 0, + bottom: 0 + }, + [SCROLL_AREA_CORNER_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +const ScrollAreaRootContext = new Context("ScrollArea.Root"); +const ScrollAreaScrollbarContext = new Context("ScrollArea.Scrollbar"); +const ScrollAreaScrollbarVisibleContext = new Context("ScrollArea.ScrollbarVisible"); +const ScrollAreaScrollbarAxisContext = new Context("ScrollArea.ScrollbarAxis"); +const ScrollAreaScrollbarSharedContext = new Context("ScrollArea.ScrollbarShared"); +function useScrollAreaRoot(props) { + return ScrollAreaRootContext.set(new ScrollAreaRootState(props)); +} +function useScrollAreaViewport(props) { + return new ScrollAreaViewportState(props, ScrollAreaRootContext.get()); +} +function useScrollAreaScrollbar(props) { + return ScrollAreaScrollbarContext.set(new ScrollAreaScrollbarState(props, ScrollAreaRootContext.get())); +} +function useScrollAreaScrollbarVisible() { + return ScrollAreaScrollbarVisibleContext.set(new ScrollAreaScrollbarVisibleState(ScrollAreaScrollbarContext.get())); +} +function useScrollAreaScrollbarAuto() { + return new ScrollAreaScrollbarAutoState(ScrollAreaScrollbarContext.get()); +} +function useScrollAreaScrollbarScroll() { + return new ScrollAreaScrollbarScrollState(ScrollAreaScrollbarContext.get()); +} +function useScrollAreaScrollbarHover() { + return new ScrollAreaScrollbarHoverState(ScrollAreaScrollbarContext.get()); +} +function useScrollAreaScrollbarX(props) { + return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarXState(props, ScrollAreaScrollbarVisibleContext.get())); +} +function useScrollAreaScrollbarY(props) { + return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarYState(props, ScrollAreaScrollbarVisibleContext.get())); +} +function useScrollAreaScrollbarShared() { + return ScrollAreaScrollbarSharedContext.set(new ScrollAreaScrollbarSharedState(ScrollAreaScrollbarAxisContext.get())); +} +function useScrollAreaThumb(props) { + return new ScrollAreaThumbImplState(props, ScrollAreaScrollbarSharedContext.get()); +} +function useScrollAreaCorner(props) { + return new ScrollAreaCornerImplState(props, ScrollAreaRootContext.get()); +} +function toInt(value) { + return value ? Number.parseInt(value, 10) : 0; +} +function getThumbRatio(viewportSize, contentSize) { + const ratio = viewportSize / contentSize; + return Number.isNaN(ratio) ? 0 : ratio; +} +function getThumbSize(sizes) { + const ratio = getThumbRatio(sizes.viewport, sizes.content); + const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd; + const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio; + return Math.max(thumbSize, 18); +} +function getScrollPositionFromPointer({ + pointerPos, + pointerOffset, + sizes, + dir = "ltr" +}) { + const thumbSizePx = getThumbSize(sizes); + const thumbCenter = thumbSizePx / 2; + const offset2 = pointerOffset || thumbCenter; + const thumbOffsetFromEnd = thumbSizePx - offset2; + const minPointerPos = sizes.scrollbar.paddingStart + offset2; + const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd; + const maxScrollPos = sizes.content - sizes.viewport; + const scrollRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0]; + const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange); + return interpolate(pointerPos); +} +function getThumbOffsetFromScroll({ scrollPos, sizes, dir = "ltr" }) { + const thumbSizePx = getThumbSize(sizes); + const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd; + const scrollbar = sizes.scrollbar.size - scrollbarPadding; + const maxScrollPos = sizes.content - sizes.viewport; + const maxThumbPos = scrollbar - thumbSizePx; + const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0]; + const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange[0], scrollClampRange[1]); + const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]); + return interpolate(scrollWithoutMomentum); +} +function linearScale(input, output) { + return (value) => { + if (input[0] === input[1] || output[0] === output[1]) return output[0]; + const ratio = (output[1] - output[0]) / (input[1] - input[0]); + return output[0] + ratio * (value - input[0]); + }; +} +function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) { + return scrollPos > 0 && scrollPos < maxScrollPos; +} +function Scroll_area$1($$payload, $$props) { + push(); + let { + ref = null, + id = useId$1(), + type = "hover", + dir = "ltr", + scrollHideDelay = 600, + children, + child, + $$slots, + $$events, + ...restProps + } = $$props; + const rootState = useScrollAreaRoot({ + type: box.with(() => type), + dir: box.with(() => dir), + scrollHideDelay: box.with(() => scrollHideDelay), + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, rootState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Scroll_area_viewport($$payload, $$props) { + push(); + let { + ref = null, + id = useId$1(), + children, + $$slots, + $$events, + ...restProps + } = $$props; + const viewportState = useScrollAreaViewport({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, viewportState.props); + const mergedContentProps = mergeProps({}, viewportState.contentProps); + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Scroll_area_scrollbar_shared($$payload, $$props) { + push(); + let { + child, + children, + $$slots, + $$events, + ...restProps + } = $$props; + const scrollbarSharedState = useScrollAreaScrollbarShared(); + const mergedProps = mergeProps(restProps, scrollbarSharedState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + pop(); +} +function Scroll_area_scrollbar_x($$payload, $$props) { + push(); + let { $$slots, $$events, ...restProps } = $$props; + const isMounted = new IsMounted(); + const scrollbarXState = useScrollAreaScrollbarX({ mounted: box.with(() => isMounted.current) }); + const mergedProps = mergeProps(restProps, scrollbarXState.props); + Scroll_area_scrollbar_shared($$payload, spread_props([mergedProps])); + pop(); +} +function Scroll_area_scrollbar_y($$payload, $$props) { + push(); + let { $$slots, $$events, ...restProps } = $$props; + const isMounted = new IsMounted(); + const scrollbarYState = useScrollAreaScrollbarY({ mounted: box.with(() => isMounted.current) }); + const mergedProps = mergeProps(restProps, scrollbarYState.props); + Scroll_area_scrollbar_shared($$payload, spread_props([mergedProps])); + pop(); +} +function Scroll_area_scrollbar_visible($$payload, $$props) { + push(); + let { $$slots, $$events, ...restProps } = $$props; + const scrollbarVisibleState = useScrollAreaScrollbarVisible(); + if (scrollbarVisibleState.scrollbar.opts.orientation.current === "horizontal") { + $$payload.out += ""; + Scroll_area_scrollbar_x($$payload, spread_props([restProps])); + } else { + $$payload.out += ""; + Scroll_area_scrollbar_y($$payload, spread_props([restProps])); + } + $$payload.out += ``; + pop(); +} +function Scroll_area_scrollbar_auto($$payload, $$props) { + push(); + let { + forceMount = false, + $$slots, + $$events, + ...restProps + } = $$props; + const scrollbarAutoState = useScrollAreaScrollbarAuto(); + const mergedProps = mergeProps(restProps, scrollbarAutoState.props); + { + let presence = function($$payload2) { + Scroll_area_scrollbar_visible($$payload2, spread_props([mergedProps])); + }; + Presence_layer($$payload, spread_props([ + { + present: forceMount || scrollbarAutoState.isVisible + }, + mergedProps, + { presence, $$slots: { presence: true } } + ])); + } + pop(); +} +function Scroll_area_scrollbar_scroll($$payload, $$props) { + push(); + let { + forceMount = false, + $$slots, + $$events, + ...restProps + } = $$props; + const scrollbarScrollState = useScrollAreaScrollbarScroll(); + const mergedProps = mergeProps(restProps, scrollbarScrollState.props); + { + let presence = function($$payload2) { + Scroll_area_scrollbar_visible($$payload2, spread_props([mergedProps])); + }; + Presence_layer($$payload, spread_props([ + mergedProps, + { + present: forceMount || !scrollbarScrollState.isHidden, + presence, + $$slots: { presence: true } + } + ])); + } + pop(); +} +function Scroll_area_scrollbar_hover($$payload, $$props) { + push(); + let { + forceMount = false, + $$slots, + $$events, + ...restProps + } = $$props; + const scrollbarHoverState = useScrollAreaScrollbarHover(); + const scrollbarAutoState = useScrollAreaScrollbarAuto(); + const mergedProps = mergeProps(restProps, scrollbarHoverState.props, scrollbarAutoState.props, { + "data-state": scrollbarHoverState.isVisible ? "visible" : "hidden" + }); + const present = forceMount || scrollbarHoverState.isVisible && scrollbarAutoState.isVisible; + { + let presence = function($$payload2) { + Scroll_area_scrollbar_visible($$payload2, spread_props([mergedProps])); + }; + Presence_layer($$payload, spread_props([ + mergedProps, + { + present, + presence, + $$slots: { presence: true } + } + ])); + } + pop(); +} +function Scroll_area_scrollbar$1($$payload, $$props) { + push(); + let { + ref = null, + id = useId$1(), + orientation, + $$slots, + $$events, + ...restProps + } = $$props; + const scrollbarState = useScrollAreaScrollbar({ + orientation: box.with(() => orientation), + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const type = scrollbarState.root.opts.type.current; + if (type === "hover") { + $$payload.out += ""; + Scroll_area_scrollbar_hover($$payload, spread_props([restProps, { id }])); + } else if (type === "scroll") { + $$payload.out += ""; + Scroll_area_scrollbar_scroll($$payload, spread_props([restProps, { id }])); + } else if (type === "auto") { + $$payload.out += ""; + Scroll_area_scrollbar_auto($$payload, spread_props([restProps, { id }])); + } else if (type === "always") { + $$payload.out += ""; + Scroll_area_scrollbar_visible($$payload, spread_props([restProps, { id }])); + } else { + $$payload.out += ""; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Scroll_area_thumb_impl($$payload, $$props) { + push(); + let { + ref = null, + id, + child, + children, + present, + $$slots, + $$events, + ...restProps + } = $$props; + const isMounted = new IsMounted(); + const thumbState = useScrollAreaThumb({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + mounted: box.with(() => isMounted.current) + }); + const mergedProps = mergeProps(restProps, thumbState.props, { style: { hidden: !present } }); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Scroll_area_thumb($$payload, $$props) { + push(); + let { + id = useId$1(), + ref = null, + forceMount = false, + $$slots, + $$events, + ...restProps + } = $$props; + const scrollbarState = ScrollAreaScrollbarVisibleContext.get(); + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + { + let presence = function($$payload3, { present }) { + Scroll_area_thumb_impl($$payload3, spread_props([ + restProps, + { + id, + present: present.current, + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + }; + Presence_layer($$payload2, spread_props([ + { present: forceMount || scrollbarState.hasThumb }, + restProps, + { id, presence, $$slots: { presence: true } } + ])); + } + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Scroll_area_corner_impl($$payload, $$props) { + push(); + let { + ref = null, + id, + children, + child, + $$slots, + $$events, + ...restProps + } = $$props; + const cornerState = useScrollAreaCorner({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, cornerState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Scroll_area_corner($$payload, $$props) { + push(); + let { + ref = null, + id = useId$1(), + $$slots, + $$events, + ...restProps + } = $$props; + const scrollAreaState = ScrollAreaRootContext.get(); + const hasBothScrollbarsVisible = Boolean(scrollAreaState.scrollbarXNode && scrollAreaState.scrollbarYNode); + const hasCorner = scrollAreaState.opts.type.current !== "scroll" && hasBothScrollbarsVisible; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + if (hasCorner) { + $$payload2.out += ""; + Scroll_area_corner_impl($$payload2, spread_props([ + restProps, + { + id, + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + } else { + $$payload2.out += ""; + } + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function useTimeoutFn(cb, interval, options = {}) { + const { immediate = true } = options; + const isPending = box(false); + let timer; + function clear() { + if (timer) { + clearTimeout(timer); + timer = null; + } + } + function stop() { + isPending.current = false; + clear(); + } + function start(...args) { + clear(); + isPending.current = true; + timer = setTimeout( + () => { + isPending.current = false; + timer = null; + cb(...args); + }, + interval + ); + } + if (immediate) { + isPending.current = true; + if (isBrowser$1) start(); + } + return { + isPending: box.readonly(isPending), + start, + stop + }; +} +const TOOLTIP_CONTENT_ATTR = "data-tooltip-content"; +const TOOLTIP_TRIGGER_ATTR = "data-tooltip-trigger"; +class TooltipProviderState { + opts; + isOpenDelayed = true; + isPointerInTransit = box(false); + #timerFn; + #openTooltip = null; + constructor(opts) { + this.opts = opts; + this.#timerFn = useTimeoutFn( + () => { + this.isOpenDelayed = true; + }, + this.opts.skipDelayDuration.current, + { immediate: false } + ); + } + #startTimer = () => { + const skipDuration = this.opts.skipDelayDuration.current; + if (skipDuration === 0) { + return; + } else { + this.#timerFn.start(); + } + }; + #clearTimer = () => { + this.#timerFn.stop(); + }; + onOpen = (tooltip) => { + if (this.#openTooltip && this.#openTooltip !== tooltip) { + this.#openTooltip.handleClose(); + } + this.#clearTimer(); + this.isOpenDelayed = false; + this.#openTooltip = tooltip; + }; + onClose = (tooltip) => { + if (this.#openTooltip === tooltip) { + this.#openTooltip = null; + } + this.#startTimer(); + }; + isTooltipOpen = (tooltip) => { + return this.#openTooltip === tooltip; + }; +} +class TooltipRootState { + opts; + provider; + #delayDuration = derived(() => this.opts.delayDuration.current ?? this.provider.opts.delayDuration.current); + get delayDuration() { + return this.#delayDuration(); + } + set delayDuration($$value) { + return this.#delayDuration($$value); + } + #disableHoverableContent = derived(() => this.opts.disableHoverableContent.current ?? this.provider.opts.disableHoverableContent.current); + get disableHoverableContent() { + return this.#disableHoverableContent(); + } + set disableHoverableContent($$value) { + return this.#disableHoverableContent($$value); + } + #disableCloseOnTriggerClick = derived(() => this.opts.disableCloseOnTriggerClick.current ?? this.provider.opts.disableCloseOnTriggerClick.current); + get disableCloseOnTriggerClick() { + return this.#disableCloseOnTriggerClick(); + } + set disableCloseOnTriggerClick($$value) { + return this.#disableCloseOnTriggerClick($$value); + } + #disabled = derived(() => this.opts.disabled.current ?? this.provider.opts.disabled.current); + get disabled() { + return this.#disabled(); + } + set disabled($$value) { + return this.#disabled($$value); + } + #ignoreNonKeyboardFocus = derived(() => this.opts.ignoreNonKeyboardFocus.current ?? this.provider.opts.ignoreNonKeyboardFocus.current); + get ignoreNonKeyboardFocus() { + return this.#ignoreNonKeyboardFocus(); + } + set ignoreNonKeyboardFocus($$value) { + return this.#ignoreNonKeyboardFocus($$value); + } + contentNode = null; + triggerNode = null; + #wasOpenDelayed = false; + #timerFn; + #stateAttr = derived(() => { + if (!this.opts.open.current) return "closed"; + return this.#wasOpenDelayed ? "delayed-open" : "instant-open"; + }); + get stateAttr() { + return this.#stateAttr(); + } + set stateAttr($$value) { + return this.#stateAttr($$value); + } + constructor(opts, provider) { + this.opts = opts; + this.provider = provider; + this.#timerFn = useTimeoutFn( + () => { + this.#wasOpenDelayed = true; + this.opts.open.current = true; + }, + this.delayDuration ?? 0, + { immediate: false } + ); + watch(() => this.delayDuration, () => { + if (this.delayDuration === void 0) return; + this.#timerFn = useTimeoutFn( + () => { + this.#wasOpenDelayed = true; + this.opts.open.current = true; + }, + this.delayDuration, + { immediate: false } + ); + }); + watch(() => this.opts.open.current, (isOpen) => { + if (isOpen) { + this.provider.onOpen(this); + } else { + this.provider.onClose(this); + } + }); + } + handleOpen = () => { + this.#timerFn.stop(); + this.#wasOpenDelayed = false; + this.opts.open.current = true; + }; + handleClose = () => { + this.#timerFn.stop(); + this.opts.open.current = false; + }; + #handleDelayedOpen = () => { + this.#timerFn.stop(); + const shouldSkipDelay = !this.provider.isOpenDelayed; + const delayDuration = this.delayDuration ?? 0; + if (shouldSkipDelay || delayDuration === 0) { + this.#wasOpenDelayed = delayDuration > 0 && shouldSkipDelay; + this.opts.open.current = true; + } else { + this.#timerFn.start(); + } + }; + onTriggerEnter = () => { + this.#handleDelayedOpen(); + }; + onTriggerLeave = () => { + if (this.disableHoverableContent) { + this.handleClose(); + } else { + this.#timerFn.stop(); + } + }; +} +class TooltipTriggerState { + opts; + root; + #isPointerDown = box(false); + #hasPointerMoveOpened = false; + #isDisabled = derived(() => this.opts.disabled.current || this.root.disabled); + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + onRefChange: (node) => { + this.root.triggerNode = node; + } + }); + } + handlePointerUp = () => { + this.#isPointerDown.current = false; + }; + #onpointerup = () => { + if (this.#isDisabled()) return; + this.#isPointerDown.current = false; + }; + #onpointerdown = () => { + if (this.#isDisabled()) return; + this.#isPointerDown.current = true; + document.addEventListener( + "pointerup", + () => { + this.handlePointerUp(); + }, + { once: true } + ); + }; + #onpointermove = (e) => { + if (this.#isDisabled()) return; + if (e.pointerType === "touch") return; + if (this.#hasPointerMoveOpened) return; + if (this.root.provider.isPointerInTransit.current) return; + this.root.onTriggerEnter(); + this.#hasPointerMoveOpened = true; + }; + #onpointerleave = () => { + if (this.#isDisabled()) return; + this.root.onTriggerLeave(); + this.#hasPointerMoveOpened = false; + }; + #onfocus = (e) => { + if (this.#isPointerDown.current || this.#isDisabled()) return; + if (this.root.ignoreNonKeyboardFocus && !isFocusVisible(e.currentTarget)) return; + this.root.handleOpen(); + }; + #onblur = () => { + if (this.#isDisabled()) return; + this.root.handleClose(); + }; + #onclick = () => { + if (this.root.disableCloseOnTriggerClick || this.#isDisabled()) return; + this.root.handleClose(); + }; + #props = derived(() => ({ + id: this.opts.id.current, + "aria-describedby": this.root.opts.open.current ? this.root.contentNode?.id : void 0, + "data-state": this.root.stateAttr, + "data-disabled": getDataDisabled(this.#isDisabled()), + "data-delay-duration": `${this.root.delayDuration}`, + [TOOLTIP_TRIGGER_ATTR]: "", + tabindex: this.#isDisabled() ? void 0 : 0, + disabled: this.opts.disabled.current, + onpointerup: this.#onpointerup, + onpointerdown: this.#onpointerdown, + onpointermove: this.#onpointermove, + onpointerleave: this.#onpointerleave, + onfocus: this.#onfocus, + onblur: this.#onblur, + onclick: this.#onclick + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class TooltipContentState { + opts; + root; + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById({ + ...opts, + onRefChange: (node) => { + this.root.contentNode = node; + }, + deps: () => this.root.opts.open.current + }); + useGraceArea({ + triggerNode: () => this.root.triggerNode, + contentNode: () => this.root.contentNode, + enabled: () => this.root.opts.open.current && !this.root.disableHoverableContent, + onPointerExit: () => { + if (this.root.provider.isTooltipOpen(this.root)) { + this.root.handleClose(); + } + }, + setIsPointerInTransit: (value) => { + this.root.provider.isPointerInTransit.current = value; + }, + transitTimeout: this.root.provider.opts.skipDelayDuration.current + }); + } + onInteractOutside = (e) => { + if (isElement(e.target) && this.root.triggerNode?.contains(e.target) && this.root.disableCloseOnTriggerClick) { + e.preventDefault(); + return; + } + this.opts.onInteractOutside.current(e); + if (e.defaultPrevented) return; + this.root.handleClose(); + }; + onEscapeKeydown = (e) => { + this.opts.onEscapeKeydown.current?.(e); + if (e.defaultPrevented) return; + this.root.handleClose(); + }; + onOpenAutoFocus = (e) => { + e.preventDefault(); + }; + onCloseAutoFocus = (e) => { + e.preventDefault(); + }; + #snippetProps = derived(() => ({ open: this.root.opts.open.current })); + get snippetProps() { + return this.#snippetProps(); + } + set snippetProps($$value) { + return this.#snippetProps($$value); + } + #props = derived(() => ({ + id: this.opts.id.current, + "data-state": this.root.stateAttr, + "data-disabled": getDataDisabled(this.root.disabled), + style: { pointerEvents: "auto", outline: "none" }, + [TOOLTIP_CONTENT_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } + popperProps = { + onInteractOutside: this.onInteractOutside, + onEscapeKeydown: this.onEscapeKeydown, + onOpenAutoFocus: this.onOpenAutoFocus, + onCloseAutoFocus: this.onCloseAutoFocus + }; +} +const TooltipProviderContext = new Context("Tooltip.Provider"); +const TooltipRootContext = new Context("Tooltip.Root"); +function useTooltipProvider(props) { + return TooltipProviderContext.set(new TooltipProviderState(props)); +} +function useTooltipRoot(props) { + return TooltipRootContext.set(new TooltipRootState(props, TooltipProviderContext.get())); +} +function useTooltipTrigger(props) { + return new TooltipTriggerState(props, TooltipRootContext.get()); +} +function useTooltipContent(props) { + return new TooltipContentState(props, TooltipRootContext.get()); +} +function Tooltip($$payload, $$props) { + push(); + let { + open = false, + onOpenChange = noop$1, + disabled, + delayDuration, + disableCloseOnTriggerClick, + disableHoverableContent, + ignoreNonKeyboardFocus, + children + } = $$props; + useTooltipRoot({ + open: box.with(() => open, (v) => { + open = v; + onOpenChange(v); + }), + delayDuration: box.with(() => delayDuration), + disableCloseOnTriggerClick: box.with(() => disableCloseOnTriggerClick), + disableHoverableContent: box.with(() => disableHoverableContent), + ignoreNonKeyboardFocus: box.with(() => ignoreNonKeyboardFocus), + disabled: box.with(() => disabled) + }); + Floating_layer($$payload, { + children: ($$payload2) => { + children?.($$payload2); + $$payload2.out += ``; + } + }); + bind_props($$props, { open }); + pop(); +} +function Tooltip_content$1($$payload, $$props) { + push(); + let { + children, + child, + id = useId$1(), + ref = null, + side = "top", + sideOffset = 0, + align = "center", + avoidCollisions = true, + arrowPadding = 0, + sticky = "partial", + hideWhenDetached = false, + collisionPadding = 0, + onInteractOutside = noop$1, + onEscapeKeydown = noop$1, + forceMount = false, + $$slots, + $$events, + ...restProps + } = $$props; + const contentState = useTooltipContent({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + onInteractOutside: box.with(() => onInteractOutside), + onEscapeKeydown: box.with(() => onEscapeKeydown) + }); + const floatingProps = { + side, + sideOffset, + align, + avoidCollisions, + arrowPadding, + sticky, + hideWhenDetached, + collisionPadding + }; + const mergedProps = mergeProps(restProps, floatingProps, contentState.props); + if (forceMount) { + $$payload.out += ""; + { + let popper = function($$payload2, { props, wrapperProps }) { + const mergedProps2 = mergeProps(props, { + style: getFloatingContentCSSVars("tooltip") + }); + if (child) { + $$payload2.out += ""; + child($$payload2, { + props: mergedProps2, + wrapperProps, + ...contentState.snippetProps + }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + $$payload2.out += ``; + children?.($$payload2); + $$payload2.out += ``; + } + $$payload2.out += ``; + }; + Popper_layer_force_mount($$payload, spread_props([ + mergedProps, + contentState.popperProps, + { + enabled: contentState.root.opts.open.current, + id, + trapFocus: false, + loop: false, + preventScroll: false, + forceMount: true, + popper, + $$slots: { popper: true } + } + ])); + } + } else if (!forceMount) { + $$payload.out += ""; + { + let popper = function($$payload2, { props, wrapperProps }) { + const mergedProps2 = mergeProps(props, { + style: getFloatingContentCSSVars("tooltip") + }); + if (child) { + $$payload2.out += ""; + child($$payload2, { + props: mergedProps2, + wrapperProps, + ...contentState.snippetProps + }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + $$payload2.out += ``; + children?.($$payload2); + $$payload2.out += ``; + } + $$payload2.out += ``; + }; + Popper_layer($$payload, spread_props([ + mergedProps, + contentState.popperProps, + { + present: contentState.root.opts.open.current, + id, + trapFocus: false, + loop: false, + preventScroll: false, + forceMount: false, + popper, + $$slots: { popper: true } + } + ])); + } + } else { + $$payload.out += ""; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Tooltip_trigger($$payload, $$props) { + push(); + let { + children, + child, + id = useId$1(), + disabled = false, + type = "button", + ref = null, + $$slots, + $$events, + ...restProps + } = $$props; + const triggerState = useTooltipTrigger({ + id: box.with(() => id), + disabled: box.with(() => disabled ?? false), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, triggerState.props, { type }); + Floating_layer_anchor($$payload, { + id, + children: ($$payload2) => { + if (child) { + $$payload2.out += ""; + child($$payload2, { props: mergedProps }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + $$payload2.out += ``; + children?.($$payload2); + $$payload2.out += ``; + } + $$payload2.out += ``; + } + }); + bind_props($$props, { ref }); + pop(); +} +function Tooltip_provider($$payload, $$props) { + push(); + let { + children, + delayDuration = 700, + disableCloseOnTriggerClick = false, + disableHoverableContent = false, + disabled = false, + ignoreNonKeyboardFocus = false, + skipDelayDuration = 300 + } = $$props; + useTooltipProvider({ + delayDuration: box.with(() => delayDuration), + disableCloseOnTriggerClick: box.with(() => disableCloseOnTriggerClick), + disableHoverableContent: box.with(() => disableHoverableContent), + disabled: box.with(() => disabled), + ignoreNonKeyboardFocus: box.with(() => ignoreNonKeyboardFocus), + skipDelayDuration: box.with(() => skipDelayDuration) + }); + children?.($$payload); + $$payload.out += ``; + pop(); +} +function Command($$payload, $$props) { + push(); + let { + ref = null, + value = "", + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Command$1($$payload2, spread_props([ + { + class: cn("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", className) + }, + restProps, + { + get value() { + return value; + }, + set value($$value) { + value = $$value; + $$settled = false; + }, + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref, value }); + pop(); +} +function Arrow_left($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + ["path", { "d": "m12 19-7-7 7-7" }], + ["path", { "d": "M19 12H5" }] + ]; + Icon($$payload, spread_props([ + { name: "arrow-left" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Arrow_right($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + ["path", { "d": "M5 12h14" }], + ["path", { "d": "m12 5 7 7-7 7" }] + ]; + Icon($$payload, spread_props([ + { name: "arrow-right" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Check($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [["path", { "d": "M20 6 9 17l-5-5" }]]; + Icon($$payload, spread_props([ + { name: "check" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Keyboard($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + ["path", { "d": "M10 8h.01" }], + ["path", { "d": "M12 12h.01" }], + ["path", { "d": "M14 8h.01" }], + ["path", { "d": "M16 12h.01" }], + ["path", { "d": "M18 8h.01" }], + ["path", { "d": "M6 8h.01" }], + ["path", { "d": "M7 16h10" }], + ["path", { "d": "M8 12h.01" }], + [ + "rect", + { + "width": "20", + "height": "16", + "x": "2", + "y": "4", + "rx": "2" + } + ] + ]; + Icon($$payload, spread_props([ + { name: "keyboard" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Moon($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + [ + "path", + { "d": "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" } + ] + ]; + Icon($$payload, spread_props([ + { name: "moon" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Palette($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + [ + "path", + { + "d": "M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z" + } + ], + [ + "circle", + { + "cx": "13.5", + "cy": "6.5", + "r": ".5", + "fill": "currentColor" + } + ], + [ + "circle", + { + "cx": "17.5", + "cy": "10.5", + "r": ".5", + "fill": "currentColor" + } + ], + [ + "circle", + { + "cx": "6.5", + "cy": "12.5", + "r": ".5", + "fill": "currentColor" + } + ], + [ + "circle", + { + "cx": "8.5", + "cy": "7.5", + "r": ".5", + "fill": "currentColor" + } + ] + ]; + Icon($$payload, spread_props([ + { name: "palette" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Search($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + ["path", { "d": "m21 21-4.34-4.34" }], + [ + "circle", + { "cx": "11", "cy": "11", "r": "8" } + ] + ]; + Icon($$payload, spread_props([ + { name: "search" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Shuffle($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + ["path", { "d": "m18 14 4 4-4 4" }], + ["path", { "d": "m18 2 4 4-4 4" }], + [ + "path", + { + "d": "M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22" + } + ], + [ + "path", + { "d": "M2 6h1.972a4 4 0 0 1 3.6 2.2" } + ], + [ + "path", + { + "d": "M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45" + } + ] + ]; + Icon($$payload, spread_props([ + { name: "shuffle" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Sun($$payload, $$props) { + const $$sanitized_props = sanitize_props($$props); + const iconNode = [ + [ + "circle", + { "cx": "12", "cy": "12", "r": "4" } + ], + ["path", { "d": "M12 2v2" }], + ["path", { "d": "M12 20v2" }], + ["path", { "d": "m4.93 4.93 1.41 1.41" }], + ["path", { "d": "m17.66 17.66 1.41 1.41" }], + ["path", { "d": "M2 12h2" }], + ["path", { "d": "M20 12h2" }], + ["path", { "d": "m6.34 17.66-1.41 1.41" }], + ["path", { "d": "m19.07 4.93-1.41 1.41" }] + ]; + Icon($$payload, spread_props([ + { name: "sun" }, + $$sanitized_props, + { + iconNode, + children: ($$payload2) => { + $$payload2.out += ``; + slot($$payload2, $$props, "default", {}); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); +} +function Command_empty($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + Command_empty$1($$payload, spread_props([ + { + class: cn("py-6 text-center text-sm", className) + }, + restProps + ])); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Command_group($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + heading, + value, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Command_group$1($$payload2, spread_props([ + { + class: cn("text-foreground overflow-hidden p-1", className), + value: value ?? heading ?? `----${useId$1()}` + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + }, + children: ($$payload3) => { + if (heading) { + $$payload3.out += ""; + $$payload3.out += ``; + Command_group_heading($$payload3, { + class: "text-muted-foreground px-2 py-1.5 text-xs font-medium", + children: ($$payload4) => { + $$payload4.out += `${escape_html(heading)}`; + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + } else { + $$payload3.out += ""; + } + $$payload3.out += ` `; + Command_group_items($$payload3, { children }); + $$payload3.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Command_item($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Command_item$1($$payload2, spread_props([ + { + class: cn("aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Popover_content($$payload, $$props) { + push(); + let { + ref = null, + class: className, + sideOffset = 4, + align = "center", + portalProps, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Portal($$payload2, spread_props([ + portalProps, + { + children: ($$payload3) => { + $$payload3.out += ``; + Popover_content$1($$payload3, spread_props([ + { + sideOffset, + align, + class: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload3.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +const Root$2 = Popover; +const Trigger$2 = Popover_trigger; +function Separator($$payload, $$props) { + push(); + let { + ref = null, + class: className, + orientation = "horizontal", + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Separator$1($$payload2, spread_props([ + { + class: cn("bg-border shrink-0", orientation === "horizontal" ? "h-[1px] w-full" : "min-h-full w-[1px]", className), + orientation + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Tooltip_content($$payload, $$props) { + push(); + let { + ref = null, + class: className, + sideOffset = 4, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Tooltip_content$1($$payload2, spread_props([ + { + sideOffset, + class: cn("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +const Root$1 = Tooltip; +const Trigger$1 = Tooltip_trigger; +const Provider = Tooltip_provider; +function ThemeSearch($$payload, $$props) { + push(); + var $$store_subs; + let search = fallback($$props["search"], ""); + let filteredThemes = fallback($$props["filteredThemes"], () => [], true); + let onSearchInput = $$props["onSearchInput"]; + let onDarkModeToggle = $$props["onDarkModeToggle"]; + let onRandomizeTheme = $$props["onRandomizeTheme"]; + $$payload.out += `
    `; + Search($$payload, { class: "size-4 shrink-0 opacity-50" }); + $$payload.out += `
    ${escape_html(filteredThemes.length)} theme${escape_html(filteredThemes.length !== 1 ? "s" : "")}
    `; + Root$1($$payload, { + children: ($$payload2) => { + Trigger$1($$payload2, { + children: ($$payload3) => { + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ` `; + Tooltip_content($$payload2, { + side: "bottom", + children: ($$payload3) => { + $$payload3.out += `

    Toggle dark mode

    `; + }, + $$slots: { default: true } + }); + $$payload2.out += ``; + }, + $$slots: { default: true } + }); + $$payload.out += ` `; + Root$1($$payload, { + children: ($$payload2) => { + Trigger$1($$payload2, { + children: ($$payload3) => { + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ` `; + Tooltip_content($$payload2, { + side: "bottom", + children: ($$payload3) => { + $$payload3.out += `

    Random theme

    `; + }, + $$slots: { default: true } + }); + $$payload2.out += ``; + }, + $$slots: { default: true } + }); + $$payload.out += `
    `; + Separator($$payload, {}); + $$payload.out += ``; + if ($$store_subs) unsubscribe_stores($$store_subs); + bind_props($$props, { + search, + filteredThemes, + onSearchInput, + onDarkModeToggle, + onRandomizeTheme + }); + pop(); +} +function Scroll_area_scrollbar($$payload, $$props) { + push(); + let { + ref = null, + class: className, + orientation = "vertical", + children, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Scroll_area_scrollbar$1($$payload2, spread_props([ + { + orientation, + class: cn("flex touch-none select-none transition-colors", orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-px", orientation === "horizontal" && "h-2.5 w-full border-t border-t-transparent p-px", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + }, + children: ($$payload3) => { + children?.($$payload3); + $$payload3.out += ` `; + Scroll_area_thumb($$payload3, { + class: cn("bg-border relative rounded-full", orientation === "vertical" && "flex-1") + }); + $$payload3.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Scroll_area($$payload, $$props) { + push(); + let { + ref = null, + class: className, + orientation = "vertical", + scrollbarXClasses = "", + scrollbarYClasses = "", + children, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Scroll_area$1($$payload2, spread_props([ + restProps, + { + class: cn("relative overflow-hidden", className), + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + }, + children: ($$payload3) => { + $$payload3.out += ``; + Scroll_area_viewport($$payload3, { + class: "h-full w-full rounded-[inherit]", + children: ($$payload4) => { + children?.($$payload4); + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + if (orientation === "vertical" || orientation === "both") { + $$payload3.out += ""; + Scroll_area_scrollbar($$payload3, { + orientation: "vertical", + class: scrollbarYClasses + }); + } else { + $$payload3.out += ""; + } + $$payload3.out += ` `; + if (orientation === "horizontal" || orientation === "both") { + $$payload3.out += ""; + Scroll_area_scrollbar($$payload3, { + orientation: "horizontal", + class: scrollbarXClasses + }); + } else { + $$payload3.out += ""; + } + $$payload3.out += ` `; + Scroll_area_corner($$payload3, {}); + $$payload3.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function ThemeGrid($$payload, $$props) { + push(); + var $$store_subs; + let systemThemes = fallback($$props["systemThemes"], () => [], true); + let builtInThemes = fallback($$props["builtInThemes"], () => [], true); + let onThemeSelect = $$props["onThemeSelect"]; + function getThemeColors(themeInfo) { + if (store_get($$store_subs ??= {}, "$isDarkMode", isDarkMode) && themeInfo.colorsDark) { + return themeInfo.colorsDark; + } + return themeInfo.colors; + } + function handleThemeSelect(themeValue) { + onThemeSelect(themeValue); + } + Scroll_area($$payload, { + class: "h-[400px] max-h-[70vh]", + children: ($$payload2) => { + Command_empty($$payload2, { + children: ($$payload3) => { + $$payload3.out += `No themes found.`; + }, + $$slots: { default: true } + }); + $$payload2.out += ` `; + if (systemThemes.length > 0) { + $$payload2.out += ""; + Command_group($$payload2, { + heading: "System", + children: ($$payload3) => { + const each_array = ensure_array_like(systemThemes); + $$payload3.out += ``; + for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) { + let themeOption = each_array[$$index]; + if (themeOption) { + $$payload3.out += ""; + const colors = getThemeColors(themeOption); + Command_item($$payload3, { + value: themeOption.value, + onSelect: () => handleThemeSelect(themeOption.value), + class: "data-[highlighted]:bg-secondary/50 flex items-center gap-2 py-2", + children: ($$payload4) => { + $$payload4.out += `
    ${escape_html(themeOption.name)}
    `; + if (store_get($$store_subs ??= {}, "$theme", theme) === themeOption.value) { + $$payload4.out += ""; + Check($$payload4, { class: "h-4 w-4 shrink-0 opacity-70" }); + } else { + $$payload4.out += ""; + } + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + } else { + $$payload3.out += ""; + } + $$payload3.out += ``; + } + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ` `; + if (builtInThemes.length > 0) { + $$payload2.out += ""; + Separator($$payload2, { class: "my-2" }); + } else { + $$payload2.out += ""; + } + $$payload2.out += ``; + } else { + $$payload2.out += ""; + } + $$payload2.out += ` `; + if (builtInThemes.length > 0) { + $$payload2.out += ""; + Command_group($$payload2, { + heading: "Built-in Themes", + children: ($$payload3) => { + const each_array_1 = ensure_array_like(builtInThemes); + $$payload3.out += ``; + for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) { + let themeOption = each_array_1[$$index_1]; + if (themeOption) { + $$payload3.out += ""; + const colors = getThemeColors(themeOption); + Command_item($$payload3, { + value: themeOption.value, + onSelect: () => handleThemeSelect(themeOption.value), + class: "data-[highlighted]:bg-secondary/50 flex items-center gap-2 py-2", + children: ($$payload4) => { + $$payload4.out += `
    ${escape_html(themeOption.name)}
    `; + if (store_get($$store_subs ??= {}, "$theme", theme) === themeOption.value) { + $$payload4.out += ""; + Check($$payload4, { class: "h-4 w-4 shrink-0 opacity-70" }); + } else { + $$payload4.out += ""; + } + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + } else { + $$payload3.out += ""; + } + $$payload3.out += ``; + } + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + } else { + $$payload2.out += ""; + } + $$payload2.out += ``; + }, + $$slots: { default: true } + }); + if ($$store_subs) unsubscribe_stores($$store_subs); + bind_props($$props, { systemThemes, builtInThemes, onThemeSelect }); + pop(); +} +function ThemeSwitcher($$payload, $$props) { + push(); + var $$store_subs; + let filteredThemes, builtInThemes, systemThemes; + let withCycleThemes = fallback($$props["withCycleThemes"], false); + let className = fallback($$props["className"], ""); + let compact = fallback($$props["compact"], false); + let open = false; + let search = ""; + function handleThemeSelect(themeValue) { + theme.setTheme(themeValue); + open = false; + search = ""; + } + function handleDarkModeToggle() { + isDarkMode.toggle(); + } + function randomizeTheme() { + const randomIndex = Math.floor(Math.random() * store_get($$store_subs ??= {}, "$themes", themes).length); + theme.setTheme(store_get($$store_subs ??= {}, "$themes", themes)[randomIndex].value); + } + function handleSearchInput(event) { + const target = event.target; + search = target.value; + } + store_get($$store_subs ??= {}, "$themes", themes).find((t) => t.value === store_get($$store_subs ??= {}, "$theme", theme)) || store_get($$store_subs ??= {}, "$themes", themes)[0]; + filteredThemes = store_get($$store_subs ??= {}, "$themes", themes).filter((theme2) => search.trim() === "" || theme2.name.toLowerCase().includes(search.toLowerCase())); + builtInThemes = filteredThemes.filter((t) => t.value !== "system"); + systemThemes = filteredThemes.filter((t) => t.value === "system"); + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + if (compact) { + $$payload2.out += ""; + Root$2($$payload2, { + get open() { + return open; + }, + set open($$value) { + open = $$value; + $$settled = false; + }, + children: ($$payload3) => { + Trigger$2($$payload3, { + children: ($$payload4) => { + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Popover_content($$payload3, { + class: "w-[300px] p-0 border-0 bg-background shadow-2xl", + align: "end", + children: ($$payload4) => { + Command($$payload4, { + class: "h-100 w-full rounded-lg shadow-2xl bg-background", + children: ($$payload5) => { + ThemeSearch($$payload5, { + filteredThemes, + onSearchInput: handleSearchInput, + onDarkModeToggle: handleDarkModeToggle, + onRandomizeTheme: randomizeTheme, + get search() { + return search; + }, + set search($$value) { + search = $$value; + $$settled = false; + } + }); + $$payload5.out += ` `; + ThemeGrid($$payload5, { + systemThemes, + builtInThemes, + onThemeSelect: handleThemeSelect + }); + $$payload5.out += ``; + }, + $$slots: { default: true } + }); + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + } else { + $$payload2.out += ""; + $$payload2.out += `
    `; + if (withCycleThemes) { + $$payload2.out += ""; + Separator($$payload2, { orientation: "vertical", class: "min-h-8" }); + $$payload2.out += ` `; + Root$1($$payload2, { + children: ($$payload3) => { + Trigger$1($$payload3, { + children: ($$payload4) => { + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Tooltip_content($$payload3, { + children: ($$payload4) => { + $$payload4.out += `Previous theme`; + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ` `; + Separator($$payload2, { orientation: "vertical", class: "min-h-8" }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + } + $$payload2.out += ` `; + Root$2($$payload2, { + get open() { + return open; + }, + set open($$value) { + open = $$value; + $$settled = false; + }, + children: ($$payload3) => { + Trigger$2($$payload3, { + children: ($$payload4) => { + $$payload4.out += ``; + Palette($$payload4, { class: "w-5 h-5" }); + $$payload4.out += ` Change theme`; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Popover_content($$payload3, { + class: "w-[300px] p-0 border-0 bg-background shadow-2xl", + align: "center", + children: ($$payload4) => { + Command($$payload4, { + class: "h-100 w-full rounded-lg shadow-2xl bg-background p-3", + children: ($$payload5) => { + ThemeSearch($$payload5, { + filteredThemes, + onSearchInput: handleSearchInput, + onDarkModeToggle: handleDarkModeToggle, + onRandomizeTheme: randomizeTheme, + get search() { + return search; + }, + set search($$value) { + search = $$value; + $$settled = false; + } + }); + $$payload5.out += ` `; + ThemeGrid($$payload5, { + systemThemes, + builtInThemes, + onThemeSelect: handleThemeSelect + }); + $$payload5.out += ``; + }, + $$slots: { default: true } + }); + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ` `; + if (withCycleThemes) { + $$payload2.out += ""; + Separator($$payload2, { orientation: "vertical", class: "min-h-8" }); + $$payload2.out += ` `; + Root$1($$payload2, { + children: ($$payload3) => { + Trigger$1($$payload3, { + children: ($$payload4) => { + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Tooltip_content($$payload3, { + children: ($$payload4) => { + $$payload4.out += `Next theme`; + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ``; + } else { + $$payload2.out += ""; + } + $$payload2.out += `
    `; + } + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + if ($$store_subs) unsubscribe_stores($$store_subs); + bind_props($$props, { withCycleThemes, className, compact }); + pop(); +} +function Hover_card_content($$payload, $$props) { + push(); + let { + ref = null, + class: className, + align = "center", + sideOffset = 4, + portalProps, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Portal($$payload2, spread_props([ + portalProps, + { + children: ($$payload3) => { + $$payload3.out += ``; + Link_preview_content($$payload3, spread_props([ + { + align, + sideOffset, + class: cn("bg-popover text-popover-foreground z-50 mt-3 w-64 rounded-md border p-4 shadow-md outline-none", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload3.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +const Root = Link_preview; +const Trigger = Link_preview_trigger; +const badgeVariants = tv({ + base: "focus:ring-ring inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2", + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-secondary hover:text-secondary-foreground border-transparent", + secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 border-transparent", + destructive: "bg-destructive text-destructive-foreground hover:bg-secondary hover:text-secondary-foreground border-transparent", + outline: "text-foreground" + } + }, + defaultVariants: { variant: "default" } +}); +function Badge($$payload, $$props) { + push(); + let { + ref = null, + href, + class: className, + variant = "default", + children, + $$slots, + $$events, + ...restProps + } = $$props; + element( + $$payload, + href ? "a" : "span", + () => { + $$payload.out += `${spread_attributes( + { + href, + class: clsx(cn(badgeVariants({ variant }), className)), + ...restProps + } + )}`; + }, + () => { + children?.($$payload); + $$payload.out += ``; + } + ); + bind_props($$props, { ref }); + pop(); +} +function Label($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Label$1($$payload2, spread_props([ + { + class: cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Navbar($$payload, $$props) { + push(); + var $$store_subs; + let searchValue = ""; + let hostValue = typeof window !== "undefined" ? localStorage.getItem("host") || "http://127.0.0.1:3000" : "http://127.0.0.1:3000"; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + if ($$store_subs) unsubscribe_stores($$store_subs); + pop(); +} +function ErrorBoundary($$payload, $$props) { + push(); + let { + error = null, + reset: reset2 = () => window.location.reload(), + children + } = $$props; + if (error) { + $$payload.out += ""; + $$payload.out += `

    Oops! Something went wrong

    We encountered an unexpected error. Please try again.

    `; + { + $$payload.out += ""; + } + $$payload.out += `
    `; + } else { + $$payload.out += ""; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { error }); + pop(); +} +function noop() { +} +const TRANSITIONS = { + DURATION: 0.5, + EASE: [0.32, 0.72, 0, 1] +}; +const VELOCITY_THRESHOLD = 0.4; +const CLOSE_THRESHOLD = 0.25; +const SCROLL_LOCK_TIMEOUT = 100; +const BORDER_RADIUS = 8; +const NESTED_DISPLACEMENT = 16; +const WINDOW_TOP_OFFSET = 26; +const DRAG_CLASS = "vaul-dragging"; +const cache = /* @__PURE__ */ new WeakMap(); +function set(el, styles, ignoreCache = false) { + if (!el || !(el instanceof HTMLElement)) + return; + let originalStyles = {}; + Object.entries(styles).forEach(([key, value]) => { + if (key.startsWith("--")) { + el.style.setProperty(key, value); + return; + } + originalStyles[key] = el.style[key]; + el.style[key] = value; + }); + if (ignoreCache) + return; + cache.set(el, originalStyles); +} +function reset(el, prop) { + if (!el || !(el instanceof HTMLElement)) + return; + let originalStyles = cache.get(el); + if (!originalStyles) + return; + { + el.style[prop] = originalStyles[prop]; + } +} +const isVertical = (direction) => { + switch (direction) { + case "top": + case "bottom": + return true; + case "left": + case "right": + return false; + default: + return direction; + } +}; +function getTranslate(element2, direction) { + if (!element2) { + return null; + } + const style = window.getComputedStyle(element2); + const transform = ( + // @ts-expect-error - shh + style.transform || style.webkitTransform || style.mozTransform + ); + let mat = transform.match(/^matrix3d\((.+)\)$/); + if (mat) { + return parseFloat(mat[1].split(", ")[isVertical(direction) ? 13 : 12]); + } + mat = transform.match(/^matrix\((.+)\)$/); + return mat ? parseFloat(mat[1].split(", ")[isVertical(direction) ? 5 : 4]) : null; +} +function dampenValue(v) { + return 8 * (Math.log(v + 1) - 2); +} +function assignStyle(element2, style) { + if (!element2) + return () => { + }; + const prevStyle = element2.style.cssText; + Object.assign(element2.style, style); + return () => { + element2.style.cssText = prevStyle; + }; +} +function chain$1(...fns) { + return (...args) => { + for (const fn of fns) { + if (typeof fn === "function") { + fn(...args); + } + } + }; +} +function useSnapPoints({ + snapPoints, + drawerNode, + overlayNode, + fadeFromIndex, + setOpenTime, + direction, + container, + snapToSequentialPoint, + activeSnapPoint, + open, + isReleasing +}) { + let windowDimensions = typeof window !== "undefined" ? {} : void 0; + const isLastSnapPoint = activeSnapPoint.current === snapPoints.current?.[snapPoints.current.length - 1] || null; + const activeSnapPointIndex = snapPoints.current?.findIndex((snapPoint) => snapPoint === activeSnapPoint.current); + const shouldFade = snapPoints.current && snapPoints.current.length > 0 && (fadeFromIndex.current || fadeFromIndex.current === 0) && !Number.isNaN(fadeFromIndex.current) && snapPoints.current[fadeFromIndex.current] === activeSnapPoint.current || !snapPoints.current; + const snapPointsOffset = (() => { + open.current; + const containerSize = container.current ? { + width: container.current.getBoundingClientRect().width, + height: container.current.getBoundingClientRect().height + } : typeof window !== "undefined" ? { + width: window.innerWidth, + height: window.innerHeight + } : { width: 0, height: 0 }; + return snapPoints.current?.map((snapPoint) => { + const isPx = typeof snapPoint === "string"; + let snapPointAsNumber = 0; + if (isPx) { + snapPointAsNumber = parseInt(snapPoint, 10); + } + if (isVertical(direction.current)) { + const height = isPx ? snapPointAsNumber : windowDimensions ? snapPoint * containerSize.height : 0; + if (windowDimensions) { + return direction.current === "bottom" ? containerSize.height - height : -containerSize.height + height; + } + return height; + } + const width = isPx ? snapPointAsNumber : windowDimensions ? snapPoint * containerSize.width : 0; + if (windowDimensions) { + return direction.current === "right" ? containerSize.width - width : -containerSize.width + width; + } + return width; + }) ?? []; + })(); + const activeSnapPointOffset = (() => { + if (activeSnapPointIndex !== null) { + if (activeSnapPointIndex !== void 0) { + return snapPointsOffset[activeSnapPointIndex]; + } + } + return null; + })(); + function onSnapPointChange(activeSnapPointIndex2) { + if (snapPoints.current && activeSnapPointIndex2 === snapPointsOffset.length - 1) { + setOpenTime(/* @__PURE__ */ new Date()); + } + } + function snapToPoint(dimension) { + const newSnapPointIndex = snapPointsOffset?.findIndex((snapPointDim) => snapPointDim === dimension) ?? null; + onSnapPointChange(newSnapPointIndex); + set(drawerNode(), { + transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`, + transform: isVertical(direction.current) ? `translate3d(0, ${dimension}px, 0)` : `translate3d(${dimension}px, 0, 0)` + }); + if (snapPointsOffset && newSnapPointIndex !== snapPointsOffset.length - 1 && fadeFromIndex.current !== void 0 && newSnapPointIndex !== fadeFromIndex.current && newSnapPointIndex < fadeFromIndex.current) { + set(overlayNode(), { + transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`, + opacity: "0" + }); + } else { + set(overlayNode(), { + transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`, + opacity: "1" + }); + } + activeSnapPoint.current = snapPoints.current?.[Math.max(newSnapPointIndex, 0)]; + } + watch( + [ + () => activeSnapPoint.current, + () => open.current + ], + () => { + const releasing = isReleasing(); + if (!activeSnapPoint.current || releasing) return; + const newIndex = snapPoints.current?.findIndex((snapPoint) => snapPoint === activeSnapPoint.current) ?? -1; + if (snapPointsOffset && newIndex !== -1 && typeof snapPointsOffset[newIndex] === "number") { + if (snapPointsOffset[newIndex] === activeSnapPoint.current) return; + snapToPoint(snapPointsOffset[newIndex]); + } + } + ); + function onRelease({ + draggedDistance, + closeDrawer, + velocity, + dismissible + }) { + if (fadeFromIndex.current === void 0) return; + const dir = direction.current; + const currentPosition = dir === "bottom" || dir === "right" ? (activeSnapPointOffset ?? 0) - draggedDistance : (activeSnapPointOffset ?? 0) + draggedDistance; + const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex.current - 1; + const isFirst = activeSnapPointIndex === 0; + const hasDraggedUp = draggedDistance > 0; + if (isOverlaySnapPoint) { + set(overlayNode(), { + transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})` + }); + } + if (!snapToSequentialPoint.current && velocity > 2 && !hasDraggedUp) { + if (dismissible) { + closeDrawer(); + } else { + snapToPoint(snapPointsOffset[0]); + } + return; + } + if (!snapToSequentialPoint.current && velocity > 2 && hasDraggedUp && snapPointsOffset && snapPoints.current) { + snapToPoint(snapPointsOffset[snapPoints.current.length - 1]); + return; + } + const closestSnapPoint = snapPointsOffset?.reduce((prev, curr) => { + if (typeof prev !== "number" || typeof curr !== "number") return prev; + return Math.abs(curr - currentPosition) < Math.abs(prev - currentPosition) ? curr : prev; + }); + const dim = isVertical(dir) ? window.innerHeight : window.innerWidth; + if (velocity > VELOCITY_THRESHOLD && Math.abs(draggedDistance) < dim * 0.4) { + const dragDirection = hasDraggedUp ? 1 : -1; + if (dragDirection > 0 && isLastSnapPoint && snapPoints.current) { + snapToPoint(snapPointsOffset[snapPoints.current.length - 1]); + return; + } + if (isFirst && dragDirection < 0 && dismissible) { + closeDrawer(); + } + if (activeSnapPointIndex === null) return; + snapToPoint(snapPointsOffset[activeSnapPointIndex + dragDirection]); + return; + } + snapToPoint(closestSnapPoint); + } + function onDrag({ draggedDistance }) { + if (activeSnapPointOffset === null) return; + const dir = direction.current; + const newValue = isBottomOrRight(dir) ? activeSnapPointOffset - draggedDistance : activeSnapPointOffset + draggedDistance; + const lastSnapPoint = snapPointsOffset[snapPointsOffset.length - 1]; + if (isBottomOrRight(dir) && newValue < lastSnapPoint) return; + if (!isBottomOrRight(dir) && newValue > lastSnapPoint) return; + set(drawerNode(), { + transform: isVertical(dir) ? `translate3d(0, ${newValue}px, 0)` : `translate3d(${newValue}px, 0, 0)` + }); + } + function getPercentageDragged(absDraggedDistance, isDraggingDown) { + if (!snapPoints.current || typeof activeSnapPointIndex !== "number" || !snapPointsOffset || fadeFromIndex.current === void 0) { + return null; + } + const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex.current - 1; + const isOverlaySnapPointOrHigher = activeSnapPointIndex >= fadeFromIndex.current; + if (isOverlaySnapPointOrHigher && isDraggingDown) { + return 0; + } + if (isOverlaySnapPoint && !isDraggingDown) { + return 1; + } + if (!shouldFade && !isOverlaySnapPoint) { + return null; + } + const targetSnapPointIndex = isOverlaySnapPoint ? activeSnapPointIndex + 1 : activeSnapPointIndex - 1; + const snapPointDistance = isOverlaySnapPoint ? snapPointsOffset[targetSnapPointIndex] - snapPointsOffset[targetSnapPointIndex - 1] : snapPointsOffset[targetSnapPointIndex + 1] - snapPointsOffset[targetSnapPointIndex]; + const percentageDragged = absDraggedDistance / Math.abs(snapPointDistance); + if (isOverlaySnapPoint) { + return 1 - percentageDragged; + } else { + return percentageDragged; + } + } + return { + get isLastSnapPoint() { + return isLastSnapPoint; + }, + get shouldFade() { + return shouldFade; + }, + get activeSnapPointIndex() { + return activeSnapPointIndex; + }, + get snapPointsOffset() { + return snapshot(snapPointsOffset); + }, + getPercentageDragged, + onRelease, + onDrag + }; +} +function isBottomOrRight(direction) { + if (direction === "bottom" || direction === "right") return true; + return false; +} +const isBrowser = typeof document !== "undefined"; +function isMobileFirefox() { + const userAgent = navigator.userAgent; + return typeof window !== "undefined" && (/Firefox/.test(userAgent) && /Mobile/.test(userAgent) || // Android Firefox + /FxiOS/.test(userAgent)); +} +function isMac() { + return testPlatform(/^Mac/); +} +function isIPhone() { + return testPlatform(/^iPhone/); +} +function isSafari() { + return /^((?!chrome|android).)*safari/i.test(navigator.userAgent); +} +function isIPad() { + return testPlatform(/^iPad/) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support. + isMac() && navigator.maxTouchPoints > 1; +} +function isIOS() { + return isIPhone() || isIPad(); +} +function testPlatform(re) { + return typeof window !== "undefined" && window.navigator != null ? re.test(window.navigator.platform) : void 0; +} +const KEYBOARD_BUFFER = 24; +function chain(...callbacks) { + return (...args) => { + for (let callback of callbacks) { + if (typeof callback === "function") { + callback(...args); + } + } + }; +} +const visualViewport = isBrowser && window.visualViewport; +function isScrollable(node) { + let style = window.getComputedStyle(node); + return /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY); +} +function getScrollParent(node) { + if (isScrollable(node)) { + node = node.parentElement; + } + while (node && !isScrollable(node)) { + node = node.parentElement; + } + return node || document.scrollingElement || document.documentElement; +} +const nonTextInputTypes = /* @__PURE__ */ new Set([ + "checkbox", + "radio", + "range", + "color", + "file", + "image", + "button", + "submit", + "reset" +]); +let preventScrollCount = 0; +let restore; +function usePreventScroll(opts) { + watch(opts.isDisabled, () => { + if (opts.isDisabled()) { + return; + } + preventScrollCount++; + if (preventScrollCount === 1) { + if (isIOS()) { + restore = preventScrollMobileSafari(); + } + } + return () => { + preventScrollCount--; + if (preventScrollCount === 0) { + restore?.(); + } + }; + }); +} +function preventScrollMobileSafari() { + let scrollable; + let lastY = 0; + const onTouchStart = (e) => { + scrollable = getScrollParent(e.target); + if (scrollable === document.documentElement && scrollable === document.body) { + return; + } + lastY = e.changedTouches[0].pageY; + }; + let onTouchMove = (e) => { + if (!scrollable || scrollable === document.documentElement || scrollable === document.body) { + e.preventDefault(); + return; + } + let y = e.changedTouches[0].pageY; + let scrollTop = scrollable.scrollTop; + let bottom = scrollable.scrollHeight - scrollable.clientHeight; + if (bottom === 0) { + return; + } + if (scrollTop <= 0 && y > lastY || scrollTop >= bottom && y < lastY) { + e.preventDefault(); + } + lastY = y; + }; + let onTouchEnd = (e) => { + let target = e.target; + if (isInput(target) && target !== document.activeElement) { + e.preventDefault(); + target.style.transform = "translateY(-2000px)"; + target.focus(); + requestAnimationFrame(() => { + target.style.transform = ""; + }); + } + }; + const onFocus = (e) => { + let target = e.target; + if (isInput(target)) { + target.style.transform = "translateY(-2000px)"; + requestAnimationFrame(() => { + target.style.transform = ""; + if (visualViewport) { + if (visualViewport.height < window.innerHeight) { + requestAnimationFrame(() => { + scrollIntoView(target); + }); + } else { + visualViewport.addEventListener("resize", () => scrollIntoView(target), { once: true }); + } + } + }); + } + }; + let onWindowScroll = () => { + window.scrollTo(0, 0); + }; + let scrollX = window.pageXOffset; + let scrollY = window.pageYOffset; + let restoreStyles = chain(setStyle(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`)); + window.scrollTo(0, 0); + let removeEvents = chain(on(document, "touchstart", onTouchStart, { passive: false, capture: true }), on(document, "touchmove", onTouchMove, { passive: false, capture: true }), on(document, "touchend", onTouchEnd, { passive: false, capture: true }), on(document, "focus", onFocus, { capture: true }), on(window, "scroll", onWindowScroll)); + return () => { + restoreStyles(); + removeEvents(); + window.scrollTo(scrollX, scrollY); + }; +} +function setStyle(element2, style, value) { + let cur = element2.style[style]; + element2.style[style] = value; + return () => { + element2.style[style] = cur; + }; +} +function scrollIntoView(target) { + let root = document.scrollingElement || document.documentElement; + while (target && target !== root) { + let scrollable = getScrollParent(target); + if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) { + let scrollableTop = scrollable.getBoundingClientRect().top; + let targetTop = target.getBoundingClientRect().top; + let targetBottom = target.getBoundingClientRect().bottom; + const keyboardHeight = scrollable.getBoundingClientRect().bottom + KEYBOARD_BUFFER; + if (targetBottom > keyboardHeight) { + scrollable.scrollTop += targetTop - scrollableTop; + } + } + target = scrollable.parentElement; + } +} +function isInput(target) { + return target instanceof HTMLInputElement && !nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable; +} +let previousBodyPosition = null; +function usePositionFixed({ + open, + modal, + nested, + hasBeenOpened, + preventScrollRestoration, + noBodyStyles +}) { + let activeUrl = typeof window !== "undefined" ? window.location.href : ""; + let scrollPos = 0; + function setPositionFixed() { + if (!isSafari()) return; + if (previousBodyPosition === null && open.current && !noBodyStyles.current) { + previousBodyPosition = { + position: document.body.style.position, + top: document.body.style.top, + left: document.body.style.left, + height: document.body.style.height, + right: "unset" + }; + const { scrollX, innerHeight } = window; + document.body.style.setProperty("position", "fixed", "important"); + Object.assign(document.body.style, { + top: `${-scrollPos}px`, + left: `${-scrollX}px`, + right: "0px", + height: "auto" + }); + window.setTimeout( + () => window.requestAnimationFrame(() => { + const bottomBarHeight = innerHeight - window.innerHeight; + if (bottomBarHeight && scrollPos >= innerHeight) { + document.body.style.top = `${-(scrollPos + bottomBarHeight)}px`; + } + }), + 300 + ); + } + } + function restorePositionSetting() { + if (!isSafari()) return; + if (previousBodyPosition !== null && !noBodyStyles.current) { + const y = -parseInt(document.body.style.top, 10); + const x = -parseInt(document.body.style.left, 10); + Object.assign(document.body.style, previousBodyPosition); + window.requestAnimationFrame(() => { + if (preventScrollRestoration.current && activeUrl !== window.location.href) { + activeUrl = window.location.href; + return; + } + window.scrollTo(x, y); + }); + previousBodyPosition = null; + } + } + watch([() => modal.current, () => activeUrl], () => { + if (!modal.current) return; + return () => { + if (typeof document === "undefined") return; + const hasDrawerOpened = !!document.querySelector("[data-vaul-drawer]"); + if (hasDrawerOpened) return; + restorePositionSetting(); + }; + }); + watch( + [ + () => open.current, + () => hasBeenOpened(), + () => activeUrl, + () => modal.current, + () => nested.current + ], + () => { + if (nested.current || !hasBeenOpened()) return; + if (open.current) { + const isStandalone = window.matchMedia("(display-mode: standalone)").matches; + !isStandalone && setPositionFixed(); + if (!modal.current) { + window.setTimeout( + () => { + restorePositionSetting(); + }, + 500 + ); + } + } else { + restorePositionSetting(); + } + } + ); + return { restorePositionSetting }; +} +const DrawerContext = new Context("Drawer.Root"); +function useDrawerRoot(opts) { + let hasBeenOpened = false; + let isDragging = false; + let justReleased = false; + let overlayNode = null; + let drawerNode = null; + let openTime = null; + let dragStartTime = null; + let dragEndTime = null; + let lastTimeDragPrevented = null; + let isAllowedToDrag = false; + let nestedOpenChangeTimer = null; + let pointerStart = 0; + let keyboardIsOpen = box(false); + let shouldAnimate = !opts.open.current; + let previousDiffFromInitial = 0; + let drawerHeight = 0; + let drawerWidth = 0; + let initialDrawerHeight = 0; + let isReleasing = false; + const snapPointsState = useSnapPoints({ + snapPoints: opts.snapPoints, + drawerNode: () => drawerNode, + activeSnapPoint: opts.activeSnapPoint, + container: opts.container, + direction: opts.direction, + fadeFromIndex: opts.fadeFromIndex, + overlayNode: () => overlayNode, + setOpenTime: (time) => { + openTime = time; + }, + snapToSequentialPoint: opts.snapToSequentialPoint, + open: opts.open, + isReleasing: () => isReleasing + }); + usePreventScroll({ + isDisabled: () => !opts.open.current || isDragging || !opts.modal.current || justReleased || !hasBeenOpened || !opts.repositionInputs.current || !opts.disablePreventScroll.current + }); + const { restorePositionSetting } = usePositionFixed({ ...opts, hasBeenOpened: () => hasBeenOpened }); + function getScale() { + return (window.innerWidth - WINDOW_TOP_OFFSET) / window.innerWidth; + } + function onPress(event) { + if (!opts.dismissible.current && !opts.snapPoints.current) return; + if (drawerNode && !drawerNode.contains(event.target)) return; + drawerHeight = drawerNode?.getBoundingClientRect().height || 0; + drawerWidth = drawerNode?.getBoundingClientRect().width || 0; + isDragging = true; + dragStartTime = /* @__PURE__ */ new Date(); + if (isIOS()) { + on(window, "touchend", () => isAllowedToDrag = false, { once: true }); + } + event.target.setPointerCapture(event.pointerId); + pointerStart = isVertical(opts.direction.current) ? event.pageY : event.pageX; + } + function shouldDrag(el, isDraggingInDirection) { + let element2 = el; + const highlightedText = window.getSelection()?.toString(); + const swipeAmount = drawerNode ? getTranslate(drawerNode, opts.direction.current) : null; + const date = /* @__PURE__ */ new Date(); + if (element2.tagName === "SELECT") return false; + if (element2.hasAttribute("data-vaul-no-drag") || element2.closest("[data-vaul-no-drag]")) { + return false; + } + if (opts.direction.current === "right" || opts.direction.current === "left") { + return true; + } + if (openTime && date.getTime() - openTime.getTime() < 500) { + return false; + } + if (swipeAmount !== null) { + if (opts.direction.current === "bottom" ? swipeAmount > 0 : swipeAmount < 0) { + return true; + } + } + if (highlightedText && highlightedText.length > 0) { + return false; + } + if (lastTimeDragPrevented && date.getTime() - lastTimeDragPrevented.getTime() < opts.scrollLockTimeout.current && swipeAmount === 0) { + lastTimeDragPrevented = date; + return false; + } + if (isDraggingInDirection) { + lastTimeDragPrevented = date; + return false; + } + while (element2) { + if (element2.scrollHeight > element2.clientHeight) { + if (element2.scrollTop !== 0) { + lastTimeDragPrevented = /* @__PURE__ */ new Date(); + return false; + } + if (element2.getAttribute("role") === "dialog") { + return true; + } + } + element2 = element2.parentNode; + } + return true; + } + function onDrag(event) { + if (!drawerNode || !isDragging) return; + const directionMultiplier = opts.direction.current === "bottom" || opts.direction.current === "right" ? 1 : -1; + const draggedDistance = (pointerStart - (isVertical(opts.direction.current) ? event.pageY : event.pageX)) * directionMultiplier; + const isDraggingInDirection = draggedDistance > 0; + const noCloseSnapPointsPreCondition = opts.snapPoints.current && !opts.dismissible.current && !isDraggingInDirection; + if (noCloseSnapPointsPreCondition && snapPointsState.activeSnapPointIndex === 0) return; + const absDraggedDistance = Math.abs(draggedDistance); + const wrapper = document.querySelector("[data-vaul-drawer-wrapper]"); + const drawerDimension = opts.direction.current === "bottom" || opts.direction.current === "top" ? drawerHeight : drawerWidth; + let percentageDragged = absDraggedDistance / drawerDimension; + const snapPointPercentageDragged = snapPointsState.getPercentageDragged(absDraggedDistance, isDraggingInDirection); + if (snapPointPercentageDragged !== null) { + percentageDragged = snapPointPercentageDragged; + } + if (noCloseSnapPointsPreCondition && percentageDragged >= 1) { + return; + } + if (!isAllowedToDrag && !shouldDrag(event.target, isDraggingInDirection)) return; + drawerNode.classList.add(DRAG_CLASS); + isAllowedToDrag = true; + set(drawerNode, { transition: "none" }); + set(overlayNode, { transition: "none" }); + if (opts.snapPoints.current) { + snapPointsState.onDrag({ draggedDistance }); + } + if (isDraggingInDirection && !opts.snapPoints.current) { + const dampenedDraggedDistance = dampenValue(draggedDistance); + const translateValue = Math.min(dampenedDraggedDistance * -1, 0) * directionMultiplier; + set(drawerNode, { + transform: isVertical(opts.direction.current) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)` + }); + return; + } + const opacityValue = 1 - percentageDragged; + if (snapPointsState.shouldFade || opts.fadeFromIndex.current && snapPointsState.activeSnapPointIndex === opts.fadeFromIndex.current - 1) { + opts.onDrag.current?.(event, percentageDragged); + set( + overlayNode, + { + opacity: `${opacityValue}`, + transition: "none" + }, + true + ); + } + if (wrapper && overlayNode && opts.shouldScaleBackground.current) { + const scaleValue = Math.min(getScale() + percentageDragged * (1 - getScale()), 1); + const borderRadiusValue = 8 - percentageDragged * 8; + const translateValue = Math.max(0, 14 - percentageDragged * 14); + set( + wrapper, + { + borderRadius: `${borderRadiusValue}px`, + transform: isVertical(opts.direction.current) ? `scale(${scaleValue}) translate3d(0, ${translateValue}px, 0)` : `scale(${scaleValue}) translate3d(${translateValue}px, 0, 0)`, + transition: "none" + }, + true + ); + } + if (!opts.snapPoints.current) { + const translateValue = absDraggedDistance * directionMultiplier; + set(drawerNode, { + transform: isVertical(opts.direction.current) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)` + }); + } + } + function onDialogOpenChange(o) { + if (!opts.dismissible.current && !o) return; + if (o) { + hasBeenOpened = true; + } else { + closeDrawer(true); + } + opts.open.current = o; + } + function onVisualViewportChange() { + if (!drawerNode || !opts.repositionInputs.current) return; + const focusedElement = document.activeElement; + if (isInput(focusedElement) || keyboardIsOpen.current) { + const visualViewportHeight = window.visualViewport?.height || 0; + const totalHeight = window.innerHeight; + let diffFromInitial = totalHeight - visualViewportHeight; + const drawerHeight2 = drawerNode.getBoundingClientRect().height || 0; + const isTallEnough = drawerHeight2 > totalHeight * 0.8; + if (!initialDrawerHeight) { + initialDrawerHeight = drawerHeight2; + } + const offsetFromTop = drawerNode.getBoundingClientRect().top; + if (Math.abs(previousDiffFromInitial - diffFromInitial) > 60) { + keyboardIsOpen.current = !keyboardIsOpen.current; + } + if (opts.snapPoints.current && opts.snapPoints.current.length > 0 && snapPointsState.snapPointsOffset && snapPointsState.activeSnapPointIndex) { + const activeSnapPointHeight = snapPointsState.snapPointsOffset[snapPointsState.activeSnapPointIndex] || 0; + diffFromInitial += activeSnapPointHeight; + } + previousDiffFromInitial = diffFromInitial; + if (drawerHeight2 > visualViewportHeight || keyboardIsOpen.current) { + const height = drawerNode.getBoundingClientRect().height; + let newDrawerHeight = height; + if (height > visualViewportHeight) { + newDrawerHeight = visualViewportHeight - (isTallEnough ? offsetFromTop : WINDOW_TOP_OFFSET); + } + if (opts.fixed.current) { + drawerNode.style.height = `${height - Math.max(diffFromInitial, 0)}px`; + } else { + drawerNode.style.height = `${Math.max(newDrawerHeight, visualViewportHeight - offsetFromTop)}px`; + } + } else if (!isMobileFirefox()) { + drawerNode.style.height = `${initialDrawerHeight}px`; + } + if (opts.snapPoints.current && opts.snapPoints.current.length > 0 && !keyboardIsOpen.current) { + drawerNode.style.bottom = `0px`; + } else { + drawerNode.style.bottom = `${Math.max(diffFromInitial, 0)}px`; + } + } + } + watch( + [ + () => snapPointsState.activeSnapPointIndex, + () => opts.snapPoints.current, + () => snapPointsState.snapPointsOffset, + () => drawerNode + ], + () => { + if (!window.visualViewport) return; + return on(window.visualViewport, "resize", onVisualViewportChange); + } + ); + function cancelDrag() { + if (!isDragging || !drawerNode) return; + drawerNode.classList.remove(DRAG_CLASS); + isAllowedToDrag = false; + isDragging = false; + dragEndTime = /* @__PURE__ */ new Date(); + } + function closeDrawer(fromWithin) { + cancelDrag(); + opts.onClose?.current(); + if (!fromWithin) { + handleOpenChange(false); + opts.open.current = false; + } + window.setTimeout( + () => { + if (opts.snapPoints.current && opts.snapPoints.current.length > 0) { + opts.activeSnapPoint.current = opts.snapPoints.current[0]; + } + }, + TRANSITIONS.DURATION * 1e3 + ); + } + function resetDrawer() { + if (!drawerNode) return; + const wrapper = document.querySelector("[data-vaul-drawer-wrapper]"); + const currentSwipeAmount = getTranslate(drawerNode, opts.direction.current); + set(drawerNode, { + transform: "translate3d(0, 0, 0)", + transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})` + }); + set(overlayNode, { + transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`, + opacity: "1" + }); + if (opts.shouldScaleBackground.current && currentSwipeAmount && currentSwipeAmount > 0 && opts.open.current) { + set( + wrapper, + { + borderRadius: `${BORDER_RADIUS}px`, + overflow: "hidden", + ...isVertical(opts.direction.current) ? { + transform: `scale(${getScale()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`, + transformOrigin: "top" + } : { + transform: `scale(${getScale()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`, + transformOrigin: "left" + }, + transitionProperty: "transform, border-radius", + transitionDuration: `${TRANSITIONS.DURATION}s`, + transitionTimingFunction: `cubic-bezier(${TRANSITIONS.EASE.join(",")})` + }, + true + ); + } + } + function onRelease(event) { + isReleasing = true; + handleRelease(event); + afterTick(() => { + isReleasing = false; + }); + } + function handleRelease(event) { + if (!isDragging || !drawerNode) return; + drawerNode.classList.remove(DRAG_CLASS); + isAllowedToDrag = false; + isDragging = false; + dragEndTime = /* @__PURE__ */ new Date(); + const swipeAmount = getTranslate(drawerNode, opts.direction.current); + if (!event || event.target && !shouldDrag(event.target, false) || !swipeAmount || Number.isNaN(swipeAmount)) { + return; + } + if (dragStartTime === null) return; + const timeTaken = dragEndTime.getTime() - dragStartTime.getTime(); + const distMoved = pointerStart - (isVertical(opts.direction.current) ? event.pageY : event.pageX); + const velocity = Math.abs(distMoved) / timeTaken; + if (velocity > 0.05) { + justReleased = true; + setTimeout( + () => { + justReleased = false; + }, + 200 + ); + } + if (opts.snapPoints.current) { + const directionMultiplier = opts.direction.current === "bottom" || opts.direction.current === "right" ? 1 : -1; + snapPointsState.onRelease({ + draggedDistance: distMoved * directionMultiplier, + closeDrawer, + velocity, + dismissible: opts.dismissible.current + }); + opts.onRelease.current?.(event, true); + return; + } + if (opts.direction.current === "bottom" || opts.direction.current === "right" ? distMoved > 0 : distMoved < 0) { + resetDrawer(); + opts.onRelease.current?.(event, true); + return; + } + if (velocity > VELOCITY_THRESHOLD) { + closeDrawer(); + opts.onRelease.current?.(event, false); + return; + } + const visibleDrawerHeight = Math.min(drawerNode.getBoundingClientRect().height ?? 0, window.innerHeight); + const visibleDrawerWidth = Math.min(drawerNode.getBoundingClientRect().width ?? 0, window.innerWidth); + const isHorizontalSwipe = opts.direction.current === "left" || opts.direction.current === "right"; + if (Math.abs(swipeAmount) >= (isHorizontalSwipe ? visibleDrawerWidth : visibleDrawerHeight) * opts.closeThreshold.current) { + closeDrawer(); + opts.onRelease.current?.(event, false); + return; + } + opts.onRelease.current?.(event, true); + resetDrawer(); + } + watch(() => opts.open.current, () => { + if (opts.open.current) { + set(document.documentElement, { scrollBehavior: "auto" }); + openTime = /* @__PURE__ */ new Date(); + } + return () => { + reset(document.documentElement, "scrollBehavior"); + }; + }); + function onNestedOpenChange(o) { + const scale = o ? (window.innerWidth - NESTED_DISPLACEMENT) / window.innerWidth : 1; + const initialTranslate = o ? -NESTED_DISPLACEMENT : 0; + if (nestedOpenChangeTimer) { + window.clearTimeout(nestedOpenChangeTimer); + } + set(drawerNode, { + transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`, + transform: isVertical(opts.direction.current) ? `scale(${scale}) translate3d(0, ${initialTranslate}px, 0)` : `scale(${scale}) translate3d(${initialTranslate}px, 0, 0)` + }); + if (!o && drawerNode) { + nestedOpenChangeTimer = window.setTimeout( + () => { + const translateValue = getTranslate(drawerNode, opts.direction.current); + set(drawerNode, { + transition: "none", + transform: isVertical(opts.direction.current) ? `translate3d(0, ${translateValue}px, 0)` : `translate3d(${translateValue}px, 0, 0)` + }); + }, + 500 + ); + } + } + function onNestedDrag(_event, percentageDragged) { + if (percentageDragged < 0) return; + const initialScale = (window.innerWidth - NESTED_DISPLACEMENT) / window.innerWidth; + const newScale = initialScale + percentageDragged * (1 - initialScale); + const newTranslate = -NESTED_DISPLACEMENT + percentageDragged * NESTED_DISPLACEMENT; + set(drawerNode, { + transform: isVertical(opts.direction.current) ? `scale(${newScale}) translate3d(0, ${newTranslate}px, 0)` : `scale(${newScale}) translate3d(${newTranslate}px, 0, 0)`, + transition: "none" + }); + } + function onNestedRelease(_event, o) { + const dim = isVertical(opts.direction.current) ? window.innerHeight : window.innerWidth; + const scale = o ? (dim - NESTED_DISPLACEMENT) / dim : 1; + const translate = o ? -NESTED_DISPLACEMENT : 0; + if (o) { + set(drawerNode, { + transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`, + transform: isVertical(opts.direction.current) ? `scale(${scale}) translate3d(0, ${translate}px, 0)` : `scale(${scale}) translate3d(${translate}px, 0, 0)` + }); + } + } + let bodyStyles; + function handleOpenChange(o) { + opts.onOpenChange.current?.(o); + if (o && !opts.nested.current) { + bodyStyles = document.body.style.cssText; + } else if (!o && !opts.nested.current) { + afterSleep(TRANSITIONS.DURATION * 1e3, () => { + document.body.style.cssText = bodyStyles; + }); + } + if (!o && !opts.nested.current) { + restorePositionSetting(); + } + setTimeout( + () => { + opts.onAnimationEnd.current?.(o); + }, + TRANSITIONS.DURATION * 1e3 + ); + if (o && !opts.modal.current) { + if (typeof window !== "undefined") { + window.requestAnimationFrame(() => { + document.body.style.pointerEvents = "auto"; + }); + } + } + if (!o) { + document.body.style.pointerEvents = "auto"; + } + } + watch(() => opts.modal.current, () => { + if (!opts.modal.current) { + window.requestAnimationFrame(() => { + document.body.style.pointerEvents = "auto"; + }); + } + }); + function setOverlayNode(node) { + overlayNode = node; + } + function setDrawerNode(node) { + drawerNode = node; + } + return DrawerContext.set({ + ...opts, + keyboardIsOpen, + closeDrawer, + setDrawerNode, + setOverlayNode, + onDrag, + onNestedDrag, + onNestedOpenChange, + onNestedRelease, + onRelease, + onPress, + onDialogOpenChange, + get shouldAnimate() { + return shouldAnimate; + }, + get isDragging() { + return isDragging; + }, + get overlayNode() { + return overlayNode; + }, + get drawerNode() { + return drawerNode; + }, + get snapPointsOffset() { + return snapPointsState.snapPointsOffset; + }, + get shouldFade() { + return snapPointsState.shouldFade; + }, + restorePositionSetting, + handleOpenChange + }); +} +function Drawer$1($$payload, $$props) { + push(); + let { + open = false, + onOpenChange = noop, + onDrag = noop, + onRelease = noop, + snapPoints, + shouldScaleBackground = false, + setBackgroundColorOnScale = true, + closeThreshold = CLOSE_THRESHOLD, + scrollLockTimeout = SCROLL_LOCK_TIMEOUT, + dismissible = true, + handleOnly = false, + fadeFromIndex = snapPoints && snapPoints.length - 1, + activeSnapPoint = null, + onActiveSnapPointChange = noop, + fixed = false, + modal = true, + onClose = noop, + nested = false, + noBodyStyles = false, + direction = "bottom", + snapToSequentialPoint = false, + preventScrollRestoration = false, + repositionInputs = true, + onAnimationEnd = noop, + container = null, + autoFocus = false, + disablePreventScroll = true, + $$slots, + $$events, + ...restProps + } = $$props; + const rootState = useDrawerRoot({ + open: box.with(() => open, (o) => { + open = o; + rootState.handleOpenChange(o); + }), + closeThreshold: box.with(() => closeThreshold), + scrollLockTimeout: box.with(() => scrollLockTimeout), + snapPoints: box.with(() => snapPoints), + fadeFromIndex: box.with(() => fadeFromIndex), + nested: box.with(() => nested), + shouldScaleBackground: box.with(() => shouldScaleBackground), + activeSnapPoint: box.with(() => activeSnapPoint, (v) => { + activeSnapPoint = v; + onActiveSnapPointChange(v); + }), + onRelease: box.with(() => onRelease), + onDrag: box.with(() => onDrag), + onClose: box.with(() => onClose), + dismissible: box.with(() => dismissible), + direction: box.with(() => direction), + fixed: box.with(() => fixed), + modal: box.with(() => modal), + handleOnly: box.with(() => handleOnly), + noBodyStyles: box.with(() => noBodyStyles), + preventScrollRestoration: box.with(() => preventScrollRestoration), + setBackgroundColorOnScale: box.with(() => setBackgroundColorOnScale), + repositionInputs: box.with(() => repositionInputs), + autoFocus: box.with(() => autoFocus), + snapToSequentialPoint: box.with(() => snapToSequentialPoint), + container: box.with(() => container), + disablePreventScroll: box.with(() => disablePreventScroll), + onOpenChange: box.with(() => onOpenChange), + onAnimationEnd: box.with(() => onAnimationEnd) + }); + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + var bind_get = () => rootState.open.current; + var bind_set = (o) => { + rootState.onDialogOpenChange(o); + }; + $$payload2.out += ``; + Dialog($$payload2, spread_props([ + { + get open() { + return bind_get(); + }, + set open($$value) { + bind_set($$value); + } + }, + restProps + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { open, activeSnapPoint }); + pop(); +} +globalThis.vaulIdCounter ??= { current: 0 }; +function useId(prefix = "vaul-svelte") { + globalThis.vaulIdCounter.current++; + return `${prefix}-${globalThis.vaulIdCounter.current}`; +} +function useScaleBackground() { + const ctx = DrawerContext.get(); + let timeoutId = null; + const initialBackgroundColor = typeof document !== "undefined" ? document.body.style.backgroundColor : ""; + function getScale() { + return (window.innerWidth - WINDOW_TOP_OFFSET) / window.innerWidth; + } + watch( + [ + () => ctx.open.current, + () => ctx.shouldScaleBackground.current, + () => ctx.setBackgroundColorOnScale.current + ], + () => { + if (ctx.open.current && ctx.shouldScaleBackground.current) { + if (timeoutId) clearTimeout(timeoutId); + const wrapper = document.querySelector("[data-vaul-drawer-wrapper]") || document.querySelector("[data-vaul-drawer-wrapper]"); + if (!wrapper) return; + chain$1(ctx.setBackgroundColorOnScale.current && !ctx.noBodyStyles.current ? assignStyle(document.body, { background: "black" }) : noop, assignStyle(wrapper, { + transformOrigin: isVertical(ctx.direction.current) ? "top" : "left", + transitionProperty: "transform, border-radius", + transitionDuration: `${TRANSITIONS.DURATION}s`, + transitionTimingFunction: `cubic-bezier(${TRANSITIONS.EASE.join(",")})` + })); + const wrapperStylesCleanup = assignStyle(wrapper, { + borderRadius: `${BORDER_RADIUS}px`, + overflow: "hidden", + ...isVertical(ctx.direction.current) ? { + transform: `scale(${getScale()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)` + } : { + transform: `scale(${getScale()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)` + } + }); + return () => { + wrapperStylesCleanup(); + timeoutId = window.setTimeout( + () => { + if (initialBackgroundColor) { + document.body.style.background = initialBackgroundColor; + } else { + document.body.style.removeProperty("background"); + } + }, + TRANSITIONS.DURATION * 1e3 + ); + }; + } + } + ); +} +function useDrawerContent(opts) { + const ctx = DrawerContext.get(); + let mounted = false; + useRefById({ + id: opts.id, + ref: opts.ref, + deps: () => [mounted, ctx.open.current], + onRefChange: (node) => { + if (!mounted) { + ctx.setDrawerNode(null); + } else { + ctx.setDrawerNode(node); + } + } + }); + let delayedSnapPoints = false; + let pointerStart = null; + let lastKnownPointerEvent = null; + let wasBeyondThePoint = false; + const hasSnapPoints = ctx.snapPoints.current && ctx.snapPoints.current.length > 0; + useScaleBackground(); + function isDeltaInDirection(delta, direction, threshold = 0) { + if (wasBeyondThePoint) return true; + const deltaY = Math.abs(delta.y); + const deltaX = Math.abs(delta.x); + const isDeltaX = deltaX > deltaY; + const dFactor = ["bottom", "right"].includes(direction) ? 1 : -1; + if (direction === "left" || direction === "right") { + const isReverseDirection = delta.x * dFactor < 0; + if (!isReverseDirection && deltaX >= 0 && deltaX <= threshold) { + return isDeltaX; + } + } else { + const isReverseDirection = delta.y * dFactor < 0; + if (!isReverseDirection && deltaY >= 0 && deltaY <= threshold) { + return !isDeltaX; + } + } + wasBeyondThePoint = true; + return true; + } + watch([() => hasSnapPoints, () => ctx.open.current], () => { + if (hasSnapPoints && ctx.open.current) { + window.requestAnimationFrame(() => { + delayedSnapPoints = true; + }); + } else { + delayedSnapPoints = false; + } + }); + function handleOnPointerUp(e) { + pointerStart = null; + wasBeyondThePoint = false; + ctx.onRelease(e); + } + function onpointerdown(e) { + if (ctx.handleOnly.current) return; + opts.onpointerdown.current?.(e); + pointerStart = { x: e.pageX, y: e.pageY }; + ctx.onPress(e); + } + function onOpenAutoFocus(e) { + opts.onOpenAutoFocus.current?.(e); + if (!ctx.autoFocus.current) { + e.preventDefault(); + } + } + function onInteractOutside(e) { + opts.onInteractOutside.current?.(e); + if (!ctx.modal.current || e.defaultPrevented) { + e.preventDefault(); + return; + } + if (ctx.keyboardIsOpen.current) { + ctx.keyboardIsOpen.current = false; + } + } + function onFocusOutside(e) { + if (!ctx.modal.current) { + e.preventDefault(); + return; + } + } + function onpointermove(e) { + lastKnownPointerEvent = e; + if (ctx.handleOnly.current) return; + opts.onpointermove.current?.(e); + if (!pointerStart) return; + const yPosition = e.pageY - pointerStart.y; + const xPosition = e.pageX - pointerStart.x; + const swipeStartThreshold = e.pointerType === "touch" ? 10 : 2; + const delta = { x: xPosition, y: yPosition }; + const isAllowedToSwipe = isDeltaInDirection(delta, ctx.direction.current, swipeStartThreshold); + if (isAllowedToSwipe) { + ctx.onDrag(e); + } else if (Math.abs(xPosition) > swipeStartThreshold || Math.abs(yPosition) > swipeStartThreshold) { + pointerStart = null; + } + } + function onpointerup(e) { + opts.onpointerup.current?.(e); + pointerStart = null; + wasBeyondThePoint = false; + ctx.onRelease(e); + } + function onpointerout(e) { + opts.onpointerout.current?.(e); + handleOnPointerUp(lastKnownPointerEvent); + } + function oncontextmenu(e) { + opts.oncontextmenu.current?.(e); + if (lastKnownPointerEvent) { + handleOnPointerUp(lastKnownPointerEvent); + } + } + const props = { + id: opts.id.current, + "data-vaul-drawer-direction": ctx.direction.current, + "data-vaul-drawer": "", + "data-vaul-delayed-snap-points": delayedSnapPoints ? "true" : "false", + "data-vaul-snap-points": ctx.open.current && hasSnapPoints ? "true" : "false", + "data-vaul-custom-container": ctx.container.current ? "true" : "false", + "data-vaul-animate": ctx.shouldAnimate ? "true" : "false", + onpointerdown, + onOpenAutoFocus, + onInteractOutside, + onFocusOutside, + onpointerup, + onpointermove, + onpointerout, + oncontextmenu, + preventScroll: ctx.modal.current + }; + return { + get props() { + return props; + }, + ctx, + setMounted: (value) => { + mounted = value; + } + }; +} +function Mounted($$payload, $$props) { + push(); + let { onMounted } = $$props; + pop(); +} +function Drawer_content$1($$payload, $$props) { + push(); + let { + id = useId(), + ref = null, + onOpenAutoFocus = noop, + onInteractOutside = noop, + onFocusOutside = noop, + oncontextmenu = noop, + onpointerdown = noop, + onpointerup = noop, + onpointerout = noop, + onpointermove = noop, + children, + $$slots, + $$events, + ...restProps + } = $$props; + const contentState = useDrawerContent({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v), + oncontextmenu: box.with(() => oncontextmenu ?? noop), + onInteractOutside: box.with(() => onInteractOutside), + onpointerdown: box.with(() => onpointerdown ?? noop), + onpointermove: box.with(() => onpointermove ?? noop), + onpointerout: box.with(() => onpointerout ?? noop), + onpointerup: box.with(() => onpointerup ?? noop), + onOpenAutoFocus: box.with(() => onOpenAutoFocus), + onFocusOutside: box.with(() => onFocusOutside) + }); + const snapPointsOffset = contentState.ctx.snapPointsOffset; + const styleProp = snapPointsOffset && snapPointsOffset.length > 0 ? { + "--snap-point-height": `${snapPointsOffset[contentState.ctx.activeSnapPointIndex ?? 0]}px` + } : {}; + const mergedProps = mergeProps(restProps, contentState.props, { style: styleProp }); + $$payload.out += ``; + Dialog_content($$payload, spread_props([ + mergedProps, + { + children: ($$payload2) => { + children?.($$payload2); + $$payload2.out += ` `; + Mounted($$payload2, { onMounted: contentState.setMounted }); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function useDrawerOverlay(opts) { + const ctx = DrawerContext.get(); + let mounted = false; + useRefById({ + id: opts.id, + ref: opts.ref, + deps: () => mounted, + onRefChange: (node) => { + if (!mounted) { + ctx.setOverlayNode(null); + } else { + ctx.setOverlayNode(node); + } + } + }); + const hasSnapPoints = ctx.snapPoints.current && ctx.snapPoints.current.length > 0; + const shouldRender = ctx.modal.current; + const props = { + id: opts.id.current, + onmouseup: ctx.onRelease, + "data-vaul-overlay": "", + "data-vaul-snap-points": ctx.open.current && hasSnapPoints ? "true" : "false", + "data-vaul-snap-points-overlay": ctx.open.current && ctx.shouldFade ? "true" : "false", + "data-vaul-animate": ctx.shouldAnimate ? "true" : "false" + }; + return { + get props() { + return props; + }, + get shouldRender() { + return shouldRender; + }, + setMounted: (value) => { + mounted = value; + } + }; +} +function Drawer_overlay$1($$payload, $$props) { + push(); + let { + id = useId(), + ref = null, + children, + $$slots, + $$events, + ...restProps + } = $$props; + const overlayState = useDrawerOverlay({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, overlayState.props); + if (overlayState.shouldRender) { + $$payload.out += ""; + $$payload.out += ``; + Dialog_overlay($$payload, spread_props([ + mergedProps, + { + children: ($$payload2) => { + Mounted($$payload2, { onMounted: overlayState.setMounted }); + $$payload2.out += ` `; + children?.($$payload2); + $$payload2.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload.out += ``; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Drawer_portal($$payload, $$props) { + push(); + const ctx = DrawerContext.get(); + let { + to = ctx.container.current ?? void 0, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + Portal($$payload, spread_props([{ to }, restProps])); + $$payload.out += ``; + pop(); +} +const Title = Dialog_title; +const Description = Dialog_description; +function Drawer($$payload, $$props) { + push(); + let { + shouldScaleBackground = true, + open = false, + activeSnapPoint = null, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Drawer$1($$payload2, spread_props([ + { shouldScaleBackground }, + restProps, + { + get open() { + return open; + }, + set open($$value) { + open = $$value; + $$settled = false; + }, + get activeSnapPoint() { + return activeSnapPoint; + }, + set activeSnapPoint($$value) { + activeSnapPoint = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { open, activeSnapPoint }); + pop(); +} +function Drawer_overlay($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Drawer_overlay$1($$payload2, spread_props([ + { + class: cn("fixed inset-0 z-50 bg-black/80", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Drawer_content($$payload, $$props) { + push(); + let { + ref = null, + class: className, + portalProps, + children, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Drawer_portal($$payload2, spread_props([ + portalProps, + { + children: ($$payload3) => { + Drawer_overlay($$payload3, {}); + $$payload3.out += ` `; + Drawer_content$1($$payload3, spread_props([ + { + class: cn("bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + }, + children: ($$payload4) => { + $$payload4.out += `
    `; + children?.($$payload4); + $$payload4.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload3.out += ``; + }, + $$slots: { default: true } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Drawer_description($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Description($$payload2, spread_props([ + { + class: cn("text-muted-foreground text-sm", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Drawer_header($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Drawer_title($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Title($$payload2, spread_props([ + { + class: cn("text-lg font-semibold leading-none tracking-tight", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function KeyboardShortcutsHelp($$payload, $$props) { + push(); + let shortcutGroups; + let isOpen = false; + function formatKey(key) { + return key.replace("ctrl+", "Ctrl+").replace("cmd+", "Cmd+").replace("shift+", "Shift+").replace("alt+", "Alt+").replace(" ", "+"); + } + function handleOpenChange(open) { + isOpen = open; + } + shortcutGroups = keyboardShortcuts.getShortcutGroups(); + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + Drawer($$payload2, { + onOpenChange: handleOpenChange, + get open() { + return isOpen; + }, + set open($$value) { + isOpen = $$value; + $$settled = false; + }, + children: ($$payload3) => { + Drawer_content($$payload3, { + class: "max-w-full mx-4 md:mx-8 lg:mx-16 max-h-[85vh]", + children: ($$payload4) => { + const each_array = ensure_array_like(shortcutGroups); + Drawer_header($$payload4, { + class: "text-center", + children: ($$payload5) => { + Drawer_title($$payload5, { + class: "flex items-center justify-center gap-2", + children: ($$payload6) => { + Keyboard($$payload6, { class: "w-5 h-5" }); + $$payload6.out += ` Keyboard Shortcuts`; + }, + $$slots: { default: true } + }); + $$payload5.out += ` `; + Drawer_description($$payload5, { + children: ($$payload6) => { + $$payload6.out += `Navigate the application faster with these keyboard shortcuts`; + }, + $$slots: { default: true } + }); + $$payload5.out += ``; + }, + $$slots: { default: true } + }); + $$payload4.out += `
    `; + for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) { + let group = each_array[$$index_2]; + const each_array_1 = ensure_array_like(group.shortcuts); + $$payload4.out += `

    ${escape_html(group.title)}

    `; + for (let $$index_1 = 0, $$length2 = each_array_1.length; $$index_1 < $$length2; $$index_1++) { + let shortcut = each_array_1[$$index_1]; + const each_array_2 = ensure_array_like(formatKey(shortcut.key).split("+")); + $$payload4.out += `
    ${escape_html(shortcut.description)} `; + if (shortcut.context && shortcut.context !== "global") { + $$payload4.out += ""; + $$payload4.out += `Available on ${escape_html(shortcut.context === "results" ? "search results pages" : "table navigation")}`; + } else { + $$payload4.out += ""; + } + $$payload4.out += `
    `; + for (let $$index = 0, $$length3 = each_array_2.length; $$index < $$length3; $$index++) { + let keyPart = each_array_2[$$index]; + Badge($$payload4, { + variant: "outline", + class: "text-xs font-mono px-2 py-1 bg-background", + children: ($$payload5) => { + $$payload5.out += `${escape_html(keyPart)}`; + }, + $$slots: { default: true } + }); + $$payload4.out += ` `; + if (formatKey(shortcut.key).split("+").indexOf(keyPart) < formatKey(shortcut.key).split("+").length - 1) { + $$payload4.out += ""; + $$payload4.out += `+`; + } else { + $$payload4.out += ""; + } + $$payload4.out += ``; + } + $$payload4.out += `
    `; + } + $$payload4.out += `
    `; + } + $$payload4.out += `

    Press `; + Badge($$payload4, { + variant: "outline", + class: "text-xs font-mono px-2 py-1 bg-background", + children: ($$payload5) => { + $$payload5.out += `?`; + }, + $$slots: { default: true } + }); + $$payload4.out += ` to open this help • Press `; + Badge($$payload4, { + variant: "outline", + class: "text-xs font-mono px-2 py-1 bg-background", + children: ($$payload5) => { + $$payload5.out += `Esc`; + }, + $$slots: { default: true } + }); + $$payload4.out += ` or click outside to close

    `; + }, + $$slots: { default: true } + }); + }, + $$slots: { default: true } + }); + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + pop(); +} +function _layout($$payload, $$props) { + push(); + let error = null; + onDestroy(() => { + keyboardShortcuts.destroy(); + }); + Provider($$payload, { + children: ($$payload2) => { + ErrorBoundary($$payload2, { + error, + reset: () => error = null, + children: ($$payload3) => { + $$payload3.out += `
    `; + Navbar($$payload3); + $$payload3.out += `
    `; + slot($$payload3, $$props, "default", {}); + $$payload3.out += `
    `; + KeyboardShortcutsHelp($$payload3); + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + } + }); + pop(); +} +export { + _layout as default +}; diff --git a/.svelte-kit/output/server/entries/pages/_page.svelte.js b/.svelte-kit/output/server/entries/pages/_page.svelte.js new file mode 100644 index 0000000..80629c5 --- /dev/null +++ b/.svelte-kit/output/server/entries/pages/_page.svelte.js @@ -0,0 +1,739 @@ +import "clsx"; +import { D as derived, w as push, E as spread_attributes, F as bind_props, y as pop, X as clsx, M as copy_payload, N as assign_payload, I as spread_props, K as attr } from "../../chunks/index.js"; +import { c as cn } from "../../chunks/breadcrumbs.js"; +import "../../chunks/client.js"; +import { A as ARROW_UP, O as ARROW_RIGHT, P as ARROW_LEFT, z as ARROW_DOWN, b as box, v as END, i as isBrowser, H as HOME, C as Context, Q as SvelteMap, u as useRefById, w as watch, S as SPACE, t as ENTER, p as getDataOrientation, G as getDataDisabled, r as getAriaOrientation, R as getDisabled, I as getAriaSelected, U as getHidden, a as useId, n as noop, m as mergeProps } from "../../chunks/noop.js"; +import "style-to-object"; +function getElemDirection(elem) { + const style = window.getComputedStyle(elem); + const direction = style.getPropertyValue("direction"); + return direction; +} +function getNextKey(dir = "ltr", orientation = "horizontal") { + return { + horizontal: dir === "rtl" ? ARROW_LEFT : ARROW_RIGHT, + vertical: ARROW_DOWN + }[orientation]; +} +function getPrevKey(dir = "ltr", orientation = "horizontal") { + return { + horizontal: dir === "rtl" ? ARROW_RIGHT : ARROW_LEFT, + vertical: ARROW_UP + }[orientation]; +} +function getDirectionalKeys(dir = "ltr", orientation = "horizontal") { + if (!["ltr", "rtl"].includes(dir)) + dir = "ltr"; + if (!["horizontal", "vertical"].includes(orientation)) + orientation = "horizontal"; + return { + nextKey: getNextKey(dir, orientation), + prevKey: getPrevKey(dir, orientation) + }; +} +function useRovingFocus(props) { + const currentTabStopId = box(null); + function getCandidateNodes() { + if (!isBrowser) return []; + const node = document.getElementById(props.rootNodeId.current); + if (!node) return []; + if (props.candidateSelector) { + const candidates = Array.from(node.querySelectorAll(props.candidateSelector)); + return candidates; + } else if (props.candidateAttr) { + const candidates = Array.from(node.querySelectorAll(`[${props.candidateAttr}]:not([data-disabled])`)); + return candidates; + } + return []; + } + function focusFirstCandidate() { + const items = getCandidateNodes(); + if (!items.length) return; + items[0]?.focus(); + } + function handleKeydown(node, e, both = false) { + const rootNode = document.getElementById(props.rootNodeId.current); + if (!rootNode || !node) return; + const items = getCandidateNodes(); + if (!items.length) return; + const currentIndex = items.indexOf(node); + const dir = getElemDirection(rootNode); + const { nextKey, prevKey } = getDirectionalKeys(dir, props.orientation.current); + const loop = props.loop.current; + const keyToIndex = { + [nextKey]: currentIndex + 1, + [prevKey]: currentIndex - 1, + [HOME]: 0, + [END]: items.length - 1 + }; + if (both) { + const altNextKey = nextKey === ARROW_DOWN ? ARROW_RIGHT : ARROW_DOWN; + const altPrevKey = prevKey === ARROW_UP ? ARROW_LEFT : ARROW_UP; + keyToIndex[altNextKey] = currentIndex + 1; + keyToIndex[altPrevKey] = currentIndex - 1; + } + let itemIndex = keyToIndex[e.key]; + if (itemIndex === void 0) return; + e.preventDefault(); + if (itemIndex < 0 && loop) { + itemIndex = items.length - 1; + } else if (itemIndex === items.length && loop) { + itemIndex = 0; + } + const itemToFocus = items[itemIndex]; + if (!itemToFocus) return; + itemToFocus.focus(); + currentTabStopId.current = itemToFocus.id; + props.onCandidateFocus?.(itemToFocus); + return itemToFocus; + } + function getTabIndex(node) { + const items = getCandidateNodes(); + const anyActive = currentTabStopId.current !== null; + if (node && !anyActive && items[0] === node) { + currentTabStopId.current = node.id; + return 0; + } else if (node?.id === currentTabStopId.current) { + return 0; + } + return -1; + } + return { + setCurrentTabStopId(id) { + currentTabStopId.current = id; + }, + getTabIndex, + handleKeydown, + focusFirstCandidate, + currentTabStopId + }; +} +const TABS_ROOT_ATTR = "data-tabs-root"; +const TABS_LIST_ATTR = "data-tabs-list"; +const TABS_TRIGGER_ATTR = "data-tabs-trigger"; +const TABS_CONTENT_ATTR = "data-tabs-content"; +class TabsRootState { + opts; + rovingFocusGroup; + triggerIds = []; + // holds the trigger ID for each value to associate it with the content + valueToTriggerId = new SvelteMap(); + // holds the content ID for each value to associate it with the trigger + valueToContentId = new SvelteMap(); + constructor(opts) { + this.opts = opts; + useRefById(opts); + this.rovingFocusGroup = useRovingFocus({ + candidateAttr: TABS_TRIGGER_ATTR, + rootNodeId: this.opts.id, + loop: this.opts.loop, + orientation: this.opts.orientation + }); + } + registerTrigger(id, value) { + this.triggerIds.push(id); + this.valueToTriggerId.set(value, id); + return () => { + this.triggerIds = this.triggerIds.filter((triggerId) => triggerId !== id); + this.valueToTriggerId.delete(value); + }; + } + registerContent(id, value) { + this.valueToContentId.set(value, id); + return () => { + this.valueToContentId.delete(value); + }; + } + setValue(v) { + this.opts.value.current = v; + } + #props = derived(() => ({ + id: this.opts.id.current, + "data-orientation": getDataOrientation(this.opts.orientation.current), + [TABS_ROOT_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class TabsListState { + opts; + root; + #isDisabled = derived(() => this.root.opts.disabled.current); + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById(opts); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: "tablist", + "aria-orientation": getAriaOrientation(this.root.opts.orientation.current), + "data-orientation": getDataOrientation(this.root.opts.orientation.current), + [TABS_LIST_ATTR]: "", + "data-disabled": getDataDisabled(this.#isDisabled()) + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class TabsTriggerState { + opts; + root; + #isActive = derived(() => this.root.opts.value.current === this.opts.value.current); + #isDisabled = derived(() => this.opts.disabled.current || this.root.opts.disabled.current); + #tabIndex = 0; + #ariaControls = derived(() => this.root.valueToContentId.get(this.opts.value.current)); + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById(opts); + watch( + [ + () => this.opts.id.current, + () => this.opts.value.current + ], + ([id, value]) => { + return this.root.registerTrigger(id, value); + } + ); + this.onfocus = this.onfocus.bind(this); + this.onclick = this.onclick.bind(this); + this.onkeydown = this.onkeydown.bind(this); + } + #activate() { + if (this.root.opts.value.current === this.opts.value.current) return; + this.root.setValue(this.opts.value.current); + } + onfocus(_) { + if (this.root.opts.activationMode.current !== "automatic" || this.#isDisabled()) return; + this.#activate(); + } + onclick(_) { + if (this.#isDisabled()) return; + this.#activate(); + } + onkeydown(e) { + if (this.#isDisabled()) return; + if (e.key === SPACE || e.key === ENTER) { + e.preventDefault(); + this.#activate(); + return; + } + this.root.rovingFocusGroup.handleKeydown(this.opts.ref.current, e); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: "tab", + "data-state": getTabDataState(this.#isActive()), + "data-value": this.opts.value.current, + "data-orientation": getDataOrientation(this.root.opts.orientation.current), + "data-disabled": getDataDisabled(this.#isDisabled()), + "aria-selected": getAriaSelected(this.#isActive()), + "aria-controls": this.#ariaControls(), + [TABS_TRIGGER_ATTR]: "", + disabled: getDisabled(this.#isDisabled()), + tabindex: this.#tabIndex, + // + onclick: this.onclick, + onfocus: this.onfocus, + onkeydown: this.onkeydown + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +class TabsContentState { + opts; + root; + #isActive = derived(() => this.root.opts.value.current === this.opts.value.current); + #ariaLabelledBy = derived(() => this.root.valueToTriggerId.get(this.opts.value.current)); + constructor(opts, root) { + this.opts = opts; + this.root = root; + useRefById(opts); + watch( + [ + () => this.opts.id.current, + () => this.opts.value.current + ], + ([id, value]) => { + return this.root.registerContent(id, value); + } + ); + } + #props = derived(() => ({ + id: this.opts.id.current, + role: "tabpanel", + hidden: getHidden(!this.#isActive()), + tabindex: 0, + "data-value": this.opts.value.current, + "data-state": getTabDataState(this.#isActive()), + "aria-labelledby": this.#ariaLabelledBy(), + [TABS_CONTENT_ATTR]: "" + })); + get props() { + return this.#props(); + } + set props($$value) { + return this.#props($$value); + } +} +const TabsRootContext = new Context("Tabs.Root"); +function useTabsRoot(props) { + return TabsRootContext.set(new TabsRootState(props)); +} +function useTabsTrigger(props) { + return new TabsTriggerState(props, TabsRootContext.get()); +} +function useTabsList(props) { + return new TabsListState(props, TabsRootContext.get()); +} +function useTabsContent(props) { + return new TabsContentState(props, TabsRootContext.get()); +} +function getTabDataState(condition) { + return condition ? "active" : "inactive"; +} +function Tabs($$payload, $$props) { + push(); + let { + id = useId(), + ref = null, + value = "", + onValueChange = noop, + orientation = "horizontal", + loop = true, + activationMode = "automatic", + disabled = false, + children, + child, + $$slots, + $$events, + ...restProps + } = $$props; + const rootState = useTabsRoot({ + id: box.with(() => id), + value: box.with(() => value, (v) => { + value = v; + onValueChange(v); + }), + orientation: box.with(() => orientation), + loop: box.with(() => loop), + activationMode: box.with(() => activationMode), + disabled: box.with(() => disabled), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, rootState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref, value }); + pop(); +} +function Tabs_content$1($$payload, $$props) { + push(); + let { + children, + child, + id = useId(), + ref = null, + value, + $$slots, + $$events, + ...restProps + } = $$props; + const contentState = useTabsContent({ + value: box.with(() => value), + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, contentState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Tabs_list$1($$payload, $$props) { + push(); + let { + child, + children, + id = useId(), + ref = null, + $$slots, + $$events, + ...restProps + } = $$props; + const listState = useTabsList({ + id: box.with(() => id), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, listState.props); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Tabs_trigger$1($$payload, $$props) { + push(); + let { + child, + children, + disabled = false, + id = useId(), + type = "button", + value, + ref = null, + $$slots, + $$events, + ...restProps + } = $$props; + const triggerState = useTabsTrigger({ + id: box.with(() => id), + disabled: box.with(() => disabled ?? false), + value: box.with(() => value), + ref: box.with(() => ref, (v) => ref = v) + }); + const mergedProps = mergeProps(restProps, triggerState.props, { type }); + if (child) { + $$payload.out += ""; + child($$payload, { props: mergedProps }); + $$payload.out += ``; + } else { + $$payload.out += ""; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + } + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Card($$payload, $$props) { + push(); + let { + ref = null, + class: className, + children, + $$slots, + $$events, + ...restProps + } = $$props; + $$payload.out += ``; + children?.($$payload); + $$payload.out += ``; + bind_props($$props, { ref }); + pop(); +} +function Tabs_content($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Tabs_content$1($$payload2, spread_props([ + { + class: cn("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Tabs_list($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Tabs_list$1($$payload2, spread_props([ + { + class: cn("bg-muted text-muted-foreground inline-flex h-10 items-center justify-center rounded-md p-1", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +function Tabs_trigger($$payload, $$props) { + push(); + let { + ref = null, + class: className, + $$slots, + $$events, + ...restProps + } = $$props; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Tabs_trigger$1($$payload2, spread_props([ + { + class: cn("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm", className) + }, + restProps, + { + get ref() { + return ref; + }, + set ref($$value) { + ref = $$value; + $$settled = false; + } + } + ])); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + bind_props($$props, { ref }); + pop(); +} +const Root = Tabs; +function TabbedSearch($$payload, $$props) { + push(); + let activeTab = "smart"; + let searchValues = { + smart: "", + username: "", + password: "", + domain: "", + email: "" + }; + let $$settled = true; + let $$inner_payload; + function $$render_inner($$payload2) { + $$payload2.out += ``; + Root($$payload2, { + class: "w-full", + get value() { + return activeTab; + }, + set value($$value) { + activeTab = $$value; + $$settled = false; + }, + children: ($$payload3) => { + $$payload3.out += ``; + Tabs_list($$payload3, { + class: "grid w-full grid-cols-5 mb-6", + children: ($$payload4) => { + $$payload4.out += ``; + Tabs_trigger($$payload4, { + value: "smart", + class: "flex items-center gap-1", + children: ($$payload5) => { + $$payload5.out += `Smart Search`; + }, + $$slots: { default: true } + }); + $$payload4.out += ` `; + Tabs_trigger($$payload4, { + value: "username", + class: "flex items-center gap-1", + children: ($$payload5) => { + $$payload5.out += `Username`; + }, + $$slots: { default: true } + }); + $$payload4.out += ` `; + Tabs_trigger($$payload4, { + value: "password", + class: "flex items-center gap-1", + children: ($$payload5) => { + $$payload5.out += `Password`; + }, + $$slots: { default: true } + }); + $$payload4.out += ` `; + Tabs_trigger($$payload4, { + value: "domain", + class: "flex items-center gap-1", + children: ($$payload5) => { + $$payload5.out += `Domain`; + }, + $$slots: { default: true } + }); + $$payload4.out += ` `; + Tabs_trigger($$payload4, { + value: "email", + class: "flex items-center gap-1", + children: ($$payload5) => { + $$payload5.out += `Email`; + }, + $$slots: { default: true } + }); + $$payload4.out += ``; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Tabs_content($$payload3, { + value: "smart", + class: "space-y-4", + children: ($$payload4) => { + $$payload4.out += `

    Press Enter to search. I'll automatically detect the type of search.

    `; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Tabs_content($$payload3, { + value: "username", + class: "space-y-4", + children: ($$payload4) => { + $$payload4.out += `

    Search for usernames across breach databases.

    `; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Tabs_content($$payload3, { + value: "password", + class: "space-y-4", + children: ($$payload4) => { + $$payload4.out += `

    ⚠️ Security Warning: This password will be checked against breach databases. Only + test passwords you no longer use.

    `; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Tabs_content($$payload3, { + value: "domain", + class: "space-y-4", + children: ($$payload4) => { + $$payload4.out += `

    Find all accounts associated with a specific domain.

    `; + }, + $$slots: { default: true } + }); + $$payload3.out += ` `; + Tabs_content($$payload3, { + value: "email", + class: "space-y-4", + children: ($$payload4) => { + $$payload4.out += `

    Search for email addresses and view detailed breach information from Have I Been Pwned.

    `; + }, + $$slots: { default: true } + }); + $$payload3.out += ``; + }, + $$slots: { default: true } + }); + $$payload2.out += ``; + } + do { + $$settled = true; + $$inner_payload = copy_payload($$payload); + $$render_inner($$inner_payload); + } while (!$$settled); + assign_payload($$payload, $$inner_payload); + pop(); +} +function _page($$payload, $$props) { + push(); + $$payload.out += `

    PassDB Search

    `; + Card($$payload, { + class: "p-6 border-0", + children: ($$payload2) => { + TabbedSearch($$payload2); + }, + $$slots: { default: true } + }); + $$payload.out += `
    `; + pop(); +} +export { + _page as default +}; diff --git a/.svelte-kit/output/server/entries/pages/domain/_domain_/_page.svelte.js b/.svelte-kit/output/server/entries/pages/domain/_domain_/_page.svelte.js new file mode 100644 index 0000000..01ac079 --- /dev/null +++ b/.svelte-kit/output/server/entries/pages/domain/_domain_/_page.svelte.js @@ -0,0 +1,21 @@ +import { R as store_get, S as unsubscribe_stores, y as pop, w as push } from "../../../../chunks/index.js"; +import { p as page } from "../../../../chunks/breadcrumbs.js"; +import { S as SearchResultLayout } from "../../../../chunks/SearchResultLayout.js"; +function _page($$payload, $$props) { + push(); + var $$store_subs; + let domain; + domain = store_get($$store_subs ??= {}, "$page", page).params.domain; + SearchResultLayout($$payload, { + params: { domain }, + apiPath: "domains", + paramKey: "domain", + breadcrumbLabel: "Domain", + formatBreadcrumb: (v) => v + }); + if ($$store_subs) unsubscribe_stores($$store_subs); + pop(); +} +export { + _page as default +}; diff --git a/.svelte-kit/output/server/entries/pages/email/_email_/_page.svelte.js b/.svelte-kit/output/server/entries/pages/email/_email_/_page.svelte.js new file mode 100644 index 0000000..f2b35dd --- /dev/null +++ b/.svelte-kit/output/server/entries/pages/email/_email_/_page.svelte.js @@ -0,0 +1,86 @@ +import { w as push, J as escape_html, T as ensure_array_like, K as attr, F as bind_props, y as pop, R as store_get, S as unsubscribe_stores } from "../../../../chunks/index.js"; +import { p as page } from "../../../../chunks/breadcrumbs.js"; +import { u as useAPI, L as LoadingStates, S as SearchResultLayout } from "../../../../chunks/SearchResultLayout.js"; +function html(value) { + var html2 = String(value ?? ""); + var open = ""; + return open + html2 + ""; +} +function sanitizeHtml(html2) { + const temp = document.createElement("div"); + temp.textContent = html2; + return temp.innerHTML; +} +function HIBP($$payload, $$props) { + push(); + let email = $$props["email"]; + const { data: results, loading, error, isSuccess } = useAPI(`/breaches/${email}`); + if (loading) { + $$payload.out += ""; + $$payload.out += `
    `; + LoadingStates($$payload, { + type: "spinner", + message: "Checking breach databases..." + }); + $$payload.out += `
    `; + } else if (error) { + $$payload.out += ""; + $$payload.out += `

    Unable to check breaches

    ${escape_html(error.message)}

    `; + } else if (isSuccess && results) { + $$payload.out += ""; + if (results.length > 0) { + $$payload.out += ""; + const each_array = ensure_array_like(results); + $$payload.out += `

    Data Breaches

    Found ${escape_html(results.length)} breach${escape_html(results.length !== 1 ? "es" : "")} for this email

    `; + for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) { + let breach = each_array[$$index]; + $$payload.out += `
    `; + if (breach.LogoPath) { + $$payload.out += ""; + $$payload.out += `
    `; + } else { + $$payload.out += ""; + } + $$payload.out += `

    ${escape_html(breach.Title)}

    ${escape_html(Number(breach.Count).toLocaleString())} accounts
    ${escape_html(breach.Domain)} ${escape_html(breach.Date)}
    ${html(sanitizeHtml(breach.Description))}
    `; + } + $$payload.out += `
    `; + } else { + $$payload.out += ""; + $$payload.out += `

    No breaches found

    This email hasn't been found in any known data breaches

    `; + } + $$payload.out += ``; + } else { + $$payload.out += ""; + } + $$payload.out += ``; + bind_props($$props, { email }); + pop(); +} +function _page($$payload, $$props) { + push(); + var $$store_subs; + let email; + email = store_get($$store_subs ??= {}, "$page", page).params.email; + SearchResultLayout($$payload, { + params: { email }, + apiPath: "emails", + paramKey: "email", + breadcrumbLabel: "Email", + formatBreadcrumb: (v) => v, + children: ($$payload2) => { + if (email) { + $$payload2.out += ""; + HIBP($$payload2, { email }); + } else { + $$payload2.out += ""; + } + $$payload2.out += ``; + }, + $$slots: { default: true } + }); + if ($$store_subs) unsubscribe_stores($$store_subs); + pop(); +} +export { + _page as default +}; diff --git a/.svelte-kit/output/server/entries/pages/password/_password_/_page.svelte.js b/.svelte-kit/output/server/entries/pages/password/_password_/_page.svelte.js new file mode 100644 index 0000000..a03d6c9 --- /dev/null +++ b/.svelte-kit/output/server/entries/pages/password/_password_/_page.svelte.js @@ -0,0 +1,24 @@ +import { R as store_get, S as unsubscribe_stores, y as pop, w as push } from "../../../../chunks/index.js"; +import { p as page } from "../../../../chunks/breadcrumbs.js"; +import { S as SearchResultLayout } from "../../../../chunks/SearchResultLayout.js"; +function _page($$payload, $$props) { + push(); + var $$store_subs; + let password; + function formatPassword(password2) { + return password2.length > 20 ? password2.substring(0, 20) + "..." : password2; + } + password = store_get($$store_subs ??= {}, "$page", page).params.password; + SearchResultLayout($$payload, { + params: { password }, + apiPath: "passwords", + paramKey: "password", + breadcrumbLabel: "Password", + formatBreadcrumb: formatPassword + }); + if ($$store_subs) unsubscribe_stores($$store_subs); + pop(); +} +export { + _page as default +}; diff --git a/.svelte-kit/output/server/entries/pages/username/_name_/_page.svelte.js b/.svelte-kit/output/server/entries/pages/username/_name_/_page.svelte.js new file mode 100644 index 0000000..de5d4e9 --- /dev/null +++ b/.svelte-kit/output/server/entries/pages/username/_name_/_page.svelte.js @@ -0,0 +1,21 @@ +import { R as store_get, S as unsubscribe_stores, y as pop, w as push } from "../../../../chunks/index.js"; +import { p as page } from "../../../../chunks/breadcrumbs.js"; +import { S as SearchResultLayout } from "../../../../chunks/SearchResultLayout.js"; +function _page($$payload, $$props) { + push(); + var $$store_subs; + let name; + name = store_get($$store_subs ??= {}, "$page", page).params.name; + SearchResultLayout($$payload, { + params: { name }, + apiPath: "usernames", + paramKey: "name", + breadcrumbLabel: "Username", + formatBreadcrumb: (v) => v + }); + if ($$store_subs) unsubscribe_stores($$store_subs); + pop(); +} +export { + _page as default +}; diff --git a/.svelte-kit/output/server/index.js b/.svelte-kit/output/server/index.js new file mode 100644 index 0000000..c5bf735 --- /dev/null +++ b/.svelte-kit/output/server/index.js @@ -0,0 +1,3363 @@ +import { B as BROWSER } from "./chunks/index.js"; +import { a as assets, b as base, c as app_dir, p as public_env, s as safe_public_env, o as override, r as reset, d as read_implementation, e as options, g as get_hooks, f as set_private_env, h as prerendering, i as set_public_env, j as set_safe_public_env, k as set_read_implementation } from "./chunks/internal.js"; +import * as devalue from "devalue"; +import { m as make_trackable, d as disable_search, a as decode_params, r as readable, w as writable, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, n as normalize_path, f as resolve, g as decode_pathname, h as validate_server_exports } from "./chunks/exports.js"; +import { parse, serialize } from "cookie"; +import * as set_cookie_parser from "set-cookie-parser"; +const SVELTE_KIT_ASSETS = "/_svelte_kit_assets"; +const ENDPOINT_METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"]; +const PAGE_METHODS = ["GET", "POST", "HEAD"]; +function negotiate(accept, types) { + const parts = []; + accept.split(",").forEach((str, i) => { + const match = /([^/ \t]+)\/([^; \t]+)[ \t]*(?:;[ \t]*q=([0-9.]+))?/.exec(str); + if (match) { + const [, type, subtype, q = "1"] = match; + parts.push({ type, subtype, q: +q, i }); + } + }); + parts.sort((a, b) => { + if (a.q !== b.q) { + return b.q - a.q; + } + if (a.subtype === "*" !== (b.subtype === "*")) { + return a.subtype === "*" ? 1 : -1; + } + if (a.type === "*" !== (b.type === "*")) { + return a.type === "*" ? 1 : -1; + } + return a.i - b.i; + }); + let accepted; + let min_priority = Infinity; + for (const mimetype of types) { + const [type, subtype] = mimetype.split("/"); + const priority = parts.findIndex( + (part) => (part.type === type || part.type === "*") && (part.subtype === subtype || part.subtype === "*") + ); + if (priority !== -1 && priority < min_priority) { + accepted = mimetype; + min_priority = priority; + } + } + return accepted; +} +function is_content_type(request, ...types) { + const type = request.headers.get("content-type")?.split(";", 1)[0].trim() ?? ""; + return types.includes(type.toLowerCase()); +} +function is_form_content_type(request) { + return is_content_type( + request, + "application/x-www-form-urlencoded", + "multipart/form-data", + "text/plain" + ); +} +let request_event = null; +let als; +import("node:async_hooks").then((hooks) => als = new hooks.AsyncLocalStorage()).catch(() => { +}); +function with_event(event, fn) { + try { + request_event = event; + return als ? als.run(event, fn) : fn(); + } finally { + request_event = null; + } +} +class HttpError { + /** + * @param {number} status + * @param {{message: string} extends App.Error ? (App.Error | string | undefined) : App.Error} body + */ + constructor(status, body2) { + this.status = status; + if (typeof body2 === "string") { + this.body = { message: body2 }; + } else if (body2) { + this.body = body2; + } else { + this.body = { message: `Error: ${status}` }; + } + } + toString() { + return JSON.stringify(this.body); + } +} +class Redirect { + /** + * @param {300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308} status + * @param {string} location + */ + constructor(status, location) { + this.status = status; + this.location = location; + } +} +class SvelteKitError extends Error { + /** + * @param {number} status + * @param {string} text + * @param {string} message + */ + constructor(status, text2, message) { + super(message); + this.status = status; + this.text = text2; + } +} +class ActionFailure { + /** + * @param {number} status + * @param {T} data + */ + constructor(status, data) { + this.status = status; + this.data = data; + } +} +const DATA_SUFFIX = "/__data.json"; +const HTML_DATA_SUFFIX = ".html__data.json"; +function has_data_suffix(pathname) { + return pathname.endsWith(DATA_SUFFIX) || pathname.endsWith(HTML_DATA_SUFFIX); +} +function add_data_suffix(pathname) { + if (pathname.endsWith(".html")) return pathname.replace(/\.html$/, HTML_DATA_SUFFIX); + return pathname.replace(/\/$/, "") + DATA_SUFFIX; +} +function strip_data_suffix(pathname) { + if (pathname.endsWith(HTML_DATA_SUFFIX)) { + return pathname.slice(0, -HTML_DATA_SUFFIX.length) + ".html"; + } + return pathname.slice(0, -DATA_SUFFIX.length); +} +const ROUTE_SUFFIX = "/__route.js"; +function has_resolution_suffix(pathname) { + return pathname.endsWith(ROUTE_SUFFIX); +} +function add_resolution_suffix(pathname) { + return pathname.replace(/\/$/, "") + ROUTE_SUFFIX; +} +function strip_resolution_suffix(pathname) { + return pathname.slice(0, -ROUTE_SUFFIX.length); +} +function json(data, init2) { + const body2 = JSON.stringify(data); + const headers2 = new Headers(init2?.headers); + if (!headers2.has("content-length")) { + headers2.set("content-length", encoder$3.encode(body2).byteLength.toString()); + } + if (!headers2.has("content-type")) { + headers2.set("content-type", "application/json"); + } + return new Response(body2, { + ...init2, + headers: headers2 + }); +} +const encoder$3 = new TextEncoder(); +function text(body2, init2) { + const headers2 = new Headers(init2?.headers); + if (!headers2.has("content-length")) { + const encoded = encoder$3.encode(body2); + headers2.set("content-length", encoded.byteLength.toString()); + return new Response(encoded, { + ...init2, + headers: headers2 + }); + } + return new Response(body2, { + ...init2, + headers: headers2 + }); +} +function coalesce_to_error(err) { + return err instanceof Error || err && /** @type {any} */ + err.name && /** @type {any} */ + err.message ? ( + /** @type {Error} */ + err + ) : new Error(JSON.stringify(err)); +} +function normalize_error(error) { + return ( + /** @type {import('../runtime/control.js').Redirect | HttpError | SvelteKitError | Error} */ + error + ); +} +function get_status(error) { + return error instanceof HttpError || error instanceof SvelteKitError ? error.status : 500; +} +function get_message(error) { + return error instanceof SvelteKitError ? error.text : "Internal Error"; +} +const escape_html_attr_dict = { + "&": "&", + '"': """ + // Svelte also escapes < because the escape function could be called inside a `noscript` there + // https://github.com/sveltejs/svelte/security/advisories/GHSA-8266-84wp-wv5c + // However, that doesn't apply in SvelteKit +}; +const escape_html_dict = { + "&": "&", + "<": "<" +}; +const surrogates = ( + // high surrogate without paired low surrogate + "[\\ud800-\\udbff](?![\\udc00-\\udfff])|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\udc00-\\udfff]" +); +const escape_html_attr_regex = new RegExp( + `[${Object.keys(escape_html_attr_dict).join("")}]|` + surrogates, + "g" +); +const escape_html_regex = new RegExp( + `[${Object.keys(escape_html_dict).join("")}]|` + surrogates, + "g" +); +function escape_html(str, is_attr) { + const dict = is_attr ? escape_html_attr_dict : escape_html_dict; + const escaped_str = str.replace(is_attr ? escape_html_attr_regex : escape_html_regex, (match) => { + if (match.length === 2) { + return match; + } + return dict[match] ?? `&#${match.charCodeAt(0)};`; + }); + return escaped_str; +} +function method_not_allowed(mod, method) { + return text(`${method} method not allowed`, { + status: 405, + headers: { + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405 + // "The server must generate an Allow header field in a 405 status code response" + allow: allowed_methods(mod).join(", ") + } + }); +} +function allowed_methods(mod) { + const allowed = ENDPOINT_METHODS.filter((method) => method in mod); + if ("GET" in mod || "HEAD" in mod) allowed.push("HEAD"); + return allowed; +} +function static_error_page(options2, status, message) { + let page = options2.templates.error({ status, message: escape_html(message) }); + return text(page, { + headers: { "content-type": "text/html; charset=utf-8" }, + status + }); +} +async function handle_fatal_error(event, options2, error) { + error = error instanceof HttpError ? error : coalesce_to_error(error); + const status = get_status(error); + const body2 = await handle_error_and_jsonify(event, options2, error); + const type = negotiate(event.request.headers.get("accept") || "text/html", [ + "application/json", + "text/html" + ]); + if (event.isDataRequest || type === "application/json") { + return json(body2, { + status + }); + } + return static_error_page(options2, status, body2.message); +} +async function handle_error_and_jsonify(event, options2, error) { + if (error instanceof HttpError) { + return error.body; + } + const status = get_status(error); + const message = get_message(error); + return await with_event( + event, + () => options2.hooks.handleError({ error, event, status, message }) + ) ?? { message }; +} +function redirect_response(status, location) { + const response = new Response(void 0, { + status, + headers: { location } + }); + return response; +} +function clarify_devalue_error(event, error) { + if (error.path) { + return `Data returned from \`load\` while rendering ${event.route.id} is not serializable: ${error.message} (${error.path})`; + } + if (error.path === "") { + return `Data returned from \`load\` while rendering ${event.route.id} is not a plain object`; + } + return error.message; +} +function serialize_uses(node) { + const uses = {}; + if (node.uses && node.uses.dependencies.size > 0) { + uses.dependencies = Array.from(node.uses.dependencies); + } + if (node.uses && node.uses.search_params.size > 0) { + uses.search_params = Array.from(node.uses.search_params); + } + if (node.uses && node.uses.params.size > 0) { + uses.params = Array.from(node.uses.params); + } + if (node.uses?.parent) uses.parent = 1; + if (node.uses?.route) uses.route = 1; + if (node.uses?.url) uses.url = 1; + return uses; +} +function has_prerendered_path(manifest, pathname) { + return manifest._.prerendered_routes.has(pathname) || pathname.at(-1) === "/" && manifest._.prerendered_routes.has(pathname.slice(0, -1)); +} +async function render_endpoint(event, mod, state) { + const method = ( + /** @type {import('types').HttpMethod} */ + event.request.method + ); + let handler = mod[method] || mod.fallback; + if (method === "HEAD" && !mod.HEAD && mod.GET) { + handler = mod.GET; + } + if (!handler) { + return method_not_allowed(mod, method); + } + const prerender = mod.prerender ?? state.prerender_default; + if (prerender && (mod.POST || mod.PATCH || mod.PUT || mod.DELETE)) { + throw new Error("Cannot prerender endpoints that have mutative methods"); + } + if (state.prerendering && !state.prerendering.inside_reroute && !prerender) { + if (state.depth > 0) { + throw new Error(`${event.route.id} is not prerenderable`); + } else { + return new Response(void 0, { status: 204 }); + } + } + try { + const response = await with_event( + event, + () => handler( + /** @type {import('@sveltejs/kit').RequestEvent>} */ + event + ) + ); + if (!(response instanceof Response)) { + throw new Error( + `Invalid response from route ${event.url.pathname}: handler should return a Response object` + ); + } + if (state.prerendering && (!state.prerendering.inside_reroute || prerender)) { + const cloned = new Response(response.clone().body, { + status: response.status, + statusText: response.statusText, + headers: new Headers(response.headers) + }); + cloned.headers.set("x-sveltekit-prerender", String(prerender)); + if (state.prerendering.inside_reroute && prerender) { + cloned.headers.set( + "x-sveltekit-routeid", + encodeURI( + /** @type {string} */ + event.route.id + ) + ); + state.prerendering.dependencies.set(event.url.pathname, { response: cloned, body: null }); + } else { + return cloned; + } + } + return response; + } catch (e) { + if (e instanceof Redirect) { + return new Response(void 0, { + status: e.status, + headers: { location: e.location } + }); + } + throw e; + } +} +function is_endpoint_request(event) { + const { method, headers: headers2 } = event.request; + if (ENDPOINT_METHODS.includes(method) && !PAGE_METHODS.includes(method)) { + return true; + } + if (method === "POST" && headers2.get("x-sveltekit-action") === "true") return false; + const accept = event.request.headers.get("accept") ?? "*/*"; + return negotiate(accept, ["*", "text/html"]) !== "text/html"; +} +function compact(arr) { + return arr.filter( + /** @returns {val is NonNullable} */ + (val) => val != null + ); +} +function is_action_json_request(event) { + const accept = negotiate(event.request.headers.get("accept") ?? "*/*", [ + "application/json", + "text/html" + ]); + return accept === "application/json" && event.request.method === "POST"; +} +async function handle_action_json_request(event, options2, server) { + const actions = server?.actions; + if (!actions) { + const no_actions_error = new SvelteKitError( + 405, + "Method Not Allowed", + `POST method not allowed. No form actions exist for ${"this page"}` + ); + return action_json( + { + type: "error", + error: await handle_error_and_jsonify(event, options2, no_actions_error) + }, + { + status: no_actions_error.status, + headers: { + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405 + // "The server must generate an Allow header field in a 405 status code response" + allow: "GET" + } + } + ); + } + check_named_default_separate(actions); + try { + const data = await call_action(event, actions); + if (false) ; + if (data instanceof ActionFailure) { + return action_json({ + type: "failure", + status: data.status, + // @ts-expect-error we assign a string to what is supposed to be an object. That's ok + // because we don't use the object outside, and this way we have better code navigation + // through knowing where the related interface is used. + data: stringify_action_response( + data.data, + /** @type {string} */ + event.route.id, + options2.hooks.transport + ) + }); + } else { + return action_json({ + type: "success", + status: data ? 200 : 204, + // @ts-expect-error see comment above + data: stringify_action_response( + data, + /** @type {string} */ + event.route.id, + options2.hooks.transport + ) + }); + } + } catch (e) { + const err = normalize_error(e); + if (err instanceof Redirect) { + return action_json_redirect(err); + } + return action_json( + { + type: "error", + error: await handle_error_and_jsonify(event, options2, check_incorrect_fail_use(err)) + }, + { + status: get_status(err) + } + ); + } +} +function check_incorrect_fail_use(error) { + return error instanceof ActionFailure ? new Error('Cannot "throw fail()". Use "return fail()"') : error; +} +function action_json_redirect(redirect) { + return action_json({ + type: "redirect", + status: redirect.status, + location: redirect.location + }); +} +function action_json(data, init2) { + return json(data, init2); +} +function is_action_request(event) { + return event.request.method === "POST"; +} +async function handle_action_request(event, server) { + const actions = server?.actions; + if (!actions) { + event.setHeaders({ + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405 + // "The server must generate an Allow header field in a 405 status code response" + allow: "GET" + }); + return { + type: "error", + error: new SvelteKitError( + 405, + "Method Not Allowed", + `POST method not allowed. No form actions exist for ${"this page"}` + ) + }; + } + check_named_default_separate(actions); + try { + const data = await call_action(event, actions); + if (false) ; + if (data instanceof ActionFailure) { + return { + type: "failure", + status: data.status, + data: data.data + }; + } else { + return { + type: "success", + status: 200, + // @ts-expect-error this will be removed upon serialization, so `undefined` is the same as omission + data + }; + } + } catch (e) { + const err = normalize_error(e); + if (err instanceof Redirect) { + return { + type: "redirect", + status: err.status, + location: err.location + }; + } + return { + type: "error", + error: check_incorrect_fail_use(err) + }; + } +} +function check_named_default_separate(actions) { + if (actions.default && Object.keys(actions).length > 1) { + throw new Error( + "When using named actions, the default action cannot be used. See the docs for more info: https://svelte.dev/docs/kit/form-actions#named-actions" + ); + } +} +async function call_action(event, actions) { + const url = new URL(event.request.url); + let name = "default"; + for (const param of url.searchParams) { + if (param[0].startsWith("/")) { + name = param[0].slice(1); + if (name === "default") { + throw new Error('Cannot use reserved action name "default"'); + } + break; + } + } + const action = actions[name]; + if (!action) { + throw new SvelteKitError(404, "Not Found", `No action with name '${name}' found`); + } + if (!is_form_content_type(event.request)) { + throw new SvelteKitError( + 415, + "Unsupported Media Type", + `Form actions expect form-encoded data — received ${event.request.headers.get( + "content-type" + )}` + ); + } + return with_event(event, () => action(event)); +} +function validate_action_return(data) { + if (data instanceof Redirect) { + throw new Error("Cannot `return redirect(...)` — use `redirect(...)` instead"); + } + if (data instanceof HttpError) { + throw new Error("Cannot `return error(...)` — use `error(...)` or `return fail(...)` instead"); + } +} +function uneval_action_response(data, route_id, transport) { + const replacer = (thing) => { + for (const key2 in transport) { + const encoded = transport[key2].encode(thing); + if (encoded) { + return `app.decode('${key2}', ${devalue.uneval(encoded, replacer)})`; + } + } + }; + return try_serialize(data, (value) => devalue.uneval(value, replacer), route_id); +} +function stringify_action_response(data, route_id, transport) { + const encoders = Object.fromEntries( + Object.entries(transport).map(([key2, value]) => [key2, value.encode]) + ); + return try_serialize(data, (value) => devalue.stringify(value, encoders), route_id); +} +function try_serialize(data, fn, route_id) { + try { + return fn(data); + } catch (e) { + const error = ( + /** @type {any} */ + e + ); + if (data instanceof Response) { + throw new Error( + `Data returned from action inside ${route_id} is not serializable. Form actions need to return plain objects or fail(). E.g. return { success: true } or return fail(400, { message: "invalid" });` + ); + } + if ("path" in error) { + let message = `Data returned from action inside ${route_id} is not serializable: ${error.message}`; + if (error.path !== "") message += ` (data.${error.path})`; + throw new Error(message); + } + throw error; + } +} +function validate_depends(route_id, dep) { + const match = /^(moz-icon|view-source|jar):/.exec(dep); + if (match) { + console.warn( + `${route_id}: Calling \`depends('${dep}')\` will throw an error in Firefox because \`${match[1]}\` is a special URI scheme` + ); + } +} +const INVALIDATED_PARAM = "x-sveltekit-invalidated"; +const TRAILING_SLASH_PARAM = "x-sveltekit-trailing-slash"; +function b64_encode(buffer) { + if (globalThis.Buffer) { + return Buffer.from(buffer).toString("base64"); + } + const little_endian = new Uint8Array(new Uint16Array([1]).buffer)[0] > 0; + return btoa( + new TextDecoder(little_endian ? "utf-16le" : "utf-16be").decode( + new Uint16Array(new Uint8Array(buffer)) + ) + ); +} +function get_relative_path(from, to) { + const from_parts = from.split(/[/\\]/); + const to_parts = to.split(/[/\\]/); + from_parts.pop(); + while (from_parts[0] === to_parts[0]) { + from_parts.shift(); + to_parts.shift(); + } + let i = from_parts.length; + while (i--) from_parts[i] = ".."; + return from_parts.concat(to_parts).join("/"); +} +async function load_server_data({ event, state, node, parent }) { + if (!node?.server) return null; + let is_tracking = true; + const uses = { + dependencies: /* @__PURE__ */ new Set(), + params: /* @__PURE__ */ new Set(), + parent: false, + route: false, + url: false, + search_params: /* @__PURE__ */ new Set() + }; + const load = node.server.load; + const slash = node.server.trailingSlash; + if (!load) { + return { type: "data", data: null, uses, slash }; + } + const url = make_trackable( + event.url, + () => { + if (is_tracking) { + uses.url = true; + } + }, + (param) => { + if (is_tracking) { + uses.search_params.add(param); + } + } + ); + if (state.prerendering) { + disable_search(url); + } + let done = false; + const result = await with_event( + event, + () => load.call(null, { + ...event, + fetch: (info, init2) => { + const url2 = new URL(info instanceof Request ? info.url : info, event.url); + if (BROWSER && done && !uses.dependencies.has(url2.href)) ; + return event.fetch(info, init2); + }, + /** @param {string[]} deps */ + depends: (...deps) => { + for (const dep of deps) { + const { href } = new URL(dep, event.url); + if (BROWSER) ; + uses.dependencies.add(href); + } + }, + params: new Proxy(event.params, { + get: (target, key2) => { + if (BROWSER && done && typeof key2 === "string" && !uses.params.has(key2)) ; + if (is_tracking) { + uses.params.add(key2); + } + return target[ + /** @type {string} */ + key2 + ]; + } + }), + parent: async () => { + if (BROWSER && done && !uses.parent) ; + if (is_tracking) { + uses.parent = true; + } + return parent(); + }, + route: new Proxy(event.route, { + get: (target, key2) => { + if (BROWSER && done && typeof key2 === "string" && !uses.route) ; + if (is_tracking) { + uses.route = true; + } + return target[ + /** @type {'id'} */ + key2 + ]; + } + }), + url, + untrack(fn) { + is_tracking = false; + try { + return fn(); + } finally { + is_tracking = true; + } + } + }) + ); + done = true; + return { + type: "data", + data: result ?? null, + uses, + slash + }; +} +async function load_data({ + event, + fetched, + node, + parent, + server_data_promise, + state, + resolve_opts, + csr +}) { + const server_data_node = await server_data_promise; + if (!node?.universal?.load) { + return server_data_node?.data ?? null; + } + const result = await node.universal.load.call(null, { + url: event.url, + params: event.params, + data: server_data_node?.data ?? null, + route: event.route, + fetch: create_universal_fetch(event, state, fetched, csr, resolve_opts), + setHeaders: event.setHeaders, + depends: () => { + }, + parent, + untrack: (fn) => fn() + }); + return result ?? null; +} +function create_universal_fetch(event, state, fetched, csr, resolve_opts) { + const universal_fetch = async (input, init2) => { + const cloned_body = input instanceof Request && input.body ? input.clone().body : null; + const cloned_headers = input instanceof Request && [...input.headers].length ? new Headers(input.headers) : init2?.headers; + let response = await event.fetch(input, init2); + const url = new URL(input instanceof Request ? input.url : input, event.url); + const same_origin = url.origin === event.url.origin; + let dependency; + if (same_origin) { + if (state.prerendering) { + dependency = { response, body: null }; + state.prerendering.dependencies.set(url.pathname, dependency); + } + } else if (url.protocol === "https:" || url.protocol === "http:") { + const mode = input instanceof Request ? input.mode : init2?.mode ?? "cors"; + if (mode === "no-cors") { + response = new Response("", { + status: response.status, + statusText: response.statusText, + headers: response.headers + }); + } else { + const acao = response.headers.get("access-control-allow-origin"); + if (!acao || acao !== event.url.origin && acao !== "*") { + throw new Error( + `CORS error: ${acao ? "Incorrect" : "No"} 'Access-Control-Allow-Origin' header is present on the requested resource` + ); + } + } + } + const proxy = new Proxy(response, { + get(response2, key2, _receiver) { + async function push_fetched(body2, is_b64) { + const status_number = Number(response2.status); + if (isNaN(status_number)) { + throw new Error( + `response.status is not a number. value: "${response2.status}" type: ${typeof response2.status}` + ); + } + fetched.push({ + url: same_origin ? url.href.slice(event.url.origin.length) : url.href, + method: event.request.method, + request_body: ( + /** @type {string | ArrayBufferView | undefined} */ + input instanceof Request && cloned_body ? await stream_to_string(cloned_body) : init2?.body + ), + request_headers: cloned_headers, + response_body: body2, + response: response2, + is_b64 + }); + } + if (key2 === "arrayBuffer") { + return async () => { + const buffer = await response2.arrayBuffer(); + if (dependency) { + dependency.body = new Uint8Array(buffer); + } + if (buffer instanceof ArrayBuffer) { + await push_fetched(b64_encode(buffer), true); + } + return buffer; + }; + } + async function text2() { + const body2 = await response2.text(); + if (!body2 || typeof body2 === "string") { + await push_fetched(body2, false); + } + if (dependency) { + dependency.body = body2; + } + return body2; + } + if (key2 === "text") { + return text2; + } + if (key2 === "json") { + return async () => { + return JSON.parse(await text2()); + }; + } + return Reflect.get(response2, key2, response2); + } + }); + if (csr) { + const get = response.headers.get; + response.headers.get = (key2) => { + const lower = key2.toLowerCase(); + const value = get.call(response.headers, lower); + if (value && !lower.startsWith("x-sveltekit-")) { + const included = resolve_opts.filterSerializedResponseHeaders(lower, value); + if (!included) { + throw new Error( + `Failed to get response header "${lower}" — it must be included by the \`filterSerializedResponseHeaders\` option: https://svelte.dev/docs/kit/hooks#Server-hooks-handle (at ${event.route.id})` + ); + } + } + return value; + }; + } + return proxy; + }; + return (input, init2) => { + const response = universal_fetch(input, init2); + response.catch(() => { + }); + return response; + }; +} +async function stream_to_string(stream) { + let result = ""; + const reader = stream.getReader(); + const decoder = new TextDecoder(); + while (true) { + const { done, value } = await reader.read(); + if (done) { + break; + } + result += decoder.decode(value); + } + return result; +} +function hash(...values) { + let hash2 = 5381; + for (const value of values) { + if (typeof value === "string") { + let i = value.length; + while (i) hash2 = hash2 * 33 ^ value.charCodeAt(--i); + } else if (ArrayBuffer.isView(value)) { + const buffer = new Uint8Array(value.buffer, value.byteOffset, value.byteLength); + let i = buffer.length; + while (i) hash2 = hash2 * 33 ^ buffer[--i]; + } else { + throw new TypeError("value must be a string or TypedArray"); + } + } + return (hash2 >>> 0).toString(36); +} +const replacements = { + "<": "\\u003C", + "\u2028": "\\u2028", + "\u2029": "\\u2029" +}; +const pattern = new RegExp(`[${Object.keys(replacements).join("")}]`, "g"); +function serialize_data(fetched, filter, prerendering2 = false) { + const headers2 = {}; + let cache_control = null; + let age = null; + let varyAny = false; + for (const [key2, value] of fetched.response.headers) { + if (filter(key2, value)) { + headers2[key2] = value; + } + if (key2 === "cache-control") cache_control = value; + else if (key2 === "age") age = value; + else if (key2 === "vary" && value.trim() === "*") varyAny = true; + } + const payload = { + status: fetched.response.status, + statusText: fetched.response.statusText, + headers: headers2, + body: fetched.response_body + }; + const safe_payload = JSON.stringify(payload).replace(pattern, (match) => replacements[match]); + const attrs = [ + 'type="application/json"', + "data-sveltekit-fetched", + `data-url="${escape_html(fetched.url, true)}"` + ]; + if (fetched.is_b64) { + attrs.push("data-b64"); + } + if (fetched.request_headers || fetched.request_body) { + const values = []; + if (fetched.request_headers) { + values.push([...new Headers(fetched.request_headers)].join(",")); + } + if (fetched.request_body) { + values.push(fetched.request_body); + } + attrs.push(`data-hash="${hash(...values)}"`); + } + if (!prerendering2 && fetched.method === "GET" && cache_control && !varyAny) { + const match = /s-maxage=(\d+)/g.exec(cache_control) ?? /max-age=(\d+)/g.exec(cache_control); + if (match) { + const ttl = +match[1] - +(age ?? "0"); + attrs.push(`data-ttl="${ttl}"`); + } + } + return ` - - - - - + + + + + + + + - -
    + +
    + +
    diff --git a/package-lock.json b/package-lock.json index 8d5ae1c..4e6360a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,13 +8,13 @@ "name": "passdb-frontend", "version": "2.0.0", "dependencies": { + "@sveltejs/adapter-static": "^3.0.8", + "@sveltejs/kit": "^2.22.0", "@tanstack/table-core": "^8.21.3", "@types/mousetrap": "^1.6.15", - "@types/page": "^1.11.9", "clsx": "^2.1.1", "lucide-svelte": "^0.517.0", "mousetrap": "^1.6.5", - "page": "^1.11.6", "shadcn-svelte": "^1.0.3", "tailwind-merge": "^3.3.1" }, @@ -244,7 +244,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -261,7 +260,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -278,7 +276,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -295,7 +292,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -312,7 +308,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -329,7 +324,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -346,7 +340,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -363,7 +356,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -380,7 +372,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -397,7 +388,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -414,7 +404,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -431,7 +420,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -448,7 +436,6 @@ "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -465,7 +452,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -482,7 +468,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -499,7 +484,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -516,7 +500,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -533,7 +516,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -550,7 +532,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -567,7 +548,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -584,7 +564,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -601,7 +580,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -618,7 +596,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -635,7 +612,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -652,7 +628,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -971,7 +946,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -1058,7 +1032,6 @@ "version": "1.0.0-next.29", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true, "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { @@ -1068,7 +1041,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1082,7 +1054,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1096,7 +1067,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1110,7 +1080,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1124,7 +1093,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1138,7 +1106,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1152,7 +1119,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1166,7 +1132,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1180,7 +1145,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1194,7 +1158,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1208,7 +1171,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1222,7 +1184,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1236,7 +1197,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1250,7 +1210,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1264,7 +1223,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1278,7 +1236,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1292,7 +1249,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1306,7 +1262,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1320,7 +1275,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1334,7 +1288,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1350,11 +1303,51 @@ "acorn": "^8.9.0" } }, + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.8.tgz", + "integrity": "sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg==", + "license": "MIT", + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.22.0.tgz", + "integrity": "sha512-DJm0UxVgzXq+1MUfiJK4Ridk7oIQsIets6JwHiEl97sI6nXScfXe+BeqNhzB7jQIVBb3BM51U4hNk8qQxRXBAA==", + "license": "MIT", + "dependencies": { + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.14.1", + "cookie": "^0.6.0", + "devalue": "^5.1.0", + "esm-env": "^1.2.2", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^3.0.0", + "vitefu": "^1.0.6" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" + } + }, "node_modules/@sveltejs/vite-plugin-svelte": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.0.tgz", "integrity": "sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==", - "dev": true, "license": "MIT", "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", @@ -1376,7 +1369,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", - "dev": true, "license": "MIT", "dependencies": { "debug": "^4.3.7" @@ -1390,16 +1382,6 @@ "vite": "^6.0.0" } }, - "node_modules/@sveltejs/vite-plugin-svelte/node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@swc/helpers": { "version": "0.5.17", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", @@ -1533,6 +1515,12 @@ "@types/deep-eql": "*" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, "node_modules/@types/deep-eql": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", @@ -1563,18 +1551,12 @@ "version": "24.0.3", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz", "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "undici-types": "~7.8.0" } }, - "node_modules/@types/page": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/@types/page/-/page-1.11.9.tgz", - "integrity": "sha512-Ki8IZMwg63i7+tF3UpfDIl4rwBN1B1kWQjZCUzaWoohfMB0m9CYap/dExbz7W21uS2WPoA/8lvlDuwX0X/YfIQ==", - "license": "MIT" - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.34.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.1.tgz", @@ -2287,7 +2269,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, "license": "MIT", "optional": true, "peer": true @@ -2486,7 +2467,6 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, "optional": true, "peer": true }, @@ -2496,6 +2476,15 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2563,7 +2552,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -2638,7 +2626,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -2684,7 +2671,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", - "dev": true, "license": "Apache-2.0", "optional": true, "peer": true, @@ -2692,6 +2678,12 @@ "node": ">=8" } }, + "node_modules/devalue": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", + "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", + "license": "MIT" + }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -2827,7 +2819,6 @@ "version": "0.25.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", - "dev": true, "hasInstallScript": true, "license": "MIT", "bin": { @@ -3359,7 +3350,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -4066,7 +4056,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -4165,6 +4154,15 @@ "json-buffer": "3.0.1" } }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/known-css-properties": { "version": "0.36.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", @@ -4190,7 +4188,6 @@ "version": "1.30.1", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", - "dev": true, "license": "MPL-2.0", "optional": true, "peer": true, @@ -4224,7 +4221,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4246,7 +4242,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4268,7 +4263,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4290,7 +4284,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4312,7 +4305,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4334,7 +4326,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4356,7 +4347,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4378,7 +4368,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4400,7 +4389,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4422,7 +4410,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4605,7 +4592,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==", - "dev": true, "engines": { "node": ">=4" } @@ -4614,7 +4600,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -4624,7 +4609,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/mz": { @@ -4842,15 +4826,6 @@ "dev": true, "license": "BlueOak-1.0.0" }, - "node_modules/page": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/page/-/page-1.11.6.tgz", - "integrity": "sha512-P6e2JfzkBrPeFCIPplLP7vDDiU84RUUZMrWdsH4ZBGJ8OosnwFkcUkBHp1DTIjuipLliw9yQn/ZJsXZvarsO+g==", - "license": "MIT", - "dependencies": { - "path-to-regexp": "~1.2.1" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4921,21 +4896,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-to-regexp": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.2.1.tgz", - "integrity": "sha512-DBw9IhWfevR2zCVwEZURTuQNseCvu/Q9f5ZgqMCK0Rh61bDa4uyjPAOy9b55yKiPT59zZn+7uYKxmWwsguInwg==", - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "license": "MIT" - }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -5464,7 +5424,6 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, "license": "MIT", "dependencies": { "mri": "^1.1.0" @@ -5524,6 +5483,12 @@ "node": ">=10" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -5704,7 +5669,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", - "dev": true, "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", @@ -5719,7 +5683,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "license": "BSD-3-Clause", "optional": true, "peer": true, @@ -5740,7 +5703,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "license": "MIT", "optional": true, "peer": true, @@ -6358,7 +6320,6 @@ "version": "5.43.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.0.tgz", "integrity": "sha512-CqNNxKSGKSZCunSvwKLTs8u8sGGlp27sxNZ4quGh0QeNuyHM0JSEM/clM9Mf4zUp6J+tO2gUXhgXT2YMMkwfKQ==", - "dev": true, "license": "BSD-2-Clause", "optional": true, "peer": true, @@ -6416,7 +6377,6 @@ "version": "0.2.14", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.4.4", @@ -6433,7 +6393,6 @@ "version": "6.4.6", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "dev": true, "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -6448,7 +6407,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -6524,7 +6482,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -6614,7 +6571,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/update-browserslist-db": { @@ -6687,7 +6644,6 @@ "version": "6.3.5", "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", - "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", @@ -6785,14 +6741,12 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true, "license": "MIT" }, "node_modules/vite/node_modules/fdir": { "version": "6.4.6", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "dev": true, "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -6807,7 +6761,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -6820,7 +6773,6 @@ "version": "4.43.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz", "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==", - "dev": true, "license": "MIT", "dependencies": { "@types/estree": "1.0.7" @@ -6860,7 +6812,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz", "integrity": "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==", - "dev": true, "license": "MIT", "workspaces": [ "tests/deps/*", @@ -7253,7 +7204,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", - "dev": true, + "devOptional": true, "license": "ISC", "bin": { "yaml": "bin.mjs" diff --git a/package.json b/package.json index 0b99bcf..c80aa08 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,11 @@ "version": "2.0.0", "type": "module", "scripts": { - "dev": "vite", + "dev": "vite dev", "build": "vite build", "preview": "vite preview", - "check": "svelte-check --tsconfig ./tsconfig.json", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "lint": "eslint . --ext .js,.ts,.svelte", "format": "prettier --write .", "test": "vitest", @@ -42,13 +43,13 @@ "vitest": "^3.2.0" }, "dependencies": { + "@sveltejs/adapter-static": "^3.0.8", + "@sveltejs/kit": "^2.22.0", "@tanstack/table-core": "^8.21.3", "@types/mousetrap": "^1.6.15", - "@types/page": "^1.11.9", "clsx": "^2.1.1", "lucide-svelte": "^0.517.0", "mousetrap": "^1.6.5", - "page": "^1.11.6", "shadcn-svelte": "^1.0.3", "tailwind-merge": "^3.3.1" } diff --git a/src/app.d.ts b/src/app.d.ts index 61b9712..c7c0ed1 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -1,4 +1,13 @@ -/// -/// +// See https://kit.svelte.dev/docs/types#app +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} export {}; diff --git a/index.html b/src/app.html similarity index 66% rename from index.html rename to src/app.html index 3c3722c..fe2ded4 100644 --- a/index.html +++ b/src/app.html @@ -1,16 +1,16 @@ - + - + PassDB + %sveltekit.head% - -
    - + +
    %sveltekit.body%
    diff --git a/src/components/Breadcrumbs.svelte b/src/components/Breadcrumbs.svelte index 1d92ec6..a4316ab 100644 --- a/src/components/Breadcrumbs.svelte +++ b/src/components/Breadcrumbs.svelte @@ -1,12 +1,12 @@
    - {#await apiGet(endpoint)} + {#if loading} - {:then results} - {#if results.length === 0} -
    -
    - - - -

    No results found

    -

    - Try adjusting your search terms -

    -
    -
    - {:else} - - {/if} - {:catch error} + {:else if error}
    @@ -114,5 +46,31 @@
    - {/await} + {:else if isSuccess && results} + {#if results.length === 0} +
    +
    + + + +

    No results found

    +

    + Try adjusting your search terms +

    +
    +
    + {:else} + + {/if} + {/if}
    diff --git a/src/components/HIBP.svelte b/src/components/HIBP.svelte index 8c19854..e19b3fe 100644 --- a/src/components/HIBP.svelte +++ b/src/components/HIBP.svelte @@ -2,25 +2,51 @@ import type { BreachInfo } from '../types/api'; import LoadingStates from './LoadingStates.svelte'; import { sanitizeHtml } from '../lib/sanitize'; + import { useAPI } from '../composables/useFetch.svelte'; export let email: string; - let apiServer = localStorage.getItem('host'); - - async function fetchBreaches(email: string): Promise { - const res = await fetch(`${apiServer}/breaches/${email}`); - if (!res.ok) { - throw new Error(`HTTP error! status: ${res.status}`); - } - return await res.json(); - } + // Use modern fetch composable for breach data + const { data: results, loading, error, isSuccess } = useAPI(`/breaches/${email}`); -{#await fetchBreaches(email)} +{#if loading}
    -{:then results} +{:else if error} +
    +
    +
    +
    + + + +
    +
    +

    + Unable to check breaches +

    +

    + {error.message} +

    +
    +
    +
    +
    +{:else if isSuccess && results} {#if results.length > 0}
    @@ -125,36 +151,4 @@

    {/if} -{:catch error} -
    -
    -
    -
    - - - -
    -
    -

    - Unable to check breaches -

    -

    - {error.message} -

    -
    -
    -
    -
    -{/await} +{/if} diff --git a/src/components/Navbar.svelte b/src/components/Navbar.svelte index 3076198..675b840 100644 --- a/src/components/Navbar.svelte +++ b/src/components/Navbar.svelte @@ -1,9 +1,10 @@ {#if type === 'username'}
    - {#if showEmailLink && !$currentRoute.match('/email/') && username && username !== '-' && domain && domain !== '-'} + {#if showEmailLink && !$page.route.id?.includes('/email/') && username && username !== '-' && domain && domain !== '-'} - {:else if showEmailLink && !$currentRoute.match('/email/')} + {:else if showEmailLink && !$page.route.id?.includes('/email/')}
    {/if} {#if username && username !== '-'} diff --git a/src/composables/useFetch.svelte.ts b/src/composables/useFetch.svelte.ts index f85db0b..0a7d89e 100644 --- a/src/composables/useFetch.svelte.ts +++ b/src/composables/useFetch.svelte.ts @@ -105,11 +105,12 @@ export function useFetch( // Specialized hooks for common patterns export function useAPI(endpoint: string, options?: FetchOptions) { - const baseUrl = typeof window !== 'undefined' - ? (window as any).__API_BASE_URL__ || 'http://localhost:4567' + // Reactive base URL that updates when localStorage changes + const getBaseUrl = () => typeof window !== 'undefined' + ? localStorage.getItem('host') || 'http://localhost:4567' : 'http://localhost:4567'; - - return useFetch(`${baseUrl}${endpoint}`, options); + + return useFetch(() => `${getBaseUrl()}${endpoint}`, options); } export function useSearch( diff --git a/src/lib/keyboard-shortcuts.ts b/src/lib/keyboard-shortcuts.ts index b94db2c..a4e09b8 100644 --- a/src/lib/keyboard-shortcuts.ts +++ b/src/lib/keyboard-shortcuts.ts @@ -1,5 +1,5 @@ import Mousetrap from 'mousetrap'; -import { navigate } from '../router'; +import { goto } from '$app/navigation'; import { theme, themes, isDarkMode } from '../stores/theme'; import { breadcrumbs } from '../stores/breadcrumbs'; import { get } from 'svelte/store'; @@ -26,7 +26,10 @@ export class KeyboardShortcutManager { private onHideHelp?: () => void; constructor() { - this.setupGlobalShortcuts(); + // Only setup shortcuts in browser environment + if (typeof window !== 'undefined') { + this.setupGlobalShortcuts(); + } } private setupGlobalShortcuts() { @@ -41,7 +44,7 @@ export class KeyboardShortcutManager { }, 'global'); this.bind('g h', 'Go to home page', () => { - navigate('/'); + goto('/'); }, 'global'); this.bind('ctrl+o', 'Navigate back through breadcrumbs', () => { @@ -112,12 +115,15 @@ export class KeyboardShortcutManager { private bind(key: string, description: string, action: () => void, context: ShortcutContext = 'global') { const shortcut: KeyboardShortcut = { key, description, action, context }; this.shortcuts.set(key, shortcut); - - Mousetrap.bind(key, (e) => { - e.preventDefault(); - action(); - return false; - }); + + // Only bind if we're in the browser environment + if (typeof window !== 'undefined' && Mousetrap) { + Mousetrap.bind(key, (e) => { + e.preventDefault(); + action(); + return false; + }); + } } private unbind(key: string) { @@ -381,11 +387,20 @@ export class KeyboardShortcutManager { return groups.filter(group => group.shortcuts.length > 0); } + // Initialize shortcuts when in browser (called from components) + init() { + if (typeof window !== 'undefined' && this.shortcuts.size === 0) { + this.setupGlobalShortcuts(); + } + } + destroy() { - // Unbind all shortcuts - this.shortcuts.forEach((_, key) => { - Mousetrap.unbind(key); - }); + // Only unbind if we're in the browser and Mousetrap is available + if (typeof window !== 'undefined' && Mousetrap) { + this.shortcuts.forEach((_, key) => { + Mousetrap.unbind(key); + }); + } this.shortcuts.clear(); } } diff --git a/src/main.ts b/src/main.ts deleted file mode 100644 index d40f73a..0000000 --- a/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './index.css'; -import App from './App.svelte'; -import { mount } from 'svelte'; - -const target = document.getElementById('app'); -if (!target) { - throw new Error('Target element #app not found'); -} - -const app = mount(App, { - target, -}); - -export default app; diff --git a/src/router.ts b/src/router.ts deleted file mode 100644 index 8e33d05..0000000 --- a/src/router.ts +++ /dev/null @@ -1,67 +0,0 @@ -import router from 'page'; -import { writable } from 'svelte/store'; -import type { RouteParams } from './types/api'; - -export const currentRoute = writable(''); -export const routeParams = writable({}); - -let currentComponent: any = null; - -export const component = writable(null); - -export function setupRouter() { - router('/', () => { - currentRoute.set('/'); - routeParams.set({}); - loadComponent(() => import('./routes/Home.svelte')); - }); - - router('/email/:email', (ctx) => { - currentRoute.set(ctx.path); - routeParams.set({ email: ctx.params.email }); - loadComponent(() => import('./routes/SearchRoute.svelte')); - }); - - router('/domain/:domain', (ctx) => { - currentRoute.set(ctx.path); - routeParams.set({ domain: ctx.params.domain }); - loadComponent(() => import('./routes/SearchRoute.svelte')); - }); - - router('/password/:password', (ctx) => { - currentRoute.set(ctx.path); - routeParams.set({ password: ctx.params.password }); - loadComponent(() => import('./routes/SearchRoute.svelte')); - }); - - router('/username/:name', (ctx) => { - currentRoute.set(ctx.path); - routeParams.set({ name: ctx.params.name }); - loadComponent(() => import('./routes/SearchRoute.svelte')); - }); - - router('*', () => { - currentRoute.set('*'); - routeParams.set({}); - loadComponent(() => import('./routes/NotFound.svelte')); - }); - - router.start(); -} - -async function loadComponent(componentLoader: () => Promise) { - try { - const module = await componentLoader(); - currentComponent = module.default; - component.set(currentComponent); - } catch (error) { - console.error('Failed to load component:', error); - component.set(null); - } -} - -export function navigate(path: string) { - router(path); -} - -export { router }; diff --git a/src/App.svelte b/src/routes/+layout.svelte similarity index 57% rename from src/App.svelte rename to src/routes/+layout.svelte index 011a077..faf5bdc 100644 --- a/src/App.svelte +++ b/src/routes/+layout.svelte @@ -1,18 +1,18 @@ - -
    -
    -
    -

    404

    -

    Page not found

    -

    - Sorry, we couldn't find the page you're looking for. -

    -
    - -
    - -
    - -
    -

    Need help? Check the search instructions on the home page.

    -
    -
    -
    diff --git a/src/routes/SearchRoute.svelte b/src/routes/SearchRoute.svelte deleted file mode 100644 index 4f436b1..0000000 --- a/src/routes/SearchRoute.svelte +++ /dev/null @@ -1,62 +0,0 @@ - - -{#if config} - v)} - > - {#if config.hasHIBP && paramValue} - - {/if} - -{/if} \ No newline at end of file diff --git a/src/routes/domain/[domain]/+page.svelte b/src/routes/domain/[domain]/+page.svelte new file mode 100644 index 0000000..42b95d9 --- /dev/null +++ b/src/routes/domain/[domain]/+page.svelte @@ -0,0 +1,14 @@ + + + v} +/> diff --git a/src/routes/email/[email]/+page.svelte b/src/routes/email/[email]/+page.svelte new file mode 100644 index 0000000..ab38a77 --- /dev/null +++ b/src/routes/email/[email]/+page.svelte @@ -0,0 +1,19 @@ + + + v} +> + {#if email} + + {/if} + diff --git a/src/routes/password/[password]/+page.svelte b/src/routes/password/[password]/+page.svelte new file mode 100644 index 0000000..2dd7e89 --- /dev/null +++ b/src/routes/password/[password]/+page.svelte @@ -0,0 +1,18 @@ + + + diff --git a/src/routes/username/[name]/+page.svelte b/src/routes/username/[name]/+page.svelte new file mode 100644 index 0000000..ed7cf68 --- /dev/null +++ b/src/routes/username/[name]/+page.svelte @@ -0,0 +1,14 @@ + + + v} +/> diff --git a/src/stores/breadcrumbs.ts b/src/stores/breadcrumbs.ts index b8c43f8..fabbcc1 100644 --- a/src/stores/breadcrumbs.ts +++ b/src/stores/breadcrumbs.ts @@ -1,7 +1,8 @@ import { writable } from 'svelte/store'; import { get } from 'svelte/store'; +import { goto } from '$app/navigation'; +import { page } from '$app/stores'; import { navigation } from './navigation'; -import { currentRoute, navigate } from '../router'; export interface BreadcrumbItem { label: string; @@ -91,7 +92,7 @@ function createBreadcrumbStore() { }); // Navigate to the previous breadcrumb - navigate(previousBreadcrumb.path); + goto(previousBreadcrumb.path); } } @@ -111,7 +112,8 @@ function createBreadcrumbStore() { // Auto-add breadcrumbs based on current location function addFromLocation(customLabel?: string) { - const currentLocation = get(currentRoute); + const currentPage = get(page); + const currentLocation = currentPage.url.pathname; if (!currentLocation) return; let label = customLabel; diff --git a/src/stores/theme.ts b/src/stores/theme.ts index b575776..be439e9 100644 --- a/src/stores/theme.ts +++ b/src/stores/theme.ts @@ -13,15 +13,18 @@ allThemes.forEach(theme => themeCache.set(theme.value, theme)); function createThemeStore() { + // Check if we're in the browser environment + const isBrowser = typeof window !== 'undefined'; + // Get initial theme from localStorage or default to system - const rawStoredTheme = localStorage.getItem('theme'); + const rawStoredTheme = isBrowser ? localStorage.getItem('theme') : null; const validThemes = allThemes.map(t => t.value); - const storedTheme = (rawStoredTheme && validThemes.includes(rawStoredTheme as Theme)) - ? rawStoredTheme as Theme + const storedTheme = (rawStoredTheme && validThemes.includes(rawStoredTheme as Theme)) + ? rawStoredTheme as Theme : 'system'; - + // If we had to reset an invalid theme, update localStorage - if (rawStoredTheme && rawStoredTheme !== storedTheme) { + if (isBrowser && rawStoredTheme && rawStoredTheme !== storedTheme) { localStorage.setItem('theme', storedTheme); } @@ -30,13 +33,17 @@ function createThemeStore() { return { subscribe, setTheme: async (theme: Theme) => { - localStorage.setItem('theme', theme); + if (isBrowser) { + localStorage.setItem('theme', theme); + } set(theme); // Get current dark mode value - const currentDarkMode = localStorage.getItem('darkMode') === 'true'; + const currentDarkMode = isBrowser ? localStorage.getItem('darkMode') === 'true' : false; await applyTheme(theme, currentDarkMode); }, init: async () => { + if (!isBrowser) return; + // Get current dark mode value const currentDarkMode = localStorage.getItem('darkMode') === 'true'; await applyTheme(storedTheme, currentDarkMode); @@ -55,12 +62,16 @@ function createThemeStore() { } function createDarkModeStore() { - const storedDarkMode = localStorage.getItem('darkMode') === 'true'; + // Check if we're in the browser environment + const isBrowser = typeof window !== 'undefined'; + const storedDarkMode = isBrowser ? localStorage.getItem('darkMode') === 'true' : false; const store = writable(storedDarkMode); return { subscribe: store.subscribe, toggle: async () => { + if (!isBrowser) return; + const currentValue = localStorage.getItem('darkMode') === 'true'; const newValue = !currentValue; localStorage.setItem('darkMode', String(newValue)); @@ -69,6 +80,8 @@ function createDarkModeStore() { await applyTheme(currentTheme || 'system', newValue); }, set: async (value: boolean) => { + if (!isBrowser) return; + localStorage.setItem('darkMode', String(value)); store.set(value); const currentTheme = localStorage.getItem('theme') as Theme; diff --git a/src/test/setup.ts b/src/test/setup.ts new file mode 100644 index 0000000..fb94cc7 --- /dev/null +++ b/src/test/setup.ts @@ -0,0 +1,28 @@ +// Vitest test setup file +// This file is executed before running tests + +// Mock DOM globals if needed +Object.defineProperty(window, 'matchMedia', { + writable: true, + value: (query: string) => ({ + matches: false, + media: query, + onchange: null, + addListener: () => {}, + removeListener: () => {}, + addEventListener: () => {}, + removeEventListener: () => {}, + dispatchEvent: () => {}, + }), +}); + +// Mock localStorage +Object.defineProperty(window, 'localStorage', { + value: { + getItem: () => null, + setItem: () => {}, + removeItem: () => {}, + clear: () => {}, + }, + writable: true, +}); diff --git a/svelte.config.js b/svelte.config.js index c9a9871..b8ac08c 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,5 +1,33 @@ +import adapter from '@sveltejs/adapter-static'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; -export default { +/** @type {import('@sveltejs/kit').Config} */ +const config = { + // Consult https://kit.svelte.dev/docs/integrations#preprocessors + // for more information about preprocessors preprocess: vitePreprocess(), + + kit: { + // adapter-static for static site generation (GitHub Pages) + adapter: adapter({ + pages: 'docs', + assets: 'docs', + fallback: 'index.html', + precompress: false, + strict: true + }), + + // Configure paths for GitHub Pages deployment + paths: { + base: process.env.NODE_ENV === 'production' ? '' : '', + }, + + // Prerender all routes for static deployment + prerender: { + handleHttpError: 'warn', + handleMissingId: 'warn' + } + } }; + +export default config; diff --git a/tsconfig.json b/tsconfig.json index 06ff48b..4344710 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,20 +1,14 @@ { - "extends": "@tsconfig/svelte/tsconfig.json", + "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "resolveJsonModule": true, "allowJs": true, "checkJs": true, - "isolatedModules": true, - "moduleDetection": "force", - "baseUrl": ".", - "paths": { - "$lib": ["./src/lib"], - "$lib/*": ["./src/lib/*"] - } - }, - "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], - "references": [{ "path": "./tsconfig.node.json" }] + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } } diff --git a/vite.config.js b/vite.config.js index 406f59a..05d4902 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,41 +1,16 @@ +import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; -import { svelte } from '@sveltejs/vite-plugin-svelte'; -import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; -import path from 'path'; export default defineConfig({ - plugins: [ - svelte({ - preprocess: vitePreprocess(), - }), - ], + plugins: [sveltekit()], server: { port: 5000, host: true, }, build: { target: 'es2022', - outDir: 'docs', - emptyOutDir: true, - cssCodeSplit: true, - rollupOptions: { - output: { - manualChunks: { - 'vendor': ['svelte', 'page'], - 'ui-core': ['bits-ui', 'clsx', 'tailwind-merge', 'lucide-svelte'], - 'ui-table': ['@tanstack/table-core'], - 'utils': ['mousetrap'] - } - } - } - }, - base: './', - resolve: { - alias: { - $lib: path.resolve('./src/lib'), - }, }, optimizeDeps: { - include: ['svelte', 'page', 'bits-ui', 'clsx', 'tailwind-merge'] + include: ['bits-ui', 'clsx', 'tailwind-merge', 'lucide-svelte', '@tanstack/table-core', 'mousetrap'] } }); diff --git a/vitest.config.js b/vitest.config.js index 054e24d..29cf081 100644 --- a/vitest.config.js +++ b/vitest.config.js @@ -6,6 +6,6 @@ export default defineConfig({ test: { globals: true, environment: 'jsdom', - setupFiles: ['./src/test/setup.js'], + setupFiles: ['./src/test/setup.ts'], }, });