mfuntowicz HF Staff commited on
Commit
04ec17f
·
verified ·
1 Parent(s): 898ed69

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +8 -0
  2. dev-ui/.env.example +16 -0
  3. dev-ui/.svelte-kit/ambient.d.ts +195 -0
  4. dev-ui/.svelte-kit/generated/client/app.js +31 -0
  5. dev-ui/.svelte-kit/generated/client/matchers.js +1 -0
  6. dev-ui/.svelte-kit/generated/client/nodes/0.js +1 -0
  7. dev-ui/.svelte-kit/generated/client/nodes/1.js +1 -0
  8. dev-ui/.svelte-kit/generated/client/nodes/2.js +1 -0
  9. dev-ui/.svelte-kit/generated/client/nodes/3.js +1 -0
  10. dev-ui/.svelte-kit/generated/root.js +3 -0
  11. dev-ui/.svelte-kit/generated/root.svelte +66 -0
  12. dev-ui/.svelte-kit/generated/server/internal.js +53 -0
  13. dev-ui/.svelte-kit/non-ambient.d.ts +45 -0
  14. dev-ui/.svelte-kit/tsconfig.json +55 -0
  15. dev-ui/.svelte-kit/types/route_meta_data.json +10 -0
  16. dev-ui/.svelte-kit/types/src/routes/$types.d.ts +24 -0
  17. dev-ui/.svelte-kit/types/src/routes/login/$types.d.ts +18 -0
  18. dev-ui/.svelte-kit/types/src/routes/oauth/callback/$types.d.ts +10 -0
  19. dev-ui/.svelte-kit/types/src/routes/oauth/login/$types.d.ts +10 -0
  20. dev-ui/.vscode/settings.json +5 -0
  21. dev-ui/README.md +38 -0
  22. dev-ui/components.json +16 -0
  23. dev-ui/node_modules/.bin/acorn +3 -0
  24. dev-ui/node_modules/.bin/esbuild +3 -0
  25. dev-ui/node_modules/.bin/jiti +3 -0
  26. dev-ui/node_modules/.bin/lz-string +3 -0
  27. dev-ui/node_modules/.bin/nanoid +3 -0
  28. dev-ui/node_modules/.bin/rollup +3 -0
  29. dev-ui/node_modules/.bin/svelte-check +3 -0
  30. dev-ui/node_modules/.bin/svelte-kit +3 -0
  31. dev-ui/node_modules/.bin/tsc +3 -0
  32. dev-ui/node_modules/.bin/tsserver +3 -0
  33. dev-ui/node_modules/.bin/vite +3 -0
  34. dev-ui/node_modules/.package-lock.json +1323 -0
  35. dev-ui/node_modules/.vite/_svelte_metadata.json +1 -0
  36. dev-ui/node_modules/.vite/deps/_metadata.json +187 -0
  37. dev-ui/node_modules/.vite/deps/bits-ui.js +0 -0
  38. dev-ui/node_modules/.vite/deps/bits-ui.js.map +0 -0
  39. dev-ui/node_modules/.vite/deps/chunk-3R76EFEV.js +160 -0
  40. dev-ui/node_modules/.vite/deps/chunk-3R76EFEV.js.map +7 -0
  41. dev-ui/node_modules/.vite/deps/chunk-4IXOHRSL.js +3094 -0
  42. dev-ui/node_modules/.vite/deps/chunk-4IXOHRSL.js.map +0 -0
  43. dev-ui/node_modules/.vite/deps/chunk-7RQDXF5S.js +0 -0
  44. dev-ui/node_modules/.vite/deps/chunk-7RQDXF5S.js.map +7 -0
  45. dev-ui/node_modules/.vite/deps/chunk-ICXW7654.js +203 -0
  46. dev-ui/node_modules/.vite/deps/chunk-ICXW7654.js.map +7 -0
  47. dev-ui/node_modules/.vite/deps/chunk-JOCHEXZL.js +8 -0
  48. dev-ui/node_modules/.vite/deps/chunk-JOCHEXZL.js.map +7 -0
  49. dev-ui/node_modules/.vite/deps/chunk-ME63RQ5D.js +686 -0
  50. dev-ui/node_modules/.vite/deps/chunk-ME63RQ5D.js.map +7 -0
.gitattributes CHANGED
@@ -33,3 +33,11 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ dev-ui/node_modules/@esbuild/linux-x64/bin/esbuild filter=lfs diff=lfs merge=lfs -text
37
+ dev-ui/node_modules/@rollup/rollup-linux-x64-gnu/rollup.linux-x64-gnu.node filter=lfs diff=lfs merge=lfs -text
38
+ dev-ui/node_modules/@rollup/rollup-linux-x64-musl/rollup.linux-x64-musl.node filter=lfs diff=lfs merge=lfs -text
39
+ dev-ui/node_modules/@tailwindcss/oxide-linux-x64-gnu/tailwindcss-oxide.linux-x64-gnu.node filter=lfs diff=lfs merge=lfs -text
40
+ dev-ui/node_modules/@tailwindcss/oxide-linux-x64-musl/tailwindcss-oxide.linux-x64-musl.node filter=lfs diff=lfs merge=lfs -text
41
+ dev-ui/node_modules/esbuild/bin/esbuild filter=lfs diff=lfs merge=lfs -text
42
+ dev-ui/node_modules/lightningcss-linux-x64-gnu/lightningcss.linux-x64-gnu.node filter=lfs diff=lfs merge=lfs -text
43
+ dev-ui/node_modules/lightningcss-linux-x64-musl/lightningcss.linux-x64-musl.node filter=lfs diff=lfs merge=lfs -text
dev-ui/.env.example ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # OAuth Configuration for Hugging Face
2
+ # Get these values from: https://huggingface.co/settings/connected-applications
3
+
4
+ # Your OAuth application's client ID
5
+ OAUTH_CLIENT_ID=your_client_id_here
6
+
7
+ # Your OAuth application's client secret
8
+ OAUTH_CLIENT_SECRET=your_client_secret_here
9
+
10
+ # The redirect URI registered with your OAuth application
11
+ # For local development, this should be: http://localhost:5173/oauth/callback
12
+ # For production, use your actual domain: https://yourdomain.com/oauth/callback
13
+ OAUTH_REDIRECT_URI=http://localhost:5173/oauth/callback
14
+
15
+ # Node environment
16
+ NODE_ENV=development
dev-ui/.svelte-kit/ambient.d.ts ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ // this file is generated — do not edit it
3
+
4
+
5
+ /// <reference types="@sveltejs/kit" />
6
+
7
+ /**
8
+ * 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).
9
+ *
10
+ * _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.
11
+ *
12
+ * ```ts
13
+ * import { API_KEY } from '$env/static/private';
14
+ * ```
15
+ *
16
+ * 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:
17
+ *
18
+ * ```
19
+ * MY_FEATURE_FLAG=""
20
+ * ```
21
+ *
22
+ * You can override `.env` values from the command line like so:
23
+ *
24
+ * ```sh
25
+ * MY_FEATURE_FLAG="enabled" npm run dev
26
+ * ```
27
+ */
28
+ declare module '$env/static/private' {
29
+ export const SHELL: string;
30
+ export const npm_command: string;
31
+ export const npm_config_userconfig: string;
32
+ export const npm_config_cache: string;
33
+ export const HISTCONTROL: string;
34
+ export const WSL2_GUI_APPS_ENABLED: string;
35
+ export const WSL_DISTRO_NAME: string;
36
+ export const TERMINAL_EMULATOR: string;
37
+ export const HOSTNAME: string;
38
+ export const HISTSIZE: string;
39
+ export const NODE: string;
40
+ export const TERM_SESSION_ID: string;
41
+ export const COLOR: string;
42
+ export const npm_config_local_prefix: string;
43
+ export const npm_config_globalconfig: string;
44
+ export const GPG_TTY: string;
45
+ export const EDITOR: string;
46
+ export const NAME: string;
47
+ export const PWD: string;
48
+ export const LOGNAME: string;
49
+ export const npm_config_init_module: string;
50
+ export const _: string;
51
+ export const HOME: string;
52
+ export const LANG: string;
53
+ export const WSL_INTEROP: string;
54
+ export const LS_COLORS: string;
55
+ export const npm_package_version: string;
56
+ export const WAYLAND_DISPLAY: string;
57
+ export const INIT_CWD: string;
58
+ export const npm_lifecycle_script: string;
59
+ export const npm_config_npm_version: string;
60
+ export const TERM: string;
61
+ export const npm_package_name: string;
62
+ export const npm_config_prefix: string;
63
+ export const LESSOPEN: string;
64
+ export const USER: string;
65
+ export const DISPLAY: string;
66
+ export const npm_lifecycle_event: string;
67
+ export const SHLVL: string;
68
+ export const npm_config_user_agent: string;
69
+ export const npm_execpath: string;
70
+ export const XDG_RUNTIME_DIR: string;
71
+ export const DEBUGINFOD_URLS: string;
72
+ export const npm_package_json: string;
73
+ export const WSLENV: string;
74
+ export const DEBUGINFOD_IMA_CERT_PATH: string;
75
+ export const npm_config_noproxy: string;
76
+ export const PATH: string;
77
+ export const npm_config_node_gyp: string;
78
+ export const DBUS_SESSION_BUS_ADDRESS: string;
79
+ export const npm_config_python: string;
80
+ export const npm_config_global_prefix: string;
81
+ export const npm_config_update_notifier: string;
82
+ export const MAIL: string;
83
+ export const HOSTTYPE: string;
84
+ export const PULSE_SERVER: string;
85
+ export const npm_node_execpath: string;
86
+ export const OLDPWD: string;
87
+ export const NODE_ENV: string;
88
+ }
89
+
90
+ /**
91
+ * 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.
92
+ *
93
+ * Values are replaced statically at build time.
94
+ *
95
+ * ```ts
96
+ * import { PUBLIC_BASE_URL } from '$env/static/public';
97
+ * ```
98
+ */
99
+ declare module '$env/static/public' {
100
+
101
+ }
102
+
103
+ /**
104
+ * 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).
105
+ *
106
+ * This module cannot be imported into client-side code.
107
+ *
108
+ * ```ts
109
+ * import { env } from '$env/dynamic/private';
110
+ * console.log(env.DEPLOYMENT_SPECIFIC_VARIABLE);
111
+ * ```
112
+ *
113
+ * > [!NOTE] In `dev`, `$env/dynamic` always includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter.
114
+ */
115
+ declare module '$env/dynamic/private' {
116
+ export const env: {
117
+ SHELL: string;
118
+ npm_command: string;
119
+ npm_config_userconfig: string;
120
+ npm_config_cache: string;
121
+ HISTCONTROL: string;
122
+ WSL2_GUI_APPS_ENABLED: string;
123
+ WSL_DISTRO_NAME: string;
124
+ TERMINAL_EMULATOR: string;
125
+ HOSTNAME: string;
126
+ HISTSIZE: string;
127
+ NODE: string;
128
+ TERM_SESSION_ID: string;
129
+ COLOR: string;
130
+ npm_config_local_prefix: string;
131
+ npm_config_globalconfig: string;
132
+ GPG_TTY: string;
133
+ EDITOR: string;
134
+ NAME: string;
135
+ PWD: string;
136
+ LOGNAME: string;
137
+ npm_config_init_module: string;
138
+ _: string;
139
+ HOME: string;
140
+ LANG: string;
141
+ WSL_INTEROP: string;
142
+ LS_COLORS: string;
143
+ npm_package_version: string;
144
+ WAYLAND_DISPLAY: string;
145
+ INIT_CWD: string;
146
+ npm_lifecycle_script: string;
147
+ npm_config_npm_version: string;
148
+ TERM: string;
149
+ npm_package_name: string;
150
+ npm_config_prefix: string;
151
+ LESSOPEN: string;
152
+ USER: string;
153
+ DISPLAY: string;
154
+ npm_lifecycle_event: string;
155
+ SHLVL: string;
156
+ npm_config_user_agent: string;
157
+ npm_execpath: string;
158
+ XDG_RUNTIME_DIR: string;
159
+ DEBUGINFOD_URLS: string;
160
+ npm_package_json: string;
161
+ WSLENV: string;
162
+ DEBUGINFOD_IMA_CERT_PATH: string;
163
+ npm_config_noproxy: string;
164
+ PATH: string;
165
+ npm_config_node_gyp: string;
166
+ DBUS_SESSION_BUS_ADDRESS: string;
167
+ npm_config_python: string;
168
+ npm_config_global_prefix: string;
169
+ npm_config_update_notifier: string;
170
+ MAIL: string;
171
+ HOSTTYPE: string;
172
+ PULSE_SERVER: string;
173
+ npm_node_execpath: string;
174
+ OLDPWD: string;
175
+ NODE_ENV: string;
176
+ [key: `PUBLIC_${string}`]: undefined;
177
+ [key: `${string}`]: string | undefined;
178
+ }
179
+ }
180
+
181
+ /**
182
+ * 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.
183
+ *
184
+ * 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.
185
+ *
186
+ * ```ts
187
+ * import { env } from '$env/dynamic/public';
188
+ * console.log(env.PUBLIC_DEPLOYMENT_SPECIFIC_VARIABLE);
189
+ * ```
190
+ */
191
+ declare module '$env/dynamic/public' {
192
+ export const env: {
193
+ [key: `PUBLIC_${string}`]: string | undefined;
194
+ }
195
+ }
dev-ui/.svelte-kit/generated/client/app.js ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export { matchers } from './matchers.js';
2
+
3
+ export const nodes = [
4
+ () => import('./nodes/0'),
5
+ () => import('./nodes/1'),
6
+ () => import('./nodes/2'),
7
+ () => import('./nodes/3')
8
+ ];
9
+
10
+ export const server_loads = [];
11
+
12
+ export const dictionary = {
13
+ "/": [2],
14
+ "/login": [3]
15
+ };
16
+
17
+ export const hooks = {
18
+ handleError: (({ error }) => { console.error(error) }),
19
+
20
+ reroute: (() => {}),
21
+ transport: {}
22
+ };
23
+
24
+ export const decoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.decode]));
25
+ export const encoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.encode]));
26
+
27
+ export const hash = false;
28
+
29
+ export const decode = (type, value) => decoders[type](value);
30
+
31
+ export { default as root } from '../root.js';
dev-ui/.svelte-kit/generated/client/matchers.js ADDED
@@ -0,0 +1 @@
 
 
1
+ export const matchers = {};
dev-ui/.svelte-kit/generated/client/nodes/0.js ADDED
@@ -0,0 +1 @@
 
 
1
+ export { default as component } from "../../../../src/routes/+layout.svelte";
dev-ui/.svelte-kit/generated/client/nodes/1.js ADDED
@@ -0,0 +1 @@
 
 
1
+ export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte";
dev-ui/.svelte-kit/generated/client/nodes/2.js ADDED
@@ -0,0 +1 @@
 
 
1
+ export { default as component } from "../../../../src/routes/+page.svelte";
dev-ui/.svelte-kit/generated/client/nodes/3.js ADDED
@@ -0,0 +1 @@
 
 
1
+ export { default as component } from "../../../../src/routes/login/+page.svelte";
dev-ui/.svelte-kit/generated/root.js ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ import { asClassComponent } from 'svelte/legacy';
2
+ import Root from './root.svelte';
3
+ export default asClassComponent(Root);
dev-ui/.svelte-kit/generated/root.svelte ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- This file is generated by @sveltejs/kit — do not edit it! -->
2
+ <svelte:options runes={true} />
3
+ <script>
4
+ import { setContext, onMount, tick } from 'svelte';
5
+ import { browser } from '$app/environment';
6
+
7
+ // stores
8
+ let { stores, page, constructors, components = [], form, data_0 = null, data_1 = null } = $props();
9
+
10
+ if (!browser) {
11
+ setContext('__svelte__', stores);
12
+ }
13
+
14
+ if (browser) {
15
+ $effect.pre(() => stores.page.set(page));
16
+ } else {
17
+ stores.page.set(page);
18
+ }
19
+ $effect(() => {
20
+ stores;page;constructors;components;form;data_0;data_1;
21
+ stores.page.notify();
22
+ });
23
+
24
+ let mounted = $state(false);
25
+ let navigated = $state(false);
26
+ let title = $state(null);
27
+
28
+ onMount(() => {
29
+ const unsubscribe = stores.page.subscribe(() => {
30
+ if (mounted) {
31
+ navigated = true;
32
+ tick().then(() => {
33
+ title = document.title || 'untitled page';
34
+ });
35
+ }
36
+ });
37
+
38
+ mounted = true;
39
+ return unsubscribe;
40
+ });
41
+
42
+ const Pyramid_1=$derived(constructors[1])
43
+ </script>
44
+
45
+ {#if constructors[1]}
46
+ {@const Pyramid_0 = constructors[0]}
47
+ <!-- svelte-ignore binding_property_non_reactive -->
48
+ <Pyramid_0 bind:this={components[0]} data={data_0} {form} params={page.params}>
49
+ <!-- svelte-ignore binding_property_non_reactive -->
50
+ <Pyramid_1 bind:this={components[1]} data={data_1} {form} params={page.params} />
51
+ </Pyramid_0>
52
+
53
+ {:else}
54
+ {@const Pyramid_0 = constructors[0]}
55
+ <!-- svelte-ignore binding_property_non_reactive -->
56
+ <Pyramid_0 bind:this={components[0]} data={data_0} {form} params={page.params} />
57
+
58
+ {/if}
59
+
60
+ {#if mounted}
61
+ <div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px">
62
+ {#if navigated}
63
+ {title}
64
+ {/if}
65
+ </div>
66
+ {/if}
dev-ui/.svelte-kit/generated/server/internal.js ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import root from '../root.js';
3
+ import { set_building, set_prerendering } from '__sveltekit/environment';
4
+ import { set_assets } from '$app/paths/internal/server';
5
+ import { set_manifest, set_read_implementation } from '__sveltekit/server';
6
+ import { set_private_env, set_public_env } from '../../../node_modules/@sveltejs/kit/src/runtime/shared-server.js';
7
+
8
+ export const options = {
9
+ app_template_contains_nonce: false,
10
+ async: false,
11
+ csp: {"mode":"auto","directives":{"upgrade-insecure-requests":false,"block-all-mixed-content":false},"reportOnly":{"upgrade-insecure-requests":false,"block-all-mixed-content":false}},
12
+ csrf_check_origin: true,
13
+ csrf_trusted_origins: [],
14
+ embedded: false,
15
+ env_public_prefix: 'PUBLIC_',
16
+ env_private_prefix: '',
17
+ hash_routing: false,
18
+ hooks: null, // added lazily, via `get_hooks`
19
+ preload_strategy: "modulepreload",
20
+ root,
21
+ service_worker: false,
22
+ service_worker_options: undefined,
23
+ templates: {
24
+ app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n\t\t" + head + "\n\t</head>\n\t<body data-sveltekit-preload-data=\"hover\">\n\t\t<div style=\"display: contents\">" + body + "</div>\n\t</body>\n</html>\n",
25
+ error: ({ status, message }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
26
+ },
27
+ version_hash: "l101sq"
28
+ };
29
+
30
+ export async function get_hooks() {
31
+ let handle;
32
+ let handleFetch;
33
+ let handleError;
34
+ let handleValidationError;
35
+ let init;
36
+
37
+
38
+ let reroute;
39
+ let transport;
40
+
41
+
42
+ return {
43
+ handle,
44
+ handleFetch,
45
+ handleError,
46
+ handleValidationError,
47
+ init,
48
+ reroute,
49
+ transport
50
+ };
51
+ }
52
+
53
+ export { set_assets, set_building, set_manifest, set_prerendering, set_private_env, set_public_env, set_read_implementation };
dev-ui/.svelte-kit/non-ambient.d.ts ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ // this file is generated — do not edit it
3
+
4
+
5
+ declare module "svelte/elements" {
6
+ export interface HTMLAttributes<T> {
7
+ 'data-sveltekit-keepfocus'?: true | '' | 'off' | undefined | null;
8
+ 'data-sveltekit-noscroll'?: true | '' | 'off' | undefined | null;
9
+ 'data-sveltekit-preload-code'?:
10
+ | true
11
+ | ''
12
+ | 'eager'
13
+ | 'viewport'
14
+ | 'hover'
15
+ | 'tap'
16
+ | 'off'
17
+ | undefined
18
+ | null;
19
+ 'data-sveltekit-preload-data'?: true | '' | 'hover' | 'tap' | 'off' | undefined | null;
20
+ 'data-sveltekit-reload'?: true | '' | 'off' | undefined | null;
21
+ 'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null;
22
+ }
23
+ }
24
+
25
+ export {};
26
+
27
+
28
+ declare module "$app/types" {
29
+ export interface AppTypes {
30
+ RouteId(): "/" | "/login" | "/oauth" | "/oauth/callback" | "/oauth/login";
31
+ RouteParams(): {
32
+
33
+ };
34
+ LayoutParams(): {
35
+ "/": Record<string, never>;
36
+ "/login": Record<string, never>;
37
+ "/oauth": Record<string, never>;
38
+ "/oauth/callback": Record<string, never>;
39
+ "/oauth/login": Record<string, never>
40
+ };
41
+ Pathname(): "/" | "/login" | "/login/" | "/oauth" | "/oauth/" | "/oauth/callback" | "/oauth/callback/" | "/oauth/login" | "/oauth/login/";
42
+ ResolvedPathname(): `${"" | `/${string}`}${ReturnType<AppTypes['Pathname']>}`;
43
+ Asset(): "/robots.txt" | string & {};
44
+ }
45
+ }
dev-ui/.svelte-kit/tsconfig.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "paths": {
4
+ "@/*": [
5
+ "../path/to/lib/*"
6
+ ],
7
+ "$lib": [
8
+ "../src/lib"
9
+ ],
10
+ "$lib/*": [
11
+ "../src/lib/*"
12
+ ],
13
+ "$app/types": [
14
+ "./types/index.d.ts"
15
+ ]
16
+ },
17
+ "rootDirs": [
18
+ "..",
19
+ "./types"
20
+ ],
21
+ "verbatimModuleSyntax": true,
22
+ "isolatedModules": true,
23
+ "lib": [
24
+ "esnext",
25
+ "DOM",
26
+ "DOM.Iterable"
27
+ ],
28
+ "moduleResolution": "bundler",
29
+ "module": "esnext",
30
+ "noEmit": true,
31
+ "target": "esnext"
32
+ },
33
+ "include": [
34
+ "ambient.d.ts",
35
+ "non-ambient.d.ts",
36
+ "./types/**/$types.d.ts",
37
+ "../vite.config.js",
38
+ "../vite.config.ts",
39
+ "../src/**/*.js",
40
+ "../src/**/*.ts",
41
+ "../src/**/*.svelte",
42
+ "../tests/**/*.js",
43
+ "../tests/**/*.ts",
44
+ "../tests/**/*.svelte"
45
+ ],
46
+ "exclude": [
47
+ "../node_modules/**",
48
+ "../src/service-worker.js",
49
+ "../src/service-worker/**/*.js",
50
+ "../src/service-worker.ts",
51
+ "../src/service-worker/**/*.ts",
52
+ "../src/service-worker.d.ts",
53
+ "../src/service-worker/**/*.d.ts"
54
+ ]
55
+ }
dev-ui/.svelte-kit/types/route_meta_data.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "/": [],
3
+ "/login": [],
4
+ "/oauth/callback": [
5
+ "src/routes/oauth/callback/+server.ts"
6
+ ],
7
+ "/oauth/login": [
8
+ "src/routes/oauth/login/+server.ts"
9
+ ]
10
+ }
dev-ui/.svelte-kit/types/src/routes/$types.d.ts ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
4
+ // @ts-ignore
5
+ type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
6
+ type RouteParams = { };
7
+ type RouteId = '/';
8
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
9
+ export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
10
+ type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
11
+ type EnsureDefined<T> = T extends null | undefined ? {} : T;
12
+ type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
13
+ export type Snapshot<T = any> = Kit.Snapshot<T>;
14
+ type PageParentData = EnsureDefined<LayoutData>;
15
+ type LayoutRouteId = RouteId | "/" | "/login" | null
16
+ type LayoutParams = RouteParams & { }
17
+ type LayoutParentData = EnsureDefined<{}>;
18
+
19
+ export type PageServerData = null;
20
+ export type PageData = Expand<PageParentData>;
21
+ export type PageProps = { params: RouteParams; data: PageData }
22
+ export type LayoutServerData = null;
23
+ export type LayoutData = Expand<LayoutParentData>;
24
+ export type LayoutProps = { params: LayoutParams; data: LayoutData; children: import("svelte").Snippet }
dev-ui/.svelte-kit/types/src/routes/login/$types.d.ts ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
4
+ // @ts-ignore
5
+ type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
6
+ type RouteParams = { };
7
+ type RouteId = '/login';
8
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
9
+ export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
10
+ type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
11
+ type EnsureDefined<T> = T extends null | undefined ? {} : T;
12
+ type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
13
+ export type Snapshot<T = any> = Kit.Snapshot<T>;
14
+ type PageParentData = EnsureDefined<import('../$types.js').LayoutData>;
15
+
16
+ export type PageServerData = null;
17
+ export type PageData = Expand<PageParentData>;
18
+ export type PageProps = { params: RouteParams; data: PageData }
dev-ui/.svelte-kit/types/src/routes/oauth/callback/$types.d.ts ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
4
+ // @ts-ignore
5
+ type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
6
+ type RouteParams = { };
7
+ type RouteId = '/oauth/callback';
8
+
9
+ export type RequestHandler = Kit.RequestHandler<RouteParams, RouteId>;
10
+ export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>;
dev-ui/.svelte-kit/types/src/routes/oauth/login/$types.d.ts ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
4
+ // @ts-ignore
5
+ type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
6
+ type RouteParams = { };
7
+ type RouteId = '/oauth/login';
8
+
9
+ export type RequestHandler = Kit.RequestHandler<RouteParams, RouteId>;
10
+ export type RequestEvent = Kit.RequestEvent<RouteParams, RouteId>;
dev-ui/.vscode/settings.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "files.associations": {
3
+ "*.css": "tailwind"
4
+ }
5
+ }
dev-ui/README.md ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # sv
2
+
3
+ Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).
4
+
5
+ ## Creating a project
6
+
7
+ If you're seeing this, you've probably already done this step. Congrats!
8
+
9
+ ```sh
10
+ # create a new project in the current directory
11
+ npx sv create
12
+
13
+ # create a new project in my-app
14
+ npx sv create my-app
15
+ ```
16
+
17
+ ## Developing
18
+
19
+ Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
20
+
21
+ ```sh
22
+ npm run dev
23
+
24
+ # or start the server and open the app in a new browser tab
25
+ npm run dev -- --open
26
+ ```
27
+
28
+ ## Building
29
+
30
+ To create a production version of your app:
31
+
32
+ ```sh
33
+ npm run build
34
+ ```
35
+
36
+ You can preview the production build with `npm run preview`.
37
+
38
+ > To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
dev-ui/components.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://shadcn-svelte.com/schema.json",
3
+ "tailwind": {
4
+ "css": "src/routes/layout.css",
5
+ "baseColor": "stone"
6
+ },
7
+ "aliases": {
8
+ "components": "$lib/components",
9
+ "utils": "$lib/utils",
10
+ "ui": "$lib/components/ui",
11
+ "hooks": "$lib/hooks",
12
+ "lib": "$lib"
13
+ },
14
+ "typescript": true,
15
+ "registry": "https://shadcn-svelte.com/registry"
16
+ }
dev-ui/node_modules/.bin/acorn ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c3eb6f1d8932790dbff043839f8ee7686bc614a59ef577e96fed618a4a4b1b8
3
+ size 60
dev-ui/node_modules/.bin/esbuild ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bab29b2ca7a9e89b67cf720b77b2d743f9f31f5cf0d5bd74ee8c8de30ced7014
3
+ size 10358936
dev-ui/node_modules/.bin/jiti ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8829aad7e953f97ef9e25782c99eafa013efa0c36db7c2ffebcc140bd8eeaf54
3
+ size 794
dev-ui/node_modules/.bin/lz-string ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a946c536e6b1c1636f8fb8998db63fb9a33dee20b1f1781bd646acbbb4114059
3
+ size 289
dev-ui/node_modules/.bin/nanoid ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e4eb9be1a3e3feb3f8979ef08c3bf3ef8430f4f22df9c4e427353a1577accbe8
3
+ size 1129
dev-ui/node_modules/.bin/rollup ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c88e3864332f9ddf965fac8ff2023d7ec6a001be02d99e10126371b15eb20bd5
3
+ size 82217
dev-ui/node_modules/.bin/svelte-check ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bc064111d44a33ea1ff58132f2faac3ed1ec91ae16dff5d10e58895930693de0
3
+ size 53
dev-ui/node_modules/.bin/svelte-kit ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9d2634a3aee36b0fa55994afe3bb143443f78fd4572d4e673962f1f9551689df
3
+ size 43
dev-ui/node_modules/.bin/tsc ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d5fa5bd883fec0979fc2004f1fe1d99aef40570155d550eadc0b03b55513bf0
3
+ size 45
dev-ui/node_modules/.bin/tsserver ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a088f0c3419bcb2f7b860ad42e4c9f25ead067eda70af6a10d0a7d453954aada
3
+ size 50
dev-ui/node_modules/.bin/vite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fa03478846d229651a3c6aa64833ba2c6cbf580a798b92bd8f47c7480bafb5d8
3
+ size 2574
dev-ui/node_modules/.package-lock.json ADDED
@@ -0,0 +1,1323 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "dev-ui",
3
+ "version": "0.0.1",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "node_modules/@esbuild/linux-x64": {
8
+ "version": "0.25.12",
9
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
10
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
11
+ "cpu": [
12
+ "x64"
13
+ ],
14
+ "dev": true,
15
+ "license": "MIT",
16
+ "optional": true,
17
+ "os": [
18
+ "linux"
19
+ ],
20
+ "engines": {
21
+ "node": ">=18"
22
+ }
23
+ },
24
+ "node_modules/@floating-ui/core": {
25
+ "version": "1.7.3",
26
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
27
+ "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
28
+ "dev": true,
29
+ "license": "MIT",
30
+ "dependencies": {
31
+ "@floating-ui/utils": "^0.2.10"
32
+ }
33
+ },
34
+ "node_modules/@floating-ui/dom": {
35
+ "version": "1.7.4",
36
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz",
37
+ "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==",
38
+ "dev": true,
39
+ "license": "MIT",
40
+ "dependencies": {
41
+ "@floating-ui/core": "^1.7.3",
42
+ "@floating-ui/utils": "^0.2.10"
43
+ }
44
+ },
45
+ "node_modules/@floating-ui/utils": {
46
+ "version": "0.2.10",
47
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
48
+ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
49
+ "dev": true,
50
+ "license": "MIT"
51
+ },
52
+ "node_modules/@internationalized/date": {
53
+ "version": "3.10.0",
54
+ "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.10.0.tgz",
55
+ "integrity": "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==",
56
+ "dev": true,
57
+ "license": "Apache-2.0",
58
+ "dependencies": {
59
+ "@swc/helpers": "^0.5.0"
60
+ }
61
+ },
62
+ "node_modules/@jridgewell/gen-mapping": {
63
+ "version": "0.3.13",
64
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
65
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
66
+ "license": "MIT",
67
+ "dependencies": {
68
+ "@jridgewell/sourcemap-codec": "^1.5.0",
69
+ "@jridgewell/trace-mapping": "^0.3.24"
70
+ }
71
+ },
72
+ "node_modules/@jridgewell/remapping": {
73
+ "version": "2.3.5",
74
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
75
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
76
+ "license": "MIT",
77
+ "dependencies": {
78
+ "@jridgewell/gen-mapping": "^0.3.5",
79
+ "@jridgewell/trace-mapping": "^0.3.24"
80
+ }
81
+ },
82
+ "node_modules/@jridgewell/resolve-uri": {
83
+ "version": "3.1.2",
84
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
85
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
86
+ "license": "MIT",
87
+ "engines": {
88
+ "node": ">=6.0.0"
89
+ }
90
+ },
91
+ "node_modules/@jridgewell/sourcemap-codec": {
92
+ "version": "1.5.5",
93
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
94
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
95
+ "license": "MIT"
96
+ },
97
+ "node_modules/@jridgewell/trace-mapping": {
98
+ "version": "0.3.31",
99
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
100
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
101
+ "license": "MIT",
102
+ "dependencies": {
103
+ "@jridgewell/resolve-uri": "^3.1.0",
104
+ "@jridgewell/sourcemap-codec": "^1.4.14"
105
+ }
106
+ },
107
+ "node_modules/@lucide/svelte": {
108
+ "version": "0.554.0",
109
+ "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.554.0.tgz",
110
+ "integrity": "sha512-CM6wLEH8uk3WBpC42t8R0hF7SlQrsYEL6qGuXdB99xKZwKglpWmX5XgYu7FIYOCBYOyC1rm4dNhIe6uF9pOXqw==",
111
+ "dev": true,
112
+ "license": "ISC",
113
+ "peerDependencies": {
114
+ "svelte": "^5"
115
+ }
116
+ },
117
+ "node_modules/@polka/url": {
118
+ "version": "1.0.0-next.29",
119
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
120
+ "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
121
+ "dev": true,
122
+ "license": "MIT"
123
+ },
124
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
125
+ "version": "4.53.3",
126
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz",
127
+ "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==",
128
+ "cpu": [
129
+ "x64"
130
+ ],
131
+ "dev": true,
132
+ "license": "MIT",
133
+ "optional": true,
134
+ "os": [
135
+ "linux"
136
+ ]
137
+ },
138
+ "node_modules/@rollup/rollup-linux-x64-musl": {
139
+ "version": "4.53.3",
140
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz",
141
+ "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==",
142
+ "cpu": [
143
+ "x64"
144
+ ],
145
+ "dev": true,
146
+ "license": "MIT",
147
+ "optional": true,
148
+ "os": [
149
+ "linux"
150
+ ]
151
+ },
152
+ "node_modules/@standard-schema/spec": {
153
+ "version": "1.0.0",
154
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
155
+ "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
156
+ "dev": true,
157
+ "license": "MIT"
158
+ },
159
+ "node_modules/@sveltejs/acorn-typescript": {
160
+ "version": "1.0.7",
161
+ "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.7.tgz",
162
+ "integrity": "sha512-znp1A/Y1Jj4l/Zy7PX5DZKBE0ZNY+5QBngiE21NJkfSTyzzC5iKNWOtwFXKtIrn7MXEFBck4jD95iBNkGjK92Q==",
163
+ "license": "MIT",
164
+ "peerDependencies": {
165
+ "acorn": "^8.9.0"
166
+ }
167
+ },
168
+ "node_modules/@sveltejs/adapter-auto": {
169
+ "version": "7.0.0",
170
+ "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-7.0.0.tgz",
171
+ "integrity": "sha512-ImDWaErTOCkRS4Gt+5gZuymKFBobnhChXUZ9lhUZLahUgvA4OOvRzi3sahzYgbxGj5nkA6OV0GAW378+dl/gyw==",
172
+ "dev": true,
173
+ "license": "MIT",
174
+ "peerDependencies": {
175
+ "@sveltejs/kit": "^2.0.0"
176
+ }
177
+ },
178
+ "node_modules/@sveltejs/kit": {
179
+ "version": "2.48.5",
180
+ "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.48.5.tgz",
181
+ "integrity": "sha512-/rnwfSWS3qwUSzvHynUTORF9xSJi7PCR9yXkxUOnRrNqyKmCmh3FPHH+E9BbgqxXfTevGXBqgnlh9kMb+9T5XA==",
182
+ "dev": true,
183
+ "license": "MIT",
184
+ "dependencies": {
185
+ "@standard-schema/spec": "^1.0.0",
186
+ "@sveltejs/acorn-typescript": "^1.0.5",
187
+ "@types/cookie": "^0.6.0",
188
+ "acorn": "^8.14.1",
189
+ "cookie": "^0.6.0",
190
+ "devalue": "^5.3.2",
191
+ "esm-env": "^1.2.2",
192
+ "kleur": "^4.1.5",
193
+ "magic-string": "^0.30.5",
194
+ "mrmime": "^2.0.0",
195
+ "sade": "^1.8.1",
196
+ "set-cookie-parser": "^2.6.0",
197
+ "sirv": "^3.0.0"
198
+ },
199
+ "bin": {
200
+ "svelte-kit": "svelte-kit.js"
201
+ },
202
+ "engines": {
203
+ "node": ">=18.13"
204
+ },
205
+ "peerDependencies": {
206
+ "@opentelemetry/api": "^1.0.0",
207
+ "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0",
208
+ "svelte": "^4.0.0 || ^5.0.0-next.0",
209
+ "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0"
210
+ },
211
+ "peerDependenciesMeta": {
212
+ "@opentelemetry/api": {
213
+ "optional": true
214
+ }
215
+ }
216
+ },
217
+ "node_modules/@sveltejs/vite-plugin-svelte": {
218
+ "version": "6.2.1",
219
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.2.1.tgz",
220
+ "integrity": "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ==",
221
+ "dev": true,
222
+ "license": "MIT",
223
+ "dependencies": {
224
+ "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0",
225
+ "debug": "^4.4.1",
226
+ "deepmerge": "^4.3.1",
227
+ "magic-string": "^0.30.17",
228
+ "vitefu": "^1.1.1"
229
+ },
230
+ "engines": {
231
+ "node": "^20.19 || ^22.12 || >=24"
232
+ },
233
+ "peerDependencies": {
234
+ "svelte": "^5.0.0",
235
+ "vite": "^6.3.0 || ^7.0.0"
236
+ }
237
+ },
238
+ "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
239
+ "version": "5.0.1",
240
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.1.tgz",
241
+ "integrity": "sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA==",
242
+ "dev": true,
243
+ "license": "MIT",
244
+ "dependencies": {
245
+ "debug": "^4.4.1"
246
+ },
247
+ "engines": {
248
+ "node": "^20.19 || ^22.12 || >=24"
249
+ },
250
+ "peerDependencies": {
251
+ "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0",
252
+ "svelte": "^5.0.0",
253
+ "vite": "^6.3.0 || ^7.0.0"
254
+ }
255
+ },
256
+ "node_modules/@swc/helpers": {
257
+ "version": "0.5.17",
258
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz",
259
+ "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==",
260
+ "dev": true,
261
+ "license": "Apache-2.0",
262
+ "dependencies": {
263
+ "tslib": "^2.8.0"
264
+ }
265
+ },
266
+ "node_modules/@tailwindcss/node": {
267
+ "version": "4.1.17",
268
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.17.tgz",
269
+ "integrity": "sha512-csIkHIgLb3JisEFQ0vxr2Y57GUNYh447C8xzwj89U/8fdW8LhProdxvnVH6U8M2Y73QKiTIH+LWbK3V2BBZsAg==",
270
+ "dev": true,
271
+ "license": "MIT",
272
+ "dependencies": {
273
+ "@jridgewell/remapping": "^2.3.4",
274
+ "enhanced-resolve": "^5.18.3",
275
+ "jiti": "^2.6.1",
276
+ "lightningcss": "1.30.2",
277
+ "magic-string": "^0.30.21",
278
+ "source-map-js": "^1.2.1",
279
+ "tailwindcss": "4.1.17"
280
+ }
281
+ },
282
+ "node_modules/@tailwindcss/oxide": {
283
+ "version": "4.1.17",
284
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.17.tgz",
285
+ "integrity": "sha512-F0F7d01fmkQhsTjXezGBLdrl1KresJTcI3DB8EkScCldyKp3Msz4hub4uyYaVnk88BAS1g5DQjjF6F5qczheLA==",
286
+ "dev": true,
287
+ "license": "MIT",
288
+ "engines": {
289
+ "node": ">= 10"
290
+ },
291
+ "optionalDependencies": {
292
+ "@tailwindcss/oxide-android-arm64": "4.1.17",
293
+ "@tailwindcss/oxide-darwin-arm64": "4.1.17",
294
+ "@tailwindcss/oxide-darwin-x64": "4.1.17",
295
+ "@tailwindcss/oxide-freebsd-x64": "4.1.17",
296
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.17",
297
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.1.17",
298
+ "@tailwindcss/oxide-linux-arm64-musl": "4.1.17",
299
+ "@tailwindcss/oxide-linux-x64-gnu": "4.1.17",
300
+ "@tailwindcss/oxide-linux-x64-musl": "4.1.17",
301
+ "@tailwindcss/oxide-wasm32-wasi": "4.1.17",
302
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.1.17",
303
+ "@tailwindcss/oxide-win32-x64-msvc": "4.1.17"
304
+ }
305
+ },
306
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
307
+ "version": "4.1.17",
308
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.17.tgz",
309
+ "integrity": "sha512-M3XZuORCGB7VPOEDH+nzpJ21XPvK5PyjlkSFkFziNHGLc5d6g3di2McAAblmaSUNl8IOmzYwLx9NsE7bplNkwQ==",
310
+ "cpu": [
311
+ "x64"
312
+ ],
313
+ "dev": true,
314
+ "license": "MIT",
315
+ "optional": true,
316
+ "os": [
317
+ "linux"
318
+ ],
319
+ "engines": {
320
+ "node": ">= 10"
321
+ }
322
+ },
323
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
324
+ "version": "4.1.17",
325
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.17.tgz",
326
+ "integrity": "sha512-k7f+pf9eXLEey4pBlw+8dgfJHY4PZ5qOUFDyNf7SI6lHjQ9Zt7+NcscjpwdCEbYi6FI5c2KDTDWyf2iHcCSyyQ==",
327
+ "cpu": [
328
+ "x64"
329
+ ],
330
+ "dev": true,
331
+ "license": "MIT",
332
+ "optional": true,
333
+ "os": [
334
+ "linux"
335
+ ],
336
+ "engines": {
337
+ "node": ">= 10"
338
+ }
339
+ },
340
+ "node_modules/@tailwindcss/vite": {
341
+ "version": "4.1.17",
342
+ "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.17.tgz",
343
+ "integrity": "sha512-4+9w8ZHOiGnpcGI6z1TVVfWaX/koK7fKeSYF3qlYg2xpBtbteP2ddBxiarL+HVgfSJGeK5RIxRQmKm4rTJJAwA==",
344
+ "dev": true,
345
+ "license": "MIT",
346
+ "dependencies": {
347
+ "@tailwindcss/node": "4.1.17",
348
+ "@tailwindcss/oxide": "4.1.17",
349
+ "tailwindcss": "4.1.17"
350
+ },
351
+ "peerDependencies": {
352
+ "vite": "^5.2.0 || ^6 || ^7"
353
+ }
354
+ },
355
+ "node_modules/@types/cookie": {
356
+ "version": "0.6.0",
357
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
358
+ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
359
+ "dev": true,
360
+ "license": "MIT"
361
+ },
362
+ "node_modules/@types/estree": {
363
+ "version": "1.0.8",
364
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
365
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
366
+ "license": "MIT"
367
+ },
368
+ "node_modules/acorn": {
369
+ "version": "8.15.0",
370
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
371
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
372
+ "license": "MIT",
373
+ "bin": {
374
+ "acorn": "bin/acorn"
375
+ },
376
+ "engines": {
377
+ "node": ">=0.4.0"
378
+ }
379
+ },
380
+ "node_modules/aria-query": {
381
+ "version": "5.3.2",
382
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
383
+ "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
384
+ "license": "Apache-2.0",
385
+ "engines": {
386
+ "node": ">= 0.4"
387
+ }
388
+ },
389
+ "node_modules/axobject-query": {
390
+ "version": "4.1.0",
391
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
392
+ "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
393
+ "license": "Apache-2.0",
394
+ "engines": {
395
+ "node": ">= 0.4"
396
+ }
397
+ },
398
+ "node_modules/bits-ui": {
399
+ "version": "2.14.4",
400
+ "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-2.14.4.tgz",
401
+ "integrity": "sha512-W6kenhnbd/YVvur+DKkaVJ6GldE53eLewur5AhUCqslYQ0vjZr8eWlOfwZnMiPB+PF5HMVqf61vXBvmyrAmPWg==",
402
+ "dev": true,
403
+ "license": "MIT",
404
+ "dependencies": {
405
+ "@floating-ui/core": "^1.7.1",
406
+ "@floating-ui/dom": "^1.7.1",
407
+ "esm-env": "^1.1.2",
408
+ "runed": "^0.35.1",
409
+ "svelte-toolbelt": "^0.10.6",
410
+ "tabbable": "^6.2.0"
411
+ },
412
+ "engines": {
413
+ "node": ">=20"
414
+ },
415
+ "funding": {
416
+ "url": "https://github.com/sponsors/huntabyte"
417
+ },
418
+ "peerDependencies": {
419
+ "@internationalized/date": "^3.8.1",
420
+ "svelte": "^5.33.0"
421
+ }
422
+ },
423
+ "node_modules/chokidar": {
424
+ "version": "4.0.3",
425
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
426
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
427
+ "dev": true,
428
+ "license": "MIT",
429
+ "dependencies": {
430
+ "readdirp": "^4.0.1"
431
+ },
432
+ "engines": {
433
+ "node": ">= 14.16.0"
434
+ },
435
+ "funding": {
436
+ "url": "https://paulmillr.com/funding/"
437
+ }
438
+ },
439
+ "node_modules/clsx": {
440
+ "version": "2.1.1",
441
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
442
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
443
+ "license": "MIT",
444
+ "engines": {
445
+ "node": ">=6"
446
+ }
447
+ },
448
+ "node_modules/cookie": {
449
+ "version": "0.6.0",
450
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
451
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
452
+ "dev": true,
453
+ "license": "MIT",
454
+ "engines": {
455
+ "node": ">= 0.6"
456
+ }
457
+ },
458
+ "node_modules/debug": {
459
+ "version": "4.4.3",
460
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
461
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
462
+ "dev": true,
463
+ "license": "MIT",
464
+ "dependencies": {
465
+ "ms": "^2.1.3"
466
+ },
467
+ "engines": {
468
+ "node": ">=6.0"
469
+ },
470
+ "peerDependenciesMeta": {
471
+ "supports-color": {
472
+ "optional": true
473
+ }
474
+ }
475
+ },
476
+ "node_modules/deepmerge": {
477
+ "version": "4.3.1",
478
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
479
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
480
+ "dev": true,
481
+ "license": "MIT",
482
+ "engines": {
483
+ "node": ">=0.10.0"
484
+ }
485
+ },
486
+ "node_modules/dequal": {
487
+ "version": "2.0.3",
488
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
489
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
490
+ "dev": true,
491
+ "license": "MIT",
492
+ "engines": {
493
+ "node": ">=6"
494
+ }
495
+ },
496
+ "node_modules/detect-libc": {
497
+ "version": "2.1.2",
498
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
499
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
500
+ "dev": true,
501
+ "license": "Apache-2.0",
502
+ "engines": {
503
+ "node": ">=8"
504
+ }
505
+ },
506
+ "node_modules/devalue": {
507
+ "version": "5.5.0",
508
+ "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.5.0.tgz",
509
+ "integrity": "sha512-69sM5yrHfFLJt0AZ9QqZXGCPfJ7fQjvpln3Rq5+PS03LD32Ost1Q9N+eEnaQwGRIriKkMImXD56ocjQmfjbV3w==",
510
+ "dev": true,
511
+ "license": "MIT"
512
+ },
513
+ "node_modules/enhanced-resolve": {
514
+ "version": "5.18.3",
515
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
516
+ "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
517
+ "dev": true,
518
+ "license": "MIT",
519
+ "dependencies": {
520
+ "graceful-fs": "^4.2.4",
521
+ "tapable": "^2.2.0"
522
+ },
523
+ "engines": {
524
+ "node": ">=10.13.0"
525
+ }
526
+ },
527
+ "node_modules/esbuild": {
528
+ "version": "0.25.12",
529
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
530
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
531
+ "dev": true,
532
+ "hasInstallScript": true,
533
+ "license": "MIT",
534
+ "bin": {
535
+ "esbuild": "bin/esbuild"
536
+ },
537
+ "engines": {
538
+ "node": ">=18"
539
+ },
540
+ "optionalDependencies": {
541
+ "@esbuild/aix-ppc64": "0.25.12",
542
+ "@esbuild/android-arm": "0.25.12",
543
+ "@esbuild/android-arm64": "0.25.12",
544
+ "@esbuild/android-x64": "0.25.12",
545
+ "@esbuild/darwin-arm64": "0.25.12",
546
+ "@esbuild/darwin-x64": "0.25.12",
547
+ "@esbuild/freebsd-arm64": "0.25.12",
548
+ "@esbuild/freebsd-x64": "0.25.12",
549
+ "@esbuild/linux-arm": "0.25.12",
550
+ "@esbuild/linux-arm64": "0.25.12",
551
+ "@esbuild/linux-ia32": "0.25.12",
552
+ "@esbuild/linux-loong64": "0.25.12",
553
+ "@esbuild/linux-mips64el": "0.25.12",
554
+ "@esbuild/linux-ppc64": "0.25.12",
555
+ "@esbuild/linux-riscv64": "0.25.12",
556
+ "@esbuild/linux-s390x": "0.25.12",
557
+ "@esbuild/linux-x64": "0.25.12",
558
+ "@esbuild/netbsd-arm64": "0.25.12",
559
+ "@esbuild/netbsd-x64": "0.25.12",
560
+ "@esbuild/openbsd-arm64": "0.25.12",
561
+ "@esbuild/openbsd-x64": "0.25.12",
562
+ "@esbuild/openharmony-arm64": "0.25.12",
563
+ "@esbuild/sunos-x64": "0.25.12",
564
+ "@esbuild/win32-arm64": "0.25.12",
565
+ "@esbuild/win32-ia32": "0.25.12",
566
+ "@esbuild/win32-x64": "0.25.12"
567
+ }
568
+ },
569
+ "node_modules/esm-env": {
570
+ "version": "1.2.2",
571
+ "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz",
572
+ "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==",
573
+ "license": "MIT"
574
+ },
575
+ "node_modules/esrap": {
576
+ "version": "2.1.3",
577
+ "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.1.3.tgz",
578
+ "integrity": "sha512-T/Dhhv/QH+yYmiaLz9SA3PW+YyenlnRKDNdtlYJrSOBmNsH4nvPux+mTwx7p+wAedlJrGoZtXNI0a0MjQ2QkVg==",
579
+ "license": "MIT",
580
+ "dependencies": {
581
+ "@jridgewell/sourcemap-codec": "^1.4.15"
582
+ }
583
+ },
584
+ "node_modules/fdir": {
585
+ "version": "6.5.0",
586
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
587
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
588
+ "dev": true,
589
+ "license": "MIT",
590
+ "engines": {
591
+ "node": ">=12.0.0"
592
+ },
593
+ "peerDependencies": {
594
+ "picomatch": "^3 || ^4"
595
+ },
596
+ "peerDependenciesMeta": {
597
+ "picomatch": {
598
+ "optional": true
599
+ }
600
+ }
601
+ },
602
+ "node_modules/graceful-fs": {
603
+ "version": "4.2.11",
604
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
605
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
606
+ "dev": true,
607
+ "license": "ISC"
608
+ },
609
+ "node_modules/inline-style-parser": {
610
+ "version": "0.2.7",
611
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
612
+ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==",
613
+ "license": "MIT"
614
+ },
615
+ "node_modules/is-reference": {
616
+ "version": "3.0.3",
617
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
618
+ "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
619
+ "license": "MIT",
620
+ "dependencies": {
621
+ "@types/estree": "^1.0.6"
622
+ }
623
+ },
624
+ "node_modules/jiti": {
625
+ "version": "2.6.1",
626
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
627
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
628
+ "dev": true,
629
+ "license": "MIT",
630
+ "bin": {
631
+ "jiti": "lib/jiti-cli.mjs"
632
+ }
633
+ },
634
+ "node_modules/kleur": {
635
+ "version": "4.1.5",
636
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
637
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
638
+ "dev": true,
639
+ "license": "MIT",
640
+ "engines": {
641
+ "node": ">=6"
642
+ }
643
+ },
644
+ "node_modules/lightningcss": {
645
+ "version": "1.30.2",
646
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz",
647
+ "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==",
648
+ "dev": true,
649
+ "license": "MPL-2.0",
650
+ "dependencies": {
651
+ "detect-libc": "^2.0.3"
652
+ },
653
+ "engines": {
654
+ "node": ">= 12.0.0"
655
+ },
656
+ "funding": {
657
+ "type": "opencollective",
658
+ "url": "https://opencollective.com/parcel"
659
+ },
660
+ "optionalDependencies": {
661
+ "lightningcss-android-arm64": "1.30.2",
662
+ "lightningcss-darwin-arm64": "1.30.2",
663
+ "lightningcss-darwin-x64": "1.30.2",
664
+ "lightningcss-freebsd-x64": "1.30.2",
665
+ "lightningcss-linux-arm-gnueabihf": "1.30.2",
666
+ "lightningcss-linux-arm64-gnu": "1.30.2",
667
+ "lightningcss-linux-arm64-musl": "1.30.2",
668
+ "lightningcss-linux-x64-gnu": "1.30.2",
669
+ "lightningcss-linux-x64-musl": "1.30.2",
670
+ "lightningcss-win32-arm64-msvc": "1.30.2",
671
+ "lightningcss-win32-x64-msvc": "1.30.2"
672
+ }
673
+ },
674
+ "node_modules/lightningcss-linux-x64-gnu": {
675
+ "version": "1.30.2",
676
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz",
677
+ "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==",
678
+ "cpu": [
679
+ "x64"
680
+ ],
681
+ "dev": true,
682
+ "license": "MPL-2.0",
683
+ "optional": true,
684
+ "os": [
685
+ "linux"
686
+ ],
687
+ "engines": {
688
+ "node": ">= 12.0.0"
689
+ },
690
+ "funding": {
691
+ "type": "opencollective",
692
+ "url": "https://opencollective.com/parcel"
693
+ }
694
+ },
695
+ "node_modules/lightningcss-linux-x64-musl": {
696
+ "version": "1.30.2",
697
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz",
698
+ "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==",
699
+ "cpu": [
700
+ "x64"
701
+ ],
702
+ "dev": true,
703
+ "license": "MPL-2.0",
704
+ "optional": true,
705
+ "os": [
706
+ "linux"
707
+ ],
708
+ "engines": {
709
+ "node": ">= 12.0.0"
710
+ },
711
+ "funding": {
712
+ "type": "opencollective",
713
+ "url": "https://opencollective.com/parcel"
714
+ }
715
+ },
716
+ "node_modules/locate-character": {
717
+ "version": "3.0.0",
718
+ "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
719
+ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
720
+ "license": "MIT"
721
+ },
722
+ "node_modules/lz-string": {
723
+ "version": "1.5.0",
724
+ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
725
+ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
726
+ "dev": true,
727
+ "license": "MIT",
728
+ "bin": {
729
+ "lz-string": "bin/bin.js"
730
+ }
731
+ },
732
+ "node_modules/magic-string": {
733
+ "version": "0.30.21",
734
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
735
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
736
+ "license": "MIT",
737
+ "dependencies": {
738
+ "@jridgewell/sourcemap-codec": "^1.5.5"
739
+ }
740
+ },
741
+ "node_modules/mode-watcher": {
742
+ "version": "1.1.0",
743
+ "resolved": "https://registry.npmjs.org/mode-watcher/-/mode-watcher-1.1.0.tgz",
744
+ "integrity": "sha512-mUT9RRGPDYenk59qJauN1rhsIMKBmWA3xMF+uRwE8MW/tjhaDSCCARqkSuDTq8vr4/2KcAxIGVjACxTjdk5C3g==",
745
+ "license": "MIT",
746
+ "dependencies": {
747
+ "runed": "^0.25.0",
748
+ "svelte-toolbelt": "^0.7.1"
749
+ },
750
+ "peerDependencies": {
751
+ "svelte": "^5.27.0"
752
+ }
753
+ },
754
+ "node_modules/mode-watcher/node_modules/runed": {
755
+ "version": "0.25.0",
756
+ "resolved": "https://registry.npmjs.org/runed/-/runed-0.25.0.tgz",
757
+ "integrity": "sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg==",
758
+ "funding": [
759
+ "https://github.com/sponsors/huntabyte",
760
+ "https://github.com/sponsors/tglide"
761
+ ],
762
+ "dependencies": {
763
+ "esm-env": "^1.0.0"
764
+ },
765
+ "peerDependencies": {
766
+ "svelte": "^5.7.0"
767
+ }
768
+ },
769
+ "node_modules/mode-watcher/node_modules/svelte-toolbelt": {
770
+ "version": "0.7.1",
771
+ "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.7.1.tgz",
772
+ "integrity": "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==",
773
+ "funding": [
774
+ "https://github.com/sponsors/huntabyte"
775
+ ],
776
+ "dependencies": {
777
+ "clsx": "^2.1.1",
778
+ "runed": "^0.23.2",
779
+ "style-to-object": "^1.0.8"
780
+ },
781
+ "engines": {
782
+ "node": ">=18",
783
+ "pnpm": ">=8.7.0"
784
+ },
785
+ "peerDependencies": {
786
+ "svelte": "^5.0.0"
787
+ }
788
+ },
789
+ "node_modules/mode-watcher/node_modules/svelte-toolbelt/node_modules/runed": {
790
+ "version": "0.23.4",
791
+ "resolved": "https://registry.npmjs.org/runed/-/runed-0.23.4.tgz",
792
+ "integrity": "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==",
793
+ "funding": [
794
+ "https://github.com/sponsors/huntabyte",
795
+ "https://github.com/sponsors/tglide"
796
+ ],
797
+ "dependencies": {
798
+ "esm-env": "^1.0.0"
799
+ },
800
+ "peerDependencies": {
801
+ "svelte": "^5.7.0"
802
+ }
803
+ },
804
+ "node_modules/mri": {
805
+ "version": "1.2.0",
806
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
807
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
808
+ "dev": true,
809
+ "license": "MIT",
810
+ "engines": {
811
+ "node": ">=4"
812
+ }
813
+ },
814
+ "node_modules/mrmime": {
815
+ "version": "2.0.1",
816
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
817
+ "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
818
+ "dev": true,
819
+ "license": "MIT",
820
+ "engines": {
821
+ "node": ">=10"
822
+ }
823
+ },
824
+ "node_modules/ms": {
825
+ "version": "2.1.3",
826
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
827
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
828
+ "dev": true,
829
+ "license": "MIT"
830
+ },
831
+ "node_modules/nanoid": {
832
+ "version": "3.3.11",
833
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
834
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
835
+ "dev": true,
836
+ "funding": [
837
+ {
838
+ "type": "github",
839
+ "url": "https://github.com/sponsors/ai"
840
+ }
841
+ ],
842
+ "license": "MIT",
843
+ "bin": {
844
+ "nanoid": "bin/nanoid.cjs"
845
+ },
846
+ "engines": {
847
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
848
+ }
849
+ },
850
+ "node_modules/picocolors": {
851
+ "version": "1.1.1",
852
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
853
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
854
+ "dev": true,
855
+ "license": "ISC"
856
+ },
857
+ "node_modules/picomatch": {
858
+ "version": "4.0.3",
859
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
860
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
861
+ "dev": true,
862
+ "license": "MIT",
863
+ "engines": {
864
+ "node": ">=12"
865
+ },
866
+ "funding": {
867
+ "url": "https://github.com/sponsors/jonschlinkert"
868
+ }
869
+ },
870
+ "node_modules/postcss": {
871
+ "version": "8.5.6",
872
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
873
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
874
+ "dev": true,
875
+ "funding": [
876
+ {
877
+ "type": "opencollective",
878
+ "url": "https://opencollective.com/postcss/"
879
+ },
880
+ {
881
+ "type": "tidelift",
882
+ "url": "https://tidelift.com/funding/github/npm/postcss"
883
+ },
884
+ {
885
+ "type": "github",
886
+ "url": "https://github.com/sponsors/ai"
887
+ }
888
+ ],
889
+ "license": "MIT",
890
+ "dependencies": {
891
+ "nanoid": "^3.3.11",
892
+ "picocolors": "^1.1.1",
893
+ "source-map-js": "^1.2.1"
894
+ },
895
+ "engines": {
896
+ "node": "^10 || ^12 || >=14"
897
+ }
898
+ },
899
+ "node_modules/readdirp": {
900
+ "version": "4.1.2",
901
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
902
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
903
+ "dev": true,
904
+ "license": "MIT",
905
+ "engines": {
906
+ "node": ">= 14.18.0"
907
+ },
908
+ "funding": {
909
+ "type": "individual",
910
+ "url": "https://paulmillr.com/funding/"
911
+ }
912
+ },
913
+ "node_modules/rollup": {
914
+ "version": "4.53.3",
915
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz",
916
+ "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==",
917
+ "dev": true,
918
+ "license": "MIT",
919
+ "dependencies": {
920
+ "@types/estree": "1.0.8"
921
+ },
922
+ "bin": {
923
+ "rollup": "dist/bin/rollup"
924
+ },
925
+ "engines": {
926
+ "node": ">=18.0.0",
927
+ "npm": ">=8.0.0"
928
+ },
929
+ "optionalDependencies": {
930
+ "@rollup/rollup-android-arm-eabi": "4.53.3",
931
+ "@rollup/rollup-android-arm64": "4.53.3",
932
+ "@rollup/rollup-darwin-arm64": "4.53.3",
933
+ "@rollup/rollup-darwin-x64": "4.53.3",
934
+ "@rollup/rollup-freebsd-arm64": "4.53.3",
935
+ "@rollup/rollup-freebsd-x64": "4.53.3",
936
+ "@rollup/rollup-linux-arm-gnueabihf": "4.53.3",
937
+ "@rollup/rollup-linux-arm-musleabihf": "4.53.3",
938
+ "@rollup/rollup-linux-arm64-gnu": "4.53.3",
939
+ "@rollup/rollup-linux-arm64-musl": "4.53.3",
940
+ "@rollup/rollup-linux-loong64-gnu": "4.53.3",
941
+ "@rollup/rollup-linux-ppc64-gnu": "4.53.3",
942
+ "@rollup/rollup-linux-riscv64-gnu": "4.53.3",
943
+ "@rollup/rollup-linux-riscv64-musl": "4.53.3",
944
+ "@rollup/rollup-linux-s390x-gnu": "4.53.3",
945
+ "@rollup/rollup-linux-x64-gnu": "4.53.3",
946
+ "@rollup/rollup-linux-x64-musl": "4.53.3",
947
+ "@rollup/rollup-openharmony-arm64": "4.53.3",
948
+ "@rollup/rollup-win32-arm64-msvc": "4.53.3",
949
+ "@rollup/rollup-win32-ia32-msvc": "4.53.3",
950
+ "@rollup/rollup-win32-x64-gnu": "4.53.3",
951
+ "@rollup/rollup-win32-x64-msvc": "4.53.3",
952
+ "fsevents": "~2.3.2"
953
+ }
954
+ },
955
+ "node_modules/runed": {
956
+ "version": "0.35.1",
957
+ "resolved": "https://registry.npmjs.org/runed/-/runed-0.35.1.tgz",
958
+ "integrity": "sha512-2F4Q/FZzbeJTFdIS/PuOoPRSm92sA2LhzTnv6FXhCoENb3huf5+fDuNOg1LNvGOouy3u/225qxmuJvcV3IZK5Q==",
959
+ "dev": true,
960
+ "funding": [
961
+ "https://github.com/sponsors/huntabyte",
962
+ "https://github.com/sponsors/tglide"
963
+ ],
964
+ "license": "MIT",
965
+ "dependencies": {
966
+ "dequal": "^2.0.3",
967
+ "esm-env": "^1.0.0",
968
+ "lz-string": "^1.5.0"
969
+ },
970
+ "peerDependencies": {
971
+ "@sveltejs/kit": "^2.21.0",
972
+ "svelte": "^5.7.0"
973
+ },
974
+ "peerDependenciesMeta": {
975
+ "@sveltejs/kit": {
976
+ "optional": true
977
+ }
978
+ }
979
+ },
980
+ "node_modules/sade": {
981
+ "version": "1.8.1",
982
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
983
+ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
984
+ "dev": true,
985
+ "license": "MIT",
986
+ "dependencies": {
987
+ "mri": "^1.1.0"
988
+ },
989
+ "engines": {
990
+ "node": ">=6"
991
+ }
992
+ },
993
+ "node_modules/set-cookie-parser": {
994
+ "version": "2.7.2",
995
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
996
+ "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
997
+ "dev": true,
998
+ "license": "MIT"
999
+ },
1000
+ "node_modules/sirv": {
1001
+ "version": "3.0.2",
1002
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz",
1003
+ "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==",
1004
+ "dev": true,
1005
+ "license": "MIT",
1006
+ "dependencies": {
1007
+ "@polka/url": "^1.0.0-next.24",
1008
+ "mrmime": "^2.0.0",
1009
+ "totalist": "^3.0.0"
1010
+ },
1011
+ "engines": {
1012
+ "node": ">=18"
1013
+ }
1014
+ },
1015
+ "node_modules/source-map-js": {
1016
+ "version": "1.2.1",
1017
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
1018
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
1019
+ "dev": true,
1020
+ "license": "BSD-3-Clause",
1021
+ "engines": {
1022
+ "node": ">=0.10.0"
1023
+ }
1024
+ },
1025
+ "node_modules/style-to-object": {
1026
+ "version": "1.0.14",
1027
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz",
1028
+ "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==",
1029
+ "license": "MIT",
1030
+ "dependencies": {
1031
+ "inline-style-parser": "0.2.7"
1032
+ }
1033
+ },
1034
+ "node_modules/svelte": {
1035
+ "version": "5.43.12",
1036
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.43.12.tgz",
1037
+ "integrity": "sha512-d1R+3pFa39LXoHCsxHmV//D2pSFZlEMlnxCVQ54TlrQv+4o5pewJO0/Pc5MUp+j71PJrOrPJHTvREZJHn+ymDQ==",
1038
+ "license": "MIT",
1039
+ "dependencies": {
1040
+ "@jridgewell/remapping": "^2.3.4",
1041
+ "@jridgewell/sourcemap-codec": "^1.5.0",
1042
+ "@sveltejs/acorn-typescript": "^1.0.5",
1043
+ "@types/estree": "^1.0.5",
1044
+ "acorn": "^8.12.1",
1045
+ "aria-query": "^5.3.1",
1046
+ "axobject-query": "^4.1.0",
1047
+ "clsx": "^2.1.1",
1048
+ "esm-env": "^1.2.1",
1049
+ "esrap": "^2.1.0",
1050
+ "is-reference": "^3.0.3",
1051
+ "locate-character": "^3.0.0",
1052
+ "magic-string": "^0.30.11",
1053
+ "zimmerframe": "^1.1.2"
1054
+ },
1055
+ "engines": {
1056
+ "node": ">=18"
1057
+ }
1058
+ },
1059
+ "node_modules/svelte-check": {
1060
+ "version": "4.3.4",
1061
+ "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.3.4.tgz",
1062
+ "integrity": "sha512-DVWvxhBrDsd+0hHWKfjP99lsSXASeOhHJYyuKOFYJcP7ThfSCKgjVarE8XfuMWpS5JV3AlDf+iK1YGGo2TACdw==",
1063
+ "dev": true,
1064
+ "license": "MIT",
1065
+ "dependencies": {
1066
+ "@jridgewell/trace-mapping": "^0.3.25",
1067
+ "chokidar": "^4.0.1",
1068
+ "fdir": "^6.2.0",
1069
+ "picocolors": "^1.0.0",
1070
+ "sade": "^1.7.4"
1071
+ },
1072
+ "bin": {
1073
+ "svelte-check": "bin/svelte-check"
1074
+ },
1075
+ "engines": {
1076
+ "node": ">= 18.0.0"
1077
+ },
1078
+ "peerDependencies": {
1079
+ "svelte": "^4.0.0 || ^5.0.0-next.0",
1080
+ "typescript": ">=5.0.0"
1081
+ }
1082
+ },
1083
+ "node_modules/svelte-toolbelt": {
1084
+ "version": "0.10.6",
1085
+ "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.10.6.tgz",
1086
+ "integrity": "sha512-YWuX+RE+CnWYx09yseAe4ZVMM7e7GRFZM6OYWpBKOb++s+SQ8RBIMMe+Bs/CznBMc0QPLjr+vDBxTAkozXsFXQ==",
1087
+ "dev": true,
1088
+ "funding": [
1089
+ "https://github.com/sponsors/huntabyte"
1090
+ ],
1091
+ "dependencies": {
1092
+ "clsx": "^2.1.1",
1093
+ "runed": "^0.35.1",
1094
+ "style-to-object": "^1.0.8"
1095
+ },
1096
+ "engines": {
1097
+ "node": ">=18",
1098
+ "pnpm": ">=8.7.0"
1099
+ },
1100
+ "peerDependencies": {
1101
+ "svelte": "^5.30.2"
1102
+ }
1103
+ },
1104
+ "node_modules/tabbable": {
1105
+ "version": "6.3.0",
1106
+ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.3.0.tgz",
1107
+ "integrity": "sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==",
1108
+ "dev": true,
1109
+ "license": "MIT"
1110
+ },
1111
+ "node_modules/tailwind-merge": {
1112
+ "version": "3.4.0",
1113
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz",
1114
+ "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==",
1115
+ "dev": true,
1116
+ "license": "MIT",
1117
+ "funding": {
1118
+ "type": "github",
1119
+ "url": "https://github.com/sponsors/dcastil"
1120
+ }
1121
+ },
1122
+ "node_modules/tailwind-variants": {
1123
+ "version": "3.1.1",
1124
+ "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-3.1.1.tgz",
1125
+ "integrity": "sha512-ftLXe3krnqkMHsuBTEmaVUXYovXtPyTK7ckEfDRXS8PBZx0bAUas+A0jYxuKA5b8qg++wvQ3d2MQ7l/xeZxbZQ==",
1126
+ "dev": true,
1127
+ "license": "MIT",
1128
+ "engines": {
1129
+ "node": ">=16.x",
1130
+ "pnpm": ">=7.x"
1131
+ },
1132
+ "peerDependencies": {
1133
+ "tailwind-merge": ">=3.0.0",
1134
+ "tailwindcss": "*"
1135
+ },
1136
+ "peerDependenciesMeta": {
1137
+ "tailwind-merge": {
1138
+ "optional": true
1139
+ }
1140
+ }
1141
+ },
1142
+ "node_modules/tailwindcss": {
1143
+ "version": "4.1.17",
1144
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.17.tgz",
1145
+ "integrity": "sha512-j9Ee2YjuQqYT9bbRTfTZht9W/ytp5H+jJpZKiYdP/bpnXARAuELt9ofP0lPnmHjbga7SNQIxdTAXCmtKVYjN+Q==",
1146
+ "dev": true,
1147
+ "license": "MIT"
1148
+ },
1149
+ "node_modules/tapable": {
1150
+ "version": "2.3.0",
1151
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
1152
+ "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
1153
+ "dev": true,
1154
+ "license": "MIT",
1155
+ "engines": {
1156
+ "node": ">=6"
1157
+ },
1158
+ "funding": {
1159
+ "type": "opencollective",
1160
+ "url": "https://opencollective.com/webpack"
1161
+ }
1162
+ },
1163
+ "node_modules/tinyglobby": {
1164
+ "version": "0.2.15",
1165
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
1166
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
1167
+ "dev": true,
1168
+ "license": "MIT",
1169
+ "dependencies": {
1170
+ "fdir": "^6.5.0",
1171
+ "picomatch": "^4.0.3"
1172
+ },
1173
+ "engines": {
1174
+ "node": ">=12.0.0"
1175
+ },
1176
+ "funding": {
1177
+ "url": "https://github.com/sponsors/SuperchupuDev"
1178
+ }
1179
+ },
1180
+ "node_modules/totalist": {
1181
+ "version": "3.0.1",
1182
+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
1183
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
1184
+ "dev": true,
1185
+ "license": "MIT",
1186
+ "engines": {
1187
+ "node": ">=6"
1188
+ }
1189
+ },
1190
+ "node_modules/tslib": {
1191
+ "version": "2.8.1",
1192
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
1193
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
1194
+ "dev": true,
1195
+ "license": "0BSD"
1196
+ },
1197
+ "node_modules/tw-animate-css": {
1198
+ "version": "1.4.0",
1199
+ "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz",
1200
+ "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==",
1201
+ "dev": true,
1202
+ "license": "MIT",
1203
+ "funding": {
1204
+ "url": "https://github.com/sponsors/Wombosvideo"
1205
+ }
1206
+ },
1207
+ "node_modules/typescript": {
1208
+ "version": "5.9.3",
1209
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
1210
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
1211
+ "dev": true,
1212
+ "license": "Apache-2.0",
1213
+ "bin": {
1214
+ "tsc": "bin/tsc",
1215
+ "tsserver": "bin/tsserver"
1216
+ },
1217
+ "engines": {
1218
+ "node": ">=14.17"
1219
+ }
1220
+ },
1221
+ "node_modules/vite": {
1222
+ "version": "7.2.2",
1223
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.2.tgz",
1224
+ "integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==",
1225
+ "dev": true,
1226
+ "license": "MIT",
1227
+ "dependencies": {
1228
+ "esbuild": "^0.25.0",
1229
+ "fdir": "^6.5.0",
1230
+ "picomatch": "^4.0.3",
1231
+ "postcss": "^8.5.6",
1232
+ "rollup": "^4.43.0",
1233
+ "tinyglobby": "^0.2.15"
1234
+ },
1235
+ "bin": {
1236
+ "vite": "bin/vite.js"
1237
+ },
1238
+ "engines": {
1239
+ "node": "^20.19.0 || >=22.12.0"
1240
+ },
1241
+ "funding": {
1242
+ "url": "https://github.com/vitejs/vite?sponsor=1"
1243
+ },
1244
+ "optionalDependencies": {
1245
+ "fsevents": "~2.3.3"
1246
+ },
1247
+ "peerDependencies": {
1248
+ "@types/node": "^20.19.0 || >=22.12.0",
1249
+ "jiti": ">=1.21.0",
1250
+ "less": "^4.0.0",
1251
+ "lightningcss": "^1.21.0",
1252
+ "sass": "^1.70.0",
1253
+ "sass-embedded": "^1.70.0",
1254
+ "stylus": ">=0.54.8",
1255
+ "sugarss": "^5.0.0",
1256
+ "terser": "^5.16.0",
1257
+ "tsx": "^4.8.1",
1258
+ "yaml": "^2.4.2"
1259
+ },
1260
+ "peerDependenciesMeta": {
1261
+ "@types/node": {
1262
+ "optional": true
1263
+ },
1264
+ "jiti": {
1265
+ "optional": true
1266
+ },
1267
+ "less": {
1268
+ "optional": true
1269
+ },
1270
+ "lightningcss": {
1271
+ "optional": true
1272
+ },
1273
+ "sass": {
1274
+ "optional": true
1275
+ },
1276
+ "sass-embedded": {
1277
+ "optional": true
1278
+ },
1279
+ "stylus": {
1280
+ "optional": true
1281
+ },
1282
+ "sugarss": {
1283
+ "optional": true
1284
+ },
1285
+ "terser": {
1286
+ "optional": true
1287
+ },
1288
+ "tsx": {
1289
+ "optional": true
1290
+ },
1291
+ "yaml": {
1292
+ "optional": true
1293
+ }
1294
+ }
1295
+ },
1296
+ "node_modules/vitefu": {
1297
+ "version": "1.1.1",
1298
+ "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz",
1299
+ "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==",
1300
+ "dev": true,
1301
+ "license": "MIT",
1302
+ "workspaces": [
1303
+ "tests/deps/*",
1304
+ "tests/projects/*",
1305
+ "tests/projects/workspace/packages/*"
1306
+ ],
1307
+ "peerDependencies": {
1308
+ "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0"
1309
+ },
1310
+ "peerDependenciesMeta": {
1311
+ "vite": {
1312
+ "optional": true
1313
+ }
1314
+ }
1315
+ },
1316
+ "node_modules/zimmerframe": {
1317
+ "version": "1.1.4",
1318
+ "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz",
1319
+ "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==",
1320
+ "license": "MIT"
1321
+ }
1322
+ }
1323
+ }
dev-ui/node_modules/.vite/_svelte_metadata.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"compilerOptions":{"css":"external","dev":true,"hmr":true},"configFile":false,"extensions":[".svelte"],"preprocess":[{"name":"vite-preprocess","style":"async ({ attributes, content, filename = '' }) => {\n\t\tconst ext = attributes.lang ? `.${attributes.lang}` : '.css';\n\t\tif (attributes.lang && !isCSSRequest(ext)) return;\n\t\tif (!cssTransform) {\n\t\t\tcssTransform = createCssTransform(style, config).then((t) => (cssTransform = t));\n\t\t}\n\t\tconst transform = await cssTransform;\n\t\tconst suffix = `${lang_sep}${ext}`;\n\t\tconst moduleId = `${filename}${suffix}`;\n\t\tconst { code, map, deps } = await transform(content, moduleId);\n\t\tremoveLangSuffix(map, suffix);\n\t\tmapToRelative(map, filename);\n\t\tconst dependencies = deps ? Array.from(deps).filter((d) => !d.endsWith(suffix)) : undefined;\n\t\treturn {\n\t\t\tcode,\n\t\t\tmap: map ?? undefined,\n\t\t\tdependencies\n\t\t};\n\t}"},{"script":"({ content, filename }) => {\n\t\tif (!filename) return;\n\n\t\tconst basename = path.basename(filename);\n\t\tif (basename.startsWith('+page.') || basename.startsWith('+layout.')) {\n\t\t\tconst match = content.match(options_regex);\n\t\t\tif (match && match.index !== undefined && !should_ignore(content, match.index)) {\n\t\t\t\tconst fixed = basename.replace('.svelte', '(.server).js/ts');\n\n\t\t\t\tconst message =\n\t\t\t\t\t`\\n${colors.bold().red(path.relative('.', filename))}\\n` +\n\t\t\t\t\t`\\`${match[1]}\\` will be ignored — move it to ${fixed} instead. See https://svelte.dev/docs/kit/page-options for more information.`;\n\n\t\t\t\tif (!warned.has(message)) {\n\t\t\t\t\tconsole.log(message);\n\t\t\t\t\twarned.add(message);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}","markup":"({ content, filename }) => {\n\t\tif (!filename) return;\n\n\t\tconst basename = path.basename(filename);\n\t\tconst has_children =\n\t\t\tcontent.includes('<slot') || (isSvelte5Plus() && content.includes('{@render'));\n\n\t\tif (basename.startsWith('+layout.') && !has_children) {\n\t\t\tconst message =\n\t\t\t\t`\\n${colors.bold().red(path.relative('.', filename))}\\n` +\n\t\t\t\t`\\`<slot />\\`${isSvelte5Plus() ? ' or `{@render ...}` tag' : ''}` +\n\t\t\t\t' missing — inner content will not be rendered';\n\n\t\t\tif (!warned.has(message)) {\n\t\t\t\tconsole.log(message);\n\t\t\t\twarned.add(message);\n\t\t\t}\n\t\t}\n\t}"}]}
dev-ui/node_modules/.vite/deps/_metadata.json ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "hash": "c83663f9",
3
+ "configHash": "da03e953",
4
+ "lockfileHash": "fc0fff8c",
5
+ "browserHash": "895f09ac",
6
+ "optimized": {
7
+ "svelte": {
8
+ "src": "../../svelte/src/index-client.js",
9
+ "file": "svelte.js",
10
+ "fileHash": "6ae9984b",
11
+ "needsInterop": false
12
+ },
13
+ "svelte/animate": {
14
+ "src": "../../svelte/src/animate/index.js",
15
+ "file": "svelte_animate.js",
16
+ "fileHash": "f372fe6f",
17
+ "needsInterop": false
18
+ },
19
+ "svelte/attachments": {
20
+ "src": "../../svelte/src/attachments/index.js",
21
+ "file": "svelte_attachments.js",
22
+ "fileHash": "cdb60dd2",
23
+ "needsInterop": false
24
+ },
25
+ "svelte/easing": {
26
+ "src": "../../svelte/src/easing/index.js",
27
+ "file": "svelte_easing.js",
28
+ "fileHash": "62eb2649",
29
+ "needsInterop": false
30
+ },
31
+ "svelte/internal": {
32
+ "src": "../../svelte/src/internal/index.js",
33
+ "file": "svelte_internal.js",
34
+ "fileHash": "1c6a3420",
35
+ "needsInterop": true
36
+ },
37
+ "svelte/internal/client": {
38
+ "src": "../../svelte/src/internal/client/index.js",
39
+ "file": "svelte_internal_client.js",
40
+ "fileHash": "c16dc944",
41
+ "needsInterop": false
42
+ },
43
+ "svelte/internal/disclose-version": {
44
+ "src": "../../svelte/src/internal/disclose-version.js",
45
+ "file": "svelte_internal_disclose-version.js",
46
+ "fileHash": "d0b471d3",
47
+ "needsInterop": false
48
+ },
49
+ "svelte/internal/flags/async": {
50
+ "src": "../../svelte/src/internal/flags/async.js",
51
+ "file": "svelte_internal_flags_async.js",
52
+ "fileHash": "a9b0cd91",
53
+ "needsInterop": false
54
+ },
55
+ "svelte/internal/flags/legacy": {
56
+ "src": "../../svelte/src/internal/flags/legacy.js",
57
+ "file": "svelte_internal_flags_legacy.js",
58
+ "fileHash": "14389c3c",
59
+ "needsInterop": false
60
+ },
61
+ "svelte/internal/flags/tracing": {
62
+ "src": "../../svelte/src/internal/flags/tracing.js",
63
+ "file": "svelte_internal_flags_tracing.js",
64
+ "fileHash": "8140e256",
65
+ "needsInterop": false
66
+ },
67
+ "svelte/legacy": {
68
+ "src": "../../svelte/src/legacy/legacy-client.js",
69
+ "file": "svelte_legacy.js",
70
+ "fileHash": "7ad75a9d",
71
+ "needsInterop": false
72
+ },
73
+ "svelte/motion": {
74
+ "src": "../../svelte/src/motion/index.js",
75
+ "file": "svelte_motion.js",
76
+ "fileHash": "cc6ac0f0",
77
+ "needsInterop": false
78
+ },
79
+ "svelte/reactivity": {
80
+ "src": "../../svelte/src/reactivity/index-client.js",
81
+ "file": "svelte_reactivity.js",
82
+ "fileHash": "8d9dcf64",
83
+ "needsInterop": false
84
+ },
85
+ "svelte/reactivity/window": {
86
+ "src": "../../svelte/src/reactivity/window/index.js",
87
+ "file": "svelte_reactivity_window.js",
88
+ "fileHash": "d02622d7",
89
+ "needsInterop": false
90
+ },
91
+ "svelte/store": {
92
+ "src": "../../svelte/src/store/index-client.js",
93
+ "file": "svelte_store.js",
94
+ "fileHash": "05a0e471",
95
+ "needsInterop": false
96
+ },
97
+ "svelte/transition": {
98
+ "src": "../../svelte/src/transition/index.js",
99
+ "file": "svelte_transition.js",
100
+ "fileHash": "1e520672",
101
+ "needsInterop": false
102
+ },
103
+ "svelte/events": {
104
+ "src": "../../svelte/src/events/index.js",
105
+ "file": "svelte_events.js",
106
+ "fileHash": "f34efdd5",
107
+ "needsInterop": false
108
+ },
109
+ "svelte > clsx": {
110
+ "src": "../../clsx/dist/clsx.mjs",
111
+ "file": "svelte___clsx.js",
112
+ "fileHash": "f5b60f86",
113
+ "needsInterop": false
114
+ },
115
+ "tailwind-merge": {
116
+ "src": "../../tailwind-merge/dist/bundle-mjs.mjs",
117
+ "file": "tailwind-merge.js",
118
+ "fileHash": "c147ba2f",
119
+ "needsInterop": false
120
+ },
121
+ "tailwind-variants": {
122
+ "src": "../../tailwind-variants/dist/index.js",
123
+ "file": "tailwind-variants.js",
124
+ "fileHash": "f43e97f1",
125
+ "needsInterop": false
126
+ },
127
+ "bits-ui": {
128
+ "src": "../../bits-ui/dist/index.js",
129
+ "file": "bits-ui.js",
130
+ "fileHash": "33e4b69d",
131
+ "needsInterop": false
132
+ },
133
+ "mode-watcher": {
134
+ "src": "../../mode-watcher/dist/index.js",
135
+ "file": "mode-watcher.js",
136
+ "fileHash": "dbd2f0fb",
137
+ "needsInterop": false
138
+ }
139
+ },
140
+ "chunks": {
141
+ "chunk-4IXOHRSL": {
142
+ "file": "chunk-4IXOHRSL.js"
143
+ },
144
+ "chunk-MZVN5SDE": {
145
+ "file": "chunk-MZVN5SDE.js"
146
+ },
147
+ "chunk-3R76EFEV": {
148
+ "file": "chunk-3R76EFEV.js"
149
+ },
150
+ "chunk-ME63RQ5D": {
151
+ "file": "chunk-ME63RQ5D.js"
152
+ },
153
+ "chunk-P6H3IEOT": {
154
+ "file": "chunk-P6H3IEOT.js"
155
+ },
156
+ "chunk-7RQDXF5S": {
157
+ "file": "chunk-7RQDXF5S.js"
158
+ },
159
+ "chunk-YERFD2CZ": {
160
+ "file": "chunk-YERFD2CZ.js"
161
+ },
162
+ "chunk-W6P35DUF": {
163
+ "file": "chunk-W6P35DUF.js"
164
+ },
165
+ "chunk-U7P2NEEE": {
166
+ "file": "chunk-U7P2NEEE.js"
167
+ },
168
+ "chunk-RPUUDWWB": {
169
+ "file": "chunk-RPUUDWWB.js"
170
+ },
171
+ "chunk-W7EPGGG4": {
172
+ "file": "chunk-W7EPGGG4.js"
173
+ },
174
+ "chunk-ICXW7654": {
175
+ "file": "chunk-ICXW7654.js"
176
+ },
177
+ "chunk-JOCHEXZL": {
178
+ "file": "chunk-JOCHEXZL.js"
179
+ },
180
+ "chunk-OHYQYV5R": {
181
+ "file": "chunk-OHYQYV5R.js"
182
+ },
183
+ "chunk-PZ5AY32C": {
184
+ "file": "chunk-PZ5AY32C.js"
185
+ }
186
+ }
187
+ }
dev-ui/node_modules/.vite/deps/bits-ui.js ADDED
The diff for this file is too large to render. See raw diff
 
dev-ui/node_modules/.vite/deps/bits-ui.js.map ADDED
The diff for this file is too large to render. See raw diff
 
dev-ui/node_modules/.vite/deps/chunk-3R76EFEV.js ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // node_modules/inline-style-parser/esm/index.mjs
2
+ var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;
3
+ var NEWLINE_REGEX = /\n/g;
4
+ var WHITESPACE_REGEX = /^\s*/;
5
+ var PROPERTY_REGEX = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/;
6
+ var COLON_REGEX = /^:\s*/;
7
+ var VALUE_REGEX = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/;
8
+ var SEMICOLON_REGEX = /^[;\s]*/;
9
+ var TRIM_REGEX = /^\s+|\s+$/g;
10
+ var NEWLINE = "\n";
11
+ var FORWARD_SLASH = "/";
12
+ var ASTERISK = "*";
13
+ var EMPTY_STRING = "";
14
+ var TYPE_COMMENT = "comment";
15
+ var TYPE_DECLARATION = "declaration";
16
+ function index(style, options) {
17
+ if (typeof style !== "string") {
18
+ throw new TypeError("First argument must be a string");
19
+ }
20
+ if (!style) return [];
21
+ options = options || {};
22
+ var lineno = 1;
23
+ var column = 1;
24
+ function updatePosition(str) {
25
+ var lines = str.match(NEWLINE_REGEX);
26
+ if (lines) lineno += lines.length;
27
+ var i = str.lastIndexOf(NEWLINE);
28
+ column = ~i ? str.length - i : column + str.length;
29
+ }
30
+ function position() {
31
+ var start = { line: lineno, column };
32
+ return function(node) {
33
+ node.position = new Position(start);
34
+ whitespace();
35
+ return node;
36
+ };
37
+ }
38
+ function Position(start) {
39
+ this.start = start;
40
+ this.end = { line: lineno, column };
41
+ this.source = options.source;
42
+ }
43
+ Position.prototype.content = style;
44
+ function error(msg) {
45
+ var err = new Error(
46
+ options.source + ":" + lineno + ":" + column + ": " + msg
47
+ );
48
+ err.reason = msg;
49
+ err.filename = options.source;
50
+ err.line = lineno;
51
+ err.column = column;
52
+ err.source = style;
53
+ if (options.silent) ;
54
+ else {
55
+ throw err;
56
+ }
57
+ }
58
+ function match(re) {
59
+ var m = re.exec(style);
60
+ if (!m) return;
61
+ var str = m[0];
62
+ updatePosition(str);
63
+ style = style.slice(str.length);
64
+ return m;
65
+ }
66
+ function whitespace() {
67
+ match(WHITESPACE_REGEX);
68
+ }
69
+ function comments(rules) {
70
+ var c;
71
+ rules = rules || [];
72
+ while (c = comment()) {
73
+ if (c !== false) {
74
+ rules.push(c);
75
+ }
76
+ }
77
+ return rules;
78
+ }
79
+ function comment() {
80
+ var pos = position();
81
+ if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;
82
+ var i = 2;
83
+ while (EMPTY_STRING != style.charAt(i) && (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))) {
84
+ ++i;
85
+ }
86
+ i += 2;
87
+ if (EMPTY_STRING === style.charAt(i - 1)) {
88
+ return error("End of comment missing");
89
+ }
90
+ var str = style.slice(2, i - 2);
91
+ column += 2;
92
+ updatePosition(str);
93
+ style = style.slice(i);
94
+ column += 2;
95
+ return pos({
96
+ type: TYPE_COMMENT,
97
+ comment: str
98
+ });
99
+ }
100
+ function declaration() {
101
+ var pos = position();
102
+ var prop = match(PROPERTY_REGEX);
103
+ if (!prop) return;
104
+ comment();
105
+ if (!match(COLON_REGEX)) return error("property missing ':'");
106
+ var val = match(VALUE_REGEX);
107
+ var ret = pos({
108
+ type: TYPE_DECLARATION,
109
+ property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),
110
+ value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING
111
+ });
112
+ match(SEMICOLON_REGEX);
113
+ return ret;
114
+ }
115
+ function declarations() {
116
+ var decls = [];
117
+ comments(decls);
118
+ var decl;
119
+ while (decl = declaration()) {
120
+ if (decl !== false) {
121
+ decls.push(decl);
122
+ comments(decls);
123
+ }
124
+ }
125
+ return decls;
126
+ }
127
+ whitespace();
128
+ return declarations();
129
+ }
130
+ function trim(str) {
131
+ return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;
132
+ }
133
+
134
+ // node_modules/style-to-object/esm/index.mjs
135
+ function StyleToObject(style, iterator) {
136
+ let styleObject = null;
137
+ if (!style || typeof style !== "string") {
138
+ return styleObject;
139
+ }
140
+ const declarations = index(style);
141
+ const hasIterator = typeof iterator === "function";
142
+ declarations.forEach((declaration) => {
143
+ if (declaration.type !== "declaration") {
144
+ return;
145
+ }
146
+ const { property, value } = declaration;
147
+ if (hasIterator) {
148
+ iterator(property, value, declaration);
149
+ } else if (value) {
150
+ styleObject = styleObject || {};
151
+ styleObject[property] = value;
152
+ }
153
+ });
154
+ return styleObject;
155
+ }
156
+
157
+ export {
158
+ StyleToObject
159
+ };
160
+ //# sourceMappingURL=chunk-3R76EFEV.js.map
dev-ui/node_modules/.vite/deps/chunk-3R76EFEV.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../inline-style-parser/index.js", "../../style-to-object/src/index.ts"],
4
+ "sourcesContent": ["// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nexport default function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n}\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n", "import type { Declaration } from 'inline-style-parser';\nimport parse from 'inline-style-parser';\n\nexport { Declaration };\n\nexport interface StyleObject {\n [name: string]: string;\n}\n\ntype Iterator = (\n property: string,\n value: string,\n declaration: Declaration,\n) => void;\n\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nexport default function StyleToObject(\n style: string,\n iterator?: Iterator,\n): StyleObject | null {\n let styleObject: StyleObject | null = null;\n\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n\n const declarations = parse(style);\n const hasIterator = typeof iterator === 'function';\n\n declarations.forEach((declaration) => {\n if (declaration.type !== 'declaration') {\n return;\n }\n\n const { property, value } = declaration;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n\n return styleObject;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
dev-ui/node_modules/.vite/deps/chunk-4IXOHRSL.js ADDED
@@ -0,0 +1,3094 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // node_modules/tailwind-merge/dist/bundle-mjs.mjs
2
+ var concatArrays = (array1, array2) => {
3
+ const combinedArray = new Array(array1.length + array2.length);
4
+ for (let i = 0; i < array1.length; i++) {
5
+ combinedArray[i] = array1[i];
6
+ }
7
+ for (let i = 0; i < array2.length; i++) {
8
+ combinedArray[array1.length + i] = array2[i];
9
+ }
10
+ return combinedArray;
11
+ };
12
+ var createClassValidatorObject = (classGroupId, validator) => ({
13
+ classGroupId,
14
+ validator
15
+ });
16
+ var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators2 = null, classGroupId) => ({
17
+ nextPart,
18
+ validators: validators2,
19
+ classGroupId
20
+ });
21
+ var CLASS_PART_SEPARATOR = "-";
22
+ var EMPTY_CONFLICTS = [];
23
+ var ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
24
+ var createClassGroupUtils = (config) => {
25
+ const classMap = createClassMap(config);
26
+ const {
27
+ conflictingClassGroups,
28
+ conflictingClassGroupModifiers
29
+ } = config;
30
+ const getClassGroupId = (className) => {
31
+ if (className.startsWith("[") && className.endsWith("]")) {
32
+ return getGroupIdForArbitraryProperty(className);
33
+ }
34
+ const classParts = className.split(CLASS_PART_SEPARATOR);
35
+ const startIndex = classParts[0] === "" && classParts.length > 1 ? 1 : 0;
36
+ return getGroupRecursive(classParts, startIndex, classMap);
37
+ };
38
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
39
+ if (hasPostfixModifier) {
40
+ const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
41
+ const baseConflicts = conflictingClassGroups[classGroupId];
42
+ if (modifierConflicts) {
43
+ if (baseConflicts) {
44
+ return concatArrays(baseConflicts, modifierConflicts);
45
+ }
46
+ return modifierConflicts;
47
+ }
48
+ return baseConflicts || EMPTY_CONFLICTS;
49
+ }
50
+ return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
51
+ };
52
+ return {
53
+ getClassGroupId,
54
+ getConflictingClassGroupIds
55
+ };
56
+ };
57
+ var getGroupRecursive = (classParts, startIndex, classPartObject) => {
58
+ const classPathsLength = classParts.length - startIndex;
59
+ if (classPathsLength === 0) {
60
+ return classPartObject.classGroupId;
61
+ }
62
+ const currentClassPart = classParts[startIndex];
63
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
64
+ if (nextClassPartObject) {
65
+ const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
66
+ if (result) return result;
67
+ }
68
+ const validators2 = classPartObject.validators;
69
+ if (validators2 === null) {
70
+ return void 0;
71
+ }
72
+ const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
73
+ const validatorsLength = validators2.length;
74
+ for (let i = 0; i < validatorsLength; i++) {
75
+ const validatorObj = validators2[i];
76
+ if (validatorObj.validator(classRest)) {
77
+ return validatorObj.classGroupId;
78
+ }
79
+ }
80
+ return void 0;
81
+ };
82
+ var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
83
+ const content = className.slice(1, -1);
84
+ const colonIndex = content.indexOf(":");
85
+ const property = content.slice(0, colonIndex);
86
+ return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;
87
+ })();
88
+ var createClassMap = (config) => {
89
+ const {
90
+ theme,
91
+ classGroups
92
+ } = config;
93
+ return processClassGroups(classGroups, theme);
94
+ };
95
+ var processClassGroups = (classGroups, theme) => {
96
+ const classMap = createClassPartObject();
97
+ for (const classGroupId in classGroups) {
98
+ const group = classGroups[classGroupId];
99
+ processClassesRecursively(group, classMap, classGroupId, theme);
100
+ }
101
+ return classMap;
102
+ };
103
+ var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
104
+ const len = classGroup.length;
105
+ for (let i = 0; i < len; i++) {
106
+ const classDefinition = classGroup[i];
107
+ processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
108
+ }
109
+ };
110
+ var processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
111
+ if (typeof classDefinition === "string") {
112
+ processStringDefinition(classDefinition, classPartObject, classGroupId);
113
+ return;
114
+ }
115
+ if (typeof classDefinition === "function") {
116
+ processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
117
+ return;
118
+ }
119
+ processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
120
+ };
121
+ var processStringDefinition = (classDefinition, classPartObject, classGroupId) => {
122
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
123
+ classPartObjectToEdit.classGroupId = classGroupId;
124
+ };
125
+ var processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
126
+ if (isThemeGetter(classDefinition)) {
127
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
128
+ return;
129
+ }
130
+ if (classPartObject.validators === null) {
131
+ classPartObject.validators = [];
132
+ }
133
+ classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
134
+ };
135
+ var processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
136
+ const entries = Object.entries(classDefinition);
137
+ const len = entries.length;
138
+ for (let i = 0; i < len; i++) {
139
+ const [key, value] = entries[i];
140
+ processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
141
+ }
142
+ };
143
+ var getPart = (classPartObject, path) => {
144
+ let current = classPartObject;
145
+ const parts = path.split(CLASS_PART_SEPARATOR);
146
+ const len = parts.length;
147
+ for (let i = 0; i < len; i++) {
148
+ const part = parts[i];
149
+ let next = current.nextPart.get(part);
150
+ if (!next) {
151
+ next = createClassPartObject();
152
+ current.nextPart.set(part, next);
153
+ }
154
+ current = next;
155
+ }
156
+ return current;
157
+ };
158
+ var isThemeGetter = (func) => "isThemeGetter" in func && func.isThemeGetter === true;
159
+ var createLruCache = (maxCacheSize) => {
160
+ if (maxCacheSize < 1) {
161
+ return {
162
+ get: () => void 0,
163
+ set: () => {
164
+ }
165
+ };
166
+ }
167
+ let cacheSize = 0;
168
+ let cache = /* @__PURE__ */ Object.create(null);
169
+ let previousCache = /* @__PURE__ */ Object.create(null);
170
+ const update = (key, value) => {
171
+ cache[key] = value;
172
+ cacheSize++;
173
+ if (cacheSize > maxCacheSize) {
174
+ cacheSize = 0;
175
+ previousCache = cache;
176
+ cache = /* @__PURE__ */ Object.create(null);
177
+ }
178
+ };
179
+ return {
180
+ get(key) {
181
+ let value = cache[key];
182
+ if (value !== void 0) {
183
+ return value;
184
+ }
185
+ if ((value = previousCache[key]) !== void 0) {
186
+ update(key, value);
187
+ return value;
188
+ }
189
+ },
190
+ set(key, value) {
191
+ if (key in cache) {
192
+ cache[key] = value;
193
+ } else {
194
+ update(key, value);
195
+ }
196
+ }
197
+ };
198
+ };
199
+ var IMPORTANT_MODIFIER = "!";
200
+ var MODIFIER_SEPARATOR = ":";
201
+ var EMPTY_MODIFIERS = [];
202
+ var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
203
+ modifiers,
204
+ hasImportantModifier,
205
+ baseClassName,
206
+ maybePostfixModifierPosition,
207
+ isExternal
208
+ });
209
+ var createParseClassName = (config) => {
210
+ const {
211
+ prefix,
212
+ experimentalParseClassName
213
+ } = config;
214
+ let parseClassName = (className) => {
215
+ const modifiers = [];
216
+ let bracketDepth = 0;
217
+ let parenDepth = 0;
218
+ let modifierStart = 0;
219
+ let postfixModifierPosition;
220
+ const len = className.length;
221
+ for (let index = 0; index < len; index++) {
222
+ const currentCharacter = className[index];
223
+ if (bracketDepth === 0 && parenDepth === 0) {
224
+ if (currentCharacter === MODIFIER_SEPARATOR) {
225
+ modifiers.push(className.slice(modifierStart, index));
226
+ modifierStart = index + 1;
227
+ continue;
228
+ }
229
+ if (currentCharacter === "/") {
230
+ postfixModifierPosition = index;
231
+ continue;
232
+ }
233
+ }
234
+ if (currentCharacter === "[") bracketDepth++;
235
+ else if (currentCharacter === "]") bracketDepth--;
236
+ else if (currentCharacter === "(") parenDepth++;
237
+ else if (currentCharacter === ")") parenDepth--;
238
+ }
239
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
240
+ let baseClassName = baseClassNameWithImportantModifier;
241
+ let hasImportantModifier = false;
242
+ if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
243
+ baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
244
+ hasImportantModifier = true;
245
+ } else if (
246
+ /**
247
+ * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
248
+ * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
249
+ */
250
+ baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)
251
+ ) {
252
+ baseClassName = baseClassNameWithImportantModifier.slice(1);
253
+ hasImportantModifier = true;
254
+ }
255
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
256
+ return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
257
+ };
258
+ if (prefix) {
259
+ const fullPrefix = prefix + MODIFIER_SEPARATOR;
260
+ const parseClassNameOriginal = parseClassName;
261
+ parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);
262
+ }
263
+ if (experimentalParseClassName) {
264
+ const parseClassNameOriginal = parseClassName;
265
+ parseClassName = (className) => experimentalParseClassName({
266
+ className,
267
+ parseClassName: parseClassNameOriginal
268
+ });
269
+ }
270
+ return parseClassName;
271
+ };
272
+ var createSortModifiers = (config) => {
273
+ const modifierWeights = /* @__PURE__ */ new Map();
274
+ config.orderSensitiveModifiers.forEach((mod, index) => {
275
+ modifierWeights.set(mod, 1e6 + index);
276
+ });
277
+ return (modifiers) => {
278
+ const result = [];
279
+ let currentSegment = [];
280
+ for (let i = 0; i < modifiers.length; i++) {
281
+ const modifier = modifiers[i];
282
+ const isArbitrary = modifier[0] === "[";
283
+ const isOrderSensitive = modifierWeights.has(modifier);
284
+ if (isArbitrary || isOrderSensitive) {
285
+ if (currentSegment.length > 0) {
286
+ currentSegment.sort();
287
+ result.push(...currentSegment);
288
+ currentSegment = [];
289
+ }
290
+ result.push(modifier);
291
+ } else {
292
+ currentSegment.push(modifier);
293
+ }
294
+ }
295
+ if (currentSegment.length > 0) {
296
+ currentSegment.sort();
297
+ result.push(...currentSegment);
298
+ }
299
+ return result;
300
+ };
301
+ };
302
+ var createConfigUtils = (config) => ({
303
+ cache: createLruCache(config.cacheSize),
304
+ parseClassName: createParseClassName(config),
305
+ sortModifiers: createSortModifiers(config),
306
+ ...createClassGroupUtils(config)
307
+ });
308
+ var SPLIT_CLASSES_REGEX = /\s+/;
309
+ var mergeClassList = (classList, configUtils) => {
310
+ const {
311
+ parseClassName,
312
+ getClassGroupId,
313
+ getConflictingClassGroupIds,
314
+ sortModifiers
315
+ } = configUtils;
316
+ const classGroupsInConflict = [];
317
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
318
+ let result = "";
319
+ for (let index = classNames.length - 1; index >= 0; index -= 1) {
320
+ const originalClassName = classNames[index];
321
+ const {
322
+ isExternal,
323
+ modifiers,
324
+ hasImportantModifier,
325
+ baseClassName,
326
+ maybePostfixModifierPosition
327
+ } = parseClassName(originalClassName);
328
+ if (isExternal) {
329
+ result = originalClassName + (result.length > 0 ? " " + result : result);
330
+ continue;
331
+ }
332
+ let hasPostfixModifier = !!maybePostfixModifierPosition;
333
+ let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
334
+ if (!classGroupId) {
335
+ if (!hasPostfixModifier) {
336
+ result = originalClassName + (result.length > 0 ? " " + result : result);
337
+ continue;
338
+ }
339
+ classGroupId = getClassGroupId(baseClassName);
340
+ if (!classGroupId) {
341
+ result = originalClassName + (result.length > 0 ? " " + result : result);
342
+ continue;
343
+ }
344
+ hasPostfixModifier = false;
345
+ }
346
+ const variantModifier = modifiers.length === 0 ? "" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(":");
347
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
348
+ const classId = modifierId + classGroupId;
349
+ if (classGroupsInConflict.indexOf(classId) > -1) {
350
+ continue;
351
+ }
352
+ classGroupsInConflict.push(classId);
353
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
354
+ for (let i = 0; i < conflictGroups.length; ++i) {
355
+ const group = conflictGroups[i];
356
+ classGroupsInConflict.push(modifierId + group);
357
+ }
358
+ result = originalClassName + (result.length > 0 ? " " + result : result);
359
+ }
360
+ return result;
361
+ };
362
+ var twJoin = (...classLists) => {
363
+ let index = 0;
364
+ let argument;
365
+ let resolvedValue;
366
+ let string = "";
367
+ while (index < classLists.length) {
368
+ if (argument = classLists[index++]) {
369
+ if (resolvedValue = toValue(argument)) {
370
+ string && (string += " ");
371
+ string += resolvedValue;
372
+ }
373
+ }
374
+ }
375
+ return string;
376
+ };
377
+ var toValue = (mix) => {
378
+ if (typeof mix === "string") {
379
+ return mix;
380
+ }
381
+ let resolvedValue;
382
+ let string = "";
383
+ for (let k = 0; k < mix.length; k++) {
384
+ if (mix[k]) {
385
+ if (resolvedValue = toValue(mix[k])) {
386
+ string && (string += " ");
387
+ string += resolvedValue;
388
+ }
389
+ }
390
+ }
391
+ return string;
392
+ };
393
+ var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
394
+ let configUtils;
395
+ let cacheGet;
396
+ let cacheSet;
397
+ let functionToCall;
398
+ const initTailwindMerge = (classList) => {
399
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
400
+ configUtils = createConfigUtils(config);
401
+ cacheGet = configUtils.cache.get;
402
+ cacheSet = configUtils.cache.set;
403
+ functionToCall = tailwindMerge;
404
+ return tailwindMerge(classList);
405
+ };
406
+ const tailwindMerge = (classList) => {
407
+ const cachedResult = cacheGet(classList);
408
+ if (cachedResult) {
409
+ return cachedResult;
410
+ }
411
+ const result = mergeClassList(classList, configUtils);
412
+ cacheSet(classList, result);
413
+ return result;
414
+ };
415
+ functionToCall = initTailwindMerge;
416
+ return (...args) => functionToCall(twJoin(...args));
417
+ };
418
+ var fallbackThemeArr = [];
419
+ var fromTheme = (key) => {
420
+ const themeGetter = (theme) => theme[key] || fallbackThemeArr;
421
+ themeGetter.isThemeGetter = true;
422
+ return themeGetter;
423
+ };
424
+ var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
425
+ var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
426
+ var fractionRegex = /^\d+\/\d+$/;
427
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
428
+ var lengthUnitRegex = /\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$/;
429
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
430
+ var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
431
+ var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
432
+ var isFraction = (value) => fractionRegex.test(value);
433
+ var isNumber = (value) => !!value && !Number.isNaN(Number(value));
434
+ var isInteger = (value) => !!value && Number.isInteger(Number(value));
435
+ var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
436
+ var isTshirtSize = (value) => tshirtUnitRegex.test(value);
437
+ var isAny = () => true;
438
+ var isLengthOnly = (value) => (
439
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
440
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
441
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
442
+ lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
443
+ );
444
+ var isNever = () => false;
445
+ var isShadow = (value) => shadowRegex.test(value);
446
+ var isImage = (value) => imageRegex.test(value);
447
+ var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
448
+ var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
449
+ var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
450
+ var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
451
+ var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
452
+ var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
453
+ var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
454
+ var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
455
+ var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
456
+ var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
457
+ var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
458
+ var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
459
+ var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
460
+ var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
461
+ var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
462
+ var getIsArbitraryValue = (value, testLabel, testValue) => {
463
+ const result = arbitraryValueRegex.exec(value);
464
+ if (result) {
465
+ if (result[1]) {
466
+ return testLabel(result[1]);
467
+ }
468
+ return testValue(result[2]);
469
+ }
470
+ return false;
471
+ };
472
+ var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
473
+ const result = arbitraryVariableRegex.exec(value);
474
+ if (result) {
475
+ if (result[1]) {
476
+ return testLabel(result[1]);
477
+ }
478
+ return shouldMatchNoLabel;
479
+ }
480
+ return false;
481
+ };
482
+ var isLabelPosition = (label) => label === "position" || label === "percentage";
483
+ var isLabelImage = (label) => label === "image" || label === "url";
484
+ var isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
485
+ var isLabelLength = (label) => label === "length";
486
+ var isLabelNumber = (label) => label === "number";
487
+ var isLabelFamilyName = (label) => label === "family-name";
488
+ var isLabelShadow = (label) => label === "shadow";
489
+ var validators = Object.defineProperty({
490
+ __proto__: null,
491
+ isAny,
492
+ isAnyNonArbitrary,
493
+ isArbitraryImage,
494
+ isArbitraryLength,
495
+ isArbitraryNumber,
496
+ isArbitraryPosition,
497
+ isArbitraryShadow,
498
+ isArbitrarySize,
499
+ isArbitraryValue,
500
+ isArbitraryVariable,
501
+ isArbitraryVariableFamilyName,
502
+ isArbitraryVariableImage,
503
+ isArbitraryVariableLength,
504
+ isArbitraryVariablePosition,
505
+ isArbitraryVariableShadow,
506
+ isArbitraryVariableSize,
507
+ isFraction,
508
+ isInteger,
509
+ isNumber,
510
+ isPercent,
511
+ isTshirtSize
512
+ }, Symbol.toStringTag, {
513
+ value: "Module"
514
+ });
515
+ var getDefaultConfig = () => {
516
+ const themeColor = fromTheme("color");
517
+ const themeFont = fromTheme("font");
518
+ const themeText = fromTheme("text");
519
+ const themeFontWeight = fromTheme("font-weight");
520
+ const themeTracking = fromTheme("tracking");
521
+ const themeLeading = fromTheme("leading");
522
+ const themeBreakpoint = fromTheme("breakpoint");
523
+ const themeContainer = fromTheme("container");
524
+ const themeSpacing = fromTheme("spacing");
525
+ const themeRadius = fromTheme("radius");
526
+ const themeShadow = fromTheme("shadow");
527
+ const themeInsetShadow = fromTheme("inset-shadow");
528
+ const themeTextShadow = fromTheme("text-shadow");
529
+ const themeDropShadow = fromTheme("drop-shadow");
530
+ const themeBlur = fromTheme("blur");
531
+ const themePerspective = fromTheme("perspective");
532
+ const themeAspect = fromTheme("aspect");
533
+ const themeEase = fromTheme("ease");
534
+ const themeAnimate = fromTheme("animate");
535
+ const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
536
+ const scalePosition = () => [
537
+ "center",
538
+ "top",
539
+ "bottom",
540
+ "left",
541
+ "right",
542
+ "top-left",
543
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
544
+ "left-top",
545
+ "top-right",
546
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
547
+ "right-top",
548
+ "bottom-right",
549
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
550
+ "right-bottom",
551
+ "bottom-left",
552
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
553
+ "left-bottom"
554
+ ];
555
+ const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
556
+ const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
557
+ const scaleOverscroll = () => ["auto", "contain", "none"];
558
+ const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
559
+ const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
560
+ const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
561
+ const scaleGridColRowStartAndEnd = () => ["auto", {
562
+ span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
563
+ }, isInteger, isArbitraryVariable, isArbitraryValue];
564
+ const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
565
+ const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
566
+ const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
567
+ const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
568
+ const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
569
+ const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
570
+ const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
571
+ const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
572
+ position: [isArbitraryVariable, isArbitraryValue]
573
+ }];
574
+ const scaleBgRepeat = () => ["no-repeat", {
575
+ repeat: ["", "x", "y", "space", "round"]
576
+ }];
577
+ const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
578
+ size: [isArbitraryVariable, isArbitraryValue]
579
+ }];
580
+ const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
581
+ const scaleRadius = () => [
582
+ // Deprecated since Tailwind CSS v4.0.0
583
+ "",
584
+ "none",
585
+ "full",
586
+ themeRadius,
587
+ isArbitraryVariable,
588
+ isArbitraryValue
589
+ ];
590
+ const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
591
+ const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
592
+ const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
593
+ const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
594
+ const scaleBlur = () => [
595
+ // Deprecated since Tailwind CSS v4.0.0
596
+ "",
597
+ "none",
598
+ themeBlur,
599
+ isArbitraryVariable,
600
+ isArbitraryValue
601
+ ];
602
+ const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
603
+ const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
604
+ const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
605
+ const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
606
+ return {
607
+ cacheSize: 500,
608
+ theme: {
609
+ animate: ["spin", "ping", "pulse", "bounce"],
610
+ aspect: ["video"],
611
+ blur: [isTshirtSize],
612
+ breakpoint: [isTshirtSize],
613
+ color: [isAny],
614
+ container: [isTshirtSize],
615
+ "drop-shadow": [isTshirtSize],
616
+ ease: ["in", "out", "in-out"],
617
+ font: [isAnyNonArbitrary],
618
+ "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
619
+ "inset-shadow": [isTshirtSize],
620
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
621
+ perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
622
+ radius: [isTshirtSize],
623
+ shadow: [isTshirtSize],
624
+ spacing: ["px", isNumber],
625
+ text: [isTshirtSize],
626
+ "text-shadow": [isTshirtSize],
627
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
628
+ },
629
+ classGroups: {
630
+ // --------------
631
+ // --- Layout ---
632
+ // --------------
633
+ /**
634
+ * Aspect Ratio
635
+ * @see https://tailwindcss.com/docs/aspect-ratio
636
+ */
637
+ aspect: [{
638
+ aspect: ["auto", "square", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
639
+ }],
640
+ /**
641
+ * Container
642
+ * @see https://tailwindcss.com/docs/container
643
+ * @deprecated since Tailwind CSS v4.0.0
644
+ */
645
+ container: ["container"],
646
+ /**
647
+ * Columns
648
+ * @see https://tailwindcss.com/docs/columns
649
+ */
650
+ columns: [{
651
+ columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
652
+ }],
653
+ /**
654
+ * Break After
655
+ * @see https://tailwindcss.com/docs/break-after
656
+ */
657
+ "break-after": [{
658
+ "break-after": scaleBreak()
659
+ }],
660
+ /**
661
+ * Break Before
662
+ * @see https://tailwindcss.com/docs/break-before
663
+ */
664
+ "break-before": [{
665
+ "break-before": scaleBreak()
666
+ }],
667
+ /**
668
+ * Break Inside
669
+ * @see https://tailwindcss.com/docs/break-inside
670
+ */
671
+ "break-inside": [{
672
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
673
+ }],
674
+ /**
675
+ * Box Decoration Break
676
+ * @see https://tailwindcss.com/docs/box-decoration-break
677
+ */
678
+ "box-decoration": [{
679
+ "box-decoration": ["slice", "clone"]
680
+ }],
681
+ /**
682
+ * Box Sizing
683
+ * @see https://tailwindcss.com/docs/box-sizing
684
+ */
685
+ box: [{
686
+ box: ["border", "content"]
687
+ }],
688
+ /**
689
+ * Display
690
+ * @see https://tailwindcss.com/docs/display
691
+ */
692
+ 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"],
693
+ /**
694
+ * Screen Reader Only
695
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
696
+ */
697
+ sr: ["sr-only", "not-sr-only"],
698
+ /**
699
+ * Floats
700
+ * @see https://tailwindcss.com/docs/float
701
+ */
702
+ float: [{
703
+ float: ["right", "left", "none", "start", "end"]
704
+ }],
705
+ /**
706
+ * Clear
707
+ * @see https://tailwindcss.com/docs/clear
708
+ */
709
+ clear: [{
710
+ clear: ["left", "right", "both", "none", "start", "end"]
711
+ }],
712
+ /**
713
+ * Isolation
714
+ * @see https://tailwindcss.com/docs/isolation
715
+ */
716
+ isolation: ["isolate", "isolation-auto"],
717
+ /**
718
+ * Object Fit
719
+ * @see https://tailwindcss.com/docs/object-fit
720
+ */
721
+ "object-fit": [{
722
+ object: ["contain", "cover", "fill", "none", "scale-down"]
723
+ }],
724
+ /**
725
+ * Object Position
726
+ * @see https://tailwindcss.com/docs/object-position
727
+ */
728
+ "object-position": [{
729
+ object: scalePositionWithArbitrary()
730
+ }],
731
+ /**
732
+ * Overflow
733
+ * @see https://tailwindcss.com/docs/overflow
734
+ */
735
+ overflow: [{
736
+ overflow: scaleOverflow()
737
+ }],
738
+ /**
739
+ * Overflow X
740
+ * @see https://tailwindcss.com/docs/overflow
741
+ */
742
+ "overflow-x": [{
743
+ "overflow-x": scaleOverflow()
744
+ }],
745
+ /**
746
+ * Overflow Y
747
+ * @see https://tailwindcss.com/docs/overflow
748
+ */
749
+ "overflow-y": [{
750
+ "overflow-y": scaleOverflow()
751
+ }],
752
+ /**
753
+ * Overscroll Behavior
754
+ * @see https://tailwindcss.com/docs/overscroll-behavior
755
+ */
756
+ overscroll: [{
757
+ overscroll: scaleOverscroll()
758
+ }],
759
+ /**
760
+ * Overscroll Behavior X
761
+ * @see https://tailwindcss.com/docs/overscroll-behavior
762
+ */
763
+ "overscroll-x": [{
764
+ "overscroll-x": scaleOverscroll()
765
+ }],
766
+ /**
767
+ * Overscroll Behavior Y
768
+ * @see https://tailwindcss.com/docs/overscroll-behavior
769
+ */
770
+ "overscroll-y": [{
771
+ "overscroll-y": scaleOverscroll()
772
+ }],
773
+ /**
774
+ * Position
775
+ * @see https://tailwindcss.com/docs/position
776
+ */
777
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
778
+ /**
779
+ * Top / Right / Bottom / Left
780
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
781
+ */
782
+ inset: [{
783
+ inset: scaleInset()
784
+ }],
785
+ /**
786
+ * Right / Left
787
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
788
+ */
789
+ "inset-x": [{
790
+ "inset-x": scaleInset()
791
+ }],
792
+ /**
793
+ * Top / Bottom
794
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
795
+ */
796
+ "inset-y": [{
797
+ "inset-y": scaleInset()
798
+ }],
799
+ /**
800
+ * Start
801
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
802
+ */
803
+ start: [{
804
+ start: scaleInset()
805
+ }],
806
+ /**
807
+ * End
808
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
809
+ */
810
+ end: [{
811
+ end: scaleInset()
812
+ }],
813
+ /**
814
+ * Top
815
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
816
+ */
817
+ top: [{
818
+ top: scaleInset()
819
+ }],
820
+ /**
821
+ * Right
822
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
823
+ */
824
+ right: [{
825
+ right: scaleInset()
826
+ }],
827
+ /**
828
+ * Bottom
829
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
830
+ */
831
+ bottom: [{
832
+ bottom: scaleInset()
833
+ }],
834
+ /**
835
+ * Left
836
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
837
+ */
838
+ left: [{
839
+ left: scaleInset()
840
+ }],
841
+ /**
842
+ * Visibility
843
+ * @see https://tailwindcss.com/docs/visibility
844
+ */
845
+ visibility: ["visible", "invisible", "collapse"],
846
+ /**
847
+ * Z-Index
848
+ * @see https://tailwindcss.com/docs/z-index
849
+ */
850
+ z: [{
851
+ z: [isInteger, "auto", isArbitraryVariable, isArbitraryValue]
852
+ }],
853
+ // ------------------------
854
+ // --- Flexbox and Grid ---
855
+ // ------------------------
856
+ /**
857
+ * Flex Basis
858
+ * @see https://tailwindcss.com/docs/flex-basis
859
+ */
860
+ basis: [{
861
+ basis: [isFraction, "full", "auto", themeContainer, ...scaleUnambiguousSpacing()]
862
+ }],
863
+ /**
864
+ * Flex Direction
865
+ * @see https://tailwindcss.com/docs/flex-direction
866
+ */
867
+ "flex-direction": [{
868
+ flex: ["row", "row-reverse", "col", "col-reverse"]
869
+ }],
870
+ /**
871
+ * Flex Wrap
872
+ * @see https://tailwindcss.com/docs/flex-wrap
873
+ */
874
+ "flex-wrap": [{
875
+ flex: ["nowrap", "wrap", "wrap-reverse"]
876
+ }],
877
+ /**
878
+ * Flex
879
+ * @see https://tailwindcss.com/docs/flex
880
+ */
881
+ flex: [{
882
+ flex: [isNumber, isFraction, "auto", "initial", "none", isArbitraryValue]
883
+ }],
884
+ /**
885
+ * Flex Grow
886
+ * @see https://tailwindcss.com/docs/flex-grow
887
+ */
888
+ grow: [{
889
+ grow: ["", isNumber, isArbitraryVariable, isArbitraryValue]
890
+ }],
891
+ /**
892
+ * Flex Shrink
893
+ * @see https://tailwindcss.com/docs/flex-shrink
894
+ */
895
+ shrink: [{
896
+ shrink: ["", isNumber, isArbitraryVariable, isArbitraryValue]
897
+ }],
898
+ /**
899
+ * Order
900
+ * @see https://tailwindcss.com/docs/order
901
+ */
902
+ order: [{
903
+ order: [isInteger, "first", "last", "none", isArbitraryVariable, isArbitraryValue]
904
+ }],
905
+ /**
906
+ * Grid Template Columns
907
+ * @see https://tailwindcss.com/docs/grid-template-columns
908
+ */
909
+ "grid-cols": [{
910
+ "grid-cols": scaleGridTemplateColsRows()
911
+ }],
912
+ /**
913
+ * Grid Column Start / End
914
+ * @see https://tailwindcss.com/docs/grid-column
915
+ */
916
+ "col-start-end": [{
917
+ col: scaleGridColRowStartAndEnd()
918
+ }],
919
+ /**
920
+ * Grid Column Start
921
+ * @see https://tailwindcss.com/docs/grid-column
922
+ */
923
+ "col-start": [{
924
+ "col-start": scaleGridColRowStartOrEnd()
925
+ }],
926
+ /**
927
+ * Grid Column End
928
+ * @see https://tailwindcss.com/docs/grid-column
929
+ */
930
+ "col-end": [{
931
+ "col-end": scaleGridColRowStartOrEnd()
932
+ }],
933
+ /**
934
+ * Grid Template Rows
935
+ * @see https://tailwindcss.com/docs/grid-template-rows
936
+ */
937
+ "grid-rows": [{
938
+ "grid-rows": scaleGridTemplateColsRows()
939
+ }],
940
+ /**
941
+ * Grid Row Start / End
942
+ * @see https://tailwindcss.com/docs/grid-row
943
+ */
944
+ "row-start-end": [{
945
+ row: scaleGridColRowStartAndEnd()
946
+ }],
947
+ /**
948
+ * Grid Row Start
949
+ * @see https://tailwindcss.com/docs/grid-row
950
+ */
951
+ "row-start": [{
952
+ "row-start": scaleGridColRowStartOrEnd()
953
+ }],
954
+ /**
955
+ * Grid Row End
956
+ * @see https://tailwindcss.com/docs/grid-row
957
+ */
958
+ "row-end": [{
959
+ "row-end": scaleGridColRowStartOrEnd()
960
+ }],
961
+ /**
962
+ * Grid Auto Flow
963
+ * @see https://tailwindcss.com/docs/grid-auto-flow
964
+ */
965
+ "grid-flow": [{
966
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
967
+ }],
968
+ /**
969
+ * Grid Auto Columns
970
+ * @see https://tailwindcss.com/docs/grid-auto-columns
971
+ */
972
+ "auto-cols": [{
973
+ "auto-cols": scaleGridAutoColsRows()
974
+ }],
975
+ /**
976
+ * Grid Auto Rows
977
+ * @see https://tailwindcss.com/docs/grid-auto-rows
978
+ */
979
+ "auto-rows": [{
980
+ "auto-rows": scaleGridAutoColsRows()
981
+ }],
982
+ /**
983
+ * Gap
984
+ * @see https://tailwindcss.com/docs/gap
985
+ */
986
+ gap: [{
987
+ gap: scaleUnambiguousSpacing()
988
+ }],
989
+ /**
990
+ * Gap X
991
+ * @see https://tailwindcss.com/docs/gap
992
+ */
993
+ "gap-x": [{
994
+ "gap-x": scaleUnambiguousSpacing()
995
+ }],
996
+ /**
997
+ * Gap Y
998
+ * @see https://tailwindcss.com/docs/gap
999
+ */
1000
+ "gap-y": [{
1001
+ "gap-y": scaleUnambiguousSpacing()
1002
+ }],
1003
+ /**
1004
+ * Justify Content
1005
+ * @see https://tailwindcss.com/docs/justify-content
1006
+ */
1007
+ "justify-content": [{
1008
+ justify: [...scaleAlignPrimaryAxis(), "normal"]
1009
+ }],
1010
+ /**
1011
+ * Justify Items
1012
+ * @see https://tailwindcss.com/docs/justify-items
1013
+ */
1014
+ "justify-items": [{
1015
+ "justify-items": [...scaleAlignSecondaryAxis(), "normal"]
1016
+ }],
1017
+ /**
1018
+ * Justify Self
1019
+ * @see https://tailwindcss.com/docs/justify-self
1020
+ */
1021
+ "justify-self": [{
1022
+ "justify-self": ["auto", ...scaleAlignSecondaryAxis()]
1023
+ }],
1024
+ /**
1025
+ * Align Content
1026
+ * @see https://tailwindcss.com/docs/align-content
1027
+ */
1028
+ "align-content": [{
1029
+ content: ["normal", ...scaleAlignPrimaryAxis()]
1030
+ }],
1031
+ /**
1032
+ * Align Items
1033
+ * @see https://tailwindcss.com/docs/align-items
1034
+ */
1035
+ "align-items": [{
1036
+ items: [...scaleAlignSecondaryAxis(), {
1037
+ baseline: ["", "last"]
1038
+ }]
1039
+ }],
1040
+ /**
1041
+ * Align Self
1042
+ * @see https://tailwindcss.com/docs/align-self
1043
+ */
1044
+ "align-self": [{
1045
+ self: ["auto", ...scaleAlignSecondaryAxis(), {
1046
+ baseline: ["", "last"]
1047
+ }]
1048
+ }],
1049
+ /**
1050
+ * Place Content
1051
+ * @see https://tailwindcss.com/docs/place-content
1052
+ */
1053
+ "place-content": [{
1054
+ "place-content": scaleAlignPrimaryAxis()
1055
+ }],
1056
+ /**
1057
+ * Place Items
1058
+ * @see https://tailwindcss.com/docs/place-items
1059
+ */
1060
+ "place-items": [{
1061
+ "place-items": [...scaleAlignSecondaryAxis(), "baseline"]
1062
+ }],
1063
+ /**
1064
+ * Place Self
1065
+ * @see https://tailwindcss.com/docs/place-self
1066
+ */
1067
+ "place-self": [{
1068
+ "place-self": ["auto", ...scaleAlignSecondaryAxis()]
1069
+ }],
1070
+ // Spacing
1071
+ /**
1072
+ * Padding
1073
+ * @see https://tailwindcss.com/docs/padding
1074
+ */
1075
+ p: [{
1076
+ p: scaleUnambiguousSpacing()
1077
+ }],
1078
+ /**
1079
+ * Padding X
1080
+ * @see https://tailwindcss.com/docs/padding
1081
+ */
1082
+ px: [{
1083
+ px: scaleUnambiguousSpacing()
1084
+ }],
1085
+ /**
1086
+ * Padding Y
1087
+ * @see https://tailwindcss.com/docs/padding
1088
+ */
1089
+ py: [{
1090
+ py: scaleUnambiguousSpacing()
1091
+ }],
1092
+ /**
1093
+ * Padding Start
1094
+ * @see https://tailwindcss.com/docs/padding
1095
+ */
1096
+ ps: [{
1097
+ ps: scaleUnambiguousSpacing()
1098
+ }],
1099
+ /**
1100
+ * Padding End
1101
+ * @see https://tailwindcss.com/docs/padding
1102
+ */
1103
+ pe: [{
1104
+ pe: scaleUnambiguousSpacing()
1105
+ }],
1106
+ /**
1107
+ * Padding Top
1108
+ * @see https://tailwindcss.com/docs/padding
1109
+ */
1110
+ pt: [{
1111
+ pt: scaleUnambiguousSpacing()
1112
+ }],
1113
+ /**
1114
+ * Padding Right
1115
+ * @see https://tailwindcss.com/docs/padding
1116
+ */
1117
+ pr: [{
1118
+ pr: scaleUnambiguousSpacing()
1119
+ }],
1120
+ /**
1121
+ * Padding Bottom
1122
+ * @see https://tailwindcss.com/docs/padding
1123
+ */
1124
+ pb: [{
1125
+ pb: scaleUnambiguousSpacing()
1126
+ }],
1127
+ /**
1128
+ * Padding Left
1129
+ * @see https://tailwindcss.com/docs/padding
1130
+ */
1131
+ pl: [{
1132
+ pl: scaleUnambiguousSpacing()
1133
+ }],
1134
+ /**
1135
+ * Margin
1136
+ * @see https://tailwindcss.com/docs/margin
1137
+ */
1138
+ m: [{
1139
+ m: scaleMargin()
1140
+ }],
1141
+ /**
1142
+ * Margin X
1143
+ * @see https://tailwindcss.com/docs/margin
1144
+ */
1145
+ mx: [{
1146
+ mx: scaleMargin()
1147
+ }],
1148
+ /**
1149
+ * Margin Y
1150
+ * @see https://tailwindcss.com/docs/margin
1151
+ */
1152
+ my: [{
1153
+ my: scaleMargin()
1154
+ }],
1155
+ /**
1156
+ * Margin Start
1157
+ * @see https://tailwindcss.com/docs/margin
1158
+ */
1159
+ ms: [{
1160
+ ms: scaleMargin()
1161
+ }],
1162
+ /**
1163
+ * Margin End
1164
+ * @see https://tailwindcss.com/docs/margin
1165
+ */
1166
+ me: [{
1167
+ me: scaleMargin()
1168
+ }],
1169
+ /**
1170
+ * Margin Top
1171
+ * @see https://tailwindcss.com/docs/margin
1172
+ */
1173
+ mt: [{
1174
+ mt: scaleMargin()
1175
+ }],
1176
+ /**
1177
+ * Margin Right
1178
+ * @see https://tailwindcss.com/docs/margin
1179
+ */
1180
+ mr: [{
1181
+ mr: scaleMargin()
1182
+ }],
1183
+ /**
1184
+ * Margin Bottom
1185
+ * @see https://tailwindcss.com/docs/margin
1186
+ */
1187
+ mb: [{
1188
+ mb: scaleMargin()
1189
+ }],
1190
+ /**
1191
+ * Margin Left
1192
+ * @see https://tailwindcss.com/docs/margin
1193
+ */
1194
+ ml: [{
1195
+ ml: scaleMargin()
1196
+ }],
1197
+ /**
1198
+ * Space Between X
1199
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1200
+ */
1201
+ "space-x": [{
1202
+ "space-x": scaleUnambiguousSpacing()
1203
+ }],
1204
+ /**
1205
+ * Space Between X Reverse
1206
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1207
+ */
1208
+ "space-x-reverse": ["space-x-reverse"],
1209
+ /**
1210
+ * Space Between Y
1211
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1212
+ */
1213
+ "space-y": [{
1214
+ "space-y": scaleUnambiguousSpacing()
1215
+ }],
1216
+ /**
1217
+ * Space Between Y Reverse
1218
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1219
+ */
1220
+ "space-y-reverse": ["space-y-reverse"],
1221
+ // --------------
1222
+ // --- Sizing ---
1223
+ // --------------
1224
+ /**
1225
+ * Size
1226
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1227
+ */
1228
+ size: [{
1229
+ size: scaleSizing()
1230
+ }],
1231
+ /**
1232
+ * Width
1233
+ * @see https://tailwindcss.com/docs/width
1234
+ */
1235
+ w: [{
1236
+ w: [themeContainer, "screen", ...scaleSizing()]
1237
+ }],
1238
+ /**
1239
+ * Min-Width
1240
+ * @see https://tailwindcss.com/docs/min-width
1241
+ */
1242
+ "min-w": [{
1243
+ "min-w": [
1244
+ themeContainer,
1245
+ "screen",
1246
+ /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1247
+ "none",
1248
+ ...scaleSizing()
1249
+ ]
1250
+ }],
1251
+ /**
1252
+ * Max-Width
1253
+ * @see https://tailwindcss.com/docs/max-width
1254
+ */
1255
+ "max-w": [{
1256
+ "max-w": [
1257
+ themeContainer,
1258
+ "screen",
1259
+ "none",
1260
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1261
+ "prose",
1262
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1263
+ {
1264
+ screen: [themeBreakpoint]
1265
+ },
1266
+ ...scaleSizing()
1267
+ ]
1268
+ }],
1269
+ /**
1270
+ * Height
1271
+ * @see https://tailwindcss.com/docs/height
1272
+ */
1273
+ h: [{
1274
+ h: ["screen", "lh", ...scaleSizing()]
1275
+ }],
1276
+ /**
1277
+ * Min-Height
1278
+ * @see https://tailwindcss.com/docs/min-height
1279
+ */
1280
+ "min-h": [{
1281
+ "min-h": ["screen", "lh", "none", ...scaleSizing()]
1282
+ }],
1283
+ /**
1284
+ * Max-Height
1285
+ * @see https://tailwindcss.com/docs/max-height
1286
+ */
1287
+ "max-h": [{
1288
+ "max-h": ["screen", "lh", ...scaleSizing()]
1289
+ }],
1290
+ // ------------------
1291
+ // --- Typography ---
1292
+ // ------------------
1293
+ /**
1294
+ * Font Size
1295
+ * @see https://tailwindcss.com/docs/font-size
1296
+ */
1297
+ "font-size": [{
1298
+ text: ["base", themeText, isArbitraryVariableLength, isArbitraryLength]
1299
+ }],
1300
+ /**
1301
+ * Font Smoothing
1302
+ * @see https://tailwindcss.com/docs/font-smoothing
1303
+ */
1304
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1305
+ /**
1306
+ * Font Style
1307
+ * @see https://tailwindcss.com/docs/font-style
1308
+ */
1309
+ "font-style": ["italic", "not-italic"],
1310
+ /**
1311
+ * Font Weight
1312
+ * @see https://tailwindcss.com/docs/font-weight
1313
+ */
1314
+ "font-weight": [{
1315
+ font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
1316
+ }],
1317
+ /**
1318
+ * Font Stretch
1319
+ * @see https://tailwindcss.com/docs/font-stretch
1320
+ */
1321
+ "font-stretch": [{
1322
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", isPercent, isArbitraryValue]
1323
+ }],
1324
+ /**
1325
+ * Font Family
1326
+ * @see https://tailwindcss.com/docs/font-family
1327
+ */
1328
+ "font-family": [{
1329
+ font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
1330
+ }],
1331
+ /**
1332
+ * Font Variant Numeric
1333
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1334
+ */
1335
+ "fvn-normal": ["normal-nums"],
1336
+ /**
1337
+ * Font Variant Numeric
1338
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1339
+ */
1340
+ "fvn-ordinal": ["ordinal"],
1341
+ /**
1342
+ * Font Variant Numeric
1343
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1344
+ */
1345
+ "fvn-slashed-zero": ["slashed-zero"],
1346
+ /**
1347
+ * Font Variant Numeric
1348
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1349
+ */
1350
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1351
+ /**
1352
+ * Font Variant Numeric
1353
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1354
+ */
1355
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1356
+ /**
1357
+ * Font Variant Numeric
1358
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1359
+ */
1360
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1361
+ /**
1362
+ * Letter Spacing
1363
+ * @see https://tailwindcss.com/docs/letter-spacing
1364
+ */
1365
+ tracking: [{
1366
+ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
1367
+ }],
1368
+ /**
1369
+ * Line Clamp
1370
+ * @see https://tailwindcss.com/docs/line-clamp
1371
+ */
1372
+ "line-clamp": [{
1373
+ "line-clamp": [isNumber, "none", isArbitraryVariable, isArbitraryNumber]
1374
+ }],
1375
+ /**
1376
+ * Line Height
1377
+ * @see https://tailwindcss.com/docs/line-height
1378
+ */
1379
+ leading: [{
1380
+ leading: [
1381
+ /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1382
+ themeLeading,
1383
+ ...scaleUnambiguousSpacing()
1384
+ ]
1385
+ }],
1386
+ /**
1387
+ * List Style Image
1388
+ * @see https://tailwindcss.com/docs/list-style-image
1389
+ */
1390
+ "list-image": [{
1391
+ "list-image": ["none", isArbitraryVariable, isArbitraryValue]
1392
+ }],
1393
+ /**
1394
+ * List Style Position
1395
+ * @see https://tailwindcss.com/docs/list-style-position
1396
+ */
1397
+ "list-style-position": [{
1398
+ list: ["inside", "outside"]
1399
+ }],
1400
+ /**
1401
+ * List Style Type
1402
+ * @see https://tailwindcss.com/docs/list-style-type
1403
+ */
1404
+ "list-style-type": [{
1405
+ list: ["disc", "decimal", "none", isArbitraryVariable, isArbitraryValue]
1406
+ }],
1407
+ /**
1408
+ * Text Alignment
1409
+ * @see https://tailwindcss.com/docs/text-align
1410
+ */
1411
+ "text-alignment": [{
1412
+ text: ["left", "center", "right", "justify", "start", "end"]
1413
+ }],
1414
+ /**
1415
+ * Placeholder Color
1416
+ * @deprecated since Tailwind CSS v3.0.0
1417
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
1418
+ */
1419
+ "placeholder-color": [{
1420
+ placeholder: scaleColor()
1421
+ }],
1422
+ /**
1423
+ * Text Color
1424
+ * @see https://tailwindcss.com/docs/text-color
1425
+ */
1426
+ "text-color": [{
1427
+ text: scaleColor()
1428
+ }],
1429
+ /**
1430
+ * Text Decoration
1431
+ * @see https://tailwindcss.com/docs/text-decoration
1432
+ */
1433
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1434
+ /**
1435
+ * Text Decoration Style
1436
+ * @see https://tailwindcss.com/docs/text-decoration-style
1437
+ */
1438
+ "text-decoration-style": [{
1439
+ decoration: [...scaleLineStyle(), "wavy"]
1440
+ }],
1441
+ /**
1442
+ * Text Decoration Thickness
1443
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1444
+ */
1445
+ "text-decoration-thickness": [{
1446
+ decoration: [isNumber, "from-font", "auto", isArbitraryVariable, isArbitraryLength]
1447
+ }],
1448
+ /**
1449
+ * Text Decoration Color
1450
+ * @see https://tailwindcss.com/docs/text-decoration-color
1451
+ */
1452
+ "text-decoration-color": [{
1453
+ decoration: scaleColor()
1454
+ }],
1455
+ /**
1456
+ * Text Underline Offset
1457
+ * @see https://tailwindcss.com/docs/text-underline-offset
1458
+ */
1459
+ "underline-offset": [{
1460
+ "underline-offset": [isNumber, "auto", isArbitraryVariable, isArbitraryValue]
1461
+ }],
1462
+ /**
1463
+ * Text Transform
1464
+ * @see https://tailwindcss.com/docs/text-transform
1465
+ */
1466
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1467
+ /**
1468
+ * Text Overflow
1469
+ * @see https://tailwindcss.com/docs/text-overflow
1470
+ */
1471
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1472
+ /**
1473
+ * Text Wrap
1474
+ * @see https://tailwindcss.com/docs/text-wrap
1475
+ */
1476
+ "text-wrap": [{
1477
+ text: ["wrap", "nowrap", "balance", "pretty"]
1478
+ }],
1479
+ /**
1480
+ * Text Indent
1481
+ * @see https://tailwindcss.com/docs/text-indent
1482
+ */
1483
+ indent: [{
1484
+ indent: scaleUnambiguousSpacing()
1485
+ }],
1486
+ /**
1487
+ * Vertical Alignment
1488
+ * @see https://tailwindcss.com/docs/vertical-align
1489
+ */
1490
+ "vertical-align": [{
1491
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryVariable, isArbitraryValue]
1492
+ }],
1493
+ /**
1494
+ * Whitespace
1495
+ * @see https://tailwindcss.com/docs/whitespace
1496
+ */
1497
+ whitespace: [{
1498
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1499
+ }],
1500
+ /**
1501
+ * Word Break
1502
+ * @see https://tailwindcss.com/docs/word-break
1503
+ */
1504
+ break: [{
1505
+ break: ["normal", "words", "all", "keep"]
1506
+ }],
1507
+ /**
1508
+ * Overflow Wrap
1509
+ * @see https://tailwindcss.com/docs/overflow-wrap
1510
+ */
1511
+ wrap: [{
1512
+ wrap: ["break-word", "anywhere", "normal"]
1513
+ }],
1514
+ /**
1515
+ * Hyphens
1516
+ * @see https://tailwindcss.com/docs/hyphens
1517
+ */
1518
+ hyphens: [{
1519
+ hyphens: ["none", "manual", "auto"]
1520
+ }],
1521
+ /**
1522
+ * Content
1523
+ * @see https://tailwindcss.com/docs/content
1524
+ */
1525
+ content: [{
1526
+ content: ["none", isArbitraryVariable, isArbitraryValue]
1527
+ }],
1528
+ // -------------------
1529
+ // --- Backgrounds ---
1530
+ // -------------------
1531
+ /**
1532
+ * Background Attachment
1533
+ * @see https://tailwindcss.com/docs/background-attachment
1534
+ */
1535
+ "bg-attachment": [{
1536
+ bg: ["fixed", "local", "scroll"]
1537
+ }],
1538
+ /**
1539
+ * Background Clip
1540
+ * @see https://tailwindcss.com/docs/background-clip
1541
+ */
1542
+ "bg-clip": [{
1543
+ "bg-clip": ["border", "padding", "content", "text"]
1544
+ }],
1545
+ /**
1546
+ * Background Origin
1547
+ * @see https://tailwindcss.com/docs/background-origin
1548
+ */
1549
+ "bg-origin": [{
1550
+ "bg-origin": ["border", "padding", "content"]
1551
+ }],
1552
+ /**
1553
+ * Background Position
1554
+ * @see https://tailwindcss.com/docs/background-position
1555
+ */
1556
+ "bg-position": [{
1557
+ bg: scaleBgPosition()
1558
+ }],
1559
+ /**
1560
+ * Background Repeat
1561
+ * @see https://tailwindcss.com/docs/background-repeat
1562
+ */
1563
+ "bg-repeat": [{
1564
+ bg: scaleBgRepeat()
1565
+ }],
1566
+ /**
1567
+ * Background Size
1568
+ * @see https://tailwindcss.com/docs/background-size
1569
+ */
1570
+ "bg-size": [{
1571
+ bg: scaleBgSize()
1572
+ }],
1573
+ /**
1574
+ * Background Image
1575
+ * @see https://tailwindcss.com/docs/background-image
1576
+ */
1577
+ "bg-image": [{
1578
+ bg: ["none", {
1579
+ linear: [{
1580
+ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1581
+ }, isInteger, isArbitraryVariable, isArbitraryValue],
1582
+ radial: ["", isArbitraryVariable, isArbitraryValue],
1583
+ conic: [isInteger, isArbitraryVariable, isArbitraryValue]
1584
+ }, isArbitraryVariableImage, isArbitraryImage]
1585
+ }],
1586
+ /**
1587
+ * Background Color
1588
+ * @see https://tailwindcss.com/docs/background-color
1589
+ */
1590
+ "bg-color": [{
1591
+ bg: scaleColor()
1592
+ }],
1593
+ /**
1594
+ * Gradient Color Stops From Position
1595
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1596
+ */
1597
+ "gradient-from-pos": [{
1598
+ from: scaleGradientStopPosition()
1599
+ }],
1600
+ /**
1601
+ * Gradient Color Stops Via Position
1602
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1603
+ */
1604
+ "gradient-via-pos": [{
1605
+ via: scaleGradientStopPosition()
1606
+ }],
1607
+ /**
1608
+ * Gradient Color Stops To Position
1609
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1610
+ */
1611
+ "gradient-to-pos": [{
1612
+ to: scaleGradientStopPosition()
1613
+ }],
1614
+ /**
1615
+ * Gradient Color Stops From
1616
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1617
+ */
1618
+ "gradient-from": [{
1619
+ from: scaleColor()
1620
+ }],
1621
+ /**
1622
+ * Gradient Color Stops Via
1623
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1624
+ */
1625
+ "gradient-via": [{
1626
+ via: scaleColor()
1627
+ }],
1628
+ /**
1629
+ * Gradient Color Stops To
1630
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1631
+ */
1632
+ "gradient-to": [{
1633
+ to: scaleColor()
1634
+ }],
1635
+ // ---------------
1636
+ // --- Borders ---
1637
+ // ---------------
1638
+ /**
1639
+ * Border Radius
1640
+ * @see https://tailwindcss.com/docs/border-radius
1641
+ */
1642
+ rounded: [{
1643
+ rounded: scaleRadius()
1644
+ }],
1645
+ /**
1646
+ * Border Radius Start
1647
+ * @see https://tailwindcss.com/docs/border-radius
1648
+ */
1649
+ "rounded-s": [{
1650
+ "rounded-s": scaleRadius()
1651
+ }],
1652
+ /**
1653
+ * Border Radius End
1654
+ * @see https://tailwindcss.com/docs/border-radius
1655
+ */
1656
+ "rounded-e": [{
1657
+ "rounded-e": scaleRadius()
1658
+ }],
1659
+ /**
1660
+ * Border Radius Top
1661
+ * @see https://tailwindcss.com/docs/border-radius
1662
+ */
1663
+ "rounded-t": [{
1664
+ "rounded-t": scaleRadius()
1665
+ }],
1666
+ /**
1667
+ * Border Radius Right
1668
+ * @see https://tailwindcss.com/docs/border-radius
1669
+ */
1670
+ "rounded-r": [{
1671
+ "rounded-r": scaleRadius()
1672
+ }],
1673
+ /**
1674
+ * Border Radius Bottom
1675
+ * @see https://tailwindcss.com/docs/border-radius
1676
+ */
1677
+ "rounded-b": [{
1678
+ "rounded-b": scaleRadius()
1679
+ }],
1680
+ /**
1681
+ * Border Radius Left
1682
+ * @see https://tailwindcss.com/docs/border-radius
1683
+ */
1684
+ "rounded-l": [{
1685
+ "rounded-l": scaleRadius()
1686
+ }],
1687
+ /**
1688
+ * Border Radius Start Start
1689
+ * @see https://tailwindcss.com/docs/border-radius
1690
+ */
1691
+ "rounded-ss": [{
1692
+ "rounded-ss": scaleRadius()
1693
+ }],
1694
+ /**
1695
+ * Border Radius Start End
1696
+ * @see https://tailwindcss.com/docs/border-radius
1697
+ */
1698
+ "rounded-se": [{
1699
+ "rounded-se": scaleRadius()
1700
+ }],
1701
+ /**
1702
+ * Border Radius End End
1703
+ * @see https://tailwindcss.com/docs/border-radius
1704
+ */
1705
+ "rounded-ee": [{
1706
+ "rounded-ee": scaleRadius()
1707
+ }],
1708
+ /**
1709
+ * Border Radius End Start
1710
+ * @see https://tailwindcss.com/docs/border-radius
1711
+ */
1712
+ "rounded-es": [{
1713
+ "rounded-es": scaleRadius()
1714
+ }],
1715
+ /**
1716
+ * Border Radius Top Left
1717
+ * @see https://tailwindcss.com/docs/border-radius
1718
+ */
1719
+ "rounded-tl": [{
1720
+ "rounded-tl": scaleRadius()
1721
+ }],
1722
+ /**
1723
+ * Border Radius Top Right
1724
+ * @see https://tailwindcss.com/docs/border-radius
1725
+ */
1726
+ "rounded-tr": [{
1727
+ "rounded-tr": scaleRadius()
1728
+ }],
1729
+ /**
1730
+ * Border Radius Bottom Right
1731
+ * @see https://tailwindcss.com/docs/border-radius
1732
+ */
1733
+ "rounded-br": [{
1734
+ "rounded-br": scaleRadius()
1735
+ }],
1736
+ /**
1737
+ * Border Radius Bottom Left
1738
+ * @see https://tailwindcss.com/docs/border-radius
1739
+ */
1740
+ "rounded-bl": [{
1741
+ "rounded-bl": scaleRadius()
1742
+ }],
1743
+ /**
1744
+ * Border Width
1745
+ * @see https://tailwindcss.com/docs/border-width
1746
+ */
1747
+ "border-w": [{
1748
+ border: scaleBorderWidth()
1749
+ }],
1750
+ /**
1751
+ * Border Width X
1752
+ * @see https://tailwindcss.com/docs/border-width
1753
+ */
1754
+ "border-w-x": [{
1755
+ "border-x": scaleBorderWidth()
1756
+ }],
1757
+ /**
1758
+ * Border Width Y
1759
+ * @see https://tailwindcss.com/docs/border-width
1760
+ */
1761
+ "border-w-y": [{
1762
+ "border-y": scaleBorderWidth()
1763
+ }],
1764
+ /**
1765
+ * Border Width Start
1766
+ * @see https://tailwindcss.com/docs/border-width
1767
+ */
1768
+ "border-w-s": [{
1769
+ "border-s": scaleBorderWidth()
1770
+ }],
1771
+ /**
1772
+ * Border Width End
1773
+ * @see https://tailwindcss.com/docs/border-width
1774
+ */
1775
+ "border-w-e": [{
1776
+ "border-e": scaleBorderWidth()
1777
+ }],
1778
+ /**
1779
+ * Border Width Top
1780
+ * @see https://tailwindcss.com/docs/border-width
1781
+ */
1782
+ "border-w-t": [{
1783
+ "border-t": scaleBorderWidth()
1784
+ }],
1785
+ /**
1786
+ * Border Width Right
1787
+ * @see https://tailwindcss.com/docs/border-width
1788
+ */
1789
+ "border-w-r": [{
1790
+ "border-r": scaleBorderWidth()
1791
+ }],
1792
+ /**
1793
+ * Border Width Bottom
1794
+ * @see https://tailwindcss.com/docs/border-width
1795
+ */
1796
+ "border-w-b": [{
1797
+ "border-b": scaleBorderWidth()
1798
+ }],
1799
+ /**
1800
+ * Border Width Left
1801
+ * @see https://tailwindcss.com/docs/border-width
1802
+ */
1803
+ "border-w-l": [{
1804
+ "border-l": scaleBorderWidth()
1805
+ }],
1806
+ /**
1807
+ * Divide Width X
1808
+ * @see https://tailwindcss.com/docs/border-width#between-children
1809
+ */
1810
+ "divide-x": [{
1811
+ "divide-x": scaleBorderWidth()
1812
+ }],
1813
+ /**
1814
+ * Divide Width X Reverse
1815
+ * @see https://tailwindcss.com/docs/border-width#between-children
1816
+ */
1817
+ "divide-x-reverse": ["divide-x-reverse"],
1818
+ /**
1819
+ * Divide Width Y
1820
+ * @see https://tailwindcss.com/docs/border-width#between-children
1821
+ */
1822
+ "divide-y": [{
1823
+ "divide-y": scaleBorderWidth()
1824
+ }],
1825
+ /**
1826
+ * Divide Width Y Reverse
1827
+ * @see https://tailwindcss.com/docs/border-width#between-children
1828
+ */
1829
+ "divide-y-reverse": ["divide-y-reverse"],
1830
+ /**
1831
+ * Border Style
1832
+ * @see https://tailwindcss.com/docs/border-style
1833
+ */
1834
+ "border-style": [{
1835
+ border: [...scaleLineStyle(), "hidden", "none"]
1836
+ }],
1837
+ /**
1838
+ * Divide Style
1839
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1840
+ */
1841
+ "divide-style": [{
1842
+ divide: [...scaleLineStyle(), "hidden", "none"]
1843
+ }],
1844
+ /**
1845
+ * Border Color
1846
+ * @see https://tailwindcss.com/docs/border-color
1847
+ */
1848
+ "border-color": [{
1849
+ border: scaleColor()
1850
+ }],
1851
+ /**
1852
+ * Border Color X
1853
+ * @see https://tailwindcss.com/docs/border-color
1854
+ */
1855
+ "border-color-x": [{
1856
+ "border-x": scaleColor()
1857
+ }],
1858
+ /**
1859
+ * Border Color Y
1860
+ * @see https://tailwindcss.com/docs/border-color
1861
+ */
1862
+ "border-color-y": [{
1863
+ "border-y": scaleColor()
1864
+ }],
1865
+ /**
1866
+ * Border Color S
1867
+ * @see https://tailwindcss.com/docs/border-color
1868
+ */
1869
+ "border-color-s": [{
1870
+ "border-s": scaleColor()
1871
+ }],
1872
+ /**
1873
+ * Border Color E
1874
+ * @see https://tailwindcss.com/docs/border-color
1875
+ */
1876
+ "border-color-e": [{
1877
+ "border-e": scaleColor()
1878
+ }],
1879
+ /**
1880
+ * Border Color Top
1881
+ * @see https://tailwindcss.com/docs/border-color
1882
+ */
1883
+ "border-color-t": [{
1884
+ "border-t": scaleColor()
1885
+ }],
1886
+ /**
1887
+ * Border Color Right
1888
+ * @see https://tailwindcss.com/docs/border-color
1889
+ */
1890
+ "border-color-r": [{
1891
+ "border-r": scaleColor()
1892
+ }],
1893
+ /**
1894
+ * Border Color Bottom
1895
+ * @see https://tailwindcss.com/docs/border-color
1896
+ */
1897
+ "border-color-b": [{
1898
+ "border-b": scaleColor()
1899
+ }],
1900
+ /**
1901
+ * Border Color Left
1902
+ * @see https://tailwindcss.com/docs/border-color
1903
+ */
1904
+ "border-color-l": [{
1905
+ "border-l": scaleColor()
1906
+ }],
1907
+ /**
1908
+ * Divide Color
1909
+ * @see https://tailwindcss.com/docs/divide-color
1910
+ */
1911
+ "divide-color": [{
1912
+ divide: scaleColor()
1913
+ }],
1914
+ /**
1915
+ * Outline Style
1916
+ * @see https://tailwindcss.com/docs/outline-style
1917
+ */
1918
+ "outline-style": [{
1919
+ outline: [...scaleLineStyle(), "none", "hidden"]
1920
+ }],
1921
+ /**
1922
+ * Outline Offset
1923
+ * @see https://tailwindcss.com/docs/outline-offset
1924
+ */
1925
+ "outline-offset": [{
1926
+ "outline-offset": [isNumber, isArbitraryVariable, isArbitraryValue]
1927
+ }],
1928
+ /**
1929
+ * Outline Width
1930
+ * @see https://tailwindcss.com/docs/outline-width
1931
+ */
1932
+ "outline-w": [{
1933
+ outline: ["", isNumber, isArbitraryVariableLength, isArbitraryLength]
1934
+ }],
1935
+ /**
1936
+ * Outline Color
1937
+ * @see https://tailwindcss.com/docs/outline-color
1938
+ */
1939
+ "outline-color": [{
1940
+ outline: scaleColor()
1941
+ }],
1942
+ // ---------------
1943
+ // --- Effects ---
1944
+ // ---------------
1945
+ /**
1946
+ * Box Shadow
1947
+ * @see https://tailwindcss.com/docs/box-shadow
1948
+ */
1949
+ shadow: [{
1950
+ shadow: [
1951
+ // Deprecated since Tailwind CSS v4.0.0
1952
+ "",
1953
+ "none",
1954
+ themeShadow,
1955
+ isArbitraryVariableShadow,
1956
+ isArbitraryShadow
1957
+ ]
1958
+ }],
1959
+ /**
1960
+ * Box Shadow Color
1961
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
1962
+ */
1963
+ "shadow-color": [{
1964
+ shadow: scaleColor()
1965
+ }],
1966
+ /**
1967
+ * Inset Box Shadow
1968
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1969
+ */
1970
+ "inset-shadow": [{
1971
+ "inset-shadow": ["none", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
1972
+ }],
1973
+ /**
1974
+ * Inset Box Shadow Color
1975
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
1976
+ */
1977
+ "inset-shadow-color": [{
1978
+ "inset-shadow": scaleColor()
1979
+ }],
1980
+ /**
1981
+ * Ring Width
1982
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
1983
+ */
1984
+ "ring-w": [{
1985
+ ring: scaleBorderWidth()
1986
+ }],
1987
+ /**
1988
+ * Ring Width Inset
1989
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
1990
+ * @deprecated since Tailwind CSS v4.0.0
1991
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1992
+ */
1993
+ "ring-w-inset": ["ring-inset"],
1994
+ /**
1995
+ * Ring Color
1996
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
1997
+ */
1998
+ "ring-color": [{
1999
+ ring: scaleColor()
2000
+ }],
2001
+ /**
2002
+ * Ring Offset Width
2003
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
2004
+ * @deprecated since Tailwind CSS v4.0.0
2005
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2006
+ */
2007
+ "ring-offset-w": [{
2008
+ "ring-offset": [isNumber, isArbitraryLength]
2009
+ }],
2010
+ /**
2011
+ * Ring Offset Color
2012
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
2013
+ * @deprecated since Tailwind CSS v4.0.0
2014
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2015
+ */
2016
+ "ring-offset-color": [{
2017
+ "ring-offset": scaleColor()
2018
+ }],
2019
+ /**
2020
+ * Inset Ring Width
2021
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
2022
+ */
2023
+ "inset-ring-w": [{
2024
+ "inset-ring": scaleBorderWidth()
2025
+ }],
2026
+ /**
2027
+ * Inset Ring Color
2028
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
2029
+ */
2030
+ "inset-ring-color": [{
2031
+ "inset-ring": scaleColor()
2032
+ }],
2033
+ /**
2034
+ * Text Shadow
2035
+ * @see https://tailwindcss.com/docs/text-shadow
2036
+ */
2037
+ "text-shadow": [{
2038
+ "text-shadow": ["none", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
2039
+ }],
2040
+ /**
2041
+ * Text Shadow Color
2042
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
2043
+ */
2044
+ "text-shadow-color": [{
2045
+ "text-shadow": scaleColor()
2046
+ }],
2047
+ /**
2048
+ * Opacity
2049
+ * @see https://tailwindcss.com/docs/opacity
2050
+ */
2051
+ opacity: [{
2052
+ opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
2053
+ }],
2054
+ /**
2055
+ * Mix Blend Mode
2056
+ * @see https://tailwindcss.com/docs/mix-blend-mode
2057
+ */
2058
+ "mix-blend": [{
2059
+ "mix-blend": [...scaleBlendMode(), "plus-darker", "plus-lighter"]
2060
+ }],
2061
+ /**
2062
+ * Background Blend Mode
2063
+ * @see https://tailwindcss.com/docs/background-blend-mode
2064
+ */
2065
+ "bg-blend": [{
2066
+ "bg-blend": scaleBlendMode()
2067
+ }],
2068
+ /**
2069
+ * Mask Clip
2070
+ * @see https://tailwindcss.com/docs/mask-clip
2071
+ */
2072
+ "mask-clip": [{
2073
+ "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
2074
+ }, "mask-no-clip"],
2075
+ /**
2076
+ * Mask Composite
2077
+ * @see https://tailwindcss.com/docs/mask-composite
2078
+ */
2079
+ "mask-composite": [{
2080
+ mask: ["add", "subtract", "intersect", "exclude"]
2081
+ }],
2082
+ /**
2083
+ * Mask Image
2084
+ * @see https://tailwindcss.com/docs/mask-image
2085
+ */
2086
+ "mask-image-linear-pos": [{
2087
+ "mask-linear": [isNumber]
2088
+ }],
2089
+ "mask-image-linear-from-pos": [{
2090
+ "mask-linear-from": scaleMaskImagePosition()
2091
+ }],
2092
+ "mask-image-linear-to-pos": [{
2093
+ "mask-linear-to": scaleMaskImagePosition()
2094
+ }],
2095
+ "mask-image-linear-from-color": [{
2096
+ "mask-linear-from": scaleColor()
2097
+ }],
2098
+ "mask-image-linear-to-color": [{
2099
+ "mask-linear-to": scaleColor()
2100
+ }],
2101
+ "mask-image-t-from-pos": [{
2102
+ "mask-t-from": scaleMaskImagePosition()
2103
+ }],
2104
+ "mask-image-t-to-pos": [{
2105
+ "mask-t-to": scaleMaskImagePosition()
2106
+ }],
2107
+ "mask-image-t-from-color": [{
2108
+ "mask-t-from": scaleColor()
2109
+ }],
2110
+ "mask-image-t-to-color": [{
2111
+ "mask-t-to": scaleColor()
2112
+ }],
2113
+ "mask-image-r-from-pos": [{
2114
+ "mask-r-from": scaleMaskImagePosition()
2115
+ }],
2116
+ "mask-image-r-to-pos": [{
2117
+ "mask-r-to": scaleMaskImagePosition()
2118
+ }],
2119
+ "mask-image-r-from-color": [{
2120
+ "mask-r-from": scaleColor()
2121
+ }],
2122
+ "mask-image-r-to-color": [{
2123
+ "mask-r-to": scaleColor()
2124
+ }],
2125
+ "mask-image-b-from-pos": [{
2126
+ "mask-b-from": scaleMaskImagePosition()
2127
+ }],
2128
+ "mask-image-b-to-pos": [{
2129
+ "mask-b-to": scaleMaskImagePosition()
2130
+ }],
2131
+ "mask-image-b-from-color": [{
2132
+ "mask-b-from": scaleColor()
2133
+ }],
2134
+ "mask-image-b-to-color": [{
2135
+ "mask-b-to": scaleColor()
2136
+ }],
2137
+ "mask-image-l-from-pos": [{
2138
+ "mask-l-from": scaleMaskImagePosition()
2139
+ }],
2140
+ "mask-image-l-to-pos": [{
2141
+ "mask-l-to": scaleMaskImagePosition()
2142
+ }],
2143
+ "mask-image-l-from-color": [{
2144
+ "mask-l-from": scaleColor()
2145
+ }],
2146
+ "mask-image-l-to-color": [{
2147
+ "mask-l-to": scaleColor()
2148
+ }],
2149
+ "mask-image-x-from-pos": [{
2150
+ "mask-x-from": scaleMaskImagePosition()
2151
+ }],
2152
+ "mask-image-x-to-pos": [{
2153
+ "mask-x-to": scaleMaskImagePosition()
2154
+ }],
2155
+ "mask-image-x-from-color": [{
2156
+ "mask-x-from": scaleColor()
2157
+ }],
2158
+ "mask-image-x-to-color": [{
2159
+ "mask-x-to": scaleColor()
2160
+ }],
2161
+ "mask-image-y-from-pos": [{
2162
+ "mask-y-from": scaleMaskImagePosition()
2163
+ }],
2164
+ "mask-image-y-to-pos": [{
2165
+ "mask-y-to": scaleMaskImagePosition()
2166
+ }],
2167
+ "mask-image-y-from-color": [{
2168
+ "mask-y-from": scaleColor()
2169
+ }],
2170
+ "mask-image-y-to-color": [{
2171
+ "mask-y-to": scaleColor()
2172
+ }],
2173
+ "mask-image-radial": [{
2174
+ "mask-radial": [isArbitraryVariable, isArbitraryValue]
2175
+ }],
2176
+ "mask-image-radial-from-pos": [{
2177
+ "mask-radial-from": scaleMaskImagePosition()
2178
+ }],
2179
+ "mask-image-radial-to-pos": [{
2180
+ "mask-radial-to": scaleMaskImagePosition()
2181
+ }],
2182
+ "mask-image-radial-from-color": [{
2183
+ "mask-radial-from": scaleColor()
2184
+ }],
2185
+ "mask-image-radial-to-color": [{
2186
+ "mask-radial-to": scaleColor()
2187
+ }],
2188
+ "mask-image-radial-shape": [{
2189
+ "mask-radial": ["circle", "ellipse"]
2190
+ }],
2191
+ "mask-image-radial-size": [{
2192
+ "mask-radial": [{
2193
+ closest: ["side", "corner"],
2194
+ farthest: ["side", "corner"]
2195
+ }]
2196
+ }],
2197
+ "mask-image-radial-pos": [{
2198
+ "mask-radial-at": scalePosition()
2199
+ }],
2200
+ "mask-image-conic-pos": [{
2201
+ "mask-conic": [isNumber]
2202
+ }],
2203
+ "mask-image-conic-from-pos": [{
2204
+ "mask-conic-from": scaleMaskImagePosition()
2205
+ }],
2206
+ "mask-image-conic-to-pos": [{
2207
+ "mask-conic-to": scaleMaskImagePosition()
2208
+ }],
2209
+ "mask-image-conic-from-color": [{
2210
+ "mask-conic-from": scaleColor()
2211
+ }],
2212
+ "mask-image-conic-to-color": [{
2213
+ "mask-conic-to": scaleColor()
2214
+ }],
2215
+ /**
2216
+ * Mask Mode
2217
+ * @see https://tailwindcss.com/docs/mask-mode
2218
+ */
2219
+ "mask-mode": [{
2220
+ mask: ["alpha", "luminance", "match"]
2221
+ }],
2222
+ /**
2223
+ * Mask Origin
2224
+ * @see https://tailwindcss.com/docs/mask-origin
2225
+ */
2226
+ "mask-origin": [{
2227
+ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
2228
+ }],
2229
+ /**
2230
+ * Mask Position
2231
+ * @see https://tailwindcss.com/docs/mask-position
2232
+ */
2233
+ "mask-position": [{
2234
+ mask: scaleBgPosition()
2235
+ }],
2236
+ /**
2237
+ * Mask Repeat
2238
+ * @see https://tailwindcss.com/docs/mask-repeat
2239
+ */
2240
+ "mask-repeat": [{
2241
+ mask: scaleBgRepeat()
2242
+ }],
2243
+ /**
2244
+ * Mask Size
2245
+ * @see https://tailwindcss.com/docs/mask-size
2246
+ */
2247
+ "mask-size": [{
2248
+ mask: scaleBgSize()
2249
+ }],
2250
+ /**
2251
+ * Mask Type
2252
+ * @see https://tailwindcss.com/docs/mask-type
2253
+ */
2254
+ "mask-type": [{
2255
+ "mask-type": ["alpha", "luminance"]
2256
+ }],
2257
+ /**
2258
+ * Mask Image
2259
+ * @see https://tailwindcss.com/docs/mask-image
2260
+ */
2261
+ "mask-image": [{
2262
+ mask: ["none", isArbitraryVariable, isArbitraryValue]
2263
+ }],
2264
+ // ---------------
2265
+ // --- Filters ---
2266
+ // ---------------
2267
+ /**
2268
+ * Filter
2269
+ * @see https://tailwindcss.com/docs/filter
2270
+ */
2271
+ filter: [{
2272
+ filter: [
2273
+ // Deprecated since Tailwind CSS v3.0.0
2274
+ "",
2275
+ "none",
2276
+ isArbitraryVariable,
2277
+ isArbitraryValue
2278
+ ]
2279
+ }],
2280
+ /**
2281
+ * Blur
2282
+ * @see https://tailwindcss.com/docs/blur
2283
+ */
2284
+ blur: [{
2285
+ blur: scaleBlur()
2286
+ }],
2287
+ /**
2288
+ * Brightness
2289
+ * @see https://tailwindcss.com/docs/brightness
2290
+ */
2291
+ brightness: [{
2292
+ brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
2293
+ }],
2294
+ /**
2295
+ * Contrast
2296
+ * @see https://tailwindcss.com/docs/contrast
2297
+ */
2298
+ contrast: [{
2299
+ contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
2300
+ }],
2301
+ /**
2302
+ * Drop Shadow
2303
+ * @see https://tailwindcss.com/docs/drop-shadow
2304
+ */
2305
+ "drop-shadow": [{
2306
+ "drop-shadow": [
2307
+ // Deprecated since Tailwind CSS v4.0.0
2308
+ "",
2309
+ "none",
2310
+ themeDropShadow,
2311
+ isArbitraryVariableShadow,
2312
+ isArbitraryShadow
2313
+ ]
2314
+ }],
2315
+ /**
2316
+ * Drop Shadow Color
2317
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2318
+ */
2319
+ "drop-shadow-color": [{
2320
+ "drop-shadow": scaleColor()
2321
+ }],
2322
+ /**
2323
+ * Grayscale
2324
+ * @see https://tailwindcss.com/docs/grayscale
2325
+ */
2326
+ grayscale: [{
2327
+ grayscale: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2328
+ }],
2329
+ /**
2330
+ * Hue Rotate
2331
+ * @see https://tailwindcss.com/docs/hue-rotate
2332
+ */
2333
+ "hue-rotate": [{
2334
+ "hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2335
+ }],
2336
+ /**
2337
+ * Invert
2338
+ * @see https://tailwindcss.com/docs/invert
2339
+ */
2340
+ invert: [{
2341
+ invert: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2342
+ }],
2343
+ /**
2344
+ * Saturate
2345
+ * @see https://tailwindcss.com/docs/saturate
2346
+ */
2347
+ saturate: [{
2348
+ saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
2349
+ }],
2350
+ /**
2351
+ * Sepia
2352
+ * @see https://tailwindcss.com/docs/sepia
2353
+ */
2354
+ sepia: [{
2355
+ sepia: ["", isNumber, isArbitraryVariable, isArbitraryValue]
2356
+ }],
2357
+ /**
2358
+ * Backdrop Filter
2359
+ * @see https://tailwindcss.com/docs/backdrop-filter
2360
+ */
2361
+ "backdrop-filter": [{
2362
+ "backdrop-filter": [
2363
+ // Deprecated since Tailwind CSS v3.0.0
2364
+ "",
2365
+ "none",
2366
+ isArbitraryVariable,
2367
+ isArbitraryValue
2368
+ ]
2369
+ }],
2370
+ /**
2371
+ * Backdrop Blur
2372
+ * @see https://tailwindcss.com/docs/backdrop-blur
2373
+ */
2374
+ "backdrop-blur": [{
2375
+ "backdrop-blur": scaleBlur()
2376
+ }],
2377
+ /**
2378
+ * Backdrop Brightness
2379
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2380
+ */
2381
+ "backdrop-brightness": [{
2382
+ "backdrop-brightness": [isNumber, isArbitraryVariable, isArbitraryValue]
2383
+ }],
2384
+ /**
2385
+ * Backdrop Contrast
2386
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2387
+ */
2388
+ "backdrop-contrast": [{
2389
+ "backdrop-contrast": [isNumber, isArbitraryVariable, isArbitraryValue]
2390
+ }],
2391
+ /**
2392
+ * Backdrop Grayscale
2393
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2394
+ */
2395
+ "backdrop-grayscale": [{
2396
+ "backdrop-grayscale": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2397
+ }],
2398
+ /**
2399
+ * Backdrop Hue Rotate
2400
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2401
+ */
2402
+ "backdrop-hue-rotate": [{
2403
+ "backdrop-hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
2404
+ }],
2405
+ /**
2406
+ * Backdrop Invert
2407
+ * @see https://tailwindcss.com/docs/backdrop-invert
2408
+ */
2409
+ "backdrop-invert": [{
2410
+ "backdrop-invert": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2411
+ }],
2412
+ /**
2413
+ * Backdrop Opacity
2414
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2415
+ */
2416
+ "backdrop-opacity": [{
2417
+ "backdrop-opacity": [isNumber, isArbitraryVariable, isArbitraryValue]
2418
+ }],
2419
+ /**
2420
+ * Backdrop Saturate
2421
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2422
+ */
2423
+ "backdrop-saturate": [{
2424
+ "backdrop-saturate": [isNumber, isArbitraryVariable, isArbitraryValue]
2425
+ }],
2426
+ /**
2427
+ * Backdrop Sepia
2428
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2429
+ */
2430
+ "backdrop-sepia": [{
2431
+ "backdrop-sepia": ["", isNumber, isArbitraryVariable, isArbitraryValue]
2432
+ }],
2433
+ // --------------
2434
+ // --- Tables ---
2435
+ // --------------
2436
+ /**
2437
+ * Border Collapse
2438
+ * @see https://tailwindcss.com/docs/border-collapse
2439
+ */
2440
+ "border-collapse": [{
2441
+ border: ["collapse", "separate"]
2442
+ }],
2443
+ /**
2444
+ * Border Spacing
2445
+ * @see https://tailwindcss.com/docs/border-spacing
2446
+ */
2447
+ "border-spacing": [{
2448
+ "border-spacing": scaleUnambiguousSpacing()
2449
+ }],
2450
+ /**
2451
+ * Border Spacing X
2452
+ * @see https://tailwindcss.com/docs/border-spacing
2453
+ */
2454
+ "border-spacing-x": [{
2455
+ "border-spacing-x": scaleUnambiguousSpacing()
2456
+ }],
2457
+ /**
2458
+ * Border Spacing Y
2459
+ * @see https://tailwindcss.com/docs/border-spacing
2460
+ */
2461
+ "border-spacing-y": [{
2462
+ "border-spacing-y": scaleUnambiguousSpacing()
2463
+ }],
2464
+ /**
2465
+ * Table Layout
2466
+ * @see https://tailwindcss.com/docs/table-layout
2467
+ */
2468
+ "table-layout": [{
2469
+ table: ["auto", "fixed"]
2470
+ }],
2471
+ /**
2472
+ * Caption Side
2473
+ * @see https://tailwindcss.com/docs/caption-side
2474
+ */
2475
+ caption: [{
2476
+ caption: ["top", "bottom"]
2477
+ }],
2478
+ // ---------------------------------
2479
+ // --- Transitions and Animation ---
2480
+ // ---------------------------------
2481
+ /**
2482
+ * Transition Property
2483
+ * @see https://tailwindcss.com/docs/transition-property
2484
+ */
2485
+ transition: [{
2486
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", isArbitraryVariable, isArbitraryValue]
2487
+ }],
2488
+ /**
2489
+ * Transition Behavior
2490
+ * @see https://tailwindcss.com/docs/transition-behavior
2491
+ */
2492
+ "transition-behavior": [{
2493
+ transition: ["normal", "discrete"]
2494
+ }],
2495
+ /**
2496
+ * Transition Duration
2497
+ * @see https://tailwindcss.com/docs/transition-duration
2498
+ */
2499
+ duration: [{
2500
+ duration: [isNumber, "initial", isArbitraryVariable, isArbitraryValue]
2501
+ }],
2502
+ /**
2503
+ * Transition Timing Function
2504
+ * @see https://tailwindcss.com/docs/transition-timing-function
2505
+ */
2506
+ ease: [{
2507
+ ease: ["linear", "initial", themeEase, isArbitraryVariable, isArbitraryValue]
2508
+ }],
2509
+ /**
2510
+ * Transition Delay
2511
+ * @see https://tailwindcss.com/docs/transition-delay
2512
+ */
2513
+ delay: [{
2514
+ delay: [isNumber, isArbitraryVariable, isArbitraryValue]
2515
+ }],
2516
+ /**
2517
+ * Animation
2518
+ * @see https://tailwindcss.com/docs/animation
2519
+ */
2520
+ animate: [{
2521
+ animate: ["none", themeAnimate, isArbitraryVariable, isArbitraryValue]
2522
+ }],
2523
+ // ------------------
2524
+ // --- Transforms ---
2525
+ // ------------------
2526
+ /**
2527
+ * Backface Visibility
2528
+ * @see https://tailwindcss.com/docs/backface-visibility
2529
+ */
2530
+ backface: [{
2531
+ backface: ["hidden", "visible"]
2532
+ }],
2533
+ /**
2534
+ * Perspective
2535
+ * @see https://tailwindcss.com/docs/perspective
2536
+ */
2537
+ perspective: [{
2538
+ perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
2539
+ }],
2540
+ /**
2541
+ * Perspective Origin
2542
+ * @see https://tailwindcss.com/docs/perspective-origin
2543
+ */
2544
+ "perspective-origin": [{
2545
+ "perspective-origin": scalePositionWithArbitrary()
2546
+ }],
2547
+ /**
2548
+ * Rotate
2549
+ * @see https://tailwindcss.com/docs/rotate
2550
+ */
2551
+ rotate: [{
2552
+ rotate: scaleRotate()
2553
+ }],
2554
+ /**
2555
+ * Rotate X
2556
+ * @see https://tailwindcss.com/docs/rotate
2557
+ */
2558
+ "rotate-x": [{
2559
+ "rotate-x": scaleRotate()
2560
+ }],
2561
+ /**
2562
+ * Rotate Y
2563
+ * @see https://tailwindcss.com/docs/rotate
2564
+ */
2565
+ "rotate-y": [{
2566
+ "rotate-y": scaleRotate()
2567
+ }],
2568
+ /**
2569
+ * Rotate Z
2570
+ * @see https://tailwindcss.com/docs/rotate
2571
+ */
2572
+ "rotate-z": [{
2573
+ "rotate-z": scaleRotate()
2574
+ }],
2575
+ /**
2576
+ * Scale
2577
+ * @see https://tailwindcss.com/docs/scale
2578
+ */
2579
+ scale: [{
2580
+ scale: scaleScale()
2581
+ }],
2582
+ /**
2583
+ * Scale X
2584
+ * @see https://tailwindcss.com/docs/scale
2585
+ */
2586
+ "scale-x": [{
2587
+ "scale-x": scaleScale()
2588
+ }],
2589
+ /**
2590
+ * Scale Y
2591
+ * @see https://tailwindcss.com/docs/scale
2592
+ */
2593
+ "scale-y": [{
2594
+ "scale-y": scaleScale()
2595
+ }],
2596
+ /**
2597
+ * Scale Z
2598
+ * @see https://tailwindcss.com/docs/scale
2599
+ */
2600
+ "scale-z": [{
2601
+ "scale-z": scaleScale()
2602
+ }],
2603
+ /**
2604
+ * Scale 3D
2605
+ * @see https://tailwindcss.com/docs/scale
2606
+ */
2607
+ "scale-3d": ["scale-3d"],
2608
+ /**
2609
+ * Skew
2610
+ * @see https://tailwindcss.com/docs/skew
2611
+ */
2612
+ skew: [{
2613
+ skew: scaleSkew()
2614
+ }],
2615
+ /**
2616
+ * Skew X
2617
+ * @see https://tailwindcss.com/docs/skew
2618
+ */
2619
+ "skew-x": [{
2620
+ "skew-x": scaleSkew()
2621
+ }],
2622
+ /**
2623
+ * Skew Y
2624
+ * @see https://tailwindcss.com/docs/skew
2625
+ */
2626
+ "skew-y": [{
2627
+ "skew-y": scaleSkew()
2628
+ }],
2629
+ /**
2630
+ * Transform
2631
+ * @see https://tailwindcss.com/docs/transform
2632
+ */
2633
+ transform: [{
2634
+ transform: [isArbitraryVariable, isArbitraryValue, "", "none", "gpu", "cpu"]
2635
+ }],
2636
+ /**
2637
+ * Transform Origin
2638
+ * @see https://tailwindcss.com/docs/transform-origin
2639
+ */
2640
+ "transform-origin": [{
2641
+ origin: scalePositionWithArbitrary()
2642
+ }],
2643
+ /**
2644
+ * Transform Style
2645
+ * @see https://tailwindcss.com/docs/transform-style
2646
+ */
2647
+ "transform-style": [{
2648
+ transform: ["3d", "flat"]
2649
+ }],
2650
+ /**
2651
+ * Translate
2652
+ * @see https://tailwindcss.com/docs/translate
2653
+ */
2654
+ translate: [{
2655
+ translate: scaleTranslate()
2656
+ }],
2657
+ /**
2658
+ * Translate X
2659
+ * @see https://tailwindcss.com/docs/translate
2660
+ */
2661
+ "translate-x": [{
2662
+ "translate-x": scaleTranslate()
2663
+ }],
2664
+ /**
2665
+ * Translate Y
2666
+ * @see https://tailwindcss.com/docs/translate
2667
+ */
2668
+ "translate-y": [{
2669
+ "translate-y": scaleTranslate()
2670
+ }],
2671
+ /**
2672
+ * Translate Z
2673
+ * @see https://tailwindcss.com/docs/translate
2674
+ */
2675
+ "translate-z": [{
2676
+ "translate-z": scaleTranslate()
2677
+ }],
2678
+ /**
2679
+ * Translate None
2680
+ * @see https://tailwindcss.com/docs/translate
2681
+ */
2682
+ "translate-none": ["translate-none"],
2683
+ // ---------------------
2684
+ // --- Interactivity ---
2685
+ // ---------------------
2686
+ /**
2687
+ * Accent Color
2688
+ * @see https://tailwindcss.com/docs/accent-color
2689
+ */
2690
+ accent: [{
2691
+ accent: scaleColor()
2692
+ }],
2693
+ /**
2694
+ * Appearance
2695
+ * @see https://tailwindcss.com/docs/appearance
2696
+ */
2697
+ appearance: [{
2698
+ appearance: ["none", "auto"]
2699
+ }],
2700
+ /**
2701
+ * Caret Color
2702
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2703
+ */
2704
+ "caret-color": [{
2705
+ caret: scaleColor()
2706
+ }],
2707
+ /**
2708
+ * Color Scheme
2709
+ * @see https://tailwindcss.com/docs/color-scheme
2710
+ */
2711
+ "color-scheme": [{
2712
+ scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
2713
+ }],
2714
+ /**
2715
+ * Cursor
2716
+ * @see https://tailwindcss.com/docs/cursor
2717
+ */
2718
+ cursor: [{
2719
+ 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", isArbitraryVariable, isArbitraryValue]
2720
+ }],
2721
+ /**
2722
+ * Field Sizing
2723
+ * @see https://tailwindcss.com/docs/field-sizing
2724
+ */
2725
+ "field-sizing": [{
2726
+ "field-sizing": ["fixed", "content"]
2727
+ }],
2728
+ /**
2729
+ * Pointer Events
2730
+ * @see https://tailwindcss.com/docs/pointer-events
2731
+ */
2732
+ "pointer-events": [{
2733
+ "pointer-events": ["auto", "none"]
2734
+ }],
2735
+ /**
2736
+ * Resize
2737
+ * @see https://tailwindcss.com/docs/resize
2738
+ */
2739
+ resize: [{
2740
+ resize: ["none", "", "y", "x"]
2741
+ }],
2742
+ /**
2743
+ * Scroll Behavior
2744
+ * @see https://tailwindcss.com/docs/scroll-behavior
2745
+ */
2746
+ "scroll-behavior": [{
2747
+ scroll: ["auto", "smooth"]
2748
+ }],
2749
+ /**
2750
+ * Scroll Margin
2751
+ * @see https://tailwindcss.com/docs/scroll-margin
2752
+ */
2753
+ "scroll-m": [{
2754
+ "scroll-m": scaleUnambiguousSpacing()
2755
+ }],
2756
+ /**
2757
+ * Scroll Margin X
2758
+ * @see https://tailwindcss.com/docs/scroll-margin
2759
+ */
2760
+ "scroll-mx": [{
2761
+ "scroll-mx": scaleUnambiguousSpacing()
2762
+ }],
2763
+ /**
2764
+ * Scroll Margin Y
2765
+ * @see https://tailwindcss.com/docs/scroll-margin
2766
+ */
2767
+ "scroll-my": [{
2768
+ "scroll-my": scaleUnambiguousSpacing()
2769
+ }],
2770
+ /**
2771
+ * Scroll Margin Start
2772
+ * @see https://tailwindcss.com/docs/scroll-margin
2773
+ */
2774
+ "scroll-ms": [{
2775
+ "scroll-ms": scaleUnambiguousSpacing()
2776
+ }],
2777
+ /**
2778
+ * Scroll Margin End
2779
+ * @see https://tailwindcss.com/docs/scroll-margin
2780
+ */
2781
+ "scroll-me": [{
2782
+ "scroll-me": scaleUnambiguousSpacing()
2783
+ }],
2784
+ /**
2785
+ * Scroll Margin Top
2786
+ * @see https://tailwindcss.com/docs/scroll-margin
2787
+ */
2788
+ "scroll-mt": [{
2789
+ "scroll-mt": scaleUnambiguousSpacing()
2790
+ }],
2791
+ /**
2792
+ * Scroll Margin Right
2793
+ * @see https://tailwindcss.com/docs/scroll-margin
2794
+ */
2795
+ "scroll-mr": [{
2796
+ "scroll-mr": scaleUnambiguousSpacing()
2797
+ }],
2798
+ /**
2799
+ * Scroll Margin Bottom
2800
+ * @see https://tailwindcss.com/docs/scroll-margin
2801
+ */
2802
+ "scroll-mb": [{
2803
+ "scroll-mb": scaleUnambiguousSpacing()
2804
+ }],
2805
+ /**
2806
+ * Scroll Margin Left
2807
+ * @see https://tailwindcss.com/docs/scroll-margin
2808
+ */
2809
+ "scroll-ml": [{
2810
+ "scroll-ml": scaleUnambiguousSpacing()
2811
+ }],
2812
+ /**
2813
+ * Scroll Padding
2814
+ * @see https://tailwindcss.com/docs/scroll-padding
2815
+ */
2816
+ "scroll-p": [{
2817
+ "scroll-p": scaleUnambiguousSpacing()
2818
+ }],
2819
+ /**
2820
+ * Scroll Padding X
2821
+ * @see https://tailwindcss.com/docs/scroll-padding
2822
+ */
2823
+ "scroll-px": [{
2824
+ "scroll-px": scaleUnambiguousSpacing()
2825
+ }],
2826
+ /**
2827
+ * Scroll Padding Y
2828
+ * @see https://tailwindcss.com/docs/scroll-padding
2829
+ */
2830
+ "scroll-py": [{
2831
+ "scroll-py": scaleUnambiguousSpacing()
2832
+ }],
2833
+ /**
2834
+ * Scroll Padding Start
2835
+ * @see https://tailwindcss.com/docs/scroll-padding
2836
+ */
2837
+ "scroll-ps": [{
2838
+ "scroll-ps": scaleUnambiguousSpacing()
2839
+ }],
2840
+ /**
2841
+ * Scroll Padding End
2842
+ * @see https://tailwindcss.com/docs/scroll-padding
2843
+ */
2844
+ "scroll-pe": [{
2845
+ "scroll-pe": scaleUnambiguousSpacing()
2846
+ }],
2847
+ /**
2848
+ * Scroll Padding Top
2849
+ * @see https://tailwindcss.com/docs/scroll-padding
2850
+ */
2851
+ "scroll-pt": [{
2852
+ "scroll-pt": scaleUnambiguousSpacing()
2853
+ }],
2854
+ /**
2855
+ * Scroll Padding Right
2856
+ * @see https://tailwindcss.com/docs/scroll-padding
2857
+ */
2858
+ "scroll-pr": [{
2859
+ "scroll-pr": scaleUnambiguousSpacing()
2860
+ }],
2861
+ /**
2862
+ * Scroll Padding Bottom
2863
+ * @see https://tailwindcss.com/docs/scroll-padding
2864
+ */
2865
+ "scroll-pb": [{
2866
+ "scroll-pb": scaleUnambiguousSpacing()
2867
+ }],
2868
+ /**
2869
+ * Scroll Padding Left
2870
+ * @see https://tailwindcss.com/docs/scroll-padding
2871
+ */
2872
+ "scroll-pl": [{
2873
+ "scroll-pl": scaleUnambiguousSpacing()
2874
+ }],
2875
+ /**
2876
+ * Scroll Snap Align
2877
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2878
+ */
2879
+ "snap-align": [{
2880
+ snap: ["start", "end", "center", "align-none"]
2881
+ }],
2882
+ /**
2883
+ * Scroll Snap Stop
2884
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2885
+ */
2886
+ "snap-stop": [{
2887
+ snap: ["normal", "always"]
2888
+ }],
2889
+ /**
2890
+ * Scroll Snap Type
2891
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2892
+ */
2893
+ "snap-type": [{
2894
+ snap: ["none", "x", "y", "both"]
2895
+ }],
2896
+ /**
2897
+ * Scroll Snap Type Strictness
2898
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2899
+ */
2900
+ "snap-strictness": [{
2901
+ snap: ["mandatory", "proximity"]
2902
+ }],
2903
+ /**
2904
+ * Touch Action
2905
+ * @see https://tailwindcss.com/docs/touch-action
2906
+ */
2907
+ touch: [{
2908
+ touch: ["auto", "none", "manipulation"]
2909
+ }],
2910
+ /**
2911
+ * Touch Action X
2912
+ * @see https://tailwindcss.com/docs/touch-action
2913
+ */
2914
+ "touch-x": [{
2915
+ "touch-pan": ["x", "left", "right"]
2916
+ }],
2917
+ /**
2918
+ * Touch Action Y
2919
+ * @see https://tailwindcss.com/docs/touch-action
2920
+ */
2921
+ "touch-y": [{
2922
+ "touch-pan": ["y", "up", "down"]
2923
+ }],
2924
+ /**
2925
+ * Touch Action Pinch Zoom
2926
+ * @see https://tailwindcss.com/docs/touch-action
2927
+ */
2928
+ "touch-pz": ["touch-pinch-zoom"],
2929
+ /**
2930
+ * User Select
2931
+ * @see https://tailwindcss.com/docs/user-select
2932
+ */
2933
+ select: [{
2934
+ select: ["none", "text", "all", "auto"]
2935
+ }],
2936
+ /**
2937
+ * Will Change
2938
+ * @see https://tailwindcss.com/docs/will-change
2939
+ */
2940
+ "will-change": [{
2941
+ "will-change": ["auto", "scroll", "contents", "transform", isArbitraryVariable, isArbitraryValue]
2942
+ }],
2943
+ // -----------
2944
+ // --- SVG ---
2945
+ // -----------
2946
+ /**
2947
+ * Fill
2948
+ * @see https://tailwindcss.com/docs/fill
2949
+ */
2950
+ fill: [{
2951
+ fill: ["none", ...scaleColor()]
2952
+ }],
2953
+ /**
2954
+ * Stroke Width
2955
+ * @see https://tailwindcss.com/docs/stroke-width
2956
+ */
2957
+ "stroke-w": [{
2958
+ stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
2959
+ }],
2960
+ /**
2961
+ * Stroke
2962
+ * @see https://tailwindcss.com/docs/stroke
2963
+ */
2964
+ stroke: [{
2965
+ stroke: ["none", ...scaleColor()]
2966
+ }],
2967
+ // ---------------------
2968
+ // --- Accessibility ---
2969
+ // ---------------------
2970
+ /**
2971
+ * Forced Color Adjust
2972
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2973
+ */
2974
+ "forced-color-adjust": [{
2975
+ "forced-color-adjust": ["auto", "none"]
2976
+ }]
2977
+ },
2978
+ conflictingClassGroups: {
2979
+ overflow: ["overflow-x", "overflow-y"],
2980
+ overscroll: ["overscroll-x", "overscroll-y"],
2981
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
2982
+ "inset-x": ["right", "left"],
2983
+ "inset-y": ["top", "bottom"],
2984
+ flex: ["basis", "grow", "shrink"],
2985
+ gap: ["gap-x", "gap-y"],
2986
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
2987
+ px: ["pr", "pl"],
2988
+ py: ["pt", "pb"],
2989
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
2990
+ mx: ["mr", "ml"],
2991
+ my: ["mt", "mb"],
2992
+ size: ["w", "h"],
2993
+ "font-size": ["leading"],
2994
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2995
+ "fvn-ordinal": ["fvn-normal"],
2996
+ "fvn-slashed-zero": ["fvn-normal"],
2997
+ "fvn-figure": ["fvn-normal"],
2998
+ "fvn-spacing": ["fvn-normal"],
2999
+ "fvn-fraction": ["fvn-normal"],
3000
+ "line-clamp": ["display", "overflow"],
3001
+ 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"],
3002
+ "rounded-s": ["rounded-ss", "rounded-es"],
3003
+ "rounded-e": ["rounded-se", "rounded-ee"],
3004
+ "rounded-t": ["rounded-tl", "rounded-tr"],
3005
+ "rounded-r": ["rounded-tr", "rounded-br"],
3006
+ "rounded-b": ["rounded-br", "rounded-bl"],
3007
+ "rounded-l": ["rounded-tl", "rounded-bl"],
3008
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
3009
+ "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"],
3010
+ "border-w-x": ["border-w-r", "border-w-l"],
3011
+ "border-w-y": ["border-w-t", "border-w-b"],
3012
+ "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"],
3013
+ "border-color-x": ["border-color-r", "border-color-l"],
3014
+ "border-color-y": ["border-color-t", "border-color-b"],
3015
+ translate: ["translate-x", "translate-y", "translate-none"],
3016
+ "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
3017
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
3018
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
3019
+ "scroll-my": ["scroll-mt", "scroll-mb"],
3020
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
3021
+ "scroll-px": ["scroll-pr", "scroll-pl"],
3022
+ "scroll-py": ["scroll-pt", "scroll-pb"],
3023
+ touch: ["touch-x", "touch-y", "touch-pz"],
3024
+ "touch-x": ["touch"],
3025
+ "touch-y": ["touch"],
3026
+ "touch-pz": ["touch"]
3027
+ },
3028
+ conflictingClassGroupModifiers: {
3029
+ "font-size": ["leading"]
3030
+ },
3031
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
3032
+ };
3033
+ };
3034
+ var mergeConfigs = (baseConfig, {
3035
+ cacheSize,
3036
+ prefix,
3037
+ experimentalParseClassName,
3038
+ extend = {},
3039
+ override = {}
3040
+ }) => {
3041
+ overrideProperty(baseConfig, "cacheSize", cacheSize);
3042
+ overrideProperty(baseConfig, "prefix", prefix);
3043
+ overrideProperty(baseConfig, "experimentalParseClassName", experimentalParseClassName);
3044
+ overrideConfigProperties(baseConfig.theme, override.theme);
3045
+ overrideConfigProperties(baseConfig.classGroups, override.classGroups);
3046
+ overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);
3047
+ overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);
3048
+ overrideProperty(baseConfig, "orderSensitiveModifiers", override.orderSensitiveModifiers);
3049
+ mergeConfigProperties(baseConfig.theme, extend.theme);
3050
+ mergeConfigProperties(baseConfig.classGroups, extend.classGroups);
3051
+ mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);
3052
+ mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);
3053
+ mergeArrayProperties(baseConfig, extend, "orderSensitiveModifiers");
3054
+ return baseConfig;
3055
+ };
3056
+ var overrideProperty = (baseObject, overrideKey, overrideValue) => {
3057
+ if (overrideValue !== void 0) {
3058
+ baseObject[overrideKey] = overrideValue;
3059
+ }
3060
+ };
3061
+ var overrideConfigProperties = (baseObject, overrideObject) => {
3062
+ if (overrideObject) {
3063
+ for (const key in overrideObject) {
3064
+ overrideProperty(baseObject, key, overrideObject[key]);
3065
+ }
3066
+ }
3067
+ };
3068
+ var mergeConfigProperties = (baseObject, mergeObject) => {
3069
+ if (mergeObject) {
3070
+ for (const key in mergeObject) {
3071
+ mergeArrayProperties(baseObject, mergeObject, key);
3072
+ }
3073
+ }
3074
+ };
3075
+ var mergeArrayProperties = (baseObject, mergeObject, key) => {
3076
+ const mergeValue = mergeObject[key];
3077
+ if (mergeValue !== void 0) {
3078
+ baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;
3079
+ }
3080
+ };
3081
+ var extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === "function" ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
3082
+ var twMerge = createTailwindMerge(getDefaultConfig);
3083
+
3084
+ export {
3085
+ twJoin,
3086
+ createTailwindMerge,
3087
+ fromTheme,
3088
+ validators,
3089
+ getDefaultConfig,
3090
+ mergeConfigs,
3091
+ extendTailwindMerge,
3092
+ twMerge
3093
+ };
3094
+ //# sourceMappingURL=chunk-4IXOHRSL.js.map
dev-ui/node_modules/.vite/deps/chunk-4IXOHRSL.js.map ADDED
The diff for this file is too large to render. See raw diff
 
dev-ui/node_modules/.vite/deps/chunk-7RQDXF5S.js ADDED
File without changes
dev-ui/node_modules/.vite/deps/chunk-7RQDXF5S.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
dev-ui/node_modules/.vite/deps/chunk-ICXW7654.js ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // node_modules/esm-env/true.js
2
+ var true_default = true;
3
+
4
+ // node_modules/svelte/src/internal/client/warnings.js
5
+ var bold = "font-weight: bold";
6
+ var normal = "font-weight: normal";
7
+ function assignment_value_stale(property, location) {
8
+ if (true_default) {
9
+ console.warn(`%c[svelte] assignment_value_stale
10
+ %cAssignment to \`${property}\` property (${location}) will evaluate to the right-hand side, not the value of \`${property}\` following the assignment. This may result in unexpected behaviour.
11
+ https://svelte.dev/e/assignment_value_stale`, bold, normal);
12
+ } else {
13
+ console.warn(`https://svelte.dev/e/assignment_value_stale`);
14
+ }
15
+ }
16
+ function await_waterfall(name, location) {
17
+ if (true_default) {
18
+ console.warn(`%c[svelte] await_waterfall
19
+ %cAn async derived, \`${name}\` (${location}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app
20
+ https://svelte.dev/e/await_waterfall`, bold, normal);
21
+ } else {
22
+ console.warn(`https://svelte.dev/e/await_waterfall`);
23
+ }
24
+ }
25
+ function binding_property_non_reactive(binding, location) {
26
+ if (true_default) {
27
+ console.warn(
28
+ `%c[svelte] binding_property_non_reactive
29
+ %c${location ? `\`${binding}\` (${location}) is binding to a non-reactive property` : `\`${binding}\` is binding to a non-reactive property`}
30
+ https://svelte.dev/e/binding_property_non_reactive`,
31
+ bold,
32
+ normal
33
+ );
34
+ } else {
35
+ console.warn(`https://svelte.dev/e/binding_property_non_reactive`);
36
+ }
37
+ }
38
+ function console_log_state(method) {
39
+ if (true_default) {
40
+ console.warn(`%c[svelte] console_log_state
41
+ %cYour \`console.${method}\` contained \`$state\` proxies. Consider using \`$inspect(...)\` or \`$state.snapshot(...)\` instead
42
+ https://svelte.dev/e/console_log_state`, bold, normal);
43
+ } else {
44
+ console.warn(`https://svelte.dev/e/console_log_state`);
45
+ }
46
+ }
47
+ function event_handler_invalid(handler, suggestion) {
48
+ if (true_default) {
49
+ console.warn(`%c[svelte] event_handler_invalid
50
+ %c${handler} should be a function. Did you mean to ${suggestion}?
51
+ https://svelte.dev/e/event_handler_invalid`, bold, normal);
52
+ } else {
53
+ console.warn(`https://svelte.dev/e/event_handler_invalid`);
54
+ }
55
+ }
56
+ function hydration_attribute_changed(attribute, html, value) {
57
+ if (true_default) {
58
+ console.warn(`%c[svelte] hydration_attribute_changed
59
+ %cThe \`${attribute}\` attribute on \`${html}\` changed its value between server and client renders. The client value, \`${value}\`, will be ignored in favour of the server value
60
+ https://svelte.dev/e/hydration_attribute_changed`, bold, normal);
61
+ } else {
62
+ console.warn(`https://svelte.dev/e/hydration_attribute_changed`);
63
+ }
64
+ }
65
+ function hydration_html_changed(location) {
66
+ if (true_default) {
67
+ console.warn(
68
+ `%c[svelte] hydration_html_changed
69
+ %c${location ? `The value of an \`{@html ...}\` block ${location} changed between server and client renders. The client value will be ignored in favour of the server value` : "The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value"}
70
+ https://svelte.dev/e/hydration_html_changed`,
71
+ bold,
72
+ normal
73
+ );
74
+ } else {
75
+ console.warn(`https://svelte.dev/e/hydration_html_changed`);
76
+ }
77
+ }
78
+ function hydration_mismatch(location) {
79
+ if (true_default) {
80
+ console.warn(
81
+ `%c[svelte] hydration_mismatch
82
+ %c${location ? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}` : "Hydration failed because the initial UI does not match what was rendered on the server"}
83
+ https://svelte.dev/e/hydration_mismatch`,
84
+ bold,
85
+ normal
86
+ );
87
+ } else {
88
+ console.warn(`https://svelte.dev/e/hydration_mismatch`);
89
+ }
90
+ }
91
+ function invalid_raw_snippet_render() {
92
+ if (true_default) {
93
+ console.warn(`%c[svelte] invalid_raw_snippet_render
94
+ %cThe \`render\` function passed to \`createRawSnippet\` should return HTML for a single element
95
+ https://svelte.dev/e/invalid_raw_snippet_render`, bold, normal);
96
+ } else {
97
+ console.warn(`https://svelte.dev/e/invalid_raw_snippet_render`);
98
+ }
99
+ }
100
+ function legacy_recursive_reactive_block(filename) {
101
+ if (true_default) {
102
+ console.warn(`%c[svelte] legacy_recursive_reactive_block
103
+ %cDetected a migrated \`$:\` reactive block in \`${filename}\` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an \`$effect\`.
104
+ https://svelte.dev/e/legacy_recursive_reactive_block`, bold, normal);
105
+ } else {
106
+ console.warn(`https://svelte.dev/e/legacy_recursive_reactive_block`);
107
+ }
108
+ }
109
+ function lifecycle_double_unmount() {
110
+ if (true_default) {
111
+ console.warn(`%c[svelte] lifecycle_double_unmount
112
+ %cTried to unmount a component that was not mounted
113
+ https://svelte.dev/e/lifecycle_double_unmount`, bold, normal);
114
+ } else {
115
+ console.warn(`https://svelte.dev/e/lifecycle_double_unmount`);
116
+ }
117
+ }
118
+ function ownership_invalid_binding(parent, prop, child, owner) {
119
+ if (true_default) {
120
+ console.warn(`%c[svelte] ownership_invalid_binding
121
+ %c${parent} passed property \`${prop}\` to ${child} with \`bind:\`, but its parent component ${owner} did not declare \`${prop}\` as a binding. Consider creating a binding between ${owner} and ${parent} (e.g. \`bind:${prop}={...}\` instead of \`${prop}={...}\`)
122
+ https://svelte.dev/e/ownership_invalid_binding`, bold, normal);
123
+ } else {
124
+ console.warn(`https://svelte.dev/e/ownership_invalid_binding`);
125
+ }
126
+ }
127
+ function ownership_invalid_mutation(name, location, prop, parent) {
128
+ if (true_default) {
129
+ console.warn(`%c[svelte] ownership_invalid_mutation
130
+ %cMutating unbound props (\`${name}\`, at ${location}) is strongly discouraged. Consider using \`bind:${prop}={...}\` in ${parent} (or using a callback) instead
131
+ https://svelte.dev/e/ownership_invalid_mutation`, bold, normal);
132
+ } else {
133
+ console.warn(`https://svelte.dev/e/ownership_invalid_mutation`);
134
+ }
135
+ }
136
+ function select_multiple_invalid_value() {
137
+ if (true_default) {
138
+ console.warn(`%c[svelte] select_multiple_invalid_value
139
+ %cThe \`value\` property of a \`<select multiple>\` element should be an array, but it received a non-array value. The selection will be kept as is.
140
+ https://svelte.dev/e/select_multiple_invalid_value`, bold, normal);
141
+ } else {
142
+ console.warn(`https://svelte.dev/e/select_multiple_invalid_value`);
143
+ }
144
+ }
145
+ function state_proxy_equality_mismatch(operator) {
146
+ if (true_default) {
147
+ console.warn(`%c[svelte] state_proxy_equality_mismatch
148
+ %cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${operator}\` will produce unexpected results
149
+ https://svelte.dev/e/state_proxy_equality_mismatch`, bold, normal);
150
+ } else {
151
+ console.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`);
152
+ }
153
+ }
154
+ function state_proxy_unmount() {
155
+ if (true_default) {
156
+ console.warn(`%c[svelte] state_proxy_unmount
157
+ %cTried to unmount a state proxy, rather than a component
158
+ https://svelte.dev/e/state_proxy_unmount`, bold, normal);
159
+ } else {
160
+ console.warn(`https://svelte.dev/e/state_proxy_unmount`);
161
+ }
162
+ }
163
+ function svelte_boundary_reset_noop() {
164
+ if (true_default) {
165
+ console.warn(`%c[svelte] svelte_boundary_reset_noop
166
+ %cA \`<svelte:boundary>\` \`reset\` function only resets the boundary the first time it is called
167
+ https://svelte.dev/e/svelte_boundary_reset_noop`, bold, normal);
168
+ } else {
169
+ console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`);
170
+ }
171
+ }
172
+ function transition_slide_display(value) {
173
+ if (true_default) {
174
+ console.warn(`%c[svelte] transition_slide_display
175
+ %cThe \`slide\` transition does not work correctly for elements with \`display: ${value}\`
176
+ https://svelte.dev/e/transition_slide_display`, bold, normal);
177
+ } else {
178
+ console.warn(`https://svelte.dev/e/transition_slide_display`);
179
+ }
180
+ }
181
+
182
+ export {
183
+ true_default,
184
+ assignment_value_stale,
185
+ await_waterfall,
186
+ binding_property_non_reactive,
187
+ console_log_state,
188
+ event_handler_invalid,
189
+ hydration_attribute_changed,
190
+ hydration_html_changed,
191
+ hydration_mismatch,
192
+ invalid_raw_snippet_render,
193
+ legacy_recursive_reactive_block,
194
+ lifecycle_double_unmount,
195
+ ownership_invalid_binding,
196
+ ownership_invalid_mutation,
197
+ select_multiple_invalid_value,
198
+ state_proxy_equality_mismatch,
199
+ state_proxy_unmount,
200
+ svelte_boundary_reset_noop,
201
+ transition_slide_display
202
+ };
203
+ //# sourceMappingURL=chunk-ICXW7654.js.map
dev-ui/node_modules/.vite/deps/chunk-ICXW7654.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../esm-env/true.js", "../../svelte/src/internal/client/warnings.js"],
4
+ "sourcesContent": ["export default true;\n", "/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nvar bold = 'font-weight: bold';\nvar normal = 'font-weight: normal';\n\n/**\n * Assignment to `%property%` property (%location%) will evaluate to the right-hand side, not the value of `%property%` following the assignment. This may result in unexpected behaviour.\n * @param {string} property\n * @param {string} location\n */\nexport function assignment_value_stale(property, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] assignment_value_stale\\n%cAssignment to \\`${property}\\` property (${location}) will evaluate to the right-hand side, not the value of \\`${property}\\` following the assignment. This may result in unexpected behaviour.\\nhttps://svelte.dev/e/assignment_value_stale`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/assignment_value_stale`);\n\t}\n}\n\n/**\n * Detected reactivity loss when reading `%name%`. This happens when state is read in an async function after an earlier `await`\n * @param {string} name\n */\nexport function await_reactivity_loss(name) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] await_reactivity_loss\\n%cDetected reactivity loss when reading \\`${name}\\`. This happens when state is read in an async function after an earlier \\`await\\`\\nhttps://svelte.dev/e/await_reactivity_loss`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/await_reactivity_loss`);\n\t}\n}\n\n/**\n * An async derived, `%name%` (%location%) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\n * @param {string} name\n * @param {string} location\n */\nexport function await_waterfall(name, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] await_waterfall\\n%cAn async derived, \\`${name}\\` (${location}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\\nhttps://svelte.dev/e/await_waterfall`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/await_waterfall`);\n\t}\n}\n\n/**\n * `%binding%` (%location%) is binding to a non-reactive property\n * @param {string} binding\n * @param {string | undefined | null} [location]\n */\nexport function binding_property_non_reactive(binding, location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] binding_property_non_reactive\\n%c${location\n\t\t\t\t? `\\`${binding}\\` (${location}) is binding to a non-reactive property`\n\t\t\t\t: `\\`${binding}\\` is binding to a non-reactive property`}\\nhttps://svelte.dev/e/binding_property_non_reactive`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/binding_property_non_reactive`);\n\t}\n}\n\n/**\n * Your `console.%method%` contained `$state` proxies. Consider using `$inspect(...)` or `$state.snapshot(...)` instead\n * @param {string} method\n */\nexport function console_log_state(method) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] console_log_state\\n%cYour \\`console.${method}\\` contained \\`$state\\` proxies. Consider using \\`$inspect(...)\\` or \\`$state.snapshot(...)\\` instead\\nhttps://svelte.dev/e/console_log_state`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/console_log_state`);\n\t}\n}\n\n/**\n * %handler% should be a function. Did you mean to %suggestion%?\n * @param {string} handler\n * @param {string} suggestion\n */\nexport function event_handler_invalid(handler, suggestion) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] event_handler_invalid\\n%c${handler} should be a function. Did you mean to ${suggestion}?\\nhttps://svelte.dev/e/event_handler_invalid`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/event_handler_invalid`);\n\t}\n}\n\n/**\n * The `%attribute%` attribute on `%html%` changed its value between server and client renders. The client value, `%value%`, will be ignored in favour of the server value\n * @param {string} attribute\n * @param {string} html\n * @param {string} value\n */\nexport function hydration_attribute_changed(attribute, html, value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_attribute_changed\\n%cThe \\`${attribute}\\` attribute on \\`${html}\\` changed its value between server and client renders. The client value, \\`${value}\\`, will be ignored in favour of the server value\\nhttps://svelte.dev/e/hydration_attribute_changed`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_attribute_changed`);\n\t}\n}\n\n/**\n * The value of an `{@html ...}` block %location% changed between server and client renders. The client value will be ignored in favour of the server value\n * @param {string | undefined | null} [location]\n */\nexport function hydration_html_changed(location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] hydration_html_changed\\n%c${location\n\t\t\t\t? `The value of an \\`{@html ...}\\` block ${location} changed between server and client renders. The client value will be ignored in favour of the server value`\n\t\t\t\t: 'The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value'}\\nhttps://svelte.dev/e/hydration_html_changed`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_html_changed`);\n\t}\n}\n\n/**\n * Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%\n * @param {string | undefined | null} [location]\n */\nexport function hydration_mismatch(location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] hydration_mismatch\\n%c${location\n\t\t\t\t? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}`\n\t\t\t\t: 'Hydration failed because the initial UI does not match what was rendered on the server'}\\nhttps://svelte.dev/e/hydration_mismatch`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_mismatch`);\n\t}\n}\n\n/**\n * The `render` function passed to `createRawSnippet` should return HTML for a single element\n */\nexport function invalid_raw_snippet_render() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] invalid_raw_snippet_render\\n%cThe \\`render\\` function passed to \\`createRawSnippet\\` should return HTML for a single element\\nhttps://svelte.dev/e/invalid_raw_snippet_render`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/invalid_raw_snippet_render`);\n\t}\n}\n\n/**\n * Detected a migrated `$:` reactive block in `%filename%` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an `$effect`.\n * @param {string} filename\n */\nexport function legacy_recursive_reactive_block(filename) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] legacy_recursive_reactive_block\\n%cDetected a migrated \\`$:\\` reactive block in \\`${filename}\\` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an \\`$effect\\`.\\nhttps://svelte.dev/e/legacy_recursive_reactive_block`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/legacy_recursive_reactive_block`);\n\t}\n}\n\n/**\n * Tried to unmount a component that was not mounted\n */\nexport function lifecycle_double_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] lifecycle_double_unmount\\n%cTried to unmount a component that was not mounted\\nhttps://svelte.dev/e/lifecycle_double_unmount`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/lifecycle_double_unmount`);\n\t}\n}\n\n/**\n * %parent% passed property `%prop%` to %child% with `bind:`, but its parent component %owner% did not declare `%prop%` as a binding. Consider creating a binding between %owner% and %parent% (e.g. `bind:%prop%={...}` instead of `%prop%={...}`)\n * @param {string} parent\n * @param {string} prop\n * @param {string} child\n * @param {string} owner\n */\nexport function ownership_invalid_binding(parent, prop, child, owner) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_binding\\n%c${parent} passed property \\`${prop}\\` to ${child} with \\`bind:\\`, but its parent component ${owner} did not declare \\`${prop}\\` as a binding. Consider creating a binding between ${owner} and ${parent} (e.g. \\`bind:${prop}={...}\\` instead of \\`${prop}={...}\\`)\\nhttps://svelte.dev/e/ownership_invalid_binding`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_binding`);\n\t}\n}\n\n/**\n * Mutating unbound props (`%name%`, at %location%) is strongly discouraged. Consider using `bind:%prop%={...}` in %parent% (or using a callback) instead\n * @param {string} name\n * @param {string} location\n * @param {string} prop\n * @param {string} parent\n */\nexport function ownership_invalid_mutation(name, location, prop, parent) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_mutation\\n%cMutating unbound props (\\`${name}\\`, at ${location}) is strongly discouraged. Consider using \\`bind:${prop}={...}\\` in ${parent} (or using a callback) instead\\nhttps://svelte.dev/e/ownership_invalid_mutation`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_mutation`);\n\t}\n}\n\n/**\n * The `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.\n */\nexport function select_multiple_invalid_value() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] select_multiple_invalid_value\\n%cThe \\`value\\` property of a \\`<select multiple>\\` element should be an array, but it received a non-array value. The selection will be kept as is.\\nhttps://svelte.dev/e/select_multiple_invalid_value`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/select_multiple_invalid_value`);\n\t}\n}\n\n/**\n * Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results\n * @param {string} operator\n */\nexport function state_proxy_equality_mismatch(operator) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_equality_mismatch\\n%cReactive \\`$state(...)\\` proxies and the values they proxy have different identities. Because of this, comparisons with \\`${operator}\\` will produce unexpected results\\nhttps://svelte.dev/e/state_proxy_equality_mismatch`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`);\n\t}\n}\n\n/**\n * Tried to unmount a state proxy, rather than a component\n */\nexport function state_proxy_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_unmount\\n%cTried to unmount a state proxy, rather than a component\\nhttps://svelte.dev/e/state_proxy_unmount`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_proxy_unmount`);\n\t}\n}\n\n/**\n * A `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\n */\nexport function svelte_boundary_reset_noop() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] svelte_boundary_reset_noop\\n%cA \\`<svelte:boundary>\\` \\`reset\\` function only resets the boundary the first time it is called\\nhttps://svelte.dev/e/svelte_boundary_reset_noop`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`);\n\t}\n}\n\n/**\n * The `slide` transition does not work correctly for elements with `display: %value%`\n * @param {string} value\n */\nexport function transition_slide_display(value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] transition_slide_display\\n%cThe \\`slide\\` transition does not work correctly for elements with \\`display: ${value}\\`\\nhttps://svelte.dev/e/transition_slide_display`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/transition_slide_display`);\n\t}\n}"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
dev-ui/node_modules/.vite/deps/chunk-JOCHEXZL.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ // node_modules/svelte/src/version.js
2
+ var PUBLIC_VERSION = "5";
3
+
4
+ // node_modules/svelte/src/internal/disclose-version.js
5
+ if (typeof window !== "undefined") {
6
+ ((window.__svelte ??= {}).v ??= /* @__PURE__ */ new Set()).add(PUBLIC_VERSION);
7
+ }
8
+ //# sourceMappingURL=chunk-JOCHEXZL.js.map
dev-ui/node_modules/.vite/deps/chunk-JOCHEXZL.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../svelte/src/version.js", "../../svelte/src/internal/disclose-version.js"],
4
+ "sourcesContent": ["// generated during release, do not modify\n\n/**\n * The current version, as set in package.json.\n * @type {string}\n */\nexport const VERSION = '5.43.12';\nexport const PUBLIC_VERSION = '5';\n", "import { PUBLIC_VERSION } from '../version.js';\n\nif (typeof window !== 'undefined') {\n\t// @ts-expect-error\n\t((window.__svelte ??= {}).v ??= new Set()).add(PUBLIC_VERSION);\n}\n"],
5
+ "mappings": ";AAOO,IAAM,iBAAiB;;;ACL9B,IAAI,OAAO,WAAW,aAAa;AAElC,IAAE,OAAO,aAAa,CAAC,GAAG,MAAM,oBAAI,IAAI,GAAG,IAAI,cAAc;AAC9D;",
6
+ "names": []
7
+ }
dev-ui/node_modules/.vite/deps/chunk-ME63RQ5D.js ADDED
@@ -0,0 +1,686 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import {
2
+ ReactiveValue
3
+ } from "./chunk-P6H3IEOT.js";
4
+ import {
5
+ active_reaction,
6
+ get,
7
+ increment,
8
+ label,
9
+ on,
10
+ set,
11
+ set_active_reaction,
12
+ source,
13
+ state,
14
+ tag,
15
+ update_version,
16
+ user_derived
17
+ } from "./chunk-W7EPGGG4.js";
18
+ import {
19
+ true_default
20
+ } from "./chunk-ICXW7654.js";
21
+
22
+ // node_modules/svelte/src/reactivity/date.js
23
+ var inited = false;
24
+ var SvelteDate = class _SvelteDate extends Date {
25
+ #time = state(super.getTime());
26
+ /** @type {Map<keyof Date, Source<unknown>>} */
27
+ #deriveds = /* @__PURE__ */ new Map();
28
+ #reaction = active_reaction;
29
+ /** @param {any[]} params */
30
+ constructor(...params) {
31
+ super(...params);
32
+ if (true_default) {
33
+ tag(this.#time, "SvelteDate.#time");
34
+ }
35
+ if (!inited) this.#init();
36
+ }
37
+ #init() {
38
+ inited = true;
39
+ var proto = _SvelteDate.prototype;
40
+ var date_proto = Date.prototype;
41
+ var methods = (
42
+ /** @type {Array<keyof Date & string>} */
43
+ Object.getOwnPropertyNames(date_proto)
44
+ );
45
+ for (const method of methods) {
46
+ if (method.startsWith("get") || method.startsWith("to") || method === "valueOf") {
47
+ proto[method] = function(...args) {
48
+ if (args.length > 0) {
49
+ get(this.#time);
50
+ return date_proto[method].apply(this, args);
51
+ }
52
+ var d = this.#deriveds.get(method);
53
+ if (d === void 0) {
54
+ const reaction = active_reaction;
55
+ set_active_reaction(this.#reaction);
56
+ d = user_derived(() => {
57
+ get(this.#time);
58
+ return date_proto[method].apply(this, args);
59
+ });
60
+ this.#deriveds.set(method, d);
61
+ set_active_reaction(reaction);
62
+ }
63
+ return get(d);
64
+ };
65
+ }
66
+ if (method.startsWith("set")) {
67
+ proto[method] = function(...args) {
68
+ var result = date_proto[method].apply(this, args);
69
+ set(this.#time, date_proto.getTime.call(this));
70
+ return result;
71
+ };
72
+ }
73
+ }
74
+ }
75
+ };
76
+
77
+ // node_modules/svelte/src/reactivity/set.js
78
+ var read_methods = ["forEach", "isDisjointFrom", "isSubsetOf", "isSupersetOf"];
79
+ var set_like_methods = ["difference", "intersection", "symmetricDifference", "union"];
80
+ var inited2 = false;
81
+ var SvelteSet = class _SvelteSet extends Set {
82
+ /** @type {Map<T, Source<boolean>>} */
83
+ #sources = /* @__PURE__ */ new Map();
84
+ #version = state(0);
85
+ #size = state(0);
86
+ #update_version = update_version || -1;
87
+ /**
88
+ * @param {Iterable<T> | null | undefined} [value]
89
+ */
90
+ constructor(value) {
91
+ super();
92
+ if (true_default) {
93
+ value = new Set(value);
94
+ tag(this.#version, "SvelteSet version");
95
+ tag(this.#size, "SvelteSet.size");
96
+ }
97
+ if (value) {
98
+ for (var element of value) {
99
+ super.add(element);
100
+ }
101
+ this.#size.v = super.size;
102
+ }
103
+ if (!inited2) this.#init();
104
+ }
105
+ /**
106
+ * If the source is being created inside the same reaction as the SvelteSet instance,
107
+ * we use `state` so that it will not be a dependency of the reaction. Otherwise we
108
+ * use `source` so it will be.
109
+ *
110
+ * @template T
111
+ * @param {T} value
112
+ * @returns {Source<T>}
113
+ */
114
+ #source(value) {
115
+ return update_version === this.#update_version ? state(value) : source(value);
116
+ }
117
+ // We init as part of the first instance so that we can treeshake this class
118
+ #init() {
119
+ inited2 = true;
120
+ var proto = _SvelteSet.prototype;
121
+ var set_proto = Set.prototype;
122
+ for (const method of read_methods) {
123
+ proto[method] = function(...v) {
124
+ get(this.#version);
125
+ return set_proto[method].apply(this, v);
126
+ };
127
+ }
128
+ for (const method of set_like_methods) {
129
+ proto[method] = function(...v) {
130
+ get(this.#version);
131
+ var set2 = (
132
+ /** @type {Set<T>} */
133
+ set_proto[method].apply(this, v)
134
+ );
135
+ return new _SvelteSet(set2);
136
+ };
137
+ }
138
+ }
139
+ /** @param {T} value */
140
+ has(value) {
141
+ var has = super.has(value);
142
+ var sources = this.#sources;
143
+ var s = sources.get(value);
144
+ if (s === void 0) {
145
+ if (!has) {
146
+ get(this.#version);
147
+ return false;
148
+ }
149
+ s = this.#source(true);
150
+ if (true_default) {
151
+ tag(s, `SvelteSet has(${label(value)})`);
152
+ }
153
+ sources.set(value, s);
154
+ }
155
+ get(s);
156
+ return has;
157
+ }
158
+ /** @param {T} value */
159
+ add(value) {
160
+ if (!super.has(value)) {
161
+ super.add(value);
162
+ set(this.#size, super.size);
163
+ increment(this.#version);
164
+ }
165
+ return this;
166
+ }
167
+ /** @param {T} value */
168
+ delete(value) {
169
+ var deleted = super.delete(value);
170
+ var sources = this.#sources;
171
+ var s = sources.get(value);
172
+ if (s !== void 0) {
173
+ sources.delete(value);
174
+ set(s, false);
175
+ }
176
+ if (deleted) {
177
+ set(this.#size, super.size);
178
+ increment(this.#version);
179
+ }
180
+ return deleted;
181
+ }
182
+ clear() {
183
+ if (super.size === 0) {
184
+ return;
185
+ }
186
+ super.clear();
187
+ var sources = this.#sources;
188
+ for (var s of sources.values()) {
189
+ set(s, false);
190
+ }
191
+ sources.clear();
192
+ set(this.#size, 0);
193
+ increment(this.#version);
194
+ }
195
+ keys() {
196
+ return this.values();
197
+ }
198
+ values() {
199
+ get(this.#version);
200
+ return super.values();
201
+ }
202
+ entries() {
203
+ get(this.#version);
204
+ return super.entries();
205
+ }
206
+ [Symbol.iterator]() {
207
+ return this.keys();
208
+ }
209
+ get size() {
210
+ return get(this.#size);
211
+ }
212
+ };
213
+
214
+ // node_modules/svelte/src/reactivity/map.js
215
+ var SvelteMap = class extends Map {
216
+ /** @type {Map<K, Source<number>>} */
217
+ #sources = /* @__PURE__ */ new Map();
218
+ #version = state(0);
219
+ #size = state(0);
220
+ #update_version = update_version || -1;
221
+ /**
222
+ * @param {Iterable<readonly [K, V]> | null | undefined} [value]
223
+ */
224
+ constructor(value) {
225
+ super();
226
+ if (true_default) {
227
+ value = new Map(value);
228
+ tag(this.#version, "SvelteMap version");
229
+ tag(this.#size, "SvelteMap.size");
230
+ }
231
+ if (value) {
232
+ for (var [key, v] of value) {
233
+ super.set(key, v);
234
+ }
235
+ this.#size.v = super.size;
236
+ }
237
+ }
238
+ /**
239
+ * If the source is being created inside the same reaction as the SvelteMap instance,
240
+ * we use `state` so that it will not be a dependency of the reaction. Otherwise we
241
+ * use `source` so it will be.
242
+ *
243
+ * @template T
244
+ * @param {T} value
245
+ * @returns {Source<T>}
246
+ */
247
+ #source(value) {
248
+ return update_version === this.#update_version ? state(value) : source(value);
249
+ }
250
+ /** @param {K} key */
251
+ has(key) {
252
+ var sources = this.#sources;
253
+ var s = sources.get(key);
254
+ if (s === void 0) {
255
+ var ret = super.get(key);
256
+ if (ret !== void 0) {
257
+ s = this.#source(0);
258
+ if (true_default) {
259
+ tag(s, `SvelteMap get(${label(key)})`);
260
+ }
261
+ sources.set(key, s);
262
+ } else {
263
+ get(this.#version);
264
+ return false;
265
+ }
266
+ }
267
+ get(s);
268
+ return true;
269
+ }
270
+ /**
271
+ * @param {(value: V, key: K, map: Map<K, V>) => void} callbackfn
272
+ * @param {any} [this_arg]
273
+ */
274
+ forEach(callbackfn, this_arg) {
275
+ this.#read_all();
276
+ super.forEach(callbackfn, this_arg);
277
+ }
278
+ /** @param {K} key */
279
+ get(key) {
280
+ var sources = this.#sources;
281
+ var s = sources.get(key);
282
+ if (s === void 0) {
283
+ var ret = super.get(key);
284
+ if (ret !== void 0) {
285
+ s = this.#source(0);
286
+ if (true_default) {
287
+ tag(s, `SvelteMap get(${label(key)})`);
288
+ }
289
+ sources.set(key, s);
290
+ } else {
291
+ get(this.#version);
292
+ return void 0;
293
+ }
294
+ }
295
+ get(s);
296
+ return super.get(key);
297
+ }
298
+ /**
299
+ * @param {K} key
300
+ * @param {V} value
301
+ * */
302
+ set(key, value) {
303
+ var sources = this.#sources;
304
+ var s = sources.get(key);
305
+ var prev_res = super.get(key);
306
+ var res = super.set(key, value);
307
+ var version = this.#version;
308
+ if (s === void 0) {
309
+ s = this.#source(0);
310
+ if (true_default) {
311
+ tag(s, `SvelteMap get(${label(key)})`);
312
+ }
313
+ sources.set(key, s);
314
+ set(this.#size, super.size);
315
+ increment(version);
316
+ } else if (prev_res !== value) {
317
+ increment(s);
318
+ var v_reactions = version.reactions === null ? null : new Set(version.reactions);
319
+ var needs_version_increase = v_reactions === null || !s.reactions?.every(
320
+ (r) => (
321
+ /** @type {NonNullable<typeof v_reactions>} */
322
+ v_reactions.has(r)
323
+ )
324
+ );
325
+ if (needs_version_increase) {
326
+ increment(version);
327
+ }
328
+ }
329
+ return res;
330
+ }
331
+ /** @param {K} key */
332
+ delete(key) {
333
+ var sources = this.#sources;
334
+ var s = sources.get(key);
335
+ var res = super.delete(key);
336
+ if (s !== void 0) {
337
+ sources.delete(key);
338
+ set(this.#size, super.size);
339
+ set(s, -1);
340
+ increment(this.#version);
341
+ }
342
+ return res;
343
+ }
344
+ clear() {
345
+ if (super.size === 0) {
346
+ return;
347
+ }
348
+ super.clear();
349
+ var sources = this.#sources;
350
+ set(this.#size, 0);
351
+ for (var s of sources.values()) {
352
+ set(s, -1);
353
+ }
354
+ increment(this.#version);
355
+ sources.clear();
356
+ }
357
+ #read_all() {
358
+ get(this.#version);
359
+ var sources = this.#sources;
360
+ if (this.#size.v !== sources.size) {
361
+ for (var key of super.keys()) {
362
+ if (!sources.has(key)) {
363
+ var s = this.#source(0);
364
+ if (true_default) {
365
+ tag(s, `SvelteMap get(${label(key)})`);
366
+ }
367
+ sources.set(key, s);
368
+ }
369
+ }
370
+ }
371
+ for ([, s] of this.#sources) {
372
+ get(s);
373
+ }
374
+ }
375
+ keys() {
376
+ get(this.#version);
377
+ return super.keys();
378
+ }
379
+ values() {
380
+ this.#read_all();
381
+ return super.values();
382
+ }
383
+ entries() {
384
+ this.#read_all();
385
+ return super.entries();
386
+ }
387
+ [Symbol.iterator]() {
388
+ return this.entries();
389
+ }
390
+ get size() {
391
+ get(this.#size);
392
+ return super.size;
393
+ }
394
+ };
395
+
396
+ // node_modules/svelte/src/reactivity/url-search-params.js
397
+ var REPLACE = Symbol();
398
+ var SvelteURLSearchParams = class extends URLSearchParams {
399
+ #version = true_default ? tag(state(0), "SvelteURLSearchParams version") : state(0);
400
+ #url = get_current_url();
401
+ #updating = false;
402
+ #update_url() {
403
+ if (!this.#url || this.#updating) return;
404
+ this.#updating = true;
405
+ const search = this.toString();
406
+ this.#url.search = search && `?${search}`;
407
+ this.#updating = false;
408
+ }
409
+ /**
410
+ * @param {URLSearchParams} params
411
+ * @internal
412
+ */
413
+ [REPLACE](params) {
414
+ if (this.#updating) return;
415
+ this.#updating = true;
416
+ for (const key of [...super.keys()]) {
417
+ super.delete(key);
418
+ }
419
+ for (const [key, value] of params) {
420
+ super.append(key, value);
421
+ }
422
+ increment(this.#version);
423
+ this.#updating = false;
424
+ }
425
+ /**
426
+ * @param {string} name
427
+ * @param {string} value
428
+ * @returns {void}
429
+ */
430
+ append(name, value) {
431
+ super.append(name, value);
432
+ this.#update_url();
433
+ increment(this.#version);
434
+ }
435
+ /**
436
+ * @param {string} name
437
+ * @param {string=} value
438
+ * @returns {void}
439
+ */
440
+ delete(name, value) {
441
+ var has_value = super.has(name, value);
442
+ super.delete(name, value);
443
+ if (has_value) {
444
+ this.#update_url();
445
+ increment(this.#version);
446
+ }
447
+ }
448
+ /**
449
+ * @param {string} name
450
+ * @returns {string|null}
451
+ */
452
+ get(name) {
453
+ get(this.#version);
454
+ return super.get(name);
455
+ }
456
+ /**
457
+ * @param {string} name
458
+ * @returns {string[]}
459
+ */
460
+ getAll(name) {
461
+ get(this.#version);
462
+ return super.getAll(name);
463
+ }
464
+ /**
465
+ * @param {string} name
466
+ * @param {string=} value
467
+ * @returns {boolean}
468
+ */
469
+ has(name, value) {
470
+ get(this.#version);
471
+ return super.has(name, value);
472
+ }
473
+ keys() {
474
+ get(this.#version);
475
+ return super.keys();
476
+ }
477
+ /**
478
+ * @param {string} name
479
+ * @param {string} value
480
+ * @returns {void}
481
+ */
482
+ set(name, value) {
483
+ var previous = super.getAll(name).join("");
484
+ super.set(name, value);
485
+ if (previous !== super.getAll(name).join("")) {
486
+ this.#update_url();
487
+ increment(this.#version);
488
+ }
489
+ }
490
+ sort() {
491
+ super.sort();
492
+ this.#update_url();
493
+ increment(this.#version);
494
+ }
495
+ toString() {
496
+ get(this.#version);
497
+ return super.toString();
498
+ }
499
+ values() {
500
+ get(this.#version);
501
+ return super.values();
502
+ }
503
+ entries() {
504
+ get(this.#version);
505
+ return super.entries();
506
+ }
507
+ [Symbol.iterator]() {
508
+ return this.entries();
509
+ }
510
+ get size() {
511
+ get(this.#version);
512
+ return super.size;
513
+ }
514
+ };
515
+
516
+ // node_modules/svelte/src/reactivity/url.js
517
+ var current_url = null;
518
+ function get_current_url() {
519
+ return current_url;
520
+ }
521
+ var SvelteURL = class extends URL {
522
+ #protocol = state(super.protocol);
523
+ #username = state(super.username);
524
+ #password = state(super.password);
525
+ #hostname = state(super.hostname);
526
+ #port = state(super.port);
527
+ #pathname = state(super.pathname);
528
+ #hash = state(super.hash);
529
+ #search = state(super.search);
530
+ #searchParams;
531
+ /**
532
+ * @param {string | URL} url
533
+ * @param {string | URL} [base]
534
+ */
535
+ constructor(url, base) {
536
+ url = new URL(url, base);
537
+ super(url);
538
+ if (true_default) {
539
+ tag(this.#protocol, "SvelteURL.protocol");
540
+ tag(this.#username, "SvelteURL.username");
541
+ tag(this.#password, "SvelteURL.password");
542
+ tag(this.#hostname, "SvelteURL.hostname");
543
+ tag(this.#port, "SvelteURL.port");
544
+ tag(this.#pathname, "SvelteURL.pathname");
545
+ tag(this.#hash, "SvelteURL.hash");
546
+ tag(this.#search, "SvelteURL.search");
547
+ }
548
+ current_url = this;
549
+ this.#searchParams = new SvelteURLSearchParams(url.searchParams);
550
+ current_url = null;
551
+ }
552
+ get hash() {
553
+ return get(this.#hash);
554
+ }
555
+ set hash(value) {
556
+ super.hash = value;
557
+ set(this.#hash, super.hash);
558
+ }
559
+ get host() {
560
+ get(this.#hostname);
561
+ get(this.#port);
562
+ return super.host;
563
+ }
564
+ set host(value) {
565
+ super.host = value;
566
+ set(this.#hostname, super.hostname);
567
+ set(this.#port, super.port);
568
+ }
569
+ get hostname() {
570
+ return get(this.#hostname);
571
+ }
572
+ set hostname(value) {
573
+ super.hostname = value;
574
+ set(this.#hostname, super.hostname);
575
+ }
576
+ get href() {
577
+ get(this.#protocol);
578
+ get(this.#username);
579
+ get(this.#password);
580
+ get(this.#hostname);
581
+ get(this.#port);
582
+ get(this.#pathname);
583
+ get(this.#hash);
584
+ get(this.#search);
585
+ return super.href;
586
+ }
587
+ set href(value) {
588
+ super.href = value;
589
+ set(this.#protocol, super.protocol);
590
+ set(this.#username, super.username);
591
+ set(this.#password, super.password);
592
+ set(this.#hostname, super.hostname);
593
+ set(this.#port, super.port);
594
+ set(this.#pathname, super.pathname);
595
+ set(this.#hash, super.hash);
596
+ set(this.#search, super.search);
597
+ this.#searchParams[REPLACE](super.searchParams);
598
+ }
599
+ get password() {
600
+ return get(this.#password);
601
+ }
602
+ set password(value) {
603
+ super.password = value;
604
+ set(this.#password, super.password);
605
+ }
606
+ get pathname() {
607
+ return get(this.#pathname);
608
+ }
609
+ set pathname(value) {
610
+ super.pathname = value;
611
+ set(this.#pathname, super.pathname);
612
+ }
613
+ get port() {
614
+ return get(this.#port);
615
+ }
616
+ set port(value) {
617
+ super.port = value;
618
+ set(this.#port, super.port);
619
+ }
620
+ get protocol() {
621
+ return get(this.#protocol);
622
+ }
623
+ set protocol(value) {
624
+ super.protocol = value;
625
+ set(this.#protocol, super.protocol);
626
+ }
627
+ get search() {
628
+ return get(this.#search);
629
+ }
630
+ set search(value) {
631
+ super.search = value;
632
+ set(this.#search, value);
633
+ this.#searchParams[REPLACE](super.searchParams);
634
+ }
635
+ get username() {
636
+ return get(this.#username);
637
+ }
638
+ set username(value) {
639
+ super.username = value;
640
+ set(this.#username, super.username);
641
+ }
642
+ get origin() {
643
+ get(this.#protocol);
644
+ get(this.#hostname);
645
+ get(this.#port);
646
+ return super.origin;
647
+ }
648
+ get searchParams() {
649
+ return this.#searchParams;
650
+ }
651
+ toString() {
652
+ return this.href;
653
+ }
654
+ toJSON() {
655
+ return this.href;
656
+ }
657
+ };
658
+
659
+ // node_modules/svelte/src/reactivity/media-query.js
660
+ var parenthesis_regex = /\(.+\)/;
661
+ var non_parenthesized_keywords = /* @__PURE__ */ new Set(["all", "print", "screen", "and", "or", "not", "only"]);
662
+ var MediaQuery = class extends ReactiveValue {
663
+ /**
664
+ * @param {string} query A media query string
665
+ * @param {boolean} [fallback] Fallback value for the server
666
+ */
667
+ constructor(query, fallback) {
668
+ let final_query = parenthesis_regex.test(query) || // we need to use `some` here because technically this `window.matchMedia('random,screen')` still returns true
669
+ query.split(/[\s,]+/).some((keyword) => non_parenthesized_keywords.has(keyword.trim())) ? query : `(${query})`;
670
+ const q = window.matchMedia(final_query);
671
+ super(
672
+ () => q.matches,
673
+ (update) => on(q, "change", update)
674
+ );
675
+ }
676
+ };
677
+
678
+ export {
679
+ SvelteDate,
680
+ SvelteSet,
681
+ SvelteMap,
682
+ SvelteURLSearchParams,
683
+ SvelteURL,
684
+ MediaQuery
685
+ };
686
+ //# sourceMappingURL=chunk-ME63RQ5D.js.map
dev-ui/node_modules/.vite/deps/chunk-ME63RQ5D.js.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../svelte/src/reactivity/date.js", "../../svelte/src/reactivity/set.js", "../../svelte/src/reactivity/map.js", "../../svelte/src/reactivity/url-search-params.js", "../../svelte/src/reactivity/url.js", "../../svelte/src/reactivity/media-query.js"],
4
+ "sourcesContent": ["/** @import { Source } from '#client' */\nimport { derived } from '../internal/client/index.js';\nimport { set, state } from '../internal/client/reactivity/sources.js';\nimport { tag } from '../internal/client/dev/tracing.js';\nimport { active_reaction, get, set_active_reaction } from '../internal/client/runtime.js';\nimport { DEV } from 'esm-env';\n\nvar inited = false;\n\n/**\n * A reactive version of the built-in [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) object.\n * Reading the date (whether with methods like `date.getTime()` or `date.toString()`, or via things like [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat))\n * in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)\n * will cause it to be re-evaluated when the value of the date changes.\n *\n * ```svelte\n * <script>\n * \timport { SvelteDate } from 'svelte/reactivity';\n *\n * \tconst date = new SvelteDate();\n *\n * \tconst formatter = new Intl.DateTimeFormat(undefined, {\n * \t hour: 'numeric',\n * \t minute: 'numeric',\n * \t second: 'numeric'\n * \t});\n *\n * \t$effect(() => {\n * \t\tconst interval = setInterval(() => {\n * \t\t\tdate.setTime(Date.now());\n * \t\t}, 1000);\n *\n * \t\treturn () => {\n * \t\t\tclearInterval(interval);\n * \t\t};\n * \t});\n * </script>\n *\n * <p>The time is {formatter.format(date)}</p>\n * ```\n */\nexport class SvelteDate extends Date {\n\t#time = state(super.getTime());\n\n\t/** @type {Map<keyof Date, Source<unknown>>} */\n\t#deriveds = new Map();\n\n\t#reaction = active_reaction;\n\n\t/** @param {any[]} params */\n\tconstructor(...params) {\n\t\t// @ts-ignore\n\t\tsuper(...params);\n\n\t\tif (DEV) {\n\t\t\ttag(this.#time, 'SvelteDate.#time');\n\t\t}\n\n\t\tif (!inited) this.#init();\n\t}\n\n\t#init() {\n\t\tinited = true;\n\n\t\tvar proto = SvelteDate.prototype;\n\t\tvar date_proto = Date.prototype;\n\n\t\tvar methods = /** @type {Array<keyof Date & string>} */ (\n\t\t\tObject.getOwnPropertyNames(date_proto)\n\t\t);\n\n\t\tfor (const method of methods) {\n\t\t\tif (method.startsWith('get') || method.startsWith('to') || method === 'valueOf') {\n\t\t\t\t// @ts-ignore\n\t\t\t\tproto[method] = function (...args) {\n\t\t\t\t\t// don't memoize if there are arguments\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tif (args.length > 0) {\n\t\t\t\t\t\tget(this.#time);\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\treturn date_proto[method].apply(this, args);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar d = this.#deriveds.get(method);\n\n\t\t\t\t\tif (d === undefined) {\n\t\t\t\t\t\t// lazily create the derived, but as though it were being\n\t\t\t\t\t\t// created at the same time as the class instance\n\t\t\t\t\t\tconst reaction = active_reaction;\n\t\t\t\t\t\tset_active_reaction(this.#reaction);\n\n\t\t\t\t\t\td = derived(() => {\n\t\t\t\t\t\t\tget(this.#time);\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\treturn date_proto[method].apply(this, args);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.#deriveds.set(method, d);\n\n\t\t\t\t\t\tset_active_reaction(reaction);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn get(d);\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (method.startsWith('set')) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tproto[method] = function (...args) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tvar result = date_proto[method].apply(this, args);\n\t\t\t\t\tset(this.#time, date_proto.getTime.call(this));\n\t\t\t\t\treturn result;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n}\n", "/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport { source, set, state, increment } from '../internal/client/reactivity/sources.js';\nimport { label, tag } from '../internal/client/dev/tracing.js';\nimport { get, update_version } from '../internal/client/runtime.js';\n\nvar read_methods = ['forEach', 'isDisjointFrom', 'isSubsetOf', 'isSupersetOf'];\nvar set_like_methods = ['difference', 'intersection', 'symmetricDifference', 'union'];\n\nvar inited = false;\n\n/**\n * A reactive version of the built-in [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) object.\n * Reading contents of the set (by iterating, or by reading `set.size` or calling `set.has(...)` as in the [example](https://svelte.dev/playground/53438b51194b4882bcc18cddf9f96f15) below) in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)\n * will cause it to be re-evaluated as necessary when the set is updated.\n *\n * Note that values in a reactive set are _not_ made [deeply reactive](https://svelte.dev/docs/svelte/$state#Deep-state).\n *\n * ```svelte\n * <script>\n * \timport { SvelteSet } from 'svelte/reactivity';\n * \tlet monkeys = new SvelteSet();\n *\n * \tfunction toggle(monkey) {\n * \t\tif (monkeys.has(monkey)) {\n * \t\t\tmonkeys.delete(monkey);\n * \t\t} else {\n * \t\t\tmonkeys.add(monkey);\n * \t\t}\n * \t}\n * </script>\n *\n * {#each ['🙈', '🙉', '🙊'] as monkey}\n * \t<button onclick={() => toggle(monkey)}>{monkey}</button>\n * {/each}\n *\n * <button onclick={() => monkeys.clear()}>clear</button>\n *\n * {#if monkeys.has('🙈')}<p>see no evil</p>{/if}\n * {#if monkeys.has('🙉')}<p>hear no evil</p>{/if}\n * {#if monkeys.has('🙊')}<p>speak no evil</p>{/if}\n * ```\n *\n * @template T\n * @extends {Set<T>}\n */\nexport class SvelteSet extends Set {\n\t/** @type {Map<T, Source<boolean>>} */\n\t#sources = new Map();\n\t#version = state(0);\n\t#size = state(0);\n\t#update_version = update_version || -1;\n\n\t/**\n\t * @param {Iterable<T> | null | undefined} [value]\n\t */\n\tconstructor(value) {\n\t\tsuper();\n\n\t\tif (DEV) {\n\t\t\t// If the value is invalid then the native exception will fire here\n\t\t\tvalue = new Set(value);\n\n\t\t\ttag(this.#version, 'SvelteSet version');\n\t\t\ttag(this.#size, 'SvelteSet.size');\n\t\t}\n\n\t\tif (value) {\n\t\t\tfor (var element of value) {\n\t\t\t\tsuper.add(element);\n\t\t\t}\n\t\t\tthis.#size.v = super.size;\n\t\t}\n\n\t\tif (!inited) this.#init();\n\t}\n\n\t/**\n\t * If the source is being created inside the same reaction as the SvelteSet instance,\n\t * we use `state` so that it will not be a dependency of the reaction. Otherwise we\n\t * use `source` so it will be.\n\t *\n\t * @template T\n\t * @param {T} value\n\t * @returns {Source<T>}\n\t */\n\t#source(value) {\n\t\treturn update_version === this.#update_version ? state(value) : source(value);\n\t}\n\n\t// We init as part of the first instance so that we can treeshake this class\n\t#init() {\n\t\tinited = true;\n\n\t\tvar proto = SvelteSet.prototype;\n\t\tvar set_proto = Set.prototype;\n\n\t\tfor (const method of read_methods) {\n\t\t\t// @ts-ignore\n\t\t\tproto[method] = function (...v) {\n\t\t\t\tget(this.#version);\n\t\t\t\t// @ts-ignore\n\t\t\t\treturn set_proto[method].apply(this, v);\n\t\t\t};\n\t\t}\n\n\t\tfor (const method of set_like_methods) {\n\t\t\t// @ts-ignore\n\t\t\tproto[method] = function (...v) {\n\t\t\t\tget(this.#version);\n\t\t\t\t// @ts-ignore\n\t\t\t\tvar set = /** @type {Set<T>} */ (set_proto[method].apply(this, v));\n\t\t\t\treturn new SvelteSet(set);\n\t\t\t};\n\t\t}\n\t}\n\n\t/** @param {T} value */\n\thas(value) {\n\t\tvar has = super.has(value);\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(value);\n\n\t\tif (s === undefined) {\n\t\t\tif (!has) {\n\t\t\t\t// If the value doesn't exist, track the version in case it's added later\n\t\t\t\t// but don't create sources willy-nilly to track all possible values\n\t\t\t\tget(this.#version);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\ts = this.#source(true);\n\n\t\t\tif (DEV) {\n\t\t\t\ttag(s, `SvelteSet has(${label(value)})`);\n\t\t\t}\n\n\t\t\tsources.set(value, s);\n\t\t}\n\n\t\tget(s);\n\t\treturn has;\n\t}\n\n\t/** @param {T} value */\n\tadd(value) {\n\t\tif (!super.has(value)) {\n\t\t\tsuper.add(value);\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(this.#version);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/** @param {T} value */\n\tdelete(value) {\n\t\tvar deleted = super.delete(value);\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(value);\n\n\t\tif (s !== undefined) {\n\t\t\tsources.delete(value);\n\t\t\tset(s, false);\n\t\t}\n\n\t\tif (deleted) {\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(this.#version);\n\t\t}\n\n\t\treturn deleted;\n\t}\n\n\tclear() {\n\t\tif (super.size === 0) {\n\t\t\treturn;\n\t\t}\n\t\t// Clear first, so we get nice console.log outputs with $inspect\n\t\tsuper.clear();\n\t\tvar sources = this.#sources;\n\n\t\tfor (var s of sources.values()) {\n\t\t\tset(s, false);\n\t\t}\n\n\t\tsources.clear();\n\t\tset(this.#size, 0);\n\t\tincrement(this.#version);\n\t}\n\n\tkeys() {\n\t\treturn this.values();\n\t}\n\n\tvalues() {\n\t\tget(this.#version);\n\t\treturn super.values();\n\t}\n\n\tentries() {\n\t\tget(this.#version);\n\t\treturn super.entries();\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.keys();\n\t}\n\n\tget size() {\n\t\treturn get(this.#size);\n\t}\n}\n", "/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport { set, source, state, increment } from '../internal/client/reactivity/sources.js';\nimport { label, tag } from '../internal/client/dev/tracing.js';\nimport { get, update_version } from '../internal/client/runtime.js';\n\n/**\n * A reactive version of the built-in [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) object.\n * Reading contents of the map (by iterating, or by reading `map.size` or calling `map.get(...)` or `map.has(...)` as in the [tic-tac-toe example](https://svelte.dev/playground/0b0ff4aa49c9443f9b47fe5203c78293) below) in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)\n * will cause it to be re-evaluated as necessary when the map is updated.\n *\n * Note that values in a reactive map are _not_ made [deeply reactive](https://svelte.dev/docs/svelte/$state#Deep-state).\n *\n * ```svelte\n * <script>\n * \timport { SvelteMap } from 'svelte/reactivity';\n * \timport { result } from './game.js';\n *\n * \tlet board = new SvelteMap();\n * \tlet player = $state('x');\n * \tlet winner = $derived(result(board));\n *\n * \tfunction reset() {\n * \t\tplayer = 'x';\n * \t\tboard.clear();\n * \t}\n * </script>\n *\n * <div class=\"board\">\n * \t{#each Array(9), i}\n * \t\t<button\n * \t\t\tdisabled={board.has(i) || winner}\n * \t\t\tonclick={() => {\n * \t\t\t\tboard.set(i, player);\n * \t\t\t\tplayer = player === 'x' ? 'o' : 'x';\n * \t\t\t}}\n * \t\t>{board.get(i)}</button>\n * \t{/each}\n * </div>\n *\n * {#if winner}\n * \t<p>{winner} wins!</p>\n * \t<button onclick={reset}>reset</button>\n * {:else}\n * \t<p>{player} is next</p>\n * {/if}\n * ```\n *\n * @template K\n * @template V\n * @extends {Map<K, V>}\n */\nexport class SvelteMap extends Map {\n\t/** @type {Map<K, Source<number>>} */\n\t#sources = new Map();\n\t#version = state(0);\n\t#size = state(0);\n\t#update_version = update_version || -1;\n\n\t/**\n\t * @param {Iterable<readonly [K, V]> | null | undefined} [value]\n\t */\n\tconstructor(value) {\n\t\tsuper();\n\n\t\tif (DEV) {\n\t\t\t// If the value is invalid then the native exception will fire here\n\t\t\tvalue = new Map(value);\n\n\t\t\ttag(this.#version, 'SvelteMap version');\n\t\t\ttag(this.#size, 'SvelteMap.size');\n\t\t}\n\n\t\tif (value) {\n\t\t\tfor (var [key, v] of value) {\n\t\t\t\tsuper.set(key, v);\n\t\t\t}\n\t\t\tthis.#size.v = super.size;\n\t\t}\n\t}\n\n\t/**\n\t * If the source is being created inside the same reaction as the SvelteMap instance,\n\t * we use `state` so that it will not be a dependency of the reaction. Otherwise we\n\t * use `source` so it will be.\n\t *\n\t * @template T\n\t * @param {T} value\n\t * @returns {Source<T>}\n\t */\n\t#source(value) {\n\t\treturn update_version === this.#update_version ? state(value) : source(value);\n\t}\n\n\t/** @param {K} key */\n\thas(key) {\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(key);\n\n\t\tif (s === undefined) {\n\t\t\tvar ret = super.get(key);\n\t\t\tif (ret !== undefined) {\n\t\t\t\ts = this.#source(0);\n\n\t\t\t\tif (DEV) {\n\t\t\t\t\ttag(s, `SvelteMap get(${label(key)})`);\n\t\t\t\t}\n\n\t\t\t\tsources.set(key, s);\n\t\t\t} else {\n\t\t\t\t// We should always track the version in case\n\t\t\t\t// the Set ever gets this value in the future.\n\t\t\t\tget(this.#version);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tget(s);\n\t\treturn true;\n\t}\n\n\t/**\n\t * @param {(value: V, key: K, map: Map<K, V>) => void} callbackfn\n\t * @param {any} [this_arg]\n\t */\n\tforEach(callbackfn, this_arg) {\n\t\tthis.#read_all();\n\t\tsuper.forEach(callbackfn, this_arg);\n\t}\n\n\t/** @param {K} key */\n\tget(key) {\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(key);\n\n\t\tif (s === undefined) {\n\t\t\tvar ret = super.get(key);\n\t\t\tif (ret !== undefined) {\n\t\t\t\ts = this.#source(0);\n\n\t\t\t\tif (DEV) {\n\t\t\t\t\ttag(s, `SvelteMap get(${label(key)})`);\n\t\t\t\t}\n\n\t\t\t\tsources.set(key, s);\n\t\t\t} else {\n\t\t\t\t// We should always track the version in case\n\t\t\t\t// the Set ever gets this value in the future.\n\t\t\t\tget(this.#version);\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t}\n\n\t\tget(s);\n\t\treturn super.get(key);\n\t}\n\n\t/**\n\t * @param {K} key\n\t * @param {V} value\n\t * */\n\tset(key, value) {\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(key);\n\t\tvar prev_res = super.get(key);\n\t\tvar res = super.set(key, value);\n\t\tvar version = this.#version;\n\n\t\tif (s === undefined) {\n\t\t\ts = this.#source(0);\n\n\t\t\tif (DEV) {\n\t\t\t\ttag(s, `SvelteMap get(${label(key)})`);\n\t\t\t}\n\n\t\t\tsources.set(key, s);\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(version);\n\t\t} else if (prev_res !== value) {\n\t\t\tincrement(s);\n\n\t\t\t// if not every reaction of s is a reaction of version we need to also include version\n\t\t\tvar v_reactions = version.reactions === null ? null : new Set(version.reactions);\n\t\t\tvar needs_version_increase =\n\t\t\t\tv_reactions === null ||\n\t\t\t\t!s.reactions?.every((r) =>\n\t\t\t\t\t/** @type {NonNullable<typeof v_reactions>} */ (v_reactions).has(r)\n\t\t\t\t);\n\t\t\tif (needs_version_increase) {\n\t\t\t\tincrement(version);\n\t\t\t}\n\t\t}\n\n\t\treturn res;\n\t}\n\n\t/** @param {K} key */\n\tdelete(key) {\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(key);\n\t\tvar res = super.delete(key);\n\n\t\tif (s !== undefined) {\n\t\t\tsources.delete(key);\n\t\t\tset(this.#size, super.size);\n\t\t\tset(s, -1);\n\t\t\tincrement(this.#version);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tclear() {\n\t\tif (super.size === 0) {\n\t\t\treturn;\n\t\t}\n\t\t// Clear first, so we get nice console.log outputs with $inspect\n\t\tsuper.clear();\n\t\tvar sources = this.#sources;\n\t\tset(this.#size, 0);\n\t\tfor (var s of sources.values()) {\n\t\t\tset(s, -1);\n\t\t}\n\t\tincrement(this.#version);\n\t\tsources.clear();\n\t}\n\n\t#read_all() {\n\t\tget(this.#version);\n\n\t\tvar sources = this.#sources;\n\t\tif (this.#size.v !== sources.size) {\n\t\t\tfor (var key of super.keys()) {\n\t\t\t\tif (!sources.has(key)) {\n\t\t\t\t\tvar s = this.#source(0);\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, `SvelteMap get(${label(key)})`);\n\t\t\t\t\t}\n\n\t\t\t\t\tsources.set(key, s);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor ([, s] of this.#sources) {\n\t\t\tget(s);\n\t\t}\n\t}\n\n\tkeys() {\n\t\tget(this.#version);\n\t\treturn super.keys();\n\t}\n\n\tvalues() {\n\t\tthis.#read_all();\n\t\treturn super.values();\n\t}\n\n\tentries() {\n\t\tthis.#read_all();\n\t\treturn super.entries();\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.entries();\n\t}\n\n\tget size() {\n\t\tget(this.#size);\n\t\treturn super.size;\n\t}\n}\n", "import { DEV } from 'esm-env';\nimport { state, increment } from '../internal/client/reactivity/sources.js';\nimport { tag } from '../internal/client/dev/tracing.js';\nimport { get } from '../internal/client/runtime.js';\nimport { get_current_url } from './url.js';\n\nexport const REPLACE = Symbol();\n\n/**\n * A reactive version of the built-in [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) object.\n * Reading its contents (by iterating, or by calling `params.get(...)` or `params.getAll(...)` as in the [example](https://svelte.dev/playground/b3926c86c5384bab9f2cf993bc08c1c8) below) in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)\n * will cause it to be re-evaluated as necessary when the params are updated.\n *\n * ```svelte\n * <script>\n * \timport { SvelteURLSearchParams } from 'svelte/reactivity';\n *\n * \tconst params = new SvelteURLSearchParams('message=hello');\n *\n * \tlet key = $state('key');\n * \tlet value = $state('value');\n * </script>\n *\n * <input bind:value={key} />\n * <input bind:value={value} />\n * <button onclick={() => params.append(key, value)}>append</button>\n *\n * <p>?{params.toString()}</p>\n *\n * {#each params as [key, value]}\n * \t<p>{key}: {value}</p>\n * {/each}\n * ```\n */\nexport class SvelteURLSearchParams extends URLSearchParams {\n\t#version = DEV ? tag(state(0), 'SvelteURLSearchParams version') : state(0);\n\t#url = get_current_url();\n\n\t#updating = false;\n\n\t#update_url() {\n\t\tif (!this.#url || this.#updating) return;\n\t\tthis.#updating = true;\n\n\t\tconst search = this.toString();\n\t\tthis.#url.search = search && `?${search}`;\n\n\t\tthis.#updating = false;\n\t}\n\n\t/**\n\t * @param {URLSearchParams} params\n\t * @internal\n\t */\n\t[REPLACE](params) {\n\t\tif (this.#updating) return;\n\t\tthis.#updating = true;\n\n\t\tfor (const key of [...super.keys()]) {\n\t\t\tsuper.delete(key);\n\t\t}\n\n\t\tfor (const [key, value] of params) {\n\t\t\tsuper.append(key, value);\n\t\t}\n\n\t\tincrement(this.#version);\n\t\tthis.#updating = false;\n\t}\n\n\t/**\n\t * @param {string} name\n\t * @param {string} value\n\t * @returns {void}\n\t */\n\tappend(name, value) {\n\t\tsuper.append(name, value);\n\t\tthis.#update_url();\n\t\tincrement(this.#version);\n\t}\n\n\t/**\n\t * @param {string} name\n\t * @param {string=} value\n\t * @returns {void}\n\t */\n\tdelete(name, value) {\n\t\tvar has_value = super.has(name, value);\n\t\tsuper.delete(name, value);\n\t\tif (has_value) {\n\t\t\tthis.#update_url();\n\t\t\tincrement(this.#version);\n\t\t}\n\t}\n\n\t/**\n\t * @param {string} name\n\t * @returns {string|null}\n\t */\n\tget(name) {\n\t\tget(this.#version);\n\t\treturn super.get(name);\n\t}\n\n\t/**\n\t * @param {string} name\n\t * @returns {string[]}\n\t */\n\tgetAll(name) {\n\t\tget(this.#version);\n\t\treturn super.getAll(name);\n\t}\n\n\t/**\n\t * @param {string} name\n\t * @param {string=} value\n\t * @returns {boolean}\n\t */\n\thas(name, value) {\n\t\tget(this.#version);\n\t\treturn super.has(name, value);\n\t}\n\n\tkeys() {\n\t\tget(this.#version);\n\t\treturn super.keys();\n\t}\n\n\t/**\n\t * @param {string} name\n\t * @param {string} value\n\t * @returns {void}\n\t */\n\tset(name, value) {\n\t\tvar previous = super.getAll(name).join('');\n\t\tsuper.set(name, value);\n\t\t// can't use has(name, value), because for something like https://svelte.dev?foo=1&bar=2&foo=3\n\t\t// if you set `foo` to 1, then foo=3 gets deleted whilst `has(\"foo\", \"1\")` returns true\n\t\tif (previous !== super.getAll(name).join('')) {\n\t\t\tthis.#update_url();\n\t\t\tincrement(this.#version);\n\t\t}\n\t}\n\n\tsort() {\n\t\tsuper.sort();\n\t\tthis.#update_url();\n\t\tincrement(this.#version);\n\t}\n\n\ttoString() {\n\t\tget(this.#version);\n\t\treturn super.toString();\n\t}\n\n\tvalues() {\n\t\tget(this.#version);\n\t\treturn super.values();\n\t}\n\n\tentries() {\n\t\tget(this.#version);\n\t\treturn super.entries();\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.entries();\n\t}\n\n\tget size() {\n\t\tget(this.#version);\n\t\treturn super.size;\n\t}\n}\n", "import { DEV } from 'esm-env';\nimport { set, state } from '../internal/client/reactivity/sources.js';\nimport { tag } from '../internal/client/dev/tracing.js';\nimport { get } from '../internal/client/runtime.js';\nimport { REPLACE, SvelteURLSearchParams } from './url-search-params.js';\n\n/** @type {SvelteURL | null} */\nlet current_url = null;\n\nexport function get_current_url() {\n\t// ideally we'd just export `current_url` directly, but it seems Vitest doesn't respect live bindings\n\treturn current_url;\n}\n\n/**\n * A reactive version of the built-in [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL) object.\n * Reading properties of the URL (such as `url.href` or `url.pathname`) in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)\n * will cause it to be re-evaluated as necessary when the URL changes.\n *\n * The `searchParams` property is an instance of [SvelteURLSearchParams](https://svelte.dev/docs/svelte/svelte-reactivity#SvelteURLSearchParams).\n *\n * [Example](https://svelte.dev/playground/5a694758901b448c83dc40dc31c71f2a):\n *\n * ```svelte\n * <script>\n * \timport { SvelteURL } from 'svelte/reactivity';\n *\n * \tconst url = new SvelteURL('https://example.com/path');\n * </script>\n *\n * <!-- changes to these... -->\n * <input bind:value={url.protocol} />\n * <input bind:value={url.hostname} />\n * <input bind:value={url.pathname} />\n *\n * <hr />\n *\n * <!-- will update `href` and vice versa -->\n * <input bind:value={url.href} size=\"65\" />\n * ```\n */\nexport class SvelteURL extends URL {\n\t#protocol = state(super.protocol);\n\t#username = state(super.username);\n\t#password = state(super.password);\n\t#hostname = state(super.hostname);\n\t#port = state(super.port);\n\t#pathname = state(super.pathname);\n\t#hash = state(super.hash);\n\t#search = state(super.search);\n\t#searchParams;\n\n\t/**\n\t * @param {string | URL} url\n\t * @param {string | URL} [base]\n\t */\n\tconstructor(url, base) {\n\t\turl = new URL(url, base);\n\t\tsuper(url);\n\n\t\tif (DEV) {\n\t\t\ttag(this.#protocol, 'SvelteURL.protocol');\n\t\t\ttag(this.#username, 'SvelteURL.username');\n\t\t\ttag(this.#password, 'SvelteURL.password');\n\t\t\ttag(this.#hostname, 'SvelteURL.hostname');\n\t\t\ttag(this.#port, 'SvelteURL.port');\n\t\t\ttag(this.#pathname, 'SvelteURL.pathname');\n\t\t\ttag(this.#hash, 'SvelteURL.hash');\n\t\t\ttag(this.#search, 'SvelteURL.search');\n\t\t}\n\n\t\tcurrent_url = this;\n\t\tthis.#searchParams = new SvelteURLSearchParams(url.searchParams);\n\t\tcurrent_url = null;\n\t}\n\n\tget hash() {\n\t\treturn get(this.#hash);\n\t}\n\n\tset hash(value) {\n\t\tsuper.hash = value;\n\t\tset(this.#hash, super.hash);\n\t}\n\n\tget host() {\n\t\tget(this.#hostname);\n\t\tget(this.#port);\n\t\treturn super.host;\n\t}\n\n\tset host(value) {\n\t\tsuper.host = value;\n\t\tset(this.#hostname, super.hostname);\n\t\tset(this.#port, super.port);\n\t}\n\n\tget hostname() {\n\t\treturn get(this.#hostname);\n\t}\n\n\tset hostname(value) {\n\t\tsuper.hostname = value;\n\t\tset(this.#hostname, super.hostname);\n\t}\n\n\tget href() {\n\t\tget(this.#protocol);\n\t\tget(this.#username);\n\t\tget(this.#password);\n\t\tget(this.#hostname);\n\t\tget(this.#port);\n\t\tget(this.#pathname);\n\t\tget(this.#hash);\n\t\tget(this.#search);\n\t\treturn super.href;\n\t}\n\n\tset href(value) {\n\t\tsuper.href = value;\n\t\tset(this.#protocol, super.protocol);\n\t\tset(this.#username, super.username);\n\t\tset(this.#password, super.password);\n\t\tset(this.#hostname, super.hostname);\n\t\tset(this.#port, super.port);\n\t\tset(this.#pathname, super.pathname);\n\t\tset(this.#hash, super.hash);\n\t\tset(this.#search, super.search);\n\t\tthis.#searchParams[REPLACE](super.searchParams);\n\t}\n\n\tget password() {\n\t\treturn get(this.#password);\n\t}\n\n\tset password(value) {\n\t\tsuper.password = value;\n\t\tset(this.#password, super.password);\n\t}\n\n\tget pathname() {\n\t\treturn get(this.#pathname);\n\t}\n\n\tset pathname(value) {\n\t\tsuper.pathname = value;\n\t\tset(this.#pathname, super.pathname);\n\t}\n\n\tget port() {\n\t\treturn get(this.#port);\n\t}\n\n\tset port(value) {\n\t\tsuper.port = value;\n\t\tset(this.#port, super.port);\n\t}\n\n\tget protocol() {\n\t\treturn get(this.#protocol);\n\t}\n\n\tset protocol(value) {\n\t\tsuper.protocol = value;\n\t\tset(this.#protocol, super.protocol);\n\t}\n\n\tget search() {\n\t\treturn get(this.#search);\n\t}\n\n\tset search(value) {\n\t\tsuper.search = value;\n\t\tset(this.#search, value);\n\t\tthis.#searchParams[REPLACE](super.searchParams);\n\t}\n\n\tget username() {\n\t\treturn get(this.#username);\n\t}\n\n\tset username(value) {\n\t\tsuper.username = value;\n\t\tset(this.#username, super.username);\n\t}\n\n\tget origin() {\n\t\tget(this.#protocol);\n\t\tget(this.#hostname);\n\t\tget(this.#port);\n\t\treturn super.origin;\n\t}\n\n\tget searchParams() {\n\t\treturn this.#searchParams;\n\t}\n\n\ttoString() {\n\t\treturn this.href;\n\t}\n\n\ttoJSON() {\n\t\treturn this.href;\n\t}\n}\n", "import { on } from '../events/index.js';\nimport { ReactiveValue } from './reactive-value.js';\n\nconst parenthesis_regex = /\\(.+\\)/;\n\n// these keywords are valid media queries but they need to be without parenthesis\n//\n// eg: new MediaQuery('screen')\n//\n// however because of the auto-parenthesis logic in the constructor since there's no parentehesis\n// in the media query they'll be surrounded by parenthesis\n//\n// however we can check if the media query is only composed of these keywords\n// and skip the auto-parenthesis\n//\n// https://github.com/sveltejs/svelte/issues/15930\nconst non_parenthesized_keywords = new Set(['all', 'print', 'screen', 'and', 'or', 'not', 'only']);\n\n/**\n * Creates a media query and provides a `current` property that reflects whether or not it matches.\n *\n * Use it carefully — during server-side rendering, there is no way to know what the correct value should be, potentially causing content to change upon hydration.\n * If you can use the media query in CSS to achieve the same effect, do that.\n *\n * ```svelte\n * <script>\n * \timport { MediaQuery } from 'svelte/reactivity';\n *\n * \tconst large = new MediaQuery('min-width: 800px');\n * </script>\n *\n * <h1>{large.current ? 'large screen' : 'small screen'}</h1>\n * ```\n * @extends {ReactiveValue<boolean>}\n * @since 5.7.0\n */\nexport class MediaQuery extends ReactiveValue {\n\t/**\n\t * @param {string} query A media query string\n\t * @param {boolean} [fallback] Fallback value for the server\n\t */\n\tconstructor(query, fallback) {\n\t\tlet final_query =\n\t\t\tparenthesis_regex.test(query) ||\n\t\t\t// we need to use `some` here because technically this `window.matchMedia('random,screen')` still returns true\n\t\t\tquery.split(/[\\s,]+/).some((keyword) => non_parenthesized_keywords.has(keyword.trim()))\n\t\t\t\t? query\n\t\t\t\t: `(${query})`;\n\t\tconst q = window.matchMedia(final_query);\n\t\tsuper(\n\t\t\t() => q.matches,\n\t\t\t(update) => on(q, 'change', update)\n\t\t);\n\t}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["inited", "set"]
7
+ }