@keboola/design 6.5.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/AGENTS.md +7 -7
  2. package/COMPONENT-API.md +3 -9
  3. package/README.md +1 -1
  4. package/dist/charts.cjs +22 -22
  5. package/dist/charts.cjs.map +1 -1
  6. package/dist/charts.d.cts +5 -5
  7. package/dist/charts.d.ts +5 -5
  8. package/dist/charts.js +22 -22
  9. package/dist/charts.js.map +1 -1
  10. package/dist/editors.cjs +590 -432
  11. package/dist/editors.cjs.map +1 -1
  12. package/dist/editors.d.cts +8 -4
  13. package/dist/editors.d.ts +8 -4
  14. package/dist/editors.js +591 -416
  15. package/dist/editors.js.map +1 -1
  16. package/dist/icons.cjs +23817 -45
  17. package/dist/icons.cjs.map +1 -1
  18. package/dist/icons.d.cts +12 -3
  19. package/dist/icons.d.ts +12 -3
  20. package/dist/icons.js +297 -40
  21. package/dist/icons.js.map +1 -1
  22. package/dist/index.cjs +4702 -4755
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +183 -169
  25. package/dist/index.d.ts +183 -169
  26. package/dist/index.js +4700 -4754
  27. package/dist/index.js.map +1 -1
  28. package/dist/markdown-editor.cjs +817 -923
  29. package/dist/markdown-editor.cjs.map +1 -1
  30. package/dist/markdown-editor.js +818 -923
  31. package/dist/markdown-editor.js.map +1 -1
  32. package/dist/mermaid.cjs +308 -425
  33. package/dist/mermaid.cjs.map +1 -1
  34. package/dist/mermaid.d.cts +5 -1
  35. package/dist/mermaid.d.ts +5 -1
  36. package/dist/mermaid.js +310 -408
  37. package/dist/mermaid.js.map +1 -1
  38. package/dist/rjsf.cjs +1398 -1225
  39. package/dist/rjsf.cjs.map +1 -1
  40. package/dist/rjsf.js +1399 -1225
  41. package/dist/rjsf.js.map +1 -1
  42. package/dist/styles.css +2 -5
  43. package/dist/testing.cjs +86 -82
  44. package/dist/testing.cjs.map +1 -1
  45. package/dist/testing.js +86 -82
  46. package/dist/testing.js.map +1 -1
  47. package/package.json +26 -19
  48. package/src/styles.css +125 -105
  49. package/src/theme.css +264 -0
package/dist/rjsf.js CHANGED
@@ -1,5 +1,5 @@
1
- import React26, { createContext, forwardRef, use, useCallback, useMemo, useRef, useState, useEffect, useContext, isValidElement, useId, useSyncExternalStore, useLayoutEffect, Children, Fragment as Fragment$1 } from 'react';
2
- import Form from '@rjsf/core';
1
+ import React26, { createContext, use, useCallback, useMemo, useRef, useState, useEffect, useContext, isValidElement, useId, useLayoutEffect, useSyncExternalStore, Children, Fragment as Fragment$1 } from 'react';
2
+ import Form2 from '@rjsf/core';
3
3
  import validator from '@rjsf/validator-ajv8';
4
4
  import { completeAnyWord, autocompletion } from '@codemirror/autocomplete';
5
5
  import { jsonParseLinter, json } from '@codemirror/lang-json';
@@ -14,16 +14,18 @@ import { cva } from 'class-variance-authority';
14
14
  import { keboolaLegacySidebar, keboolaLegacyTopnav } from '@keboola/brand-registry';
15
15
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
16
16
  import { Slot, Root as Root$1, Slottable } from '@radix-ui/react-slot';
17
- import * as lucide_react_star from 'lucide-react';
17
+ import { Trash2, X, ChevronDown, Plus, Calendar, Check, Minus, ArrowBigUpDash, EyeOff, Eye, Loader2, Info, CircleCheck, AlertTriangle, BookOpen, Copy, Circle, Pipette } from 'lucide-react';
18
18
  import { javascript } from '@codemirror/lang-javascript';
19
19
  import { python } from '@codemirror/lang-python';
20
- import { sql, PLSQL } from '@codemirror/lang-sql';
20
+ import { sql, PLSQL, MSSQL, PostgreSQL, MySQL } from '@codemirror/lang-sql';
21
21
  import { StreamLanguage } from '@codemirror/language';
22
22
  import { r } from '@codemirror/legacy-modes/mode/r';
23
23
  import { shell } from '@codemirror/legacy-modes/mode/shell';
24
+ import { toml } from '@codemirror/legacy-modes/mode/toml';
24
25
  import { githubLightInit } from '@uiw/codemirror-theme-github';
25
26
  import { sfsql } from '@keboola/codemirror-lang-sfsql';
26
27
  import colors from '@keboola/tailwind-config/colors';
28
+ import { simpleMode } from '@codemirror/legacy-modes/mode/simple-mode';
27
29
  import DOMPurify from 'dompurify';
28
30
  import { Root as Root$2, CollapsibleTrigger, Content as Content$1 } from '@radix-ui/react-collapsible';
29
31
  import * as RadixTabs from '@radix-ui/react-tabs';
@@ -38,22 +40,10 @@ import { Item, Indicator as Indicator$1 } from '@radix-ui/react-radio-group';
38
40
  import * as RSeparator from '@radix-ui/react-separator';
39
41
 
40
42
  var __defProp = Object.defineProperty;
41
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
42
- var __getOwnPropNames = Object.getOwnPropertyNames;
43
- var __hasOwnProp = Object.prototype.hasOwnProperty;
44
43
  var __export = (target, all) => {
45
44
  for (var name in all)
46
45
  __defProp(target, name, { get: all[name], enumerable: true });
47
46
  };
48
- var __copyProps = (to, from, except, desc) => {
49
- if (from && typeof from === "object" || typeof from === "function") {
50
- for (let key of __getOwnPropNames(from))
51
- if (!__hasOwnProp.call(to, key) && key !== except)
52
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
53
- }
54
- return to;
55
- };
56
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
57
47
 
58
48
  // src/utils/debounce.ts
59
49
  var debounce = (fn, delay) => {
@@ -75,8 +65,15 @@ var keyCodes = {
75
65
  ESCAPE: "Escape",
76
66
  SPACE: " "
77
67
  };
68
+ var useStableCallback = (callback) => {
69
+ const latestRef = useRef(callback);
70
+ useLayoutEffect(() => {
71
+ latestRef.current = callback;
72
+ }, [callback]);
73
+ return useCallback((...args) => latestRef.current(...args), []);
74
+ };
78
75
  var twMerge = extendTailwindMerge({
79
- prefix: "tw-"
76
+ prefix: "tw"
80
77
  });
81
78
  var cn = (...classes) => twMerge(clsx(...classes));
82
79
 
@@ -152,39 +149,39 @@ var useArgoDesign = () => use(ArgoDesignContext);
152
149
  var tooltipVariants = cva(
153
150
  [
154
151
  "tailwindcss-preflight",
155
- "tw-inline-block",
156
- "tw-break-anywhere",
157
- "tw-max-h-96",
158
- "tw-overflow-y-auto",
159
- "tw-z-[1060]",
152
+ "tw:inline-block",
153
+ "tw:break-anywhere",
154
+ "tw:max-h-96",
155
+ "tw:overflow-y-auto",
156
+ "tw:z-[1060]",
160
157
  // legacy (dark) chrome — default
161
- "tw-rounded",
162
- "tw-bg-neutral-800",
163
- "tw-text-white",
158
+ "tw:rounded",
159
+ "tw:bg-neutral-800",
160
+ "tw:text-white",
164
161
  // argo chrome overrides — semantic floating-panel tokens
165
- "data-[argo=true]:tw-rounded-2xl",
166
- "data-[argo=true]:tw-border",
167
- "data-[argo=true]:tw-border-solid",
168
- "data-[argo=true]:tw-border-border",
169
- "data-[argo=true]:tw-bg-popover",
170
- "data-[argo=true]:tw-text-popover-foreground",
171
- "data-[argo=true]:tw-shadow-md",
162
+ "tw:data-[argo=true]:rounded-2xl",
163
+ "tw:data-[argo=true]:border",
164
+ "tw:data-[argo=true]:border-solid",
165
+ "tw:data-[argo=true]:border-border",
166
+ "tw:data-[argo=true]:bg-popover",
167
+ "tw:data-[argo=true]:text-popover-foreground",
168
+ "tw:data-[argo=true]:shadow-md",
172
169
  // argo open animation
173
- "data-[argo=true]:data-[state=delayed-open]:tw-animate-in",
174
- "data-[argo=true]:data-[state=instant-open]:tw-animate-in",
175
- "data-[argo=true]:data-[state=delayed-open]:tw-fade-in-0",
176
- "data-[argo=true]:data-[state=instant-open]:tw-fade-in-0",
177
- "data-[argo=true]:data-[state=delayed-open]:tw-zoom-in-95",
178
- "data-[argo=true]:data-[state=instant-open]:tw-zoom-in-95",
170
+ "tw:data-[argo=true]:data-[state=delayed-open]:animate-in",
171
+ "tw:data-[argo=true]:data-[state=instant-open]:animate-in",
172
+ "tw:data-[argo=true]:data-[state=delayed-open]:fade-in-0",
173
+ "tw:data-[argo=true]:data-[state=instant-open]:fade-in-0",
174
+ "tw:data-[argo=true]:data-[state=delayed-open]:zoom-in-95",
175
+ "tw:data-[argo=true]:data-[state=instant-open]:zoom-in-95",
179
176
  // argo closed animation
180
- "data-[argo=true]:data-[state=closed]:tw-animate-out",
181
- "data-[argo=true]:data-[state=closed]:tw-fade-out-0",
182
- "data-[argo=true]:data-[state=closed]:tw-zoom-out-95",
177
+ "tw:data-[argo=true]:data-[state=closed]:animate-out",
178
+ "tw:data-[argo=true]:data-[state=closed]:fade-out-0",
179
+ "tw:data-[argo=true]:data-[state=closed]:zoom-out-95",
183
180
  // argo position animation
184
- "data-[argo=true]:data-[side=bottom]:tw-slide-in-from-top-2",
185
- "data-[argo=true]:data-[side=left]:tw-slide-in-from-right-2",
186
- "data-[argo=true]:data-[side=right]:tw-slide-in-from-left-2",
187
- "data-[argo=true]:data-[side=top]:tw-slide-in-from-bottom-2"
181
+ "tw:data-[argo=true]:data-[side=bottom]:slide-in-from-top-2",
182
+ "tw:data-[argo=true]:data-[side=left]:slide-in-from-right-2",
183
+ "tw:data-[argo=true]:data-[side=right]:slide-in-from-left-2",
184
+ "tw:data-[argo=true]:data-[side=top]:slide-in-from-bottom-2"
188
185
  ],
189
186
  {
190
187
  defaultVariants: {
@@ -193,22 +190,26 @@ var tooltipVariants = cva(
193
190
  variants: {
194
191
  variant: {
195
192
  action: [
196
- "tw-max-w-fit",
197
- "tw-px-3",
198
- "tw-py-2",
199
- "tw-text-center",
200
- "tw-text-xs",
201
- "tw-font-medium",
202
- "tw-uppercase",
203
- "tw-tracking-wider"
193
+ "tw:max-w-fit",
194
+ "tw:px-3",
195
+ "tw:py-2",
196
+ "tw:text-center",
197
+ "tw:text-xs",
198
+ "tw:font-medium",
199
+ // Legacy chrome uppercases the action tooltip; the Keboola V2 brand
200
+ // (`data-brand="keboola"`) renders it in standard case instead.
201
+ "tw:uppercase",
202
+ "tw:tracking-wider",
203
+ "tw:[[data-brand=keboola]_&]:normal-case",
204
+ "tw:[[data-brand=keboola]_&]:tracking-normal"
204
205
  ],
205
206
  explanatory: [
206
- "tw-max-w-80",
207
- "tw-px-4",
208
- "tw-py-3",
209
- "tw-text-left",
210
- "tw-text-sm",
211
- "tw-font-normal"
207
+ "tw:max-w-80",
208
+ "tw:px-4",
209
+ "tw:py-3",
210
+ "tw:text-left",
211
+ "tw:text-sm",
212
+ "tw:font-normal"
212
213
  ]
213
214
  }
214
215
  }
@@ -282,8 +283,8 @@ var TooltipTrigger = ({
282
283
  // (merged in via Slot) activates Tailwind's preflight inside the
283
284
  // span, which sets `svg { display: block }` — without an inline-flex
284
285
  // container that would stack any bare Lucide icon onto its own
285
- // line. `tw-inline-flex tw-items-center` keeps icon + text aligned.
286
- /* @__PURE__ */ jsx("span", { className: "tw-inline-flex tw-items-center", children })
286
+ // line. `tw:inline-flex tw:items-center` keeps icon + text aligned.
287
+ /* @__PURE__ */ jsx("span", { className: "tw:inline-flex tw:items-center", children })
287
288
  )
288
289
  }
289
290
  );
@@ -349,7 +350,7 @@ Tooltip.Content = TooltipContent;
349
350
  Tooltip.Trigger = TooltipTrigger;
350
351
 
351
352
  // src/utils/createPrefixedString.ts
352
- var createPrefixedString = (prefix) => (literals) => literals.reduce((acc, literal) => acc + literal, `${prefix}-`);
353
+ var createPrefixedString = (prefix2) => (literals) => literals.reduce((acc, literal) => acc + literal, `${prefix2}-`);
353
354
 
354
355
  // src/utils/mergeRefs.ts
355
356
  function setRef(ref, value) {
@@ -362,14 +363,14 @@ function setRef(ref, value) {
362
363
  var mergeRefs = (...refs) => {
363
364
  return (node) => refs.forEach((ref) => setRef(ref, node));
364
365
  };
365
- var helpVariants = cva(["tw-m-0", "tw-text-xs"], {
366
+ var helpVariants = cva(["tw:m-0", "tw:text-xs"], {
366
367
  defaultVariants: {
367
368
  state: "default"
368
369
  },
369
370
  variants: {
370
371
  state: {
371
- default: ["tw-text-muted-foreground"],
372
- warning: ["tw-text-warning"]
372
+ default: ["tw:text-muted-foreground"],
373
+ warning: ["tw:text-warning"]
373
374
  }
374
375
  }
375
376
  });
@@ -377,146 +378,49 @@ var HelpBlock = ({ children, className, state = "default", ...rest }) => {
377
378
  if (!children) return null;
378
379
  return /* @__PURE__ */ jsx("p", { ...rest, className: helpVariants({ state, className }), children });
379
380
  };
380
-
381
- // src/icons/index.ts
382
- var icons_exports = {};
383
- __export(icons_exports, {
384
- Google: () => Google,
385
- Keboola: () => Keboola,
386
- Microsoft: () => Microsoft
387
- });
388
- __reExport(icons_exports, lucide_react_star);
389
- var Google = forwardRef(
390
- ({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxs(
391
- "svg",
392
- {
393
- ref,
394
- xmlns: "http://www.w3.org/2000/svg",
395
- width: size,
396
- height: size,
397
- viewBox: "12 10 20 20",
398
- fill: "none",
399
- className: cn("lucide", className),
400
- ...rest,
401
- children: [
402
- /* @__PURE__ */ jsx(
403
- "path",
404
- {
405
- d: "M31.6 20.2273C31.6 19.5182 31.5364 18.8364 31.4182 18.1818H22V22.05H27.3818C27.15 23.3 26.4455 24.3591 25.3864 25.0682V27.5773H28.6182C30.5091 25.8364 31.6 23.2727 31.6 20.2273Z",
406
- fill: "#4285F4"
407
- }
408
- ),
409
- /* @__PURE__ */ jsx(
410
- "path",
411
- {
412
- d: "M22 30C24.7 30 26.9636 29.1045 28.6181 27.5773L25.3863 25.0682C24.4909 25.6682 23.3454 26.0227 22 26.0227C19.3954 26.0227 17.1909 24.2636 16.4045 21.9H13.0636V24.4909C14.7091 27.7591 18.0909 30 22 30Z",
413
- fill: "#34A853"
414
- }
415
- ),
416
- /* @__PURE__ */ jsx(
417
- "path",
418
- {
419
- d: "M16.4045 21.9C16.2045 21.3 16.0909 20.6591 16.0909 20C16.0909 19.3409 16.2045 18.7 16.4045 18.1V15.5091H13.0636C12.3864 16.8591 12 18.3864 12 20C12 21.6136 12.3864 23.1409 13.0636 24.4909L16.4045 21.9Z",
420
- fill: "#FBBC04"
421
- }
422
- ),
423
- /* @__PURE__ */ jsx(
424
- "path",
425
- {
426
- d: "M22 13.9773C23.4681 13.9773 24.7863 14.4818 25.8227 15.4727L28.6909 12.6045C26.9591 10.9909 24.6954 10 22 10C18.0909 10 14.7091 12.2409 13.0636 15.5091L16.4045 18.1C17.1909 15.7364 19.3954 13.9773 22 13.9773Z",
427
- fill: "#EA4335"
428
- }
429
- ),
430
- children
431
- ]
432
- }
433
- )
434
- );
435
- Google.displayName = "Google";
436
- var Keboola = forwardRef(
437
- ({ size = 24, color = "currentColor", className, children, ...rest }, ref) => /* @__PURE__ */ jsxs(
438
- "svg",
439
- {
440
- ref,
441
- xmlns: "http://www.w3.org/2000/svg",
442
- width: size,
443
- height: size,
444
- viewBox: "0 0 300 512",
445
- overflow: "visible",
446
- fill: color,
447
- className: cn("lucide", className),
448
- ...rest,
449
- children: [
450
- /* @__PURE__ */ jsx("path", { d: "M152 320C79.7 320 24.5 233.9 24.5 124.7C24.5 15.6 70.5 0 152 0s123.6 15.6 123.6 124.7C275.5 233.9 217.7 320 152 320zm-8.7-50.5c0-11.2-9.5-20.3-21.2-20.3s-21.2 9.1-21.2 20.3c0 11.2 9.5 20.3 21.2 20.3s21.2-9.1 21.2-20.3zm55.7 0c0-11.2-9.5-20.3-21.2-20.3s-21.2 9.1-21.2 20.3c0 11.2 9.5 20.3 21.2 20.3s21.2-9.1 21.2-20.3zm68.9 115.1c10.2 9.3 20.2 20.5 29 35c5.9 9.7 2.6 22.1-7.5 27.8c-3.4 1.9-7.1 2.8-10.7 2.8c-7.2 0-14.3-3.6-18.3-10c-6.8-11.1-13.8-18.9-21.7-26.1c-7.3-6.7-15.6-12.7-24.9-19.5c-.7-.5-1.4-1-2.1-1.5c-5-3.6-10-6.8-14.9-9.4c.6 1 1.2 2.1 1.8 3.2c14.4 26.4 29.2 63.1 29.2 104.9c0 11.2-9.5 20.3-21.2 20.3c-11.7 0-21.2-9.1-21.2-20.3c.1-31.8-11.6-62.3-23.8-84.9c-4-7.4-8-13.9-11.6-19.3c-3.4 5.2-7.2 11.3-11 18.3c-12.5 22.7-24.5 53.8-24.4 86c0 11.2-9.5 20.3-21.2 20.3s-21.2-9.1-21.2-20.3c.1-41.8 14.9-78.4 29.2-104.9c.6-1.1 1.2-2.1 1.8-3.2c-5 2.7-9.9 5.8-14.9 9.4c-.6 .5-1.3 .9-1.9 1.4c-9.5 6.9-17.8 12.9-25.1 19.7c-7.9 7.2-14.9 15.1-21.7 26.1c-5.9 9.7-18.9 12.9-29 7.2C.5 441.8-2.9 429.3 3.1 419.7c8.9-14.4 18.8-25.7 29-35c9.2-8.4 18.5-15.1 27.6-21.7c1-.7 2-1.4 3-2.2c4.7-3.5 9.6-6.7 14.6-9.6c-5-2.9-9.8-6.1-14.6-9.6C39.8 325 19.9 302.5 3.1 275.1c-5.9-9.7-2.6-22.1 7.5-27.8c10.1-5.7 23.1-2.5 29 7.2c14.6 23.7 31.1 42 48.7 54.9c18.9 13.7 37.4 20.5 56.5 21.5c1.7-.1 3.5-.1 5.2-.1c1.8 0 3.5 .1 5.2 .1c0 0 0 0 0 0c19.1-1.1 37.6-7.9 56.5-21.5c17.6-12.8 34.2-31.2 48.7-54.9c6-9.7 18.9-12.9 29-7.2c10.1 5.7 13.4 18.1 7.5 27.8c-16.8 27.4-36.7 49.9-59.6 66.6c-4.7 3.5-9.6 6.7-14.5 9.6c4.9 2.9 9.8 6.1 14.5 9.6c.9 .7 1.8 1.3 2.7 2c9.2 6.7 18.5 13.5 27.9 22z" }),
451
- children
452
- ]
453
- }
454
- )
455
- );
456
- Keboola.displayName = "Keboola";
457
- var Microsoft = forwardRef(
458
- ({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxs(
459
- "svg",
460
- {
461
- ref,
462
- xmlns: "http://www.w3.org/2000/svg",
463
- width: size,
464
- height: size,
465
- viewBox: "0 0 21 21",
466
- fill: "none",
467
- className: cn("lucide", className),
468
- ...rest,
469
- children: [
470
- /* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: "10", height: "10", fill: "#F25022" }),
471
- /* @__PURE__ */ jsx("rect", { x: "11", y: "0", width: "10", height: "10", fill: "#7FBA00" }),
472
- /* @__PURE__ */ jsx("rect", { x: "0", y: "11", width: "10", height: "10", fill: "#00A4EF" }),
473
- /* @__PURE__ */ jsx("rect", { x: "11", y: "11", width: "10", height: "10", fill: "#FFB900" }),
474
- children
475
- ]
476
- }
477
- )
478
- );
479
- Microsoft.displayName = "Microsoft";
480
381
  var variants = cva(
481
382
  [
482
383
  "tailwindcss-preflight",
483
- "tw-group/button",
484
- "tw-border-box",
384
+ "tw:group/button",
385
+ "tw:border-box",
485
386
  // layout
486
- "tw-relative",
487
- "tw-flex",
488
- "tw-items-center",
489
- "tw-justify-center",
490
- "tw-gap-2",
387
+ "tw:relative",
388
+ "tw:flex",
389
+ "tw:items-center",
390
+ "tw:justify-center",
391
+ "tw:gap-2",
491
392
  // text — chrome weight/tracking are brand-overridable tokens
492
- // (`--font-weight-medium` / `--letter-spacing-chrome`); casing stays `tw-uppercase`.
493
- "tw-text-xs",
494
- "tw-leading-5",
495
- "tw-font-medium",
496
- "tw-tracking-chrome",
497
- "tw-uppercase",
393
+ // (`--font-weight-medium` / `--letter-spacing-chrome`). Casing: standard case is
394
+ // the default; only legacy brands (`keboola-legacy-*`) uppercase the chrome, so
395
+ // modern brands (incl. Keboola V2) read naturally. Mirrors the V2 standard-case
396
+ // treatment shipped for Tooltip/Badge (PR 7629).
397
+ "tw:text-xs",
398
+ "tw:leading-5",
399
+ "tw:font-medium",
400
+ "tw:[[data-brand^=keboola-legacy]_&]:tracking-chrome",
401
+ "tw:[[data-brand^=keboola-legacy]_&]:uppercase",
498
402
  // border — legacy (non-argo) chrome uses a fixed radius, not the brand token.
499
- "tw-rounded",
500
- "tw-border",
501
- "tw-border-transparent",
403
+ "tw:rounded",
404
+ "tw:border",
405
+ "tw:border-transparent",
502
406
  // styling
503
- "tw-shadow-none",
504
- "[a]:tw-cursor-pointer",
407
+ "tw:shadow-none",
408
+ "tw:[a]:cursor-pointer",
505
409
  // explicitly set for anchor
506
- "focus-visible:tw-outline",
507
- "focus-visible:tw-outline-1",
508
- "focus-visible:-tw-outline-offset-1",
509
- "focus-visible:tw-outline-ring",
510
- "focus-visible:tw-ring-4",
511
- "focus-visible:tw-ring-ring/30",
410
+ "tw:focus-visible:outline",
411
+ "tw:focus-visible:outline-1",
412
+ "tw:focus-visible:-outline-offset-1",
413
+ "tw:focus-visible:outline-ring",
414
+ "tw:focus-visible:ring-4",
415
+ "tw:focus-visible:ring-ring/30",
512
416
  // disabled
513
- "disabled:tw-opacity-40",
514
- "disabled:tw-cursor-not-allowed",
417
+ "tw:disabled:opacity-40",
418
+ "tw:disabled:cursor-not-allowed",
515
419
  // anchor support
516
- "!tw-no-underline",
517
- "aria-disabled:tw-opacity-40",
518
- "aria-disabled:tw-cursor-not-allowed",
519
- "[&_svg]:tw-shrink-0"
420
+ "tw:!no-underline",
421
+ "tw:aria-disabled:opacity-40",
422
+ "tw:aria-disabled:cursor-not-allowed",
423
+ "tw:[&_svg]:shrink-0"
520
424
  ],
521
425
  {
522
426
  defaultVariants: {
@@ -526,113 +430,113 @@ var variants = cva(
526
430
  },
527
431
  variants: {
528
432
  block: {
529
- true: ["tw-w-full"]
433
+ true: ["tw:w-full"]
530
434
  },
531
435
  variant: {
532
436
  primary: [
533
- "tw-text-white",
534
- "tw-bg-primary-500",
535
- "focus:tw-text-white",
536
- "hover:tw-text-white",
537
- "hover:not-disabled:tw-bg-primary-600",
538
- "active:not-disabled:tw-bg-primary-800",
437
+ "tw:text-white",
438
+ "tw:bg-primary-500",
439
+ "tw:focus:text-white",
440
+ "tw:hover:text-white",
441
+ "tw:hover:not-disabled:bg-primary-600",
442
+ "tw:active:not-disabled:bg-primary-800",
539
443
  // anchor disabled override
540
- "aria-disabled:!tw-bg-primary-500"
444
+ "tw:aria-disabled:!bg-primary-500"
541
445
  ],
542
446
  secondary: [
543
- "tw-text-white",
544
- "tw-bg-secondary-500",
545
- "focus:tw-text-white",
546
- "hover:tw-text-white",
547
- "hover:not-disabled:tw-bg-secondary-700",
548
- "active:not-disabled:tw-bg-secondary-800",
447
+ "tw:text-white",
448
+ "tw:bg-secondary-500",
449
+ "tw:focus:text-white",
450
+ "tw:hover:text-white",
451
+ "tw:hover:not-disabled:bg-secondary-700",
452
+ "tw:active:not-disabled:bg-secondary-800",
549
453
  // anchor disabled override
550
- "aria-disabled:!tw-bg-secondary-500"
454
+ "tw:aria-disabled:!bg-secondary-500"
551
455
  ],
552
456
  danger: [
553
- "tw-text-white",
554
- "tw-bg-error-500",
555
- "focus:tw-text-white",
556
- "hover:tw-text-white",
557
- "hover:not-disabled:tw-bg-error-600",
558
- "active:not-disabled:tw-bg-error-700",
457
+ "tw:text-white",
458
+ "tw:bg-error-500",
459
+ "tw:focus:text-white",
460
+ "tw:hover:text-white",
461
+ "tw:hover:not-disabled:bg-error-600",
462
+ "tw:active:not-disabled:bg-error-700",
559
463
  // anchor disabled override
560
- "aria-disabled:!tw-bg-error-500"
464
+ "tw:aria-disabled:!bg-error-500"
561
465
  ],
562
466
  invisible: [
563
- "tw-text-neutral-800",
564
- "tw-bg-transparent",
565
- "focus:tw-text-neutral-800",
566
- "hover:not-disabled:tw-bg-neutral-100",
567
- "hover:tw-text-neutral-800",
568
- "active:not-disabled:tw-bg-neutral-150",
467
+ "tw:text-neutral-800",
468
+ "tw:bg-transparent",
469
+ "tw:focus:text-neutral-800",
470
+ "tw:hover:not-disabled:bg-neutral-100",
471
+ "tw:hover:text-neutral-800",
472
+ "tw:active:not-disabled:bg-neutral-150",
569
473
  // contrasting icon on hover/active
570
- "[&_svg]:tw-text-neutral-400",
571
- "[&_svg]:hover:not-disabled:tw-text-secondary-600",
572
- "[&_svg]:active:not-disabled:tw-text-secondary-600",
474
+ "tw:[&_svg]:text-neutral-400",
475
+ "tw:hover:not-disabled:[&_svg]:text-secondary-600",
476
+ "tw:active:not-disabled:[&_svg]:text-secondary-600",
573
477
  // anchor disabled override
574
- "aria-disabled:!tw-bg-transparent"
478
+ "tw:aria-disabled:!bg-transparent"
575
479
  ],
576
480
  outline: [
577
- "tw-text-neutral-800",
578
- "tw-bg-white",
481
+ "tw:text-neutral-800",
482
+ "tw:bg-white",
579
483
  // border
580
- "!tw-border-neutral-200",
581
- "hover:tw-text-neutral-800",
582
- "focus:tw-text-neutral-800",
583
- "hover:not-disabled:!tw-border-neutral-300",
584
- "hover:not-disabled:tw-bg-neutral-100",
585
- "active:not-disabled:tw-bg-neutral-200",
484
+ "tw:!border-neutral-200",
485
+ "tw:hover:text-neutral-800",
486
+ "tw:focus:text-neutral-800",
487
+ "tw:hover:not-disabled:!border-neutral-300",
488
+ "tw:hover:not-disabled:bg-neutral-100",
489
+ "tw:active:not-disabled:bg-neutral-200",
586
490
  // contrasting icon hover, same as invisible
587
- "[&_svg]:tw-text-neutral-400",
588
- "[&_svg]:not-disabled:hover:tw-text-secondary-600",
589
- "[&_svg]:active:not-disabled:tw-text-secondary-600",
491
+ "tw:[&_svg]:text-neutral-400",
492
+ "tw:not-disabled:hover:[&_svg]:text-secondary-600",
493
+ "tw:active:not-disabled:[&_svg]:text-secondary-600",
590
494
  // anchor disabled override
591
- "aria-disabled:!tw-bg-white",
592
- "aria-disabled:!tw-border-neutral-200"
495
+ "tw:aria-disabled:!bg-white",
496
+ "tw:aria-disabled:!border-neutral-200"
593
497
  ],
594
498
  inline: [
595
- "tw-text-neutral-800",
596
- "tw-bg-transparent",
597
- "tw-rounded-full",
598
- "[&_svg]:tw-text-neutral-400",
599
- "[&_svg]:not-disabled:hover:tw-text-secondary-600",
600
- "[&_svg]:not-disabled:focus:tw-text-secondary-600"
499
+ "tw:text-neutral-800",
500
+ "tw:bg-transparent",
501
+ "tw:rounded-full",
502
+ "tw:[&_svg]:text-neutral-400",
503
+ "tw:not-disabled:hover:[&_svg]:text-secondary-600",
504
+ "tw:not-disabled:focus:[&_svg]:text-secondary-600"
601
505
  ]
602
506
  },
603
507
  size: {
604
508
  medium: [
605
- "tw-max-h-10",
606
- "tw-min-h-10",
607
- "tw-px-4",
608
- "tw-py-2.5",
609
- '[&_svg:not([class*="tw-size-"])]:tw-size-4'
509
+ "tw:max-h-10",
510
+ "tw:min-h-10",
511
+ "tw:px-4",
512
+ "tw:py-2.5",
513
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4'
610
514
  ],
611
515
  small: [
612
- "tw-max-h-8",
613
- "tw-min-h-8",
614
- "tw-px-4",
615
- "tw-py-1.5",
616
- '[&_svg:not([class*="tw-size-"])]:tw-size-4'
516
+ "tw:max-h-8",
517
+ "tw:min-h-8",
518
+ "tw:px-4",
519
+ "tw:py-1.5",
520
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4'
617
521
  ],
618
522
  large: [
619
- "tw-max-h-12",
620
- "tw-min-h-12",
621
- "tw-px-4",
622
- "tw-py-3.5",
623
- '[&_svg:not([class*="tw-size-"])]:tw-size-4'
523
+ "tw:max-h-12",
524
+ "tw:min-h-12",
525
+ "tw:px-4",
526
+ "tw:py-3.5",
527
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4'
624
528
  ],
625
- "icon-lg": ["tw-size-12", "tw-p-0", '[&_svg:not([class*="tw-size-"])]:tw-size-6'],
626
- icon: ["tw-size-10", "tw-p-0", '[&_svg:not([class*="tw-size-"])]:tw-size-4'],
627
- "icon-sm": ["tw-size-8", "tw-p-0", '[&_svg:not([class*="tw-size-"])]:tw-size-4'],
628
- "icon-xs": ["tw-size-6", "tw-p-0", '[&_svg:not([class*="tw-size-"])]:tw-size-4'],
529
+ "icon-lg": ["tw:size-12", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-6'],
530
+ icon: ["tw:size-10", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
531
+ "icon-sm": ["tw:size-8", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
532
+ "icon-xs": ["tw:size-6", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
629
533
  "icon-2xs": [
630
- "!tw-inline-flex",
631
- "tw-size-5",
632
- "tw-max-h-5",
633
- '[&_svg:not([class*="tw-size-"])]:tw-size-3'
534
+ "tw:!inline-flex",
535
+ "tw:size-5",
536
+ "tw:max-h-5",
537
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3'
634
538
  ],
635
- "icon-3xs": ["tw-h-fit", "tw-w-fit", '[&_svg:not([class*="tw-size-"])]:tw-size-4']
539
+ "icon-3xs": ["tw:h-fit", "tw:w-fit", 'tw:[&_svg:not([class*="tw:size-"])]:size-4']
636
540
  }
637
541
  }
638
542
  }
@@ -641,37 +545,37 @@ var argoVariants = cva(
641
545
  [
642
546
  "tailwindcss-preflight",
643
547
  // layout
644
- "tw-relative",
645
- "tw-inline-flex",
646
- "tw-items-center",
647
- "tw-justify-center",
648
- "tw-whitespace-nowrap",
649
- "tw-gap-2",
548
+ "tw:relative",
549
+ "tw:inline-flex",
550
+ "tw:items-center",
551
+ "tw:justify-center",
552
+ "tw:whitespace-nowrap",
553
+ "tw:gap-2",
650
554
  // border
651
- "tw-border",
652
- "tw-border-transparent",
653
- "tw-rounded-[var(--radius-lg,0.25rem)]",
555
+ "tw:border",
556
+ "tw:border-transparent",
557
+ "tw:rounded-[var(--radius-lg,0.25rem)]",
654
558
  // text
655
- "tw-font-medium",
656
- "tw-select-none",
559
+ "tw:font-medium",
560
+ "tw:select-none",
657
561
  // focus visible
658
- "!tw-outline-none",
659
- "focus-visible:tw-ring-2",
562
+ "tw:!outline-hidden",
563
+ "tw:focus-visible:ring-2",
660
564
  // disabled
661
- "disabled:tw-cursor-not-allowed",
662
- "disabled:tw-opacity-50",
663
- "active:tw-opacity-60",
664
- "tw-transition-all",
665
- "tw-bg-clip-padding",
565
+ "tw:disabled:cursor-not-allowed",
566
+ "tw:disabled:opacity-50",
567
+ "tw:active:opacity-60",
568
+ "tw:transition-all",
569
+ "tw:bg-clip-padding",
666
570
  // anchor support
667
- "!tw-no-underline",
668
- "aria-disabled:tw-cursor-not-allowed",
669
- "aria-disabled:tw-opacity-50",
571
+ "tw:!no-underline",
572
+ "tw:aria-disabled:cursor-not-allowed",
573
+ "tw:aria-disabled:opacity-50",
670
574
  // icon
671
- "tw-shrink-0",
672
- "[&_svg]:tw-pointer-events-none",
673
- "[&_svg]:tw-shrink-0",
674
- "[&_svg:not([class*='tw-size-'])]:tw-size-4"
575
+ "tw:shrink-0",
576
+ "tw:[&_svg]:pointer-events-none",
577
+ "tw:[&_svg]:shrink-0",
578
+ "tw:[&_svg:not([class*='tw:size-'])]:size-4"
675
579
  ],
676
580
  {
677
581
  defaultVariants: {
@@ -680,77 +584,77 @@ var argoVariants = cva(
680
584
  },
681
585
  variants: {
682
586
  block: {
683
- true: ["tw-w-full"]
587
+ true: ["tw:w-full"]
684
588
  },
685
589
  variant: {
686
590
  primary: [
687
- "tw-bg-primary",
688
- "tw-text-primary-foreground",
689
- "[a]:hover:tw-bg-primary/80",
690
- "hover:not-disabled:tw-bg-primary/90",
691
- "hover:tw-text-primary-foreground",
692
- "focus:tw-text-primary-foreground",
693
- "focus-visible:tw-border-primary",
694
- "focus-visible:tw-ring-ring/50"
591
+ "tw:bg-primary",
592
+ "tw:text-primary-foreground",
593
+ "tw:[a]:hover:bg-primary/80",
594
+ "tw:hover:not-disabled:bg-primary/90",
595
+ "tw:hover:text-primary-foreground",
596
+ "tw:focus:text-primary-foreground",
597
+ "tw:focus-visible:border-primary",
598
+ "tw:focus-visible:ring-ring/50"
695
599
  ],
696
600
  secondary: [
697
- "tw-bg-primary/10",
698
- "tw-text-primary",
699
- "hover:not-disabled:tw-bg-primary/20",
700
- "focus-visible:tw-border-primary",
701
- "focus-visible:tw-ring-ring/50"
601
+ "tw:bg-primary/10",
602
+ "tw:text-primary",
603
+ "tw:hover:not-disabled:bg-primary/20",
604
+ "tw:focus-visible:border-primary",
605
+ "tw:focus-visible:ring-ring/50"
702
606
  ],
703
607
  // should be called "destructive" by Figma
704
608
  danger: [
705
- "tw-bg-destructive",
706
- "tw-text-destructive-foreground",
707
- "hover:tw-text-destructive-foreground",
708
- "focus:tw-text-destructive-foreground",
709
- "focus-visible:tw-border-destructive",
710
- "focus-visible:tw-ring-destructive/20"
609
+ "tw:bg-destructive",
610
+ "tw:text-destructive-foreground",
611
+ "tw:hover:text-destructive-foreground",
612
+ "tw:focus:text-destructive-foreground",
613
+ "tw:focus-visible:border-destructive",
614
+ "tw:focus-visible:ring-destructive/20"
711
615
  ],
712
616
  outline: [
713
- "!tw-border-input",
714
- "tw-bg-background",
617
+ "tw:!border-input",
618
+ "tw:bg-background",
715
619
  // Semantic base text color so the label/icon flips in dark mode
716
620
  // (matches `invisible`); previously unset → inherited a fixed dark color.
717
- "tw-text-foreground",
621
+ "tw:text-foreground",
718
622
  // Hover follows the brand primary (translucent tint), matching the
719
623
  // `secondary` variant — not the fixed `accent` blue.
720
- "hover:not-disabled:tw-bg-primary/10",
721
- "hover:not-disabled:tw-text-primary",
722
- "hover:active:tw-bg-background",
723
- "focus-visible:!tw-border-primary",
724
- "focus-visible:tw-ring-ring/50"
624
+ "tw:hover:not-disabled:bg-primary/10",
625
+ "tw:hover:not-disabled:text-primary",
626
+ "tw:hover:active:bg-background",
627
+ "tw:focus-visible:!border-primary",
628
+ "tw:focus-visible:ring-ring/50"
725
629
  ],
726
630
  // should be called "ghost" by Figma
727
631
  invisible: [
728
- "tw-bg-transparent",
729
- "tw-text-foreground",
730
- "hover:not-disabled:tw-bg-primary/10",
731
- "hover:not-disabled:tw-text-primary",
732
- "hover:not-disabled:tw-border-primary/10",
733
- "focus-visible:tw-ring-ring/50"
632
+ "tw:bg-transparent",
633
+ "tw:text-foreground",
634
+ "tw:hover:not-disabled:bg-primary/10",
635
+ "tw:hover:not-disabled:text-primary",
636
+ "tw:hover:not-disabled:border-primary/10",
637
+ "tw:focus-visible:ring-ring/50"
734
638
  ],
735
639
  // should be called "link" by Figma
736
640
  inline: [
737
- "tw-bg-transparent",
738
- "tw-text-primary",
739
- "hover:tw-underline",
740
- "hover:active:tw-bg-transparent",
741
- "focus-visible:tw-ring-ring/50"
641
+ "tw:bg-transparent",
642
+ "tw:text-primary",
643
+ "tw:hover:underline",
644
+ "tw:hover:active:bg-transparent",
645
+ "tw:focus-visible:ring-ring/50"
742
646
  ]
743
647
  },
744
648
  size: {
745
649
  // should be called "default" by Figma
746
- medium: ["tw-max-h-9", "tw-py-2", "tw-px-4", "tw-text-sm"],
650
+ medium: ["tw:max-h-9", "tw:py-2", "tw:px-4", "tw:text-sm"],
747
651
  // should be called "small" by Figma
748
- small: ["tw-max-h-8", "tw-py-2", "tw-px-3", "tw-text-xs"],
652
+ small: ["tw:max-h-8", "tw:py-2", "tw:px-3", "tw:text-xs"],
749
653
  // should be called "large" by Figma
750
- large: ["tw-max-h-10", "tw-py-2.5", "tw-px-6", "tw-text-sm"],
751
- "icon-lg": ["tw-size-10"],
752
- icon: ["tw-size-9"],
753
- "icon-sm": ["tw-size-8"],
654
+ large: ["tw:max-h-10", "tw:py-2.5", "tw:px-6", "tw:text-sm"],
655
+ "icon-lg": ["tw:size-10"],
656
+ icon: ["tw:size-9"],
657
+ "icon-sm": ["tw:size-8"],
754
658
  // unsupported in ARGO, remove when old design is gone
755
659
  "icon-xs": [],
756
660
  "icon-2xs": [],
@@ -798,13 +702,13 @@ var Button = ({
798
702
  onClick: handleClick,
799
703
  className: cn(classNames),
800
704
  children: [
801
- isLoading && /* @__PURE__ */ jsx(icons_exports.Loader2, { className: "tw-size-4 tw-shrink-0 tw-animate-spin" }),
705
+ isLoading && /* @__PURE__ */ jsx(Loader2, { className: "tw:size-4 tw:shrink-0 tw:animate-spin" }),
802
706
  /* @__PURE__ */ jsx(Slottable, { children: isLoading && isIconOnly ? null : children })
803
707
  ]
804
708
  }
805
709
  );
806
710
  };
807
- var Clipboard = ({
711
+ var Clipboard2 = ({
808
712
  ref,
809
713
  text: textProp,
810
714
  children,
@@ -829,6 +733,7 @@ var Clipboard = ({
829
733
  }
830
734
  };
831
735
  const handleOnClick = (event) => {
736
+ setIsTooltipOpen(true);
832
737
  if (text && state === "ready") void copy(text);
833
738
  onClick?.(event);
834
739
  };
@@ -843,6 +748,7 @@ var Clipboard = ({
843
748
  return tooltip;
844
749
  })();
845
750
  const tooltipVariant = state === "ready" && !!text ? tooltipVariantProp : "action";
751
+ const hasTooltipContent = tooltipContent !== null && tooltipContent !== void 0;
846
752
  return /* @__PURE__ */ jsxs(Tooltip.Root, { open: isTooltipOpen, onOpenChange: handleOnOpenChange, children: [
847
753
  /* @__PURE__ */ jsx(
848
754
  Tooltip.Trigger,
@@ -851,12 +757,12 @@ var Clipboard = ({
851
757
  asChild,
852
758
  keepOpenOnClick: true,
853
759
  onClick: handleOnClick,
854
- className: cn("tw-cursor-pointer", className),
760
+ className: cn("tw:cursor-pointer", className),
855
761
  ref,
856
762
  children: children ?? text
857
763
  }
858
764
  ),
859
- /* @__PURE__ */ jsx(
765
+ hasTooltipContent && /* @__PURE__ */ jsx(
860
766
  Tooltip.Content,
861
767
  {
862
768
  keepOpenOnPointerDownOutside: true,
@@ -867,7 +773,7 @@ var Clipboard = ({
867
773
  )
868
774
  ] });
869
775
  };
870
- var DEFAULT_ICON = /* @__PURE__ */ jsx(icons_exports.Copy, {});
776
+ var DEFAULT_ICON = /* @__PURE__ */ jsx(Copy, {});
871
777
  var DEFAULT_ARIA_LABEL = "Copy";
872
778
  var ClipboardButton = ({
873
779
  // clipboard props
@@ -884,7 +790,7 @@ var ClipboardButton = ({
884
790
  const defaultAriaLabel = typeof tooltip === "string" && tooltip.trim() ? tooltip : DEFAULT_ARIA_LABEL;
885
791
  const ariaLabel = rest["aria-label"] ?? (children == null ? defaultAriaLabel : void 0);
886
792
  return /* @__PURE__ */ jsx(
887
- Clipboard,
793
+ Clipboard2,
888
794
  {
889
795
  asChild: true,
890
796
  tooltip,
@@ -900,13 +806,198 @@ var ClipboardButton = ({
900
806
  };
901
807
  var ButtonToolbar = ({ value, children }) => {
902
808
  if (!value && !children) return null;
903
- return /* @__PURE__ */ jsxs("div", { className: "tw-pointer-events-auto tw-ml-auto tw-mr-4 tw-flex tw-w-fit tw-gap-1 tw-overflow-visible tw-rounded-lg tw-border tw-border-solid tw-border-border !tw-bg-background tw-p-[3px] tw-shadow", children: [
809
+ return /* @__PURE__ */ jsxs("div", { className: "tw:pointer-events-auto tw:ml-auto tw:mr-4 tw:flex tw:w-fit tw:gap-1 tw:overflow-visible tw:rounded-lg tw:border tw:border-solid tw:border-border tw:!bg-background tw:p-[3px] tw:shadow", children: [
904
810
  !!value && /* @__PURE__ */ jsx(ClipboardButton, { size: "icon-sm", variant: "invisible", text: value }),
905
811
  children
906
812
  ] });
907
813
  };
814
+ var COMMANDS = [
815
+ "run-operation",
816
+ "source freshness",
817
+ "docs generate",
818
+ "run",
819
+ "test",
820
+ "seed",
821
+ "snapshot",
822
+ "list",
823
+ "ls",
824
+ "compile",
825
+ "build",
826
+ "deps"
827
+ ];
828
+ var ARGUMENTS = ["--select", "--exclude", "--selector", "--defer", "--resource-type", "-s"];
829
+ var METHODS = [
830
+ "path:",
831
+ "source:",
832
+ "tag:",
833
+ "package:",
834
+ "config:",
835
+ "test_type:",
836
+ "test_name:",
837
+ "state:",
838
+ "exposure:",
839
+ "metric:",
840
+ "result:",
841
+ "source_status:",
842
+ "column_name:"
843
+ ];
844
+ var FLAGS = [
845
+ "--fail-fast",
846
+ "--warn-error",
847
+ "--favor-state",
848
+ "--vars",
849
+ "--models",
850
+ "--threads",
851
+ "--profiles-dir",
852
+ "--profile",
853
+ "--full-refresh"
854
+ ];
855
+ var word = (list) => new RegExp(`^\\s+(?:${list.join("|")})\\b`, "i");
856
+ var prefix = (list) => new RegExp(`^\\s+(?:${list.join("|")})`, "i");
857
+ var dbt = simpleMode({
858
+ start: [
859
+ { regex: /"(?:[^\\]|\\.)*?(?:"|$)/, token: "string" },
860
+ { regex: /dbt/, token: "keyword", sol: true },
861
+ { regex: word(COMMANDS), token: "keyword" },
862
+ { regex: word(ARGUMENTS), token: "variableName" },
863
+ { regex: prefix(METHODS), token: "propertyName" },
864
+ { regex: prefix(FLAGS), token: "attributeName" },
865
+ { regex: /(?:@|\*|,|\+\d+|\d+\+|\+)/, token: "operator" },
866
+ { regex: /'.*'/, token: "string" },
867
+ { regex: /true|false/, token: "atom" }
868
+ ]
869
+ });
870
+
871
+ // src/components/CodeEditor/modes/jsonnet.ts
872
+ var COMMENT_END = /^\*\//;
873
+ var COMMENT_START = /^\/\/|^#/;
874
+ var C_COMMENT_START = /^\/\*/;
875
+ var TEXT_BLOCK = /^\|\|\|/;
876
+ var TEXT_BLOCK_END = /^\s*\|\|\|/;
877
+ var RAW_DOUBLE = /^""/;
878
+ var RAW_SINGLE = /^''/;
879
+ var CLOSE_DOUBLE = /^"/;
880
+ var CLOSE_SINGLE = /^'/;
881
+ var ESCAPE = /^\\[\\"'/bfnrt0]/;
882
+ var UNICODE_ESCAPE = /^\\u[0-9a-fA-F]{4}/;
883
+ var BACKSLASH = /^\\/;
884
+ var IMPORT = /^import(?:str)?\s*(@?)(["'])/;
885
+ var QUOTE = /^(@?)(["'])/;
886
+ var ROOT = /^\$/;
887
+ var NUMBER = /^(?:\.\d+|\d+\.?\d*)(?:e[-+]?\d+)?/i;
888
+ var OPERATOR = /^[-+/*=<>!&~^|$%]+/;
889
+ var IDENTIFIER = /^[a-zA-Z_][a-zA-Z0-9_]*/;
890
+ var KEYWORDS = {
891
+ local: "keyword",
892
+ self: "keyword",
893
+ super: "keyword",
894
+ assert: "keyword",
895
+ function: "keyword",
896
+ if: "keyword",
897
+ then: "keyword",
898
+ else: "keyword",
899
+ for: "keyword",
900
+ in: "keyword",
901
+ tailstrict: "keyword",
902
+ error: "keyword",
903
+ true: "atom",
904
+ false: "atom",
905
+ null: "atom"
906
+ };
907
+ var jsonnet = {
908
+ name: "jsonnet",
909
+ startState: () => ({
910
+ cComment: false,
911
+ textBlock: false,
912
+ textBlockIndent: null,
913
+ string: false,
914
+ importString: false,
915
+ stringSingle: false,
916
+ stringRaw: false
917
+ }),
918
+ token: (stream, state) => {
919
+ if (state.cComment) {
920
+ if (stream.match(COMMENT_END)) {
921
+ state.cComment = false;
922
+ return "comment";
923
+ }
924
+ stream.next();
925
+ return "comment";
926
+ }
927
+ if (state.textBlock) {
928
+ if (state.textBlockIndent == null) {
929
+ if (stream.match(TEXT_BLOCK_END)) {
930
+ state.textBlock = false;
931
+ return "string";
932
+ }
933
+ state.textBlockIndent = stream.indentation();
934
+ }
935
+ if (stream.indentation() >= state.textBlockIndent) {
936
+ stream.skipToEnd();
937
+ return "string";
938
+ }
939
+ if (stream.match(TEXT_BLOCK_END)) {
940
+ state.textBlock = false;
941
+ return "string";
942
+ }
943
+ stream.next();
944
+ return "invalid";
945
+ }
946
+ if (state.string || state.importString) {
947
+ const style = state.string ? "string" : "meta";
948
+ if (state.stringRaw) {
949
+ if (stream.match(state.stringSingle ? RAW_SINGLE : RAW_DOUBLE)) return "escape";
950
+ } else {
951
+ if (stream.match(ESCAPE)) return "escape";
952
+ if (stream.match(UNICODE_ESCAPE)) return "escape";
953
+ if (stream.match(BACKSLASH)) return "invalid";
954
+ }
955
+ if (stream.match(state.stringSingle ? CLOSE_SINGLE : CLOSE_DOUBLE)) {
956
+ state.string = false;
957
+ state.importString = false;
958
+ return style;
959
+ }
960
+ stream.next();
961
+ return style;
962
+ }
963
+ if (stream.match(COMMENT_START)) {
964
+ stream.skipToEnd();
965
+ return "comment";
966
+ }
967
+ if (stream.match(C_COMMENT_START)) {
968
+ state.cComment = true;
969
+ return "comment";
970
+ }
971
+ const imported = stream.match(IMPORT);
972
+ if (Array.isArray(imported)) {
973
+ state.importString = true;
974
+ state.stringRaw = imported[1] === "@";
975
+ state.stringSingle = imported[2] === "'";
976
+ return "meta";
977
+ }
978
+ const quoted = stream.match(QUOTE);
979
+ if (Array.isArray(quoted)) {
980
+ state.string = true;
981
+ state.stringRaw = quoted[1] === "@";
982
+ state.stringSingle = quoted[2] === "'";
983
+ return "string";
984
+ }
985
+ if (stream.match(TEXT_BLOCK)) {
986
+ state.textBlock = true;
987
+ state.textBlockIndent = null;
988
+ return "string";
989
+ }
990
+ if (stream.match(ROOT)) return "keyword";
991
+ if (stream.match(NUMBER)) return "number";
992
+ if (stream.match(OPERATOR)) return "operator";
993
+ const identifier = stream.match(IDENTIFIER);
994
+ if (Array.isArray(identifier)) return KEYWORDS[identifier[0]] ?? null;
995
+ stream.next();
996
+ return null;
997
+ }
998
+ };
908
999
  var resolveToken = (token, fallbackChannels, alpha) => {
909
- const channels = typeof document === "undefined" ? fallbackChannels : getComputedStyle(document.documentElement).getPropertyValue(`--color-${token}`).trim() || fallbackChannels;
1000
+ const channels = typeof document === "undefined" ? fallbackChannels : getComputedStyle(document.documentElement).getPropertyValue(`--${token}`).trim() || fallbackChannels;
910
1001
  return alpha === void 0 ? `rgb(${channels})` : `rgb(${channels} / ${alpha})`;
911
1002
  };
912
1003
  var SSR_SIGNAL = "ssr";
@@ -926,12 +1017,38 @@ var subscribeThemeSignal = (onChange) => {
926
1017
  return () => observer.disconnect();
927
1018
  };
928
1019
  var useThemeSignal = () => useSyncExternalStore(subscribeThemeSignal, readThemeSignal, () => SSR_SIGNAL);
929
- var useThemedExtension = (build, deps = []) => {
1020
+ var themeCache = /* @__PURE__ */ new Map();
1021
+ var useThemedExtension = (cacheKey, build) => {
930
1022
  const themeSignal = useThemeSignal();
931
- return useMemo(build, [themeSignal, ...deps]);
1023
+ const key = `${themeSignal} ${cacheKey}`;
1024
+ let cached = themeCache.get(key);
1025
+ if (!cached) {
1026
+ cached = build();
1027
+ themeCache.set(key, cached);
1028
+ }
1029
+ return cached;
932
1030
  };
933
1031
 
934
1032
  // src/components/CodeEditor/helpers.ts
1033
+ var LANGUAGE_MODES = [
1034
+ "application/json",
1035
+ "text/plain",
1036
+ "text/x-python",
1037
+ "text/x-sql",
1038
+ "text/x-mysql",
1039
+ "text/x-pgsql",
1040
+ "text/x-mssql",
1041
+ "text/x-sfsql",
1042
+ "text/x-plsql",
1043
+ "text/x-rsrc",
1044
+ "text/x-sh",
1045
+ "text/x-toml",
1046
+ "text/jsonnet",
1047
+ "text/x-dbt",
1048
+ "text/javascript",
1049
+ "text/typescript"
1050
+ ];
1051
+ var isLanguageMode = (mode) => LANGUAGE_MODES.includes(mode);
935
1052
  var buildBaseThemeStyles = () => ({
936
1053
  "*": { lineHeight: "20px" },
937
1054
  "*::selection": {
@@ -972,7 +1089,27 @@ var buildBaseThemeStyles = () => ({
972
1089
  ".cm-changeGutter": { position: "absolute", zIndex: -1, width: "100%", paddingLeft: 0 },
973
1090
  '&[class*="cm-merge-"] .cm-changedLine,&[class*="cm-merge-"] .cm-line, &[class*="cm-merge-"] .cm-deletedChunk': { paddingLeft: 0 }
974
1091
  });
975
- var BASIS_SETUP = { drawSelection: false };
1092
+ var ALWAYS_OFF = {
1093
+ drawSelection: false,
1094
+ foldGutter: false,
1095
+ foldKeymap: false,
1096
+ highlightActiveLine: false,
1097
+ highlightActiveLineGutter: false
1098
+ };
1099
+ var buildBasicSetup = (readOnly) => ({
1100
+ ...ALWAYS_OFF,
1101
+ ...readOnly ? {
1102
+ history: false,
1103
+ historyKeymap: false,
1104
+ closeBrackets: false,
1105
+ closeBracketsKeymap: false,
1106
+ lintKeymap: false,
1107
+ indentOnInput: false,
1108
+ rectangularSelection: false,
1109
+ dropCursor: false,
1110
+ highlightSelectionMatches: false
1111
+ } : null
1112
+ });
976
1113
  var buildCustomTheme = () => githubLightInit({
977
1114
  settings: {
978
1115
  fontFamily: `'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New'`,
@@ -987,10 +1124,19 @@ var buildCustomTheme = () => githubLightInit({
987
1124
  });
988
1125
  var getLanguageMode = (mode) => {
989
1126
  switch (mode) {
1127
+ case void 0:
1128
+ case "application/json":
1129
+ return json();
990
1130
  case "text/x-python":
991
1131
  return python();
992
1132
  case "text/x-sql":
993
1133
  return sql({ upperCaseKeywords: true });
1134
+ case "text/x-mysql":
1135
+ return sql({ upperCaseKeywords: true, dialect: MySQL });
1136
+ case "text/x-pgsql":
1137
+ return sql({ upperCaseKeywords: true, dialect: PostgreSQL });
1138
+ case "text/x-mssql":
1139
+ return sql({ upperCaseKeywords: true, dialect: MSSQL });
994
1140
  case "text/x-sfsql":
995
1141
  return StreamLanguage.define(sfsql);
996
1142
  case "text/x-plsql":
@@ -999,23 +1145,32 @@ var getLanguageMode = (mode) => {
999
1145
  return StreamLanguage.define(r);
1000
1146
  case "text/x-sh":
1001
1147
  return StreamLanguage.define(shell);
1148
+ case "text/x-toml":
1149
+ return StreamLanguage.define(toml);
1150
+ case "text/jsonnet":
1151
+ return StreamLanguage.define(jsonnet);
1152
+ case "text/x-dbt":
1153
+ return StreamLanguage.define(dbt);
1002
1154
  case "text/javascript":
1003
1155
  return javascript({ jsx: true });
1004
1156
  case "text/typescript":
1005
1157
  return javascript({ jsx: true, typescript: true });
1158
+ // No language — `text/plain` lands here, and so does any mode added to
1159
+ // LANGUAGE_MODES without an arm above. Unstyled text is the safe degradation;
1160
+ // a `json()` default would colour unrelated content as if it were JSON.
1006
1161
  default:
1007
- return json();
1162
+ return [];
1008
1163
  }
1009
1164
  };
1010
1165
  var shouldLintJson = (mode, readOnly) => mode === "application/json" && !readOnly;
1011
- var KbdSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, className: cn("tw-text-xs tw-text-muted-foreground", className) });
1166
+ var KbdSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, className: cn("tw:text-xs tw:text-muted-foreground", className) });
1012
1167
  var KbdGroup = ({ ref, className, children, separator, ...props }) => {
1013
1168
  return /* @__PURE__ */ jsx(
1014
1169
  "kbd",
1015
1170
  {
1016
1171
  ...props,
1017
1172
  ref,
1018
- className: cn("tw-inline-flex", "tw-items-center", "tw-gap-1", className),
1173
+ className: cn("tw:inline-flex", "tw:items-center", "tw:gap-1", className),
1019
1174
  children: separator ? (
1020
1175
  // oxlint-disable-next-line react-x/no-children-to-array
1021
1176
  Children.toArray(children).map((child, index) => (
@@ -1033,22 +1188,22 @@ var kbdVariants = cva(
1033
1188
  [
1034
1189
  "tailwindcss-preflight",
1035
1190
  // style
1036
- "tw-pointer-events-none",
1037
- "tw-w-fit",
1038
- "tw-h-5",
1039
- "tw-min-w-5",
1191
+ "tw:pointer-events-none",
1192
+ "tw:w-fit",
1193
+ "tw:h-5",
1194
+ "tw:min-w-5",
1040
1195
  // layout
1041
- "tw-inline-flex",
1042
- "tw-items-center",
1043
- "tw-justify-center",
1044
- "tw-gap-1",
1045
- "tw-shrink-0",
1196
+ "tw:inline-flex",
1197
+ "tw:items-center",
1198
+ "tw:justify-center",
1199
+ "tw:gap-1",
1200
+ "tw:shrink-0",
1046
1201
  // spacing
1047
- "tw-px-1",
1048
- '[&_svg:not([class*="size-"])]:tw-size-2.5',
1049
- "tw-text-xs",
1050
- "tw-font-medium",
1051
- "tw-rounded"
1202
+ "tw:px-1",
1203
+ 'tw:[&_svg:not([class*="size-"])]:size-2.5',
1204
+ "tw:text-xs",
1205
+ "tw:font-medium",
1206
+ "tw:rounded"
1052
1207
  ],
1053
1208
  {
1054
1209
  defaultVariants: {
@@ -1056,8 +1211,8 @@ var kbdVariants = cva(
1056
1211
  },
1057
1212
  variants: {
1058
1213
  variant: {
1059
- default: "tw-bg-muted tw-text-muted-foreground",
1060
- primary: "tw-bg-white/20 tw-text-white"
1214
+ default: "tw:bg-muted tw:text-muted-foreground",
1215
+ primary: "tw:bg-white/20 tw:text-white"
1061
1216
  }
1062
1217
  }
1063
1218
  }
@@ -1080,6 +1235,7 @@ var CodeEditor = ({
1080
1235
  onChange,
1081
1236
  mode = "application/json",
1082
1237
  placeholder: placeholder$1 = "",
1238
+ ariaLabel,
1083
1239
  readOnly = false,
1084
1240
  autocompletions = emptyArray,
1085
1241
  extraKeys = emptyObject,
@@ -1088,19 +1244,23 @@ var CodeEditor = ({
1088
1244
  withLineNumbers = true,
1089
1245
  withLineWrapping = true,
1090
1246
  withCollapseUnchanged = false,
1091
- withCopyButton = true,
1247
+ withCopyButton = false,
1092
1248
  completeAny = false,
1093
1249
  help = null,
1094
1250
  helpPostfix = null,
1095
1251
  renderAdditionalButtons,
1096
1252
  className
1097
1253
  }) => {
1098
- const customTheme = useThemedExtension(buildCustomTheme);
1099
- const baseTheme = useThemedExtension(() => EditorView.theme(buildBaseThemeStyles()));
1254
+ const handleChange = useStableCallback((next) => onChange?.(next));
1255
+ const customTheme = useThemedExtension("editor:syntax", buildCustomTheme);
1256
+ const baseTheme = useThemedExtension(
1257
+ "code-editor:chrome",
1258
+ () => EditorView.theme(buildBaseThemeStyles())
1259
+ );
1100
1260
  const commonExtensions = useMemo(() => {
1101
1261
  return [
1102
1262
  getLanguageMode(mode),
1103
- shouldLintJson(mode, readOnly) && linter(jsonParseLinter()),
1263
+ shouldLintJson(mode, readOnly) ? linter(jsonParseLinter()) : [],
1104
1264
  withLineWrapping ? EditorView.lineWrapping : [],
1105
1265
  EditorState.languageData.of(() => [
1106
1266
  { autocomplete: completeAny ? completeAnyWord : autocompletions }
@@ -1115,10 +1275,20 @@ var CodeEditor = ({
1115
1275
  }
1116
1276
  }))
1117
1277
  ),
1118
- autocompletion({ activateOnTyping: completeAny }),
1278
+ readOnly ? [] : autocompletion({ activateOnTyping: completeAny }),
1279
+ ariaLabel ? EditorView.contentAttributes.of({ "aria-label": ariaLabel }) : [],
1119
1280
  baseTheme
1120
- ].filter(Boolean);
1121
- }, [autocompletions, completeAny, extraKeys, mode, readOnly, withLineWrapping, baseTheme]);
1281
+ ];
1282
+ }, [
1283
+ autocompletions,
1284
+ completeAny,
1285
+ extraKeys,
1286
+ mode,
1287
+ readOnly,
1288
+ withLineWrapping,
1289
+ baseTheme,
1290
+ ariaLabel
1291
+ ]);
1122
1292
  const extensions = useMemo(() => {
1123
1293
  return [
1124
1294
  ...commonExtensions,
@@ -1135,18 +1305,20 @@ var CodeEditor = ({
1135
1305
  }, [commonExtensions, placeholder$1, readOnly, previousValue, withCollapseUnchanged]);
1136
1306
  const config = useMemo(() => {
1137
1307
  return {
1138
- ...BASIS_SETUP,
1308
+ ...buildBasicSetup(readOnly),
1139
1309
  lineNumbers: withLineNumbers
1140
1310
  };
1141
- }, [withLineNumbers]);
1311
+ }, [withLineNumbers, readOnly]);
1312
+ const additionalButtons = renderAdditionalButtons?.(value);
1313
+ const hasToolbar = withCopyButton && !!value || !!additionalButtons;
1142
1314
  return (
1143
1315
  // oxlint-disable-next-line jsx-a11y/no-static-element-interactions
1144
1316
  /* @__PURE__ */ jsxs(
1145
1317
  "div",
1146
1318
  {
1147
1319
  className: cn(
1148
- "tw-relative tw-flex tw-min-h-0 tw-flex-col [&_.cm-mergeViewEditor]:tw-overflow-visible [&_.cm-mergeViewEditors]:tw-h-full [&_.cm-mergeView]:tw-h-full [&_>div]:tw-h-full [&_>div]:tw-overflow-auto [&_>div]:tw-bg-background",
1149
- { "tw-mt-5": !!renderAdditionalButtons },
1320
+ "tw:relative tw:flex tw:min-h-0 tw:flex-col tw:[&_.cm-mergeViewEditor]:overflow-visible tw:[&_.cm-mergeViewEditors]:h-full tw:[&_.cm-mergeView]:h-full tw:[&_>div]:h-full tw:[&_>div]:overflow-auto tw:[&_>div]:bg-background",
1321
+ { "tw:mt-8": hasToolbar },
1150
1322
  className
1151
1323
  ),
1152
1324
  onKeyDown: (event) => {
@@ -1155,19 +1327,19 @@ var CodeEditor = ({
1155
1327
  }
1156
1328
  },
1157
1329
  children: [
1158
- (withCopyButton || renderAdditionalButtons) && /* @__PURE__ */ jsx("div", { className: "tw-pointer-events-none tw-absolute tw-z-10 tw-flex !tw-h-auto tw-w-full tw-translate-y-[calc(-100%_+_8px)] !tw-overflow-visible !tw-bg-transparent", children: /* @__PURE__ */ jsx("div", { className: "tw-flex-1", children: /* @__PURE__ */ jsx(ButtonToolbar, { value: withCopyButton ? value : void 0, children: renderAdditionalButtons?.(value) }) }) }),
1330
+ hasToolbar && /* @__PURE__ */ jsx("div", { className: "tw:pointer-events-none tw:absolute tw:z-10 tw:flex tw:!h-auto tw:w-full tw:translate-y-[calc(-100%_+_8px)] tw:!overflow-visible tw:!bg-transparent", children: /* @__PURE__ */ jsx("div", { className: "tw:flex-1", children: /* @__PURE__ */ jsx(ButtonToolbar, { value: withCopyButton ? value : void 0, children: additionalButtons }) }) }),
1159
1331
  /* @__PURE__ */ jsx(
1160
1332
  CodeMirror,
1161
1333
  {
1162
1334
  theme: customTheme,
1163
1335
  value,
1164
- onChange,
1336
+ onChange: handleChange,
1165
1337
  extensions,
1166
1338
  autoFocus: withAutofocus,
1167
1339
  basicSetup: config
1168
1340
  }
1169
1341
  ),
1170
- !readOnly && (withToggleCommentHint || help || helpPostfix) && /* @__PURE__ */ jsxs(HelpBlock, { className: "tw-mt-2 tw-flex tw-flex-wrap tw-gap-1", children: [
1342
+ !readOnly && (withToggleCommentHint || help || helpPostfix) && /* @__PURE__ */ jsxs(HelpBlock, { className: "tw:mt-2 tw:flex tw:flex-wrap tw:gap-1", children: [
1171
1343
  help,
1172
1344
  withToggleCommentHint ? /* @__PURE__ */ jsx(ToggleComponentHelp, {}) : null,
1173
1345
  helpPostfix
@@ -1177,18 +1349,6 @@ var CodeEditor = ({
1177
1349
  )
1178
1350
  );
1179
1351
  };
1180
- var LANGUAGE_MODES = [
1181
- "application/json",
1182
- "text/x-python",
1183
- "text/x-sql",
1184
- "text/x-sfsql",
1185
- "text/x-plsql",
1186
- "text/x-rsrc",
1187
- "text/x-sh",
1188
- "text/javascript",
1189
- "text/typescript"
1190
- ];
1191
- var isLanguageMode = (mode) => LANGUAGE_MODES.includes(mode);
1192
1352
  var isValidJson = (raw) => {
1193
1353
  try {
1194
1354
  const parsed = JSON.parse(raw);
@@ -1238,7 +1398,7 @@ var CodeEditorWidget = ({
1238
1398
  onChange(raw);
1239
1399
  }
1240
1400
  };
1241
- const help = isJsonMode && !isReadOnly ? /* @__PURE__ */ jsxs(Fragment, { children: [
1401
+ const help = isJsonMode && !isReadOnly && options.encryptionHint !== false ? /* @__PURE__ */ jsxs(Fragment, { children: [
1242
1402
  "Properties prefixed with ",
1243
1403
  /* @__PURE__ */ jsx("code", { children: "#" }),
1244
1404
  " sign will be encrypted on save. Already encrypted strings will persist."
@@ -1249,6 +1409,7 @@ var CodeEditorWidget = ({
1249
1409
  value: text,
1250
1410
  mode,
1251
1411
  readOnly: true,
1412
+ withCopyButton: true,
1252
1413
  withLineNumbers: editorOptions.lineNumbers !== false
1253
1414
  }
1254
1415
  ) : /* @__PURE__ */ jsx(
@@ -1257,6 +1418,7 @@ var CodeEditorWidget = ({
1257
1418
  value: text,
1258
1419
  mode,
1259
1420
  onChange: handleChange,
1421
+ withCopyButton: true,
1260
1422
  withLineNumbers: editorOptions.lineNumbers !== false,
1261
1423
  help
1262
1424
  }
@@ -1308,9 +1470,9 @@ var Collapse = ({
1308
1470
  }
1309
1471
  },
1310
1472
  "data-state": open ? "open" : "closed",
1311
- className: cn("tw-group tw-flex tw-flex-col", className, {
1312
- "tw-cursor-pointer": onClick,
1313
- "tw-hidden": hidden
1473
+ className: cn("tw:group tw:flex tw:flex-col", className, {
1474
+ "tw:cursor-pointer": onClick,
1475
+ "tw:hidden": hidden
1314
1476
  }),
1315
1477
  children: [
1316
1478
  header,
@@ -1318,11 +1480,11 @@ var Collapse = ({
1318
1480
  "div",
1319
1481
  {
1320
1482
  className: cn(
1321
- "tw-grid tw-duration-300",
1322
- open ? "tw-grid-rows-[1fr]" : "tw-grid-rows-[0fr]",
1483
+ "tw:grid tw:duration-300",
1484
+ open ? "tw:grid-rows-[1fr]" : "tw:grid-rows-[0fr]",
1323
1485
  animationClassName
1324
1486
  ),
1325
- children: /* @__PURE__ */ jsx("div", { className: cn("tw-overflow-hidden", open && "tw-animate-collapseDown", bodyClassName), children })
1487
+ children: /* @__PURE__ */ jsx("div", { className: cn("tw:overflow-hidden", open && "tw:animate-collapseDown", bodyClassName), children })
1326
1488
  }
1327
1489
  )
1328
1490
  ]
@@ -1330,15 +1492,15 @@ var Collapse = ({
1330
1492
  );
1331
1493
  };
1332
1494
  var headerVariants = cva(
1333
- "tw-flex tw-flex-1 tw-items-center tw-gap-2 tw-rounded tw-px-4 tw-py-2.5 tw-text-sm tw-text-muted-foreground",
1495
+ "tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:rounded tw:px-4 tw:py-2.5 tw:text-sm tw:text-muted-foreground",
1334
1496
  {
1335
1497
  variants: {
1336
1498
  variant: {
1337
- default: "tw-bg-muted",
1338
- white: "tw-bg-card"
1499
+ default: "tw:bg-muted",
1500
+ white: "tw:bg-card"
1339
1501
  },
1340
1502
  isDisabled: {
1341
- true: "tw-cursor-not-allowed tw-opacity-50",
1503
+ true: "tw:cursor-not-allowed tw:opacity-50",
1342
1504
  false: ""
1343
1505
  },
1344
1506
  hasEnforcedState: {
@@ -1350,7 +1512,7 @@ var headerVariants = cva(
1350
1512
  {
1351
1513
  isDisabled: false,
1352
1514
  hasEnforcedState: false,
1353
- class: "tw-cursor-pointer hover:tw-text-primary"
1515
+ class: "tw:cursor-pointer tw:hover:text-primary"
1354
1516
  }
1355
1517
  ],
1356
1518
  defaultVariants: {
@@ -1400,7 +1562,7 @@ var CollapsiblePanel = ({
1400
1562
  {
1401
1563
  open,
1402
1564
  className: cn(
1403
- "tw-rounded !tw-border !tw-border-solid !tw-border-border tw-bg-card",
1565
+ "tw:rounded tw:!border tw:!border-solid tw:!border-border tw:bg-card",
1404
1566
  className
1405
1567
  ),
1406
1568
  header: /* @__PURE__ */ jsxs(
@@ -1414,12 +1576,12 @@ var CollapsiblePanel = ({
1414
1576
  onKeyUp: handleKeyUp
1415
1577
  },
1416
1578
  children: [
1417
- /* @__PURE__ */ jsx("div", { className: "tw-flex tw-flex-1 tw-items-center tw-gap-2 tw-py-px tw-text-sm tw-font-medium tw-text-foreground", children: header }),
1418
- !isDisabled && /* @__PURE__ */ jsx("div", { className: "tw-ml-auto tw-shrink-0", children: /* @__PURE__ */ jsx(icons_exports.ChevronDown, { className: cn("tw-size-5 group-data-[state=open]:tw-rotate-180") }) })
1579
+ /* @__PURE__ */ jsx("div", { className: "tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:py-px tw:text-sm tw:font-medium tw:text-foreground", children: header }),
1580
+ !isDisabled && /* @__PURE__ */ jsx("div", { className: "tw:ml-auto tw:shrink-0", children: /* @__PURE__ */ jsx(ChevronDown, { className: cn("tw:size-5 tw:group-data-[state=open]:rotate-180") }) })
1419
1581
  ]
1420
1582
  }
1421
1583
  ),
1422
- children: /* @__PURE__ */ jsx("div", { className: cn("tw-px-4 tw-py-3", bodyClassName), children })
1584
+ children: /* @__PURE__ */ jsx("div", { className: cn("tw:px-4 tw:py-3", bodyClassName), children })
1423
1585
  }
1424
1586
  );
1425
1587
  };
@@ -1495,7 +1657,7 @@ var SchemaDescription = ({ description }) => {
1495
1657
  return /* @__PURE__ */ jsx(
1496
1658
  "p",
1497
1659
  {
1498
- className: "tw-text-xs tw-text-neutral-400",
1660
+ className: "tw:text-xs tw:text-neutral-400",
1499
1661
  dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(description) }
1500
1662
  }
1501
1663
  );
@@ -1529,7 +1691,7 @@ var GridObjectField = ({
1529
1691
  const disableCollapse = !!uiOptions?.disableCollapse;
1530
1692
  const sortedKeys = sortByPropertyOrder(properties);
1531
1693
  if (sortedKeys.length === 0) return null;
1532
- const gridContent = /* @__PURE__ */ jsx("div", { className: "tw-grid tw-grid-cols-12 tw-gap-4 [&>div:empty]:tw-hidden", children: sortedKeys.map((key) => {
1694
+ const gridContent = /* @__PURE__ */ jsx("div", { className: "tw:grid tw:grid-cols-12 tw:gap-4 tw:[&>div:empty]:hidden", children: sortedKeys.map((key) => {
1533
1695
  const gridCols = properties[key]?.options?.grid_columns ?? 12;
1534
1696
  const gridBreak = !!properties[key]?.options?.grid_break;
1535
1697
  return /* @__PURE__ */ jsx(
@@ -1565,11 +1727,11 @@ var GridObjectField = ({
1565
1727
  return /* @__PURE__ */ jsxs(
1566
1728
  CollapsiblePanel,
1567
1729
  {
1568
- className: "tw-rounded-lg",
1730
+ className: "tw:rounded-lg",
1569
1731
  header: schema.title || "Settings",
1570
1732
  defaultExpanded,
1571
- headerClassName: "tw-rounded-lg",
1572
- bodyClassName: "tw-flex tw-flex-col tw-gap-4",
1733
+ headerClassName: "tw:rounded-lg",
1734
+ bodyClassName: "tw:flex tw:flex-col tw:gap-4",
1573
1735
  children: [
1574
1736
  /* @__PURE__ */ jsx(SchemaDescription, { description: schema.description }),
1575
1737
  gridContent
@@ -1578,13 +1740,13 @@ var GridObjectField = ({
1578
1740
  );
1579
1741
  }
1580
1742
  if (schema.title) {
1581
- return /* @__PURE__ */ jsxs("div", { className: "tw-rounded-lg tw-border tw-border-solid tw-border-neutral-200 tw-p-4", children: [
1582
- /* @__PURE__ */ jsx("h3", { className: "tw-mb-3 tw-text-base tw-font-medium tw-text-neutral-800", children: schema.title }),
1743
+ return /* @__PURE__ */ jsxs("div", { className: "tw:rounded-lg tw:border tw:border-solid tw:border-neutral-200 tw:p-4", children: [
1744
+ /* @__PURE__ */ jsx("h3", { className: "tw:mb-3 tw:text-base tw:font-medium tw:text-neutral-800", children: schema.title }),
1583
1745
  /* @__PURE__ */ jsx(SchemaDescription, { description: schema.description }),
1584
1746
  gridContent
1585
1747
  ] });
1586
1748
  }
1587
- return /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-flex-col tw-gap-4", children: [
1749
+ return /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:flex-col tw:gap-4", children: [
1588
1750
  /* @__PURE__ */ jsx(SchemaDescription, { description: schema.description }),
1589
1751
  gridContent
1590
1752
  ] });
@@ -1594,8 +1756,8 @@ var CollapsibleContent = ({ ref, className, children, ...props }) => /* @__PURE_
1594
1756
  {
1595
1757
  ref,
1596
1758
  className: cn(
1597
- "data-[state=closed]:tw-animate-collapsible-up",
1598
- "data-[state=open]:tw-animate-collapsible-down",
1759
+ "tw:data-[state=closed]:animate-collapsible-up",
1760
+ "tw:data-[state=open]:animate-collapsible-down",
1599
1761
  className
1600
1762
  ),
1601
1763
  ...props,
@@ -1613,33 +1775,33 @@ var AlertAction = ({ ref, className, asChild = false, ...props }) => {
1613
1775
  ...props,
1614
1776
  ref,
1615
1777
  className: cn(
1616
- "tw-col-start-3",
1617
- "tw-row-start-1",
1618
- "tw-self-start",
1619
- "tw-flex",
1620
- "tw-gap-2",
1778
+ "tw:col-start-3",
1779
+ "tw:row-start-1",
1780
+ "tw:self-start",
1781
+ "tw:flex",
1782
+ "tw:gap-2",
1621
1783
  className
1622
1784
  )
1623
1785
  }
1624
1786
  );
1625
1787
  };
1626
1788
  var AlertCollapsibleIcon = ({ open }) => /* @__PURE__ */ jsx(Tooltip, { placement: "top", tooltip: open ? "Collapse alert" : "Expand alert", triggerAsChild: true, children: /* @__PURE__ */ jsx(
1627
- icons_exports.ChevronDown,
1789
+ ChevronDown,
1628
1790
  {
1629
1791
  className: cn(
1630
- "tw-mt-px",
1631
- "tw-size-5",
1632
- "tw-text-neutral-400",
1633
- "group-data-[state=open]/alert:tw-rotate-180",
1792
+ "tw:mt-px",
1793
+ "tw:size-5",
1794
+ "tw:text-neutral-400",
1795
+ "tw:group-data-[state=open]/alert:rotate-180",
1634
1796
  // Legacy uses the fixed categorical hover scales; argo uses the themeable status tokens.
1635
- "group-data-[variant=info]/alert:group-hover:tw-text-blue-600",
1636
- "group-data-[variant=info]/alert:group-data-[argo=true]/alert:group-hover:tw-text-info",
1637
- "group-data-[variant=warning]/alert:group-hover:tw-text-warning-600",
1638
- "group-data-[variant=warning]/alert:group-data-[argo=true]/alert:group-hover:tw-text-warning",
1639
- "group-data-[variant=error]/alert:group-hover:tw-text-error-600",
1640
- "group-data-[variant=error]/alert:group-data-[argo=true]/alert:group-hover:tw-text-destructive",
1641
- "group-data-[variant=success]/alert:group-hover:tw-text-green-600",
1642
- "group-data-[variant=success]/alert:group-data-[argo=true]/alert:group-hover:tw-text-success"
1797
+ "tw:group-data-[variant=info]/alert:group-hover:text-blue-600",
1798
+ "tw:group-data-[variant=info]/alert:group-data-[argo=true]/alert:group-hover:text-info",
1799
+ "tw:group-data-[variant=warning]/alert:group-hover:text-warning-600",
1800
+ "tw:group-data-[variant=warning]/alert:group-data-[argo=true]/alert:group-hover:text-warning",
1801
+ "tw:group-data-[variant=error]/alert:group-hover:text-error-600",
1802
+ "tw:group-data-[variant=error]/alert:group-data-[argo=true]/alert:group-hover:text-destructive",
1803
+ "tw:group-data-[variant=success]/alert:group-hover:text-green-600",
1804
+ "tw:group-data-[variant=success]/alert:group-data-[argo=true]/alert:group-hover:text-success"
1643
1805
  )
1644
1806
  }
1645
1807
  ) });
@@ -1649,26 +1811,26 @@ var AlertDescription = ({ ref, children, className, ...rest }) => /* @__PURE__ *
1649
1811
  ...rest,
1650
1812
  ref,
1651
1813
  className: cn(
1652
- "tw-col-start-2",
1653
- "group-has-[[data-slot=alert-title]]/alert:tw-col-end-[-1]",
1814
+ "tw:col-start-2",
1815
+ "tw:group-has-[[data-slot=alert-title]]/alert:col-end-[-1]",
1654
1816
  // spacer before description when a title exists (pseudo-element so it animates with Collapsible)
1655
- "group-has-[[data-slot=alert-title]]/alert:before:tw-block",
1656
- "group-has-[[data-slot=alert-title]]/alert:before:tw-h-4",
1657
- "group-has-[[data-slot=alert-title]]/alert:before:tw-content-['']",
1658
- "tw-break-anywhere",
1817
+ "tw:group-has-[[data-slot=alert-title]]/alert:before:block",
1818
+ "tw:group-has-[[data-slot=alert-title]]/alert:before:h-4",
1819
+ "tw:group-has-[[data-slot=alert-title]]/alert:before:content-['']",
1820
+ "tw:break-anywhere",
1659
1821
  // Default size for nested Lucide icons; callers can override on the icon.
1660
- "[&_svg.lucide:not([class*='tw-size-'])]:tw-size-4",
1661
- "[&_svg]:tw-shrink-0",
1822
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
1823
+ "tw:[&_svg]:shrink-0",
1662
1824
  className
1663
1825
  ),
1664
1826
  children
1665
1827
  }
1666
1828
  );
1667
1829
  var VARIANT_ICONS = {
1668
- info: /* @__PURE__ */ jsx(icons_exports.Info, {}),
1669
- warning: /* @__PURE__ */ jsx(icons_exports.AlertTriangle, {}),
1670
- error: /* @__PURE__ */ jsx(icons_exports.AlertTriangle, {}),
1671
- success: /* @__PURE__ */ jsx(icons_exports.CircleCheck, {})
1830
+ info: /* @__PURE__ */ jsx(Info, {}),
1831
+ warning: /* @__PURE__ */ jsx(AlertTriangle, {}),
1832
+ error: /* @__PURE__ */ jsx(AlertTriangle, {}),
1833
+ success: /* @__PURE__ */ jsx(CircleCheck, {})
1672
1834
  };
1673
1835
  var AlertIcon = ({ variant, icon, className, ...rest }) => /* @__PURE__ */ jsx(
1674
1836
  "span",
@@ -1676,21 +1838,21 @@ var AlertIcon = ({ variant, icon, className, ...rest }) => /* @__PURE__ */ jsx(
1676
1838
  ...rest,
1677
1839
  "data-slot": "alert-icon",
1678
1840
  className: cn(
1679
- "tw-inline-flex",
1680
- "tw-items-center",
1681
- "tw-justify-center",
1682
- "tw-self-start",
1683
- "tw-p-0.5",
1684
- '[&_svg:not([class*="tw-size-"])]:tw-size-4',
1841
+ "tw:inline-flex",
1842
+ "tw:items-center",
1843
+ "tw:justify-center",
1844
+ "tw:self-start",
1845
+ "tw:p-0.5",
1846
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4',
1685
1847
  // Legacy uses the fixed categorical icon scales; argo uses the themeable status tokens.
1686
- "group-data-[variant=info]/alert:tw-text-blue-500",
1687
- "group-data-[variant=info]/alert:group-data-[argo=true]/alert:tw-text-info",
1688
- "group-data-[variant=warning]/alert:tw-text-warning-500",
1689
- "group-data-[variant=warning]/alert:group-data-[argo=true]/alert:tw-text-warning",
1690
- "group-data-[variant=error]/alert:tw-text-error-500",
1691
- "group-data-[variant=error]/alert:group-data-[argo=true]/alert:tw-text-destructive",
1692
- "group-data-[variant=success]/alert:tw-text-green-500",
1693
- "group-data-[variant=success]/alert:group-data-[argo=true]/alert:tw-text-success",
1848
+ "tw:group-data-[variant=info]/alert:text-blue-500",
1849
+ "tw:group-data-[variant=info]/alert:group-data-[argo=true]/alert:text-info",
1850
+ "tw:group-data-[variant=warning]/alert:text-warning-500",
1851
+ "tw:group-data-[variant=warning]/alert:group-data-[argo=true]/alert:text-warning",
1852
+ "tw:group-data-[variant=error]/alert:text-error-500",
1853
+ "tw:group-data-[variant=error]/alert:group-data-[argo=true]/alert:text-destructive",
1854
+ "tw:group-data-[variant=success]/alert:text-green-500",
1855
+ "tw:group-data-[variant=success]/alert:group-data-[argo=true]/alert:text-success",
1694
1856
  className
1695
1857
  ),
1696
1858
  children: icon ?? VARIANT_ICONS[variant]
@@ -1706,47 +1868,47 @@ var AlertRoot = ({ ref, children, className, variant, ...rest }) => {
1706
1868
  "data-variant": variant,
1707
1869
  "data-argo": renderArgo,
1708
1870
  className: cn(
1709
- "tw-group/alert",
1871
+ "tw:group/alert",
1710
1872
  // layout
1711
- "tw-grid",
1712
- "tw-grid-cols-[0_1fr_auto]",
1713
- "has-[[data-slot=alert-icon]]:tw-grid-cols-[auto_1fr_auto]",
1714
- "has-[[data-slot=alert-icon]]:tw-gap-x-2",
1873
+ "tw:grid",
1874
+ "tw:grid-cols-[0_1fr_auto]",
1875
+ "tw:has-[[data-slot=alert-icon]]:grid-cols-[auto_1fr_auto]",
1876
+ "tw:has-[[data-slot=alert-icon]]:gap-x-2",
1715
1877
  // fonts
1716
- "tw-text-sm",
1878
+ "tw:text-sm",
1717
1879
  // Legacy keeps the fixed neutral text; argo uses the semantic foreground
1718
1880
  // so the alert flips with the brand's light/dark palette (the categorical
1719
1881
  // variant tint stays — only the text token becomes brand-aware).
1720
- "tw-text-neutral-800",
1721
- "data-[argo=true]:tw-text-foreground",
1722
- "tw-text-left",
1723
- "tw-p-4",
1882
+ "tw:text-neutral-800",
1883
+ "tw:data-[argo=true]:text-foreground",
1884
+ "tw:text-left",
1885
+ "tw:p-4",
1724
1886
  // border — legacy keeps a fixed radius; argo follows the brand radius token.
1725
- "tw-rounded",
1726
- "data-[argo=true]:tw-rounded-[var(--radius-lg,0.25rem)]",
1727
- "tw-border",
1728
- "tw-border-solid",
1887
+ "tw:rounded",
1888
+ "tw:data-[argo=true]:rounded-[var(--radius-lg,0.25rem)]",
1889
+ "tw:border",
1890
+ "tw:border-solid",
1729
1891
  // Variant tint + border. Legacy keeps the fixed categorical scales (solid
1730
1892
  // pastel tint); argo uses the brand-overridable status tokens (bg at 10%,
1731
1893
  // border at 25%) so status re-skins with the brand. The argo tokens carry
1732
1894
  // AA-legible defaults, so the variant icon (AlertIcon, full-strength
1733
- // `tw-text-<role>`) clears ≥4.5:1 on the tint in both light and dark.
1734
- "data-[variant=info]:tw-bg-blue-100",
1735
- "data-[variant=info]:tw-border-blue-200",
1736
- "data-[variant=info]:data-[argo=true]:tw-bg-info/10",
1737
- "data-[variant=info]:data-[argo=true]:tw-border-info/25",
1738
- "data-[variant=warning]:tw-bg-warning-100",
1739
- "data-[variant=warning]:tw-border-warning-300",
1740
- "data-[variant=warning]:data-[argo=true]:tw-bg-warning/10",
1741
- "data-[variant=warning]:data-[argo=true]:tw-border-warning/25",
1742
- "data-[variant=error]:tw-bg-error-100",
1743
- "data-[variant=error]:tw-border-error-200",
1744
- "data-[variant=error]:data-[argo=true]:tw-bg-destructive/10",
1745
- "data-[variant=error]:data-[argo=true]:tw-border-destructive/25",
1746
- "data-[variant=success]:tw-bg-green-100",
1747
- "data-[variant=success]:tw-border-green-200",
1748
- "data-[variant=success]:data-[argo=true]:tw-bg-success/10",
1749
- "data-[variant=success]:data-[argo=true]:tw-border-success/25",
1895
+ // `tw:text-<role>`) clears ≥4.5:1 on the tint in both light and dark.
1896
+ "tw:data-[variant=info]:bg-blue-100",
1897
+ "tw:data-[variant=info]:border-blue-200",
1898
+ "tw:data-[variant=info]:data-[argo=true]:bg-info/10",
1899
+ "tw:data-[variant=info]:data-[argo=true]:border-info/25",
1900
+ "tw:data-[variant=warning]:bg-warning-100",
1901
+ "tw:data-[variant=warning]:border-warning-300",
1902
+ "tw:data-[variant=warning]:data-[argo=true]:bg-warning/10",
1903
+ "tw:data-[variant=warning]:data-[argo=true]:border-warning/25",
1904
+ "tw:data-[variant=error]:bg-error-100",
1905
+ "tw:data-[variant=error]:border-error-200",
1906
+ "tw:data-[variant=error]:data-[argo=true]:bg-destructive/10",
1907
+ "tw:data-[variant=error]:data-[argo=true]:border-destructive/25",
1908
+ "tw:data-[variant=success]:bg-green-100",
1909
+ "tw:data-[variant=success]:border-green-200",
1910
+ "tw:data-[variant=success]:data-[argo=true]:bg-success/10",
1911
+ "tw:data-[variant=success]:data-[argo=true]:border-success/25",
1750
1912
  className
1751
1913
  ),
1752
1914
  children
@@ -1760,11 +1922,11 @@ var AlertTitle = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
1760
1922
  ref,
1761
1923
  "data-slot": "alert-title",
1762
1924
  className: cn(
1763
- "tw-group/alert-title",
1764
- "tw-flex",
1765
- "tw-col-start-2",
1766
- "tw-font-medium",
1767
- "tw-items-center",
1925
+ "tw:group/alert-title",
1926
+ "tw:flex",
1927
+ "tw:col-start-2",
1928
+ "tw:font-medium",
1929
+ "tw:items-center",
1768
1930
  className
1769
1931
  )
1770
1932
  }
@@ -1801,14 +1963,14 @@ var Alert = ({
1801
1963
  {
1802
1964
  className: cn(
1803
1965
  "tailwindcss-preflight",
1804
- "tw-group",
1805
- "tw-col-span-full",
1806
- "tw-grid",
1807
- "tw-grid-cols-subgrid",
1808
- "tw-rounded-sm",
1809
- "focus-visible:tw-outline",
1810
- "focus-visible:tw-outline-2",
1811
- "focus-visible:tw-outline-ring"
1966
+ "tw:group",
1967
+ "tw:col-span-full",
1968
+ "tw:grid",
1969
+ "tw:grid-cols-subgrid",
1970
+ "tw:rounded-sm",
1971
+ "tw:focus-visible:outline",
1972
+ "tw:focus-visible:outline-2",
1973
+ "tw:focus-visible:outline-ring"
1812
1974
  ),
1813
1975
  children: [
1814
1976
  !hideIcon && /* @__PURE__ */ jsx(AlertIcon, { variant, icon }),
@@ -1832,11 +1994,11 @@ var InfoField = ({ schema, uiSchema }) => {
1832
1994
  const uiOptions = uiSchema?.["ui:options"];
1833
1995
  const alertType = String(uiOptions?.alertType ?? "info");
1834
1996
  const variant = VALID_ALERT_TYPES.has(alertType) ? alertType : "info";
1835
- return /* @__PURE__ */ jsx("div", { className: "tw-my-3", children: /* @__PURE__ */ jsx(Alert, { variant, title: schema.title, children: schema.description }) });
1997
+ return /* @__PURE__ */ jsx("div", { className: "tw:my-3", children: /* @__PURE__ */ jsx(Alert, { variant, title: schema.title, children: schema.description }) });
1836
1998
  };
1837
1999
  var TooltipIcon = ({ rawHelp }) => {
1838
2000
  const renderMarkdown = useRenderMarkdown();
1839
- return /* @__PURE__ */ jsx(Tooltip, { placement: "top", variant: "explanatory", tooltip: renderMarkdown(rawHelp), triggerAsChild: true, children: /* @__PURE__ */ jsx("span", { className: "tw-cursor-help tw-text-neutral-400", children: /* @__PURE__ */ jsx(icons_exports.Info, { className: "tw-size-4" }) }) });
2001
+ return /* @__PURE__ */ jsx(Tooltip, { placement: "top", variant: "explanatory", tooltip: renderMarkdown(rawHelp), triggerAsChild: true, children: /* @__PURE__ */ jsx("span", { className: "tw:cursor-help tw:text-neutral-400", children: /* @__PURE__ */ jsx(Info, { className: "tw:size-4" }) }) });
1840
2002
  };
1841
2003
  var defaultValueFor = (prop) => {
1842
2004
  if (prop.default !== void 0) return prop.default;
@@ -1909,20 +2071,20 @@ var TableArrayField = ({
1909
2071
  }
1910
2072
  });
1911
2073
  const getCellUiSchema = (key) => withHiddenLabel(itemUiSchema[key] ?? {});
1912
- const table = items.length > 0 && /* @__PURE__ */ jsxs("table", { className: "tw-w-full tw-table-fixed tw-border-collapse tw-text-sm", children: [
2074
+ const table = items.length > 0 && /* @__PURE__ */ jsxs("table", { className: "tw:w-full tw:table-fixed tw:border-collapse tw:text-sm", children: [
1913
2075
  /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
1914
- isPrimitiveItems ? /* @__PURE__ */ jsx("th", { className: "tw-border-b tw-border-neutral-200 tw-p-2 tw-text-left tw-text-xs tw-font-medium tw-text-neutral-600", children: itemSchema?.title ?? "" }) : sortedKeys.map((key) => /* @__PURE__ */ jsx(
2076
+ isPrimitiveItems ? /* @__PURE__ */ jsx("th", { className: "tw:border-b tw:border-neutral-200 tw:p-2 tw:text-left tw:text-xs tw:font-medium tw:text-neutral-600", children: itemSchema?.title ?? "" }) : sortedKeys.map((key) => /* @__PURE__ */ jsx(
1915
2077
  "th",
1916
2078
  {
1917
- className: "tw-border-b tw-border-neutral-200 tw-p-2 tw-text-left tw-text-xs tw-font-medium tw-text-neutral-600",
2079
+ className: "tw:border-b tw:border-neutral-200 tw:p-2 tw:text-left tw:text-xs tw:font-medium tw:text-neutral-600",
1918
2080
  children: properties[key]?.title ?? key
1919
2081
  },
1920
2082
  key
1921
2083
  )),
1922
- !isReadOnly && /* @__PURE__ */ jsx("th", { className: "tw-w-20" })
2084
+ !isReadOnly && /* @__PURE__ */ jsx("th", { className: "tw:w-20" })
1923
2085
  ] }) }),
1924
- /* @__PURE__ */ jsx("tbody", { children: items.map((item, rowIndex) => /* @__PURE__ */ jsxs("tr", { className: "tw-border-b tw-border-neutral-100", children: [
1925
- isPrimitiveItems ? /* @__PURE__ */ jsx("td", { className: "tw-px-2 tw-py-1.5 [&>div]:tw-mb-0", children: /* @__PURE__ */ jsx(
2086
+ /* @__PURE__ */ jsx("tbody", { children: items.map((item, rowIndex) => /* @__PURE__ */ jsxs("tr", { className: "tw:border-b tw:border-neutral-100", children: [
2087
+ isPrimitiveItems ? /* @__PURE__ */ jsx("td", { className: "tw:px-2 tw:py-1.5 tw:[&>div]:mb-0", children: /* @__PURE__ */ jsx(
1926
2088
  SchemaField,
1927
2089
  {
1928
2090
  name: String(rowIndex),
@@ -1936,7 +2098,7 @@ var TableArrayField = ({
1936
2098
  disabled: !!disabled,
1937
2099
  readonly: !!readonly
1938
2100
  }
1939
- ) }) : sortedKeys.map((key) => /* @__PURE__ */ jsx("td", { className: "tw-px-2 tw-py-1.5 [&>div]:tw-mb-0", children: /* @__PURE__ */ jsx(
2101
+ ) }) : sortedKeys.map((key) => /* @__PURE__ */ jsx("td", { className: "tw:px-2 tw:py-1.5 tw:[&>div]:mb-0", children: /* @__PURE__ */ jsx(
1940
2102
  SchemaField,
1941
2103
  {
1942
2104
  name: key,
@@ -1951,14 +2113,14 @@ var TableArrayField = ({
1951
2113
  readonly: !!readonly
1952
2114
  }
1953
2115
  ) }, key)),
1954
- !isReadOnly && /* @__PURE__ */ jsx("td", { className: "tw-px-2 tw-py-1.5 tw-text-right", children: /* @__PURE__ */ jsx(
2116
+ !isReadOnly && /* @__PURE__ */ jsx("td", { className: "tw:px-2 tw:py-1.5 tw:text-right", children: /* @__PURE__ */ jsx(
1955
2117
  Button,
1956
2118
  {
1957
2119
  variant: "invisible",
1958
2120
  size: "icon",
1959
2121
  onClick: () => handleRemoveRow(rowIndex),
1960
2122
  "aria-label": "Remove row",
1961
- children: /* @__PURE__ */ jsx(icons_exports.Trash2, { className: "tw-size-4" })
2123
+ children: /* @__PURE__ */ jsx(Trash2, { className: "tw:size-4" })
1962
2124
  }
1963
2125
  ) })
1964
2126
  ] }, rowIndex)) })
@@ -1972,14 +2134,14 @@ var TableArrayField = ({
1972
2134
  return /* @__PURE__ */ jsxs(
1973
2135
  CollapsiblePanel,
1974
2136
  {
1975
- className: "tw-rounded-lg",
1976
- headerClassName: "tw-rounded-lg",
1977
- header: /* @__PURE__ */ jsxs("span", { className: "tw-inline-flex tw-items-center tw-gap-1", children: [
2137
+ className: "tw:rounded-lg",
2138
+ headerClassName: "tw:rounded-lg",
2139
+ header: /* @__PURE__ */ jsxs("span", { className: "tw:inline-flex tw:items-center tw:gap-1", children: [
1978
2140
  schema.title,
1979
2141
  tooltip && /* @__PURE__ */ jsx(TooltipIcon, { rawHelp: tooltip })
1980
2142
  ] }),
1981
2143
  defaultExpanded: true,
1982
- bodyClassName: "tw-flex tw-flex-col tw-gap-4",
2144
+ bodyClassName: "tw:flex tw:flex-col tw:gap-4",
1983
2145
  children: [
1984
2146
  /* @__PURE__ */ jsx(SchemaDescription, { description: schema.description }),
1985
2147
  table,
@@ -1988,7 +2150,7 @@ var TableArrayField = ({
1988
2150
  }
1989
2151
  );
1990
2152
  }
1991
- return /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-flex-col tw-gap-4", children: [
2153
+ return /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:flex-col tw:gap-4", children: [
1992
2154
  /* @__PURE__ */ jsx(SchemaDescription, { description: schema.description }),
1993
2155
  table,
1994
2156
  addButton
@@ -1996,20 +2158,20 @@ var TableArrayField = ({
1996
2158
  };
1997
2159
 
1998
2160
  // src/components/Tabs/styles.ts
1999
- var tabsListWrapperClass = "tw-shrink-0 tw-border-0 tw-border-b tw-border-solid tw-border-border";
2000
- var tabsListClass = "tw-flex tw-gap-8 tw-shrink-0 tw-w-max";
2001
- var tabsTriggerGroupClass = "tw-group/tab-trigger-group tw-flex tw-shrink-0 tw-items-center";
2002
- var tabsTriggerClass = "tw-flex tw-justify-center tw-items-center tw-gap-1.5 tw-bg-transparent tw-shrink-0 tw-border-0 tw-border-b-[3px] tw-border-solid tw-border-transparent tw-pt-2.5 tw-pb-5 tw-px-0 tw-m-0 tw-font-medium tw-leading-5 tw-text-muted-foreground tw-text-base data-[state=active]:tw-text-primary data-[state=active]:tw-border-primary data-[disabled]:tw-text-muted-foreground data-[disabled]:tw-opacity-50 data-[disabled]:tw-cursor-not-allowed group-hover/tab-trigger-group:enabled:tw-text-primary group-hover/tab-trigger-group:enabled:tw-border-primary group-hover/tab-trigger-group:enabled:tw-cursor-pointer";
2003
- var tabsTriggerCompactClass = "tw-text-sm tw-pb-4";
2161
+ var tabsListWrapperClass = "tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b tw:border-solid tw:border-border";
2162
+ var tabsListClass = "tw:flex tw:gap-8 tw:shrink-0 tw:w-max";
2163
+ var tabsTriggerGroupClass = "tw:group/tab-trigger-group tw:flex tw:shrink-0 tw:items-center";
2164
+ var tabsTriggerClass = "tw:flex tw:justify-center tw:items-center tw:gap-1.5 tw:bg-transparent tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b-[3px] tw:border-solid tw:border-transparent tw:pt-2.5 tw:pb-5 tw:px-0 tw:m-0 tw:font-medium tw:leading-5 tw:text-muted-foreground tw:text-base tw:data-[state=active]:text-primary tw:data-[state=active]:border-primary tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50 tw:data-[disabled]:cursor-not-allowed tw:group-hover/tab-trigger-group:enabled:text-primary tw:group-hover/tab-trigger-group:enabled:border-primary tw:group-hover/tab-trigger-group:enabled:cursor-pointer";
2165
+ var tabsTriggerCompactClass = "tw:text-sm tw:pb-4";
2004
2166
  var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PURE__ */ jsx(
2005
2167
  ScrollAreaPrimitive2.ScrollAreaScrollbar,
2006
2168
  {
2007
2169
  orientation,
2008
2170
  className: cn(
2009
- "tw-flex tw-touch-none tw-select-none tw-transition-color",
2171
+ "tw:flex tw:touch-none tw:select-none tw:transition-color",
2010
2172
  {
2011
- "tw-h-full tw-w-2.5 tw-p-px": orientation === "vertical",
2012
- "tw-h-2.5 tw-flex-col tw-p-px": orientation === "horizontal"
2173
+ "tw:h-full tw:w-2.5 tw:p-px": orientation === "vertical",
2174
+ "tw:h-2.5 tw:flex-col tw:p-px": orientation === "horizontal"
2013
2175
  },
2014
2176
  className
2015
2177
  ),
@@ -2018,11 +2180,11 @@ var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PUR
2018
2180
  ScrollAreaPrimitive2.ScrollAreaThumb,
2019
2181
  {
2020
2182
  className: cn(
2021
- "tw-relative",
2022
- "tw-flex-1",
2023
- "tw-rounded-full",
2024
- "tw-bg-border",
2025
- "hover:tw-bg-muted-foreground"
2183
+ "tw:relative",
2184
+ "tw:flex-1",
2185
+ "tw:rounded-full",
2186
+ "tw:bg-border",
2187
+ "tw:hover:bg-muted-foreground"
2026
2188
  )
2027
2189
  }
2028
2190
  )
@@ -2041,7 +2203,7 @@ var ScrollArea = ({
2041
2203
  {
2042
2204
  "data-slot": "scroll-area",
2043
2205
  className: cn(
2044
- "tw-peer/scroll-area tw-relative tw-overflow-hidden focus-visible:tw-outline-none",
2206
+ "tw:peer/scroll-area tw:relative tw:overflow-hidden tw:focus-visible:outline-hidden",
2045
2207
  className
2046
2208
  ),
2047
2209
  ...props,
@@ -2051,7 +2213,7 @@ var ScrollArea = ({
2051
2213
  {
2052
2214
  ref,
2053
2215
  className: cn(
2054
- "tw-h-full tw-w-full tw-rounded-[inherit] focus-visible:tw-outline-none",
2216
+ "tw:h-full tw:w-full tw:rounded-[inherit] tw:focus-visible:outline-hidden",
2055
2217
  viewPortClassName
2056
2218
  ),
2057
2219
  children
@@ -2090,7 +2252,7 @@ var Tabs = ({
2090
2252
  {
2091
2253
  ...rest,
2092
2254
  "data-slot": "tabs-root",
2093
- className: cn("tw-flex tw-flex-col tw-gap-6", rootClassName),
2255
+ className: cn("tw:flex tw:flex-col tw:gap-6", rootClassName),
2094
2256
  defaultValue: defaultValue ?? triggers[0]?.value,
2095
2257
  onValueChange,
2096
2258
  children: [
@@ -2119,9 +2281,9 @@ var Tabs = ({
2119
2281
  disabled: triggerRest.disabled,
2120
2282
  onClick: () => onClose(value),
2121
2283
  onMouseDown: (e) => e.preventDefault(),
2122
- className: "!tw-size-8 tw-opacity-0 tw-duration-200 focus-visible:tw-opacity-100 group-focus-within/tab-trigger-group:tw-opacity-100 group-hover/tab-trigger-group:tw-opacity-100",
2284
+ className: "tw:!size-8 tw:opacity-0 tw:duration-200 tw:focus-visible:opacity-100 tw:group-focus-within/tab-trigger-group:opacity-100 tw:group-hover/tab-trigger-group:opacity-100",
2123
2285
  "aria-label": typeof title === "string" ? `Close ${title}` : "Close tab",
2124
- children: /* @__PURE__ */ jsx(icons_exports.X, { className: "tw-size-4" })
2286
+ children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
2125
2287
  }
2126
2288
  )
2127
2289
  ]
@@ -2162,8 +2324,8 @@ var TabsObjectField = ({
2162
2324
  value: key,
2163
2325
  title: properties[key]?.title ?? key
2164
2326
  }));
2165
- return /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-flex-col tw-gap-4", children: [
2166
- schema.title && /* @__PURE__ */ jsx("h3", { className: "tw-text-base tw-font-medium tw-text-neutral-800", children: schema.title }),
2327
+ return /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:flex-col tw:gap-4", children: [
2328
+ schema.title && /* @__PURE__ */ jsx("h3", { className: "tw:text-base tw:font-medium tw:text-neutral-800", children: schema.title }),
2167
2329
  /* @__PURE__ */ jsx(SchemaDescription, { description: schema.description }),
2168
2330
  /* @__PURE__ */ jsx(Tabs, { triggers, value: activeTab, onValueChange: setActiveTab, compact: true, children: sortedKeys.map((key) => /* @__PURE__ */ jsx(TabsContent, { value: key, children: /* @__PURE__ */ jsx(
2169
2331
  SchemaField,
@@ -2200,9 +2362,9 @@ var ArrayFieldItemTemplate = ({
2200
2362
  return /* @__PURE__ */ jsx(
2201
2363
  CollapsiblePanel,
2202
2364
  {
2203
- className: "tw-rounded-lg",
2204
- headerClassName: "tw-rounded-lg",
2205
- header: /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-w-full tw-items-center tw-justify-between", children: [
2365
+ className: "tw:rounded-lg",
2366
+ headerClassName: "tw:rounded-lg",
2367
+ header: /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:w-full tw:items-center tw:justify-between", children: [
2206
2368
  /* @__PURE__ */ jsx("span", { children: itemTitle }),
2207
2369
  canRemove && /* @__PURE__ */ jsx(
2208
2370
  "div",
@@ -2217,25 +2379,25 @@ var ArrayFieldItemTemplate = ({
2217
2379
  size: "icon",
2218
2380
  "aria-label": `Remove ${itemTitle}`,
2219
2381
  onClick: buttonsProps.onRemoveItem,
2220
- children: /* @__PURE__ */ jsx(icons_exports.Trash2, { className: "tw-size-4" })
2382
+ children: /* @__PURE__ */ jsx(Trash2, { className: "tw:size-4" })
2221
2383
  }
2222
2384
  )
2223
2385
  }
2224
2386
  )
2225
2387
  ] }),
2226
2388
  defaultExpanded,
2227
- children: /* @__PURE__ */ jsx("div", { className: "tw-flex tw-flex-col tw-gap-4", children })
2389
+ children: /* @__PURE__ */ jsx("div", { className: "tw:flex tw:flex-col tw:gap-4", children })
2228
2390
  }
2229
2391
  );
2230
2392
  }
2231
- return /* @__PURE__ */ jsx("div", { className: "tw-rounded-lg tw-border tw-border-solid tw-border-neutral-200 tw-bg-white tw-p-4", children: /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-items-start tw-gap-3", children: [
2232
- /* @__PURE__ */ jsx("div", { className: "tw-flex tw-flex-1 tw-flex-col tw-gap-4", children }),
2393
+ return /* @__PURE__ */ jsx("div", { className: "tw:rounded-lg tw:border tw:border-solid tw:border-neutral-200 tw:bg-white tw:p-4", children: /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:items-start tw:gap-3", children: [
2394
+ /* @__PURE__ */ jsx("div", { className: "tw:flex tw:flex-1 tw:flex-col tw:gap-4", children }),
2233
2395
  canRemove && /* @__PURE__ */ jsx(
2234
2396
  Button,
2235
2397
  {
2236
2398
  variant: "outline",
2237
2399
  size: "small",
2238
- className: "tw-mt-5 tw-shrink-0",
2400
+ className: "tw:mt-5 tw:shrink-0",
2239
2401
  onClick: buttonsProps.onRemoveItem,
2240
2402
  children: "Delete"
2241
2403
  }
@@ -2253,10 +2415,10 @@ var ArrayFieldTemplate = ({
2253
2415
  }) => {
2254
2416
  const isReadOnly = disabled || readonly;
2255
2417
  const itemLabel = typeof schema.items === "object" && schema.items !== null && !Array.isArray(schema.items) ? schema.items.title || "Item" : "Item";
2256
- return /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-flex-col tw-gap-4", children: [
2418
+ return /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:flex-col tw:gap-4", children: [
2257
2419
  (title || schema.description) && /* @__PURE__ */ jsxs("div", { children: [
2258
- title && /* @__PURE__ */ jsx("h3", { className: "tw-text-base tw-font-medium tw-text-neutral-800", children: title }),
2259
- schema.description && /* @__PURE__ */ jsx("p", { className: "tw-mt-1 tw-text-xs tw-text-neutral-400", children: schema.description })
2420
+ title && /* @__PURE__ */ jsx("h3", { className: "tw:text-base tw:font-medium tw:text-neutral-800", children: title }),
2421
+ schema.description && /* @__PURE__ */ jsx("p", { className: "tw:mt-1 tw:text-xs tw:text-neutral-400", children: schema.description })
2260
2422
  ] }),
2261
2423
  items,
2262
2424
  canAdd && !isReadOnly && /* @__PURE__ */ jsxs(Button, { variant: "outline", onClick: onAddClick, children: [
@@ -2274,17 +2436,17 @@ var DescriptionFieldTemplate = ({ description, id }) => {
2274
2436
  "p",
2275
2437
  {
2276
2438
  id,
2277
- className: "tw-text-xs tw-text-neutral-400",
2439
+ className: "tw:text-xs tw:text-neutral-400",
2278
2440
  dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(String(description)) }
2279
2441
  }
2280
2442
  );
2281
2443
  };
2282
2444
  var ErrorListTemplate = ({ errors }) => {
2283
2445
  if (!errors.length) return null;
2284
- return /* @__PURE__ */ jsx("div", { className: "tw-mb-4", children: errors.map((error) => /* @__PURE__ */ jsx("p", { className: "tw-text-xs tw-text-error-500", children: error.message }, `${error.property}:${error.message}`)) });
2446
+ return /* @__PURE__ */ jsx("div", { className: "tw:mb-4", children: errors.map((error) => /* @__PURE__ */ jsx("p", { className: "tw:text-xs tw:text-error-500", children: error.message }, `${error.property}:${error.message}`)) });
2285
2447
  };
2286
- var Optional = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw-ml-0.5", "tw-text-muted-foreground", className), children: "(optional)" });
2287
- var Required = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw-ml-0.5", "tw-text-primary", className), children: "*" });
2448
+ var Optional = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw:ml-0.5", "tw:text-muted-foreground", className), children: "(optional)" });
2449
+ var Required = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw:ml-0.5", "tw:text-primary", className), children: "*" });
2288
2450
  var Label = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ jsx(
2289
2451
  RLabel.Root,
2290
2452
  {
@@ -2292,7 +2454,7 @@ var Label = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ j
2292
2454
  id: id?.toString(),
2293
2455
  htmlFor: htmlFor?.toString(),
2294
2456
  className: cn(
2295
- "tw-m-0 tw-text-foreground tw-font-normal peer-disabled:tw-opacity-50",
2457
+ "tw:m-0 tw:text-foreground tw:font-normal tw:peer-disabled:opacity-50",
2296
2458
  className
2297
2459
  ),
2298
2460
  children
@@ -2300,7 +2462,7 @@ var Label = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ j
2300
2462
  );
2301
2463
  Label.Optional = Optional;
2302
2464
  Label.Required = Required;
2303
- var Link = ({
2465
+ var Link3 = ({
2304
2466
  ref,
2305
2467
  children,
2306
2468
  target = "_blank",
@@ -2324,7 +2486,7 @@ var Link = ({
2324
2486
  rel,
2325
2487
  onClick: handleOnClick,
2326
2488
  className: cn(
2327
- "tw-text-primary tw-underline hover:tw-text-primary/90 hover:tw-no-underline",
2489
+ "tw:text-primary tw:underline tw:hover:text-primary/90 tw:hover:no-underline",
2328
2490
  className
2329
2491
  ),
2330
2492
  children
@@ -2339,12 +2501,12 @@ var FormGroupProvider = FormGroupContext;
2339
2501
  var useFormGroupContext = () => use(FormGroupContext);
2340
2502
  var addonVariants = cva(
2341
2503
  [
2342
- "tw-flex",
2343
- "tw-items-center",
2344
- "tw-gap-1",
2504
+ "tw:flex",
2505
+ "tw:items-center",
2506
+ "tw:gap-1",
2345
2507
  // Default size for nested Lucide icons in prefix/suffix slots; callers can override on the icon.
2346
- "[&_svg.lucide:not([class*='tw-size-'])]:tw-size-4",
2347
- "[&_svg]:tw-shrink-0"
2508
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
2509
+ "tw:[&_svg]:shrink-0"
2348
2510
  ],
2349
2511
  {
2350
2512
  defaultVariants: {
@@ -2352,22 +2514,22 @@ var addonVariants = cva(
2352
2514
  },
2353
2515
  variants: {
2354
2516
  align: {
2355
- "inline-start": ["tw-order-first", "[&:not(:empty)]:tw-pl-4"],
2356
- "inline-end": ["tw-order-last", "[&:not(:empty)]:tw-pr-4"],
2517
+ "inline-start": ["tw:order-first", "tw:[&:not(:empty)]:pl-4"],
2518
+ "inline-end": ["tw:order-last", "tw:[&:not(:empty)]:pr-4"],
2357
2519
  "block-start": [
2358
- "tw-order-first",
2359
- // `tw-w-full` needs to be empty-conditional too — when the addon
2520
+ "tw:order-first",
2521
+ // `tw:w-full` needs to be empty-conditional too — when the addon
2360
2522
  // has no content the root stays in flex-row, and a 100%-wide
2361
2523
  // empty addon would claim half of the input row beside the input.
2362
- "[&:not(:empty)]:tw-w-full",
2363
- "[&:not(:empty)]:tw-px-4",
2364
- "[&:not(:empty)]:tw-py-1.5"
2524
+ "tw:[&:not(:empty)]:w-full",
2525
+ "tw:[&:not(:empty)]:px-4",
2526
+ "tw:[&:not(:empty)]:py-1.5"
2365
2527
  ],
2366
2528
  "block-end": [
2367
- "tw-order-last",
2368
- "[&:not(:empty)]:tw-w-full",
2369
- "[&:not(:empty)]:tw-px-4",
2370
- "[&:not(:empty)]:tw-py-1.5"
2529
+ "tw:order-last",
2530
+ "tw:[&:not(:empty)]:w-full",
2531
+ "tw:[&:not(:empty)]:px-4",
2532
+ "tw:[&:not(:empty)]:py-1.5"
2371
2533
  ]
2372
2534
  }
2373
2535
  }
@@ -2387,7 +2549,7 @@ var InputGroupButton = ({ ref, className, tabIndex = -1, ...props }) => /* @__PU
2387
2549
  ref,
2388
2550
  variant: "invisible",
2389
2551
  size: "icon-sm",
2390
- className: cn("tw-size-5", "[&_svg]:tw-text-muted-foreground", className)
2552
+ className: cn("tw:size-5", "tw:[&_svg]:text-muted-foreground", className)
2391
2553
  }
2392
2554
  );
2393
2555
  var InputGroupInput = ({ ref, className, ...inputProps }) => /* @__PURE__ */ jsx(
@@ -2396,17 +2558,17 @@ var InputGroupInput = ({ ref, className, ...inputProps }) => /* @__PURE__ */ jsx
2396
2558
  ...inputProps,
2397
2559
  ref,
2398
2560
  className: cn(
2399
- "tw-w-full",
2400
- "tw-bg-transparent",
2401
- "tw-outline-none",
2561
+ "tw:w-full",
2562
+ "tw:bg-transparent",
2563
+ "tw:outline-hidden",
2402
2564
  // font
2403
- "tw-font-sans",
2404
- "tw-text-sm",
2565
+ "tw:font-sans",
2566
+ "tw:text-sm",
2405
2567
  // placeholder
2406
- "placeholder:tw-text-neutral-400",
2407
- "placeholder:tw-font-normal",
2568
+ "tw:placeholder:text-neutral-400",
2569
+ "tw:placeholder:font-normal",
2408
2570
  // disabled
2409
- "disabled:tw-cursor-not-allowed",
2571
+ "tw:disabled:cursor-not-allowed",
2410
2572
  className
2411
2573
  )
2412
2574
  }
@@ -2415,13 +2577,13 @@ var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsx(
2415
2577
  "span",
2416
2578
  {
2417
2579
  className: cn(
2418
- "tw-flex",
2419
- "tw-items-center",
2420
- "tw-gap-2",
2421
- "tw-text-sm",
2422
- "tw-text-muted-foreground",
2423
- "[&_svg]:tw-pointer-events-none",
2424
- '[&_svg:not([class*="tw-size-"])]:tw-size-4',
2580
+ "tw:flex",
2581
+ "tw:items-center",
2582
+ "tw:gap-2",
2583
+ "tw:text-sm",
2584
+ "tw:text-muted-foreground",
2585
+ "tw:[&_svg]:pointer-events-none",
2586
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4',
2425
2587
  className
2426
2588
  ),
2427
2589
  ...props
@@ -2461,20 +2623,20 @@ var InputGroupTextArea = ({
2461
2623
  minRows,
2462
2624
  maxRows: maxRows === "unlimited" ? void 0 : maxRows,
2463
2625
  className: cn(
2464
- "tw-w-full",
2465
- "tw-bg-transparent",
2466
- "tw-outline-none",
2467
- "tw-px-4",
2626
+ "tw:w-full",
2627
+ "tw:bg-transparent",
2628
+ "tw:outline-hidden",
2629
+ "tw:px-4",
2468
2630
  // font
2469
- "tw-font-sans",
2470
- "tw-text-sm",
2631
+ "tw:font-sans",
2632
+ "tw:text-sm",
2471
2633
  // placeholder
2472
- "placeholder:tw-text-neutral-400",
2473
- "placeholder:tw-font-normal",
2634
+ "tw:placeholder:text-neutral-400",
2635
+ "tw:placeholder:font-normal",
2474
2636
  // disabled
2475
- "disabled:tw-cursor-not-allowed",
2637
+ "tw:disabled:cursor-not-allowed",
2476
2638
  {
2477
- "tw-resize-none": disableResize
2639
+ "tw:resize-none": disableResize
2478
2640
  },
2479
2641
  className
2480
2642
  )
@@ -2484,39 +2646,39 @@ var InputGroupTextArea = ({
2484
2646
  var inputGroupVariants = cva(
2485
2647
  [
2486
2648
  "tailwindcss-preflight",
2487
- "tw-group",
2488
- "tw-overflow-hidden",
2489
- "tw-box-border",
2649
+ "tw:group",
2650
+ "tw:overflow-hidden",
2651
+ "tw:box-border",
2490
2652
  // positioning
2491
- "tw-flex",
2492
- "tw-items-center",
2653
+ "tw:flex",
2654
+ "tw:items-center",
2493
2655
  // base — legacy (non-argo) chrome uses a fixed radius; argo overrides it with
2494
2656
  // the brand radius token in the `argo` variant below.
2495
- "tw-rounded",
2496
- "tw-border",
2497
- "tw-border-solid",
2498
- "tw-border-neutral-200",
2499
- "tw-text-neutral-800",
2500
- "tw-transition",
2657
+ "tw:rounded",
2658
+ "tw:border",
2659
+ "tw:border-solid",
2660
+ "tw:border-neutral-200",
2661
+ "tw:text-neutral-800",
2662
+ "tw:transition",
2501
2663
  // focus
2502
- "has-[:is(input,textarea):focus]:tw-ring-4",
2664
+ "tw:has-[:is(input,textarea):focus]:ring-4",
2503
2665
  // readonly
2504
- "has-[:is(input,textarea)[readonly]]:tw-bg-neutral-150",
2505
- "has-[:is(input,textarea)[readonly]]:focus-within:tw-ring-0",
2506
- "has-[:is(input,textarea)[readonly]]:tw-border-neutral-150",
2666
+ "tw:has-[:is(input,textarea)[readonly]]:bg-neutral-150",
2667
+ "tw:has-[:is(input,textarea)[readonly]]:focus-within:ring-0",
2668
+ "tw:has-[:is(input,textarea)[readonly]]:border-neutral-150",
2507
2669
  // disabled cursor (opacity owned by variant)
2508
- "has-[:is(input,textarea):disabled]:tw-cursor-not-allowed",
2670
+ "tw:has-[:is(input,textarea):disabled]:cursor-not-allowed",
2509
2671
  // textarea: top-align addons, allow vertical expansion, own its y-padding
2510
- "has-[textarea]:tw-items-start",
2511
- "has-[[data-align=block-start]:not(:empty)]:tw-flex-wrap",
2512
- "has-[[data-align=block-end]:not(:empty)]:tw-flex-wrap",
2513
- "[&>input]:has-[[data-align=block-start]:not(:empty)]:tw-w-auto",
2514
- "[&>input]:has-[[data-align=block-start]:not(:empty)]:tw-flex-1",
2515
- "[&>input]:has-[[data-align=block-end]:not(:empty)]:tw-w-auto",
2516
- "[&>input]:has-[[data-align=block-end]:not(:empty)]:tw-flex-1",
2517
- "[&>input]:tw-px-4",
2518
- "[&>input]:has-[[data-align=inline-start]:not(:empty)]:tw-pl-2",
2519
- "[&>input]:has-[[data-align=inline-end]:not(:empty)]:tw-pr-2"
2672
+ "tw:has-[textarea]:items-start",
2673
+ "tw:has-[[data-align=block-start]:not(:empty)]:flex-wrap",
2674
+ "tw:has-[[data-align=block-end]:not(:empty)]:flex-wrap",
2675
+ "tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:w-auto",
2676
+ "tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:flex-1",
2677
+ "tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:w-auto",
2678
+ "tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:flex-1",
2679
+ "tw:[&>input]:px-4",
2680
+ "tw:[&>input]:has-[[data-align=inline-start]:not(:empty)]:pl-2",
2681
+ "tw:[&>input]:has-[[data-align=inline-end]:not(:empty)]:pr-2"
2520
2682
  ],
2521
2683
  {
2522
2684
  defaultVariants: {
@@ -2529,153 +2691,153 @@ var inputGroupVariants = cva(
2529
2691
  {
2530
2692
  variant: "secondary",
2531
2693
  state: "error",
2532
- className: ["tw-bg-error-100"]
2694
+ className: ["tw:bg-error-100"]
2533
2695
  },
2534
2696
  {
2535
2697
  variant: "secondary",
2536
2698
  state: "warning",
2537
- className: ["tw-bg-warning-100"]
2699
+ className: ["tw:bg-warning-100"]
2538
2700
  },
2539
2701
  {
2540
2702
  variant: "primary",
2541
2703
  state: "default",
2542
2704
  focusVariant: "off",
2543
- className: ["has-[:is(input,textarea):focus]:tw-border-neutral-200"]
2705
+ className: ["tw:has-[:is(input,textarea):focus]:border-neutral-200"]
2544
2706
  },
2545
2707
  {
2546
2708
  variant: "secondary",
2547
2709
  state: "default",
2548
2710
  focusVariant: "off",
2549
- className: ["has-[:is(input,textarea):focus]:tw-border-neutral-100"]
2711
+ className: ["tw:has-[:is(input,textarea):focus]:border-neutral-100"]
2550
2712
  },
2551
2713
  {
2552
2714
  variant: ["primary", "secondary"],
2553
2715
  state: "error",
2554
2716
  focusVariant: "on",
2555
- className: ["!tw-border-error-500", "!tw-ring-error-200"]
2717
+ className: ["tw:!border-error-500", "tw:!ring-error-200"]
2556
2718
  },
2557
2719
  {
2558
2720
  variant: ["primary", "secondary"],
2559
2721
  state: "warning",
2560
2722
  focusVariant: "on",
2561
- className: ["!tw-border-warning-500", "!tw-ring-warning-200"]
2723
+ className: ["tw:!border-warning-500", "tw:!ring-warning-200"]
2562
2724
  },
2563
2725
  // --- argo ---
2564
2726
  {
2565
2727
  variant: "argo",
2566
2728
  state: "default",
2567
2729
  className: [
2568
- "has-[:is(input,textarea):focus]:tw-border-primary",
2569
- "has-[:is(input,textarea):focus]:tw-ring-ring/50"
2730
+ "tw:has-[:is(input,textarea):focus]:border-primary",
2731
+ "tw:has-[:is(input,textarea):focus]:ring-ring/50"
2570
2732
  ]
2571
2733
  },
2572
2734
  {
2573
2735
  variant: "argo",
2574
2736
  state: "error",
2575
2737
  className: [
2576
- "tw-border-destructive",
2577
- "has-[:is(input,textarea):focus]:tw-border-destructive",
2578
- "has-[:is(input,textarea):focus]:tw-ring-destructive/20"
2738
+ "tw:border-destructive",
2739
+ "tw:has-[:is(input,textarea):focus]:border-destructive",
2740
+ "tw:has-[:is(input,textarea):focus]:ring-destructive/20"
2579
2741
  ]
2580
2742
  },
2581
2743
  {
2582
2744
  variant: "argo",
2583
2745
  focusVariant: "on",
2584
- className: ["!tw-border-primary", "!tw-ring-ring/50"]
2746
+ className: ["tw:!border-primary", "tw:!ring-ring/50"]
2585
2747
  },
2586
2748
  {
2587
2749
  variant: "argo",
2588
2750
  state: "error",
2589
2751
  focusVariant: "on",
2590
- className: ["!tw-border-destructive", "!tw-ring-destructive/20"]
2752
+ className: ["tw:!border-destructive", "tw:!ring-destructive/20"]
2591
2753
  },
2592
2754
  {
2593
2755
  variant: "argo",
2594
2756
  state: "default",
2595
2757
  focusVariant: "off",
2596
- className: ["has-[:is(input,textarea):focus]:tw-border-input"]
2758
+ className: ["tw:has-[:is(input,textarea):focus]:border-input"]
2597
2759
  }
2598
2760
  ],
2599
2761
  variants: {
2600
2762
  focusVariant: {
2601
2763
  default: [],
2602
- on: ["!tw-border-ring", "!tw-ring-ring/30", "!tw-ring-4"],
2603
- off: ["has-[:is(input,textarea):focus]:!tw-ring-0"]
2764
+ on: ["tw:!border-ring", "tw:!ring-ring/30", "tw:!ring-4"],
2765
+ off: ["tw:has-[:is(input,textarea):focus]:!ring-0"]
2604
2766
  },
2605
2767
  variant: {
2606
2768
  primary: [
2607
- "tw-bg-white",
2608
- "has-[:is(input,textarea):disabled]:tw-opacity-40",
2769
+ "tw:bg-white",
2770
+ "tw:has-[:is(input,textarea):disabled]:opacity-40",
2609
2771
  // aria-invalid on the control surfaces the error chrome without a `state` prop — the
2610
2772
  // accessible path (mirrors the `state="error"` legacy tokens). Higher specificity than
2611
2773
  // the default focus selector, so it wins without `!important`.
2612
- "has-[:is(input,textarea)[aria-invalid=true]]:tw-border-error-500",
2613
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-border-error-500",
2614
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-ring-error-200"
2774
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
2775
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
2776
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
2615
2777
  ],
2616
2778
  secondary: [
2617
- "tw-bg-neutral-100",
2618
- "tw-border-neutral-100",
2619
- "has-[:is(input,textarea):disabled]:tw-opacity-40",
2620
- "has-[:is(input,textarea)[aria-invalid=true]]:tw-border-error-500",
2621
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-border-error-500",
2622
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-ring-error-200"
2779
+ "tw:bg-neutral-100",
2780
+ "tw:border-neutral-100",
2781
+ "tw:has-[:is(input,textarea):disabled]:opacity-40",
2782
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
2783
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
2784
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
2623
2785
  ],
2624
2786
  argo: [
2625
2787
  // argo follows the brand radius token (overrides the static base)
2626
- "tw-rounded-[var(--radius-lg,0.25rem)]",
2788
+ "tw:rounded-[var(--radius-lg,0.25rem)]",
2627
2789
  // muted filled input surface — gray, distinct from white containers; not the app-background token
2628
- "tw-bg-muted",
2629
- "tw-border-input",
2630
- "tw-text-foreground",
2631
- "has-[:is(input,textarea):disabled]:tw-opacity-50",
2790
+ "tw:bg-muted",
2791
+ "tw:border-input",
2792
+ "tw:text-foreground",
2793
+ "tw:has-[:is(input,textarea):disabled]:opacity-50",
2632
2794
  // readonly: keep the themed input surface/border. The base layer's fixed
2633
2795
  // `neutral-150` (a light grey) is correct for the legacy light chrome but
2634
2796
  // collides with argo's themed `foreground` text — light-on-light, invisible
2635
2797
  // in dark mode. Re-pin to the same `muted`/`input` tokens the editable argo
2636
2798
  // input uses (validated AA), so readonly stays legible in every scheme.
2637
- "has-[:is(input,textarea)[readonly]]:tw-bg-muted",
2638
- "has-[:is(input,textarea)[readonly]]:tw-border-input",
2799
+ "tw:has-[:is(input,textarea)[readonly]]:bg-muted",
2800
+ "tw:has-[:is(input,textarea)[readonly]]:border-input",
2639
2801
  // higher specificity than has-[:is(input,textarea):focus] — prevents focus border on readonly
2640
- "has-[:is(input,textarea)[readonly]:focus]:tw-border-input",
2802
+ "tw:has-[:is(input,textarea)[readonly]:focus]:border-input",
2641
2803
  // aria-invalid on the control surfaces the error chrome without a `state` prop — the
2642
2804
  // accessible path (uses the themeable `destructive` status token).
2643
- "has-[:is(input,textarea)[aria-invalid=true]]:tw-border-destructive",
2644
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-border-destructive",
2645
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-ring-destructive/20"
2805
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-destructive",
2806
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-destructive",
2807
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-destructive/20"
2646
2808
  ]
2647
2809
  },
2648
2810
  sizing: {
2649
2811
  default: [
2650
- "[&>:is(input,textarea)]:tw-py-2.5",
2651
- "[&>:is(input,textarea)]:tw-leading-[18px]",
2652
- "[&>textarea]:!tw-min-h-[calc(2.5rem-2px)]"
2812
+ "tw:[&>:is(input,textarea)]:py-2.5",
2813
+ "tw:[&>:is(input,textarea)]:leading-[18px]",
2814
+ "tw:[&>textarea]:!min-h-[calc(2.5rem-2px)]"
2653
2815
  ],
2654
2816
  small: [
2655
- "[&>:is(input,textarea)]:tw-py-2",
2656
- "[&>:is(input,textarea)]:tw-leading-[16px]",
2657
- "[&>textarea]:!tw-min-h-[calc(2rem-2px)]"
2817
+ "tw:[&>:is(input,textarea)]:py-2",
2818
+ "tw:[&>:is(input,textarea)]:leading-[16px]",
2819
+ "tw:[&>textarea]:!min-h-[calc(2rem-2px)]"
2658
2820
  ],
2659
2821
  medium: [
2660
- "[&>:is(input,textarea)]:tw-py-2",
2661
- "[&>:is(input,textarea)]:tw-leading-[18px]",
2662
- "[&>textarea]:!tw-min-h-[calc(2.25rem-2px)]"
2822
+ "tw:[&>:is(input,textarea)]:py-2",
2823
+ "tw:[&>:is(input,textarea)]:leading-[18px]",
2824
+ "tw:[&>textarea]:!min-h-[calc(2.25rem-2px)]"
2663
2825
  ]
2664
2826
  },
2665
2827
  state: {
2666
2828
  default: [
2667
- "has-[:is(input,textarea):focus]:tw-border-ring",
2668
- "has-[:is(input,textarea):focus]:tw-ring-ring/30"
2829
+ "tw:has-[:is(input,textarea):focus]:border-ring",
2830
+ "tw:has-[:is(input,textarea):focus]:ring-ring/30"
2669
2831
  ],
2670
2832
  error: [
2671
- "tw-border-error-500",
2672
- "has-[:is(input,textarea):focus]:tw-border-error-500",
2673
- "has-[:is(input,textarea):focus]:tw-ring-error-200"
2833
+ "tw:border-error-500",
2834
+ "tw:has-[:is(input,textarea):focus]:border-error-500",
2835
+ "tw:has-[:is(input,textarea):focus]:ring-error-200"
2674
2836
  ],
2675
2837
  warning: [
2676
- "tw-border-warning-500",
2677
- "has-[:is(input,textarea):focus]:tw-border-warning-500",
2678
- "has-[:is(input,textarea):focus]:tw-ring-warning-200"
2838
+ "tw:border-warning-500",
2839
+ "tw:has-[:is(input,textarea):focus]:border-warning-500",
2840
+ "tw:has-[:is(input,textarea):focus]:ring-warning-200"
2679
2841
  ]
2680
2842
  }
2681
2843
  }
@@ -2783,7 +2945,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
2783
2945
  if (!pickerRef.current) return;
2784
2946
  showPicker(pickerRef.current);
2785
2947
  };
2786
- return /* @__PURE__ */ jsxs("div", { className: "tw-relative", children: [
2948
+ return /* @__PURE__ */ jsxs("div", { className: "tw:relative", children: [
2787
2949
  /* @__PURE__ */ jsx(
2788
2950
  "input",
2789
2951
  {
@@ -2793,7 +2955,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
2793
2955
  value: coerceColorPickerValue(value),
2794
2956
  tabIndex: -1,
2795
2957
  "aria-hidden": true,
2796
- className: "tw-pointer-events-none tw-absolute tw-left-0 tw-top-full tw-size-0 tw-opacity-0",
2958
+ className: "tw:pointer-events-none tw:absolute tw:left-0 tw:top-full tw:size-0 tw:opacity-0",
2797
2959
  disabled,
2798
2960
  readOnly
2799
2961
  }
@@ -2805,7 +2967,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
2805
2967
  disabled: disabled || readOnly,
2806
2968
  onClick: handleOpenPicker,
2807
2969
  "aria-label": "Pick color",
2808
- children: /* @__PURE__ */ jsx(icons_exports.Pipette, { className: "tw-size-4" })
2970
+ children: /* @__PURE__ */ jsx(Pipette, { className: "tw:size-4" })
2809
2971
  }
2810
2972
  )
2811
2973
  ] });
@@ -2880,24 +3042,24 @@ var ColorInput = ({
2880
3042
  {
2881
3043
  align: "inline-start",
2882
3044
  className: cn(
2883
- { "-tw-ml-7 tw-opacity-0": !value },
2884
- "tw-transition-[opacity,margin]",
2885
- "tw-ease-linear",
2886
- "tw-duration-200"
3045
+ { "tw:-ml-7 tw:opacity-0": !value },
3046
+ "tw:transition-[opacity,margin]",
3047
+ "tw:ease-linear",
3048
+ "tw:duration-200"
2887
3049
  ),
2888
3050
  children: /* @__PURE__ */ jsx(
2889
3051
  "div",
2890
3052
  {
2891
3053
  style: isValidSwatch ? { background: swatchColor } : void 0,
2892
3054
  className: cn(
2893
- "tw-size-5",
2894
- "tw-shrink-0",
2895
- "tw-rounded-sm",
2896
- "tw-border",
2897
- "tw-border-solid",
2898
- "tw-border-neutral-300",
3055
+ "tw:size-5",
3056
+ "tw:shrink-0",
3057
+ "tw:rounded-sm",
3058
+ "tw:border",
3059
+ "tw:border-solid",
3060
+ "tw:border-neutral-300",
2899
3061
  {
2900
- "tw-bg-[linear-gradient(to_top_right,transparent_calc(50%_-_1px),theme(colors.red.300)_calc(50%_-_1px),theme(colors.red.300)_calc(50%_+_1px),transparent_calc(50%_+_1px))]": !isValidSwatch
3062
+ "tw:bg-[linear-gradient(to_top_right,transparent_calc(50%_-_1px),theme(colors.red.300)_calc(50%_-_1px),theme(colors.red.300)_calc(50%_+_1px),transparent_calc(50%_+_1px))]": !isValidSwatch
2901
3063
  }
2902
3064
  )
2903
3065
  }
@@ -2924,7 +3086,7 @@ var ColorInput = ({
2924
3086
  onMouseDown: (event) => event.preventDefault(),
2925
3087
  onClick: handleClear,
2926
3088
  "aria-label": "Clear color",
2927
- children: /* @__PURE__ */ jsx(icons_exports.X, { className: "tw-size-4" })
3089
+ children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
2928
3090
  }
2929
3091
  ),
2930
3092
  /* @__PURE__ */ jsx(
@@ -2952,10 +3114,10 @@ var FormGroupError = ({ children, className, errors, ...rest }) => {
2952
3114
  const messages = (errors ?? []).map(toMessage).filter((message2) => !!message2);
2953
3115
  if (messages.length === 0) return null;
2954
3116
  if (messages.length === 1) return messages[0];
2955
- return /* @__PURE__ */ jsx("ul", { className: "tw-m-0 tw-flex tw-list-disc tw-flex-col tw-gap-0 tw-pl-4", children: messages.map((message2, index) => /* @__PURE__ */ jsx("li", { children: message2 }, index)) });
3117
+ return /* @__PURE__ */ jsx("ul", { className: "tw:m-0 tw:flex tw:list-disc tw:flex-col tw:gap-0 tw:pl-4", children: messages.map((message2, index) => /* @__PURE__ */ jsx("li", { children: message2 }, index)) });
2956
3118
  }, [children, errors]);
2957
3119
  if (!content) return null;
2958
- return /* @__PURE__ */ jsx("div", { ...rest, role: "alert", className: cn("tw-m-0 tw-text-xs tw-text-destructive", className), children: content });
3120
+ return /* @__PURE__ */ jsx("div", { ...rest, role: "alert", className: cn("tw:m-0 tw:text-xs tw:text-destructive", className), children: content });
2959
3121
  };
2960
3122
  var FormGroupHelp = ({ children, ...rest }) => {
2961
3123
  const formGroupContext = useFormGroupContext();
@@ -2975,7 +3137,7 @@ var NumberInput = ({
2975
3137
  onValueBlur,
2976
3138
  onChange,
2977
3139
  onBlur,
2978
- prefix,
3140
+ prefix: prefix2,
2979
3141
  suffix,
2980
3142
  ...inputProps
2981
3143
  }) => {
@@ -2998,7 +3160,7 @@ var NumberInput = ({
2998
3160
  focusVariant,
2999
3161
  className,
3000
3162
  children: [
3001
- prefix && /* @__PURE__ */ jsx(InputGroup.Addon, { align: "inline-start", children: prefix }),
3163
+ prefix2 && /* @__PURE__ */ jsx(InputGroup.Addon, { align: "inline-start", children: prefix2 }),
3002
3164
  /* @__PURE__ */ jsx(
3003
3165
  InputGroup.Input,
3004
3166
  {
@@ -3057,10 +3219,10 @@ var FormGroupTextarea = (props) => {
3057
3219
  };
3058
3220
 
3059
3221
  // src/blocks/TextInput/utils.ts
3060
- var genInputTestId = (prefix = "") => {
3061
- const ps = createPrefixedString(prefix);
3222
+ var genInputTestId = (prefix2 = "") => {
3223
+ const ps = createPrefixedString(prefix2);
3062
3224
  return {
3063
- toString: () => prefix,
3225
+ toString: () => prefix2,
3064
3226
  inputWrapper: ps`input-wrapper`,
3065
3227
  input: ps`input`,
3066
3228
  clearButton: ps`clear-button`
@@ -3075,7 +3237,7 @@ var TextInput = ({
3075
3237
  state = "default",
3076
3238
  sizing = "default",
3077
3239
  className,
3078
- prefix = null,
3240
+ prefix: prefix2 = null,
3079
3241
  rightSuffix = null,
3080
3242
  rightSuffixVariant = "default",
3081
3243
  leftSuffix = null,
@@ -3133,7 +3295,7 @@ var TextInput = ({
3133
3295
  className,
3134
3296
  "data-testid": testId.inputWrapper,
3135
3297
  children: [
3136
- prefix && /* @__PURE__ */ jsx(InputGroup.Addon, { align: "inline-start", children: prefix }),
3298
+ prefix2 && /* @__PURE__ */ jsx(InputGroup.Addon, { align: "inline-start", children: prefix2 }),
3137
3299
  /* @__PURE__ */ jsx(
3138
3300
  InputGroup.Input,
3139
3301
  {
@@ -3160,14 +3322,14 @@ var TextInput = ({
3160
3322
  onMouseDown: (e) => e.preventDefault(),
3161
3323
  onClick: handleClear,
3162
3324
  "data-testid": testId.clearButton,
3163
- children: /* @__PURE__ */ jsx(icons_exports.X, { className: "tw-size-4" })
3325
+ children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
3164
3326
  }
3165
3327
  ),
3166
3328
  rightSuffix && /* @__PURE__ */ jsx(
3167
3329
  "div",
3168
3330
  {
3169
3331
  className: cn({
3170
- "tw-whitespace-nowrap tw-bg-muted tw-px-4 -tw-mr-4 tw-py-2.5": rightSuffixVariant === "addon"
3332
+ "tw:whitespace-nowrap tw:bg-muted tw:px-4 tw:-mr-4 tw:py-2.5": rightSuffixVariant === "addon"
3171
3333
  }),
3172
3334
  children: rightSuffix
3173
3335
  }
@@ -3182,7 +3344,7 @@ var FormGroupTextInput = ({ ref, ...props }) => {
3182
3344
  return /* @__PURE__ */ jsx(TextInput, { state, ...props, ref });
3183
3345
  };
3184
3346
  var FormGroup = ({ className, children, state, ...rest }) => {
3185
- return /* @__PURE__ */ jsx(FormGroupProvider, { value: { state }, children: /* @__PURE__ */ jsx("div", { ...rest, className: cn("tw-flex tw-flex-col tw-gap-1", className), children }) });
3347
+ return /* @__PURE__ */ jsx(FormGroupProvider, { value: { state }, children: /* @__PURE__ */ jsx("div", { ...rest, className: cn("tw:flex tw:flex-col tw:gap-1", className), children }) });
3186
3348
  };
3187
3349
  FormGroup.Help = FormGroupHelp;
3188
3350
  FormGroup.Error = FormGroupError;
@@ -3234,7 +3396,7 @@ var DocumentationLinkIcon = ({
3234
3396
  variant: "explanatory",
3235
3397
  tooltip: documentation.tooltip ?? "Open documentation",
3236
3398
  triggerAsChild: true,
3237
- children: /* @__PURE__ */ jsx(Link, { href: documentation.link, children: /* @__PURE__ */ jsx("span", { className: "tw-cursor-pointer tw-text-neutral-400 hover:tw-text-neutral-600", children: /* @__PURE__ */ jsx(icons_exports.BookOpen, { className: "tw-size-4" }) }) })
3399
+ children: /* @__PURE__ */ jsx(Link3, { href: documentation.link, children: /* @__PURE__ */ jsx("span", { className: "tw:cursor-pointer tw:text-neutral-400 tw:hover:text-neutral-600", children: /* @__PURE__ */ jsx(BookOpen, { className: "tw:size-4" }) }) })
3238
3400
  }
3239
3401
  );
3240
3402
  var FieldTemplateBody = ({
@@ -3269,12 +3431,12 @@ var FieldTemplateBody = ({
3269
3431
  documentation && /* @__PURE__ */ jsx(DocumentationLinkIcon, { documentation })
3270
3432
  ] });
3271
3433
  return /* @__PURE__ */ jsxs(FormGroup, { state: hasErrors ? "error" : "default", children: [
3272
- showLabel && /* @__PURE__ */ jsx(Label, { htmlFor: id, children: /* @__PURE__ */ jsxs("span", { className: "tw-inline-flex tw-items-center tw-gap-1", children: [
3434
+ showLabel && /* @__PURE__ */ jsx(Label, { htmlFor: id, children: /* @__PURE__ */ jsxs("span", { className: "tw:inline-flex tw:items-center tw:gap-1", children: [
3273
3435
  label,
3274
3436
  helpIcons
3275
3437
  ] }) }),
3276
- !showLabel && !isCheckbox && hasHelpIcons && /* @__PURE__ */ jsx("div", { className: "tw-flex tw-items-center tw-gap-1", children: helpIcons }),
3277
- isCheckbox && hasHelpIcons ? /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-items-center tw-gap-1", children: [
3438
+ !showLabel && !isCheckbox && hasHelpIcons && /* @__PURE__ */ jsx("div", { className: "tw:flex tw:items-center tw:gap-1", children: helpIcons }),
3439
+ isCheckbox && hasHelpIcons ? /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:items-center tw:gap-1", children: [
3278
3440
  children,
3279
3441
  helpIcons
3280
3442
  ] }) : children,
@@ -3294,9 +3456,9 @@ var FieldTemplateWithDependencies = ({
3294
3456
  return /* @__PURE__ */ jsx(FieldTemplateBody, { ...props });
3295
3457
  };
3296
3458
  var FieldTemplate = (props) => {
3297
- if (props.hidden) return /* @__PURE__ */ jsx("div", { className: "tw-hidden", children: props.children });
3459
+ if (props.hidden) return /* @__PURE__ */ jsx("div", { className: "tw:hidden", children: props.children });
3298
3460
  if (props.uiSchema?.["ui:widget"] === "template-watch") {
3299
- return /* @__PURE__ */ jsx("div", { className: "tw-hidden", children: props.children });
3461
+ return /* @__PURE__ */ jsx("div", { className: "tw:hidden", children: props.children });
3300
3462
  }
3301
3463
  const uiOptions = props.uiSchema?.["ui:options"];
3302
3464
  const dependencies = uiOptions?.dependencies;
@@ -3337,9 +3499,9 @@ var ObjectFieldTemplate = ({
3337
3499
  const w = uiSchema?.[name]?.["ui:widget"];
3338
3500
  return w === "hidden" || w === "template-watch";
3339
3501
  };
3340
- const renderChildren = (props) => props.map((prop) => /* @__PURE__ */ jsx("div", { className: isHiddenMount(prop.name) ? "tw-hidden" : void 0, children: prop.content }, prop.name));
3502
+ const renderChildren = (props) => props.map((prop) => /* @__PURE__ */ jsx("div", { className: isHiddenMount(prop.name) ? "tw:hidden" : void 0, children: prop.content }, prop.name));
3341
3503
  if (isRoot) {
3342
- return /* @__PURE__ */ jsx("div", { className: "tw-flex tw-flex-col tw-gap-4 [&>div:empty]:tw-hidden", children: renderChildren(visibleProperties) });
3504
+ return /* @__PURE__ */ jsx("div", { className: "tw:flex tw:flex-col tw:gap-4 tw:[&>div:empty]:hidden", children: renderChildren(visibleProperties) });
3343
3505
  }
3344
3506
  const childrenContent = renderChildren(visibleProperties);
3345
3507
  if (hasCollapsed && !disableCollapse) {
@@ -3351,11 +3513,11 @@ var ObjectFieldTemplate = ({
3351
3513
  return /* @__PURE__ */ jsxs(
3352
3514
  CollapsiblePanel,
3353
3515
  {
3354
- className: "tw-rounded-lg",
3355
- headerClassName: "tw-rounded-lg",
3516
+ className: "tw:rounded-lg",
3517
+ headerClassName: "tw:rounded-lg",
3356
3518
  header: title || "Settings",
3357
3519
  defaultExpanded,
3358
- bodyClassName: "tw-flex tw-flex-col tw-gap-4 [&>div:empty]:tw-hidden",
3520
+ bodyClassName: "tw:flex tw:flex-col tw:gap-4 tw:[&>div:empty]:hidden",
3359
3521
  children: [
3360
3522
  description,
3361
3523
  childrenContent
@@ -3364,12 +3526,12 @@ var ObjectFieldTemplate = ({
3364
3526
  );
3365
3527
  }
3366
3528
  if (isArrayItem) {
3367
- return /* @__PURE__ */ jsx("div", { className: "tw-flex tw-flex-col tw-gap-4 [&>div:empty]:tw-hidden", children: childrenContent });
3529
+ return /* @__PURE__ */ jsx("div", { className: "tw:flex tw:flex-col tw:gap-4 tw:[&>div:empty]:hidden", children: childrenContent });
3368
3530
  }
3369
- return /* @__PURE__ */ jsxs("div", { className: "tw-rounded-lg tw-border tw-border-solid tw-border-neutral-200 tw-bg-white tw-p-4", children: [
3370
- title && /* @__PURE__ */ jsx("h3", { className: "tw-mb-2 tw-text-base tw-font-medium tw-text-neutral-800", children: title }),
3371
- description && /* @__PURE__ */ jsx("p", { className: "tw-mb-3 tw-text-xs tw-text-neutral-400", children: description }),
3372
- /* @__PURE__ */ jsx("div", { className: "tw-flex tw-flex-col tw-gap-4 [&>div:empty]:tw-hidden", children: childrenContent })
3531
+ return /* @__PURE__ */ jsxs("div", { className: "tw:rounded-lg tw:border tw:border-solid tw:border-neutral-200 tw:bg-white tw:p-4", children: [
3532
+ title && /* @__PURE__ */ jsx("h3", { className: "tw:mb-2 tw:text-base tw:font-medium tw:text-neutral-800", children: title }),
3533
+ description && /* @__PURE__ */ jsx("p", { className: "tw:mb-3 tw:text-xs tw:text-neutral-400", children: description }),
3534
+ /* @__PURE__ */ jsx("div", { className: "tw:flex tw:flex-col tw:gap-4 tw:[&>div:empty]:hidden", children: childrenContent })
3373
3535
  ] });
3374
3536
  };
3375
3537
  var FieldBoxDescription = ({ className, ...props }) => /* @__PURE__ */ jsx(
@@ -3378,9 +3540,9 @@ var FieldBoxDescription = ({ className, ...props }) => /* @__PURE__ */ jsx(
3378
3540
  ...props,
3379
3541
  "data-slot": "field-box-description",
3380
3542
  className: cn(
3381
- "tw-text-xs",
3382
- "tw-text-muted-foreground",
3383
- "group-has-[:disabled]/field-box:tw-opacity-50",
3543
+ "tw:text-xs",
3544
+ "tw:text-muted-foreground",
3545
+ "tw:group-has-[:disabled]/field-box:opacity-50",
3384
3546
  className
3385
3547
  )
3386
3548
  }
@@ -3391,42 +3553,42 @@ var FieldBoxTitle = ({ className, ...props }) => /* @__PURE__ */ jsx(
3391
3553
  ...props,
3392
3554
  "data-slot": "field-box-title",
3393
3555
  className: cn(
3394
- "tw-text-sm",
3395
- "tw-font-medium",
3396
- "tw-text-foreground",
3397
- "group-has-[:disabled]/field-box:tw-cursor-not-allowed",
3398
- "group-has-[:disabled]/field-box:tw-opacity-50",
3556
+ "tw:text-sm",
3557
+ "tw:font-medium",
3558
+ "tw:text-foreground",
3559
+ "tw:group-has-[:disabled]/field-box:cursor-not-allowed",
3560
+ "tw:group-has-[:disabled]/field-box:opacity-50",
3399
3561
  className
3400
3562
  )
3401
3563
  }
3402
3564
  );
3403
3565
  var fieldBoxVariants = cva(
3404
3566
  [
3405
- "tw-group/field-box",
3406
- "tw-m-0",
3407
- "tw-inline-flex",
3408
- "tw-gap-3",
3409
- "tw-items-center",
3410
- "has-[[data-slot=field-box-description]]:tw-items-start",
3411
- "tw-cursor-pointer",
3412
- "tw-select-none",
3413
- "has-[:disabled]:tw-cursor-not-allowed"
3567
+ "tw:group/field-box",
3568
+ "tw:m-0",
3569
+ "tw:inline-flex",
3570
+ "tw:gap-3",
3571
+ "tw:items-center",
3572
+ "tw:has-[[data-slot=field-box-description]]:items-start",
3573
+ "tw:cursor-pointer",
3574
+ "tw:select-none",
3575
+ "tw:has-[:disabled]:cursor-not-allowed"
3414
3576
  ],
3415
3577
  {
3416
3578
  variants: {
3417
3579
  variant: {
3418
3580
  default: [],
3419
3581
  boxed: [
3420
- "tw-rounded-lg",
3421
- "tw-border",
3422
- "tw-border-solid",
3423
- "tw-border-border",
3424
- "tw-p-3",
3425
- "tw-transition-colors",
3426
- "has-[[data-state=checked]]:tw-border-primary",
3427
- "has-[[data-state=checked]]:tw-bg-accent",
3428
- "has-[[data-state=indeterminate]]:tw-border-primary",
3429
- "has-[[data-state=indeterminate]]:tw-bg-accent"
3582
+ "tw:rounded-lg",
3583
+ "tw:border",
3584
+ "tw:border-solid",
3585
+ "tw:border-border",
3586
+ "tw:p-3",
3587
+ "tw:transition-colors",
3588
+ "tw:has-[[data-state=checked]]:border-primary",
3589
+ "tw:has-[[data-state=checked]]:bg-accent",
3590
+ "tw:has-[[data-state=indeterminate]]:border-primary",
3591
+ "tw:has-[[data-state=indeterminate]]:bg-accent"
3430
3592
  ]
3431
3593
  }
3432
3594
  },
@@ -3450,11 +3612,11 @@ var FieldBoxRoot = ({
3450
3612
  ref,
3451
3613
  className: cn(
3452
3614
  fieldBoxVariants({ variant, className }),
3453
- position === "end" && "tw-flex-row-reverse"
3615
+ position === "end" && "tw:flex-row-reverse"
3454
3616
  ),
3455
3617
  children: [
3456
- /* @__PURE__ */ jsx("span", { className: "tw-inline-flex tw-min-h-5 tw-shrink-0 tw-items-center group-has-[[data-slot=field-box-description]]/field-box:tw-mt-0.5", children: control }),
3457
- children != null && /* @__PURE__ */ jsx("span", { className: "tw-flex tw-flex-1 tw-flex-col tw-gap-0.5", children })
3618
+ /* @__PURE__ */ jsx("span", { className: "tw:inline-flex tw:min-h-5 tw:shrink-0 tw:items-center tw:group-has-[[data-slot=field-box-description]]/field-box:mt-0.5", children: control }),
3619
+ children != null && /* @__PURE__ */ jsx("span", { className: "tw:flex tw:flex-1 tw:flex-col tw:gap-0.5", children })
3458
3620
  ]
3459
3621
  }
3460
3622
  );
@@ -3467,19 +3629,19 @@ var rootVariants = cva(
3467
3629
  // reset
3468
3630
  "tailwindcss-preflight",
3469
3631
  // position
3470
- "tw-flex",
3471
- "tw-items-center",
3472
- "tw-justify-center",
3473
- "tw-peer",
3474
- "tw-size-4",
3475
- "tw-shrink-0",
3476
- "tw-cursor-pointer",
3632
+ "tw:flex",
3633
+ "tw:items-center",
3634
+ "tw:justify-center",
3635
+ "tw:peer",
3636
+ "tw:size-4",
3637
+ "tw:shrink-0",
3638
+ "tw:cursor-pointer",
3477
3639
  // border
3478
- "tw-border",
3479
- "tw-border-solid",
3640
+ "tw:border",
3641
+ "tw:border-solid",
3480
3642
  // disabled
3481
- "disabled:tw-opacity-50",
3482
- "disabled:tw-cursor-not-allowed"
3643
+ "tw:disabled:opacity-50",
3644
+ "tw:disabled:cursor-not-allowed"
3483
3645
  ],
3484
3646
  {
3485
3647
  defaultVariants: {
@@ -3488,42 +3650,42 @@ var rootVariants = cva(
3488
3650
  variants: {
3489
3651
  variant: {
3490
3652
  default: [
3491
- "tw-rounded",
3492
- "tw-border-neutral-200",
3493
- "data-[state=checked]:tw-bg-primary",
3494
- "data-[state=checked]:tw-border-primary",
3495
- "data-[state=indeterminate]:tw-bg-white",
3496
- "data-[state=indeterminate]:tw-border-neutral-200"
3653
+ "tw:rounded",
3654
+ "tw:border-neutral-200",
3655
+ "tw:data-[state=checked]:bg-primary",
3656
+ "tw:data-[state=checked]:border-primary",
3657
+ "tw:data-[state=indeterminate]:bg-white",
3658
+ "tw:data-[state=indeterminate]:border-neutral-200"
3497
3659
  ],
3498
3660
  argo: [
3499
- "tw-rounded",
3500
- "tw-border-input",
3501
- "tw-transition-colors",
3502
- "data-[state=checked]:tw-bg-primary",
3503
- "data-[state=checked]:tw-border-primary",
3504
- "data-[state=indeterminate]:tw-bg-primary",
3505
- "data-[state=indeterminate]:tw-border-primary",
3661
+ "tw:rounded",
3662
+ "tw:border-input",
3663
+ "tw:transition-colors",
3664
+ "tw:data-[state=checked]:bg-primary",
3665
+ "tw:data-[state=checked]:border-primary",
3666
+ "tw:data-[state=indeterminate]:bg-primary",
3667
+ "tw:data-[state=indeterminate]:border-primary",
3506
3668
  // focus
3507
- "focus-visible:tw-outline-none",
3508
- "focus-visible:tw-border-primary",
3509
- "focus-visible:tw-ring-2",
3510
- "focus-visible:tw-ring-ring/50"
3669
+ "tw:focus-visible:outline-hidden",
3670
+ "tw:focus-visible:border-primary",
3671
+ "tw:focus-visible:ring-2",
3672
+ "tw:focus-visible:ring-ring/50"
3511
3673
  ]
3512
3674
  }
3513
3675
  }
3514
3676
  }
3515
3677
  );
3516
- var indicatorVariants = cva(["tw-group", "tw-flex", "tw-items-center"], {
3678
+ var indicatorVariants = cva(["tw:group", "tw:flex", "tw:items-center"], {
3517
3679
  defaultVariants: {
3518
3680
  variant: "default"
3519
3681
  },
3520
3682
  variants: {
3521
3683
  variant: {
3522
3684
  default: [
3523
- "data-[state=checked]:tw-text-primary-foreground",
3524
- "data-[state=indeterminate]:tw-text-neutral-200"
3685
+ "tw:data-[state=checked]:text-primary-foreground",
3686
+ "tw:data-[state=indeterminate]:text-neutral-200"
3525
3687
  ],
3526
- argo: ["tw-text-primary-foreground"]
3688
+ argo: ["tw:text-primary-foreground"]
3527
3689
  }
3528
3690
  }
3529
3691
  });
@@ -3542,8 +3704,8 @@ function Checkbox({
3542
3704
  const id = idProp?.toString() ?? fallbackId;
3543
3705
  const styleVariant = useArgoDesign() ? "argo" : "default";
3544
3706
  const checkboxElement = /* @__PURE__ */ jsx(Root, { id, ...rest, className: cn(rootVariants({ variant: styleVariant, className })), children: /* @__PURE__ */ jsxs(Indicator, { className: cn(indicatorVariants({ variant: styleVariant })), children: [
3545
- /* @__PURE__ */ jsx(icons_exports.Check, { className: "tw-hidden tw-size-3 tw-stroke-[4px] group-data-[state=checked]:tw-block" }),
3546
- /* @__PURE__ */ jsx(icons_exports.Minus, { className: "tw-hidden tw-size-3 tw-stroke-[4px] group-data-[state=indeterminate]:tw-block" })
3707
+ /* @__PURE__ */ jsx(Check, { className: "tw:hidden tw:size-3 tw:stroke-[4px] tw:group-data-[state=checked]:block" }),
3708
+ /* @__PURE__ */ jsx(Minus, { className: "tw:hidden tw:size-3 tw:stroke-[4px] tw:group-data-[state=indeterminate]:block" })
3547
3709
  ] }) });
3548
3710
  const rendered = !children ? checkboxElement : /* @__PURE__ */ jsxs(FieldBox, { htmlFor: id, variant, position, control: checkboxElement, children: [
3549
3711
  /* @__PURE__ */ jsx(FieldBox.Title, { children }),
@@ -3790,7 +3952,7 @@ var millisecondsInWeek = 6048e5;
3790
3952
  var millisecondsInDay = 864e5;
3791
3953
  var constructFromSymbol = /* @__PURE__ */ Symbol.for("constructDateFrom");
3792
3954
 
3793
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructFrom.js
3955
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constructFrom.js
3794
3956
  function constructFrom(date, value) {
3795
3957
  if (typeof date === "function") return date(value);
3796
3958
  if (date && typeof date === "object" && constructFromSymbol in date)
@@ -3799,12 +3961,12 @@ function constructFrom(date, value) {
3799
3961
  return new Date(value);
3800
3962
  }
3801
3963
 
3802
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/toDate.js
3964
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/toDate.js
3803
3965
  function toDate(argument, context) {
3804
3966
  return constructFrom(context || argument, argument);
3805
3967
  }
3806
3968
 
3807
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addDays.js
3969
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addDays.js
3808
3970
  function addDays(date, amount, options) {
3809
3971
  const _date = toDate(date, options?.in);
3810
3972
  if (isNaN(amount)) return constructFrom(date, NaN);
@@ -3813,7 +3975,7 @@ function addDays(date, amount, options) {
3813
3975
  return _date;
3814
3976
  }
3815
3977
 
3816
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addMonths.js
3978
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addMonths.js
3817
3979
  function addMonths(date, amount, options) {
3818
3980
  const _date = toDate(date, options?.in);
3819
3981
  if (isNaN(amount)) return constructFrom(date, NaN);
@@ -3836,13 +3998,13 @@ function addMonths(date, amount, options) {
3836
3998
  }
3837
3999
  }
3838
4000
 
3839
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/defaultOptions.js
4001
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/defaultOptions.js
3840
4002
  var defaultOptions = {};
3841
4003
  function getDefaultOptions() {
3842
4004
  return defaultOptions;
3843
4005
  }
3844
4006
 
3845
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeek.js
4007
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeek.js
3846
4008
  function startOfWeek(date, options) {
3847
4009
  const defaultOptions2 = getDefaultOptions();
3848
4010
  const weekStartsOn = options?.weekStartsOn ?? options?.locale?.options?.weekStartsOn ?? defaultOptions2.weekStartsOn ?? defaultOptions2.locale?.options?.weekStartsOn ?? 0;
@@ -3854,12 +4016,12 @@ function startOfWeek(date, options) {
3854
4016
  return _date;
3855
4017
  }
3856
4018
 
3857
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeek.js
4019
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeek.js
3858
4020
  function startOfISOWeek(date, options) {
3859
4021
  return startOfWeek(date, { ...options, weekStartsOn: 1 });
3860
4022
  }
3861
4023
 
3862
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeekYear.js
4024
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeekYear.js
3863
4025
  function getISOWeekYear(date, options) {
3864
4026
  const _date = toDate(date, options?.in);
3865
4027
  const year = _date.getFullYear();
@@ -3880,7 +4042,7 @@ function getISOWeekYear(date, options) {
3880
4042
  }
3881
4043
  }
3882
4044
 
3883
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
4045
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
3884
4046
  function getTimezoneOffsetInMilliseconds(date) {
3885
4047
  const _date = toDate(date);
3886
4048
  const utcDate = new Date(
@@ -3898,7 +4060,7 @@ function getTimezoneOffsetInMilliseconds(date) {
3898
4060
  return +date - +utcDate;
3899
4061
  }
3900
4062
 
3901
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeDates.js
4063
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/normalizeDates.js
3902
4064
  function normalizeDates(context, ...dates) {
3903
4065
  const normalize = constructFrom.bind(
3904
4066
  null,
@@ -3907,14 +4069,14 @@ function normalizeDates(context, ...dates) {
3907
4069
  return dates.map(normalize);
3908
4070
  }
3909
4071
 
3910
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfDay.js
4072
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfDay.js
3911
4073
  function startOfDay(date, options) {
3912
4074
  const _date = toDate(date, options?.in);
3913
4075
  _date.setHours(0, 0, 0, 0);
3914
4076
  return _date;
3915
4077
  }
3916
4078
 
3917
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarDays.js
4079
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/differenceInCalendarDays.js
3918
4080
  function differenceInCalendarDays(laterDate, earlierDate, options) {
3919
4081
  const [laterDate_, earlierDate_] = normalizeDates(
3920
4082
  options?.in,
@@ -3928,7 +4090,7 @@ function differenceInCalendarDays(laterDate, earlierDate, options) {
3928
4090
  return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);
3929
4091
  }
3930
4092
 
3931
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeekYear.js
4093
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeekYear.js
3932
4094
  function startOfISOWeekYear(date, options) {
3933
4095
  const year = getISOWeekYear(date, options);
3934
4096
  const fourthOfJanuary = constructFrom(date, 0);
@@ -3937,17 +4099,17 @@ function startOfISOWeekYear(date, options) {
3937
4099
  return startOfISOWeek(fourthOfJanuary);
3938
4100
  }
3939
4101
 
3940
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addWeeks.js
4102
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addWeeks.js
3941
4103
  function addWeeks(date, amount, options) {
3942
4104
  return addDays(date, amount * 7, options);
3943
4105
  }
3944
4106
 
3945
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addYears.js
4107
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addYears.js
3946
4108
  function addYears(date, amount, options) {
3947
4109
  return addMonths(date, amount * 12, options);
3948
4110
  }
3949
4111
 
3950
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/max.js
4112
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/max.js
3951
4113
  function max(dates, options) {
3952
4114
  let result;
3953
4115
  let context = options?.in;
@@ -3960,7 +4122,7 @@ function max(dates, options) {
3960
4122
  return constructFrom(context, result || NaN);
3961
4123
  }
3962
4124
 
3963
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/min.js
4125
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/min.js
3964
4126
  function min(dates, options) {
3965
4127
  let result;
3966
4128
  let context = options?.in;
@@ -3973,7 +4135,7 @@ function min(dates, options) {
3973
4135
  return constructFrom(context, result || NaN);
3974
4136
  }
3975
4137
 
3976
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameDay.js
4138
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameDay.js
3977
4139
  function isSameDay(laterDate, earlierDate, options) {
3978
4140
  const [dateLeft_, dateRight_] = normalizeDates(
3979
4141
  options?.in,
@@ -3983,17 +4145,17 @@ function isSameDay(laterDate, earlierDate, options) {
3983
4145
  return +startOfDay(dateLeft_) === +startOfDay(dateRight_);
3984
4146
  }
3985
4147
 
3986
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isDate.js
4148
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isDate.js
3987
4149
  function isDate(value) {
3988
4150
  return value instanceof Date || typeof value === "object" && Object.prototype.toString.call(value) === "[object Date]";
3989
4151
  }
3990
4152
 
3991
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isValid.js
4153
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isValid.js
3992
4154
  function isValid(date) {
3993
4155
  return !(!isDate(date) && typeof date !== "number" || isNaN(+toDate(date)));
3994
4156
  }
3995
4157
 
3996
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarMonths.js
4158
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/differenceInCalendarMonths.js
3997
4159
  function differenceInCalendarMonths(laterDate, earlierDate, options) {
3998
4160
  const [laterDate_, earlierDate_] = normalizeDates(
3999
4161
  options?.in,
@@ -4005,7 +4167,7 @@ function differenceInCalendarMonths(laterDate, earlierDate, options) {
4005
4167
  return yearsDiff * 12 + monthsDiff;
4006
4168
  }
4007
4169
 
4008
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfMonth.js
4170
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfMonth.js
4009
4171
  function endOfMonth(date, options) {
4010
4172
  const _date = toDate(date, options?.in);
4011
4173
  const month = _date.getMonth();
@@ -4014,13 +4176,13 @@ function endOfMonth(date, options) {
4014
4176
  return _date;
4015
4177
  }
4016
4178
 
4017
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeInterval.js
4179
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/normalizeInterval.js
4018
4180
  function normalizeInterval(context, interval) {
4019
4181
  const [start, end] = normalizeDates(context, interval.start, interval.end);
4020
4182
  return { start, end };
4021
4183
  }
4022
4184
 
4023
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachMonthOfInterval.js
4185
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/eachMonthOfInterval.js
4024
4186
  function eachMonthOfInterval(interval, options) {
4025
4187
  const { start, end } = normalizeInterval(options?.in, interval);
4026
4188
  let reversed = +start > +end;
@@ -4037,7 +4199,7 @@ function eachMonthOfInterval(interval, options) {
4037
4199
  return reversed ? dates.reverse() : dates;
4038
4200
  }
4039
4201
 
4040
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfMonth.js
4202
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfMonth.js
4041
4203
  function startOfMonth(date, options) {
4042
4204
  const _date = toDate(date, options?.in);
4043
4205
  _date.setDate(1);
@@ -4045,7 +4207,7 @@ function startOfMonth(date, options) {
4045
4207
  return _date;
4046
4208
  }
4047
4209
 
4048
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfYear.js
4210
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfYear.js
4049
4211
  function endOfYear(date, options) {
4050
4212
  const _date = toDate(date, options?.in);
4051
4213
  const year = _date.getFullYear();
@@ -4054,7 +4216,7 @@ function endOfYear(date, options) {
4054
4216
  return _date;
4055
4217
  }
4056
4218
 
4057
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfYear.js
4219
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfYear.js
4058
4220
  function startOfYear(date, options) {
4059
4221
  const date_ = toDate(date, options?.in);
4060
4222
  date_.setFullYear(date_.getFullYear(), 0, 1);
@@ -4062,7 +4224,7 @@ function startOfYear(date, options) {
4062
4224
  return date_;
4063
4225
  }
4064
4226
 
4065
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachYearOfInterval.js
4227
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/eachYearOfInterval.js
4066
4228
  function eachYearOfInterval(interval, options) {
4067
4229
  const { start, end } = normalizeInterval(options?.in, interval);
4068
4230
  let reversed = +start > +end;
@@ -4079,7 +4241,7 @@ function eachYearOfInterval(interval, options) {
4079
4241
  return reversed ? dates.reverse() : dates;
4080
4242
  }
4081
4243
 
4082
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfWeek.js
4244
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfWeek.js
4083
4245
  function endOfWeek(date, options) {
4084
4246
  const defaultOptions2 = getDefaultOptions();
4085
4247
  const weekStartsOn = options?.weekStartsOn ?? options?.locale?.options?.weekStartsOn ?? defaultOptions2.weekStartsOn ?? defaultOptions2.locale?.options?.weekStartsOn ?? 0;
@@ -4091,12 +4253,12 @@ function endOfWeek(date, options) {
4091
4253
  return _date;
4092
4254
  }
4093
4255
 
4094
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfISOWeek.js
4256
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfISOWeek.js
4095
4257
  function endOfISOWeek(date, options) {
4096
4258
  return endOfWeek(date, { ...options, weekStartsOn: 1 });
4097
4259
  }
4098
4260
 
4099
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js
4261
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js
4100
4262
  var formatDistanceLocale = {
4101
4263
  lessThanXSeconds: {
4102
4264
  one: "less than a second",
@@ -4180,7 +4342,7 @@ var formatDistance = (token, count, options) => {
4180
4342
  return result;
4181
4343
  };
4182
4344
 
4183
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js
4345
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js
4184
4346
  function buildFormatLongFn(args) {
4185
4347
  return (options = {}) => {
4186
4348
  const width = options.width ? String(options.width) : args.defaultWidth;
@@ -4189,7 +4351,7 @@ function buildFormatLongFn(args) {
4189
4351
  };
4190
4352
  }
4191
4353
 
4192
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js
4354
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js
4193
4355
  var dateFormats = {
4194
4356
  full: "EEEE, MMMM do, y",
4195
4357
  long: "MMMM do, y",
@@ -4223,7 +4385,7 @@ var formatLong = {
4223
4385
  })
4224
4386
  };
4225
4387
 
4226
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js
4388
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js
4227
4389
  var formatRelativeLocale = {
4228
4390
  lastWeek: "'last' eeee 'at' p",
4229
4391
  yesterday: "'yesterday at' p",
@@ -4234,7 +4396,7 @@ var formatRelativeLocale = {
4234
4396
  };
4235
4397
  var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];
4236
4398
 
4237
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js
4399
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js
4238
4400
  function buildLocalizeFn(args) {
4239
4401
  return (value, options) => {
4240
4402
  const context = options?.context ? String(options.context) : "standalone";
@@ -4253,7 +4415,7 @@ function buildLocalizeFn(args) {
4253
4415
  };
4254
4416
  }
4255
4417
 
4256
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/localize.js
4418
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/localize.js
4257
4419
  var eraValues = {
4258
4420
  narrow: ["B", "A"],
4259
4421
  abbreviated: ["BC", "AD"],
@@ -4415,7 +4577,7 @@ var localize = {
4415
4577
  })
4416
4578
  };
4417
4579
 
4418
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchFn.js
4580
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchFn.js
4419
4581
  function buildMatchFn(args) {
4420
4582
  return (string, options = {}) => {
4421
4583
  const width = options.width;
@@ -4457,7 +4619,7 @@ function findIndex(array, predicate) {
4457
4619
  return void 0;
4458
4620
  }
4459
4621
 
4460
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js
4622
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js
4461
4623
  function buildMatchPatternFn(args) {
4462
4624
  return (string, options = {}) => {
4463
4625
  const matchResult = string.match(args.matchPattern);
@@ -4472,7 +4634,7 @@ function buildMatchPatternFn(args) {
4472
4634
  };
4473
4635
  }
4474
4636
 
4475
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/match.js
4637
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/match.js
4476
4638
  var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
4477
4639
  var parseOrdinalNumberPattern = /\d+/i;
4478
4640
  var matchEraPatterns = {
@@ -4591,7 +4753,7 @@ var match = {
4591
4753
  })
4592
4754
  };
4593
4755
 
4594
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US.js
4756
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US.js
4595
4757
  var enUS = {
4596
4758
  code: "en-US",
4597
4759
  formatDistance,
@@ -4605,7 +4767,7 @@ var enUS = {
4605
4767
  }
4606
4768
  };
4607
4769
 
4608
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDayOfYear.js
4770
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDayOfYear.js
4609
4771
  function getDayOfYear(date, options) {
4610
4772
  const _date = toDate(date, options?.in);
4611
4773
  const diff = differenceInCalendarDays(_date, startOfYear(_date));
@@ -4613,14 +4775,14 @@ function getDayOfYear(date, options) {
4613
4775
  return dayOfYear;
4614
4776
  }
4615
4777
 
4616
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeek.js
4778
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeek.js
4617
4779
  function getISOWeek(date, options) {
4618
4780
  const _date = toDate(date, options?.in);
4619
4781
  const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);
4620
4782
  return Math.round(diff / millisecondsInWeek) + 1;
4621
4783
  }
4622
4784
 
4623
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeekYear.js
4785
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeekYear.js
4624
4786
  function getWeekYear(date, options) {
4625
4787
  const _date = toDate(date, options?.in);
4626
4788
  const year = _date.getFullYear();
@@ -4643,7 +4805,7 @@ function getWeekYear(date, options) {
4643
4805
  }
4644
4806
  }
4645
4807
 
4646
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeekYear.js
4808
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeekYear.js
4647
4809
  function startOfWeekYear(date, options) {
4648
4810
  const defaultOptions2 = getDefaultOptions();
4649
4811
  const firstWeekContainsDate = options?.firstWeekContainsDate ?? options?.locale?.options?.firstWeekContainsDate ?? defaultOptions2.firstWeekContainsDate ?? defaultOptions2.locale?.options?.firstWeekContainsDate ?? 1;
@@ -4655,21 +4817,21 @@ function startOfWeekYear(date, options) {
4655
4817
  return _date;
4656
4818
  }
4657
4819
 
4658
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeek.js
4820
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeek.js
4659
4821
  function getWeek(date, options) {
4660
4822
  const _date = toDate(date, options?.in);
4661
4823
  const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);
4662
4824
  return Math.round(diff / millisecondsInWeek) + 1;
4663
4825
  }
4664
4826
 
4665
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/addLeadingZeros.js
4827
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/addLeadingZeros.js
4666
4828
  function addLeadingZeros(number, targetLength) {
4667
4829
  const sign = number < 0 ? "-" : "";
4668
4830
  const output = Math.abs(number).toString().padStart(targetLength, "0");
4669
4831
  return sign + output;
4670
4832
  }
4671
4833
 
4672
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/lightFormatters.js
4834
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/lightFormatters.js
4673
4835
  var lightFormatters = {
4674
4836
  // Year
4675
4837
  y(date, token) {
@@ -4729,7 +4891,7 @@ var lightFormatters = {
4729
4891
  }
4730
4892
  };
4731
4893
 
4732
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/formatters.js
4894
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/formatters.js
4733
4895
  var dayPeriodEnum = {
4734
4896
  midnight: "midnight",
4735
4897
  noon: "noon",
@@ -5373,7 +5535,7 @@ function formatTimezone(offset, delimiter = "") {
5373
5535
  return sign + hours + delimiter + minutes;
5374
5536
  }
5375
5537
 
5376
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/longFormatters.js
5538
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/longFormatters.js
5377
5539
  var dateLongFormatter = (pattern, formatLong2) => {
5378
5540
  switch (pattern) {
5379
5541
  case "P":
@@ -5430,7 +5592,7 @@ var longFormatters = {
5430
5592
  P: dateTimeLongFormatter
5431
5593
  };
5432
5594
 
5433
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/protectedTokens.js
5595
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/protectedTokens.js
5434
5596
  var dayOfYearTokenRE = /^D+$/;
5435
5597
  var weekYearTokenRE = /^Y+$/;
5436
5598
  var throwTokens = ["D", "DD", "YY", "YYYY"];
@@ -5450,7 +5612,7 @@ function message(token, format2, input) {
5450
5612
  return `Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format2}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
5451
5613
  }
5452
5614
 
5453
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/format.js
5615
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/format.js
5454
5616
  var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g;
5455
5617
  var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
5456
5618
  var escapedStringRegExp = /^'([^]*?)'?$/;
@@ -5516,7 +5678,7 @@ function cleanEscapedString(input) {
5516
5678
  return matched[1].replace(doubleQuoteRegExp, "'");
5517
5679
  }
5518
5680
 
5519
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDaysInMonth.js
5681
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDaysInMonth.js
5520
5682
  function getDaysInMonth(date, options) {
5521
5683
  const _date = toDate(date, options?.in);
5522
5684
  const year = _date.getFullYear();
@@ -5527,27 +5689,27 @@ function getDaysInMonth(date, options) {
5527
5689
  return lastDayOfMonth.getDate();
5528
5690
  }
5529
5691
 
5530
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getMonth.js
5692
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getMonth.js
5531
5693
  function getMonth(date, options) {
5532
5694
  return toDate(date, options?.in).getMonth();
5533
5695
  }
5534
5696
 
5535
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getYear.js
5697
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getYear.js
5536
5698
  function getYear(date, options) {
5537
5699
  return toDate(date, options?.in).getFullYear();
5538
5700
  }
5539
5701
 
5540
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isAfter.js
5702
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isAfter.js
5541
5703
  function isAfter(date, dateToCompare) {
5542
5704
  return +toDate(date) > +toDate(dateToCompare);
5543
5705
  }
5544
5706
 
5545
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isBefore.js
5707
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isBefore.js
5546
5708
  function isBefore(date, dateToCompare) {
5547
5709
  return +toDate(date) < +toDate(dateToCompare);
5548
5710
  }
5549
5711
 
5550
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameMonth.js
5712
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameMonth.js
5551
5713
  function isSameMonth(laterDate, earlierDate, options) {
5552
5714
  const [laterDate_, earlierDate_] = normalizeDates(
5553
5715
  options?.in,
@@ -5557,7 +5719,7 @@ function isSameMonth(laterDate, earlierDate, options) {
5557
5719
  return laterDate_.getFullYear() === earlierDate_.getFullYear() && laterDate_.getMonth() === earlierDate_.getMonth();
5558
5720
  }
5559
5721
 
5560
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameYear.js
5722
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameYear.js
5561
5723
  function isSameYear(laterDate, earlierDate, options) {
5562
5724
  const [laterDate_, earlierDate_] = normalizeDates(
5563
5725
  options?.in,
@@ -5567,7 +5729,7 @@ function isSameYear(laterDate, earlierDate, options) {
5567
5729
  return laterDate_.getFullYear() === earlierDate_.getFullYear();
5568
5730
  }
5569
5731
 
5570
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setMonth.js
5732
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setMonth.js
5571
5733
  function setMonth(date, month, options) {
5572
5734
  const _date = toDate(date, options?.in);
5573
5735
  const year = _date.getFullYear();
@@ -5580,7 +5742,7 @@ function setMonth(date, month, options) {
5580
5742
  return _date;
5581
5743
  }
5582
5744
 
5583
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setYear.js
5745
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setYear.js
5584
5746
  function setYear(date, year, options) {
5585
5747
  const date_ = toDate(date, options?.in);
5586
5748
  if (isNaN(+date_)) return constructFrom(date, NaN);
@@ -5978,7 +6140,7 @@ __export(custom_components_exports, {
5978
6140
  MonthsDropdown: () => MonthsDropdown,
5979
6141
  Nav: () => Nav,
5980
6142
  NextMonthButton: () => NextMonthButton,
5981
- Option: () => Option,
6143
+ Option: () => Option2,
5982
6144
  PreviousMonthButton: () => PreviousMonthButton,
5983
6145
  Root: () => Root8,
5984
6146
  Select: () => Select,
@@ -6154,7 +6316,7 @@ function Nav(props) {
6154
6316
  function NextMonthButton(props) {
6155
6317
  return React26.createElement("button", { ...props });
6156
6318
  }
6157
- function Option(props) {
6319
+ function Option2(props) {
6158
6320
  return React26.createElement("option", { ...props });
6159
6321
  }
6160
6322
  function PreviousMonthButton(props) {
@@ -7912,27 +8074,27 @@ function DayPicker(initialProps) {
7912
8074
  );
7913
8075
  }
7914
8076
  var dayPickerClassNames = {
7915
- selected: `tw-bg-primary tw-border-primary tw-font-medium hover:tw-bg-primary/90 hover:tw-border-primary/90 tw-text-primary-foreground tw-rounded`
8077
+ selected: `tw:bg-primary tw:border-primary tw:font-medium tw:hover:bg-primary/90 tw:hover:border-primary/90 tw:text-primary-foreground tw:rounded`
7916
8078
  };
7917
8079
  var rangePickerClassNames = {
7918
- range_start: `tw-bg-primary tw-rounded-r-none tw-font-medium tw-border-primary hover:tw-bg-primary/90 hover:tw-border-primary/90 tw-text-primary-foreground`,
7919
- range_end: `tw-bg-primary tw-rounded-l-none tw-font-medium tw-border-primary hover:tw-bg-primary/90 hover:tw-border-primary/90 tw-text-primary-foreground`,
7920
- selected: `tw-font-medium tw-rounded`,
7921
- range_middle: `tw-bg-accent tw-border-accent tw-text-accent-foreground tw-rounded-none tw-font-medium`
8080
+ range_start: `tw:bg-primary tw:rounded-r-none tw:font-medium tw:border-primary tw:hover:bg-primary/90 tw:hover:border-primary/90 tw:text-primary-foreground`,
8081
+ range_end: `tw:bg-primary tw:rounded-l-none tw:font-medium tw:border-primary tw:hover:bg-primary/90 tw:hover:border-primary/90 tw:text-primary-foreground`,
8082
+ selected: `tw:font-medium tw:rounded`,
8083
+ range_middle: `tw:bg-accent tw:border-accent tw:text-accent-foreground tw:rounded-none tw:font-medium`
7922
8084
  };
7923
- var Calendar = ({ className, classNames, ...props }) => {
8085
+ var Calendar2 = ({ className, classNames, ...props }) => {
7924
8086
  const defaultClassNames = getDefaultClassNames();
7925
8087
  return /* @__PURE__ */ jsx(
7926
8088
  DayPicker,
7927
8089
  {
7928
8090
  ...props,
7929
8091
  captionLayout: "dropdown",
7930
- className: cn(className, "tw-p-3"),
8092
+ className: cn(className, "tw:p-3"),
7931
8093
  classNames: {
7932
- chevron: `${defaultClassNames.chevron} tw-fill-foreground`,
7933
- day: `${defaultClassNames.day} hover:tw-bg-accent tw-rounded`,
7934
- day_button: `${defaultClassNames.day_button} tw-rounded`,
7935
- today: `tw-bg-accent tw-text-accent-foreground tw-font-medium`,
8094
+ chevron: `${defaultClassNames.chevron} tw:fill-foreground`,
8095
+ day: `${defaultClassNames.day} tw:hover:bg-accent tw:rounded`,
8096
+ day_button: `${defaultClassNames.day_button} tw:rounded`,
8097
+ today: `tw:bg-accent tw:text-accent-foreground tw:font-medium`,
7936
8098
  ...dayPickerClassNames,
7937
8099
  ...rangePickerClassNames,
7938
8100
  selected: `${props.mode === "range" ? rangePickerClassNames.selected : dayPickerClassNames.selected}`,
@@ -7942,47 +8104,47 @@ var Calendar = ({ className, classNames, ...props }) => {
7942
8104
  }
7943
8105
  );
7944
8106
  };
7945
- Calendar.displayName = "Calendar";
8107
+ Calendar2.displayName = "Calendar";
7946
8108
  var variants2 = cva(
7947
8109
  [
7948
8110
  "tailwindcss-preflight",
7949
- "tw-group/popover-content",
7950
- "tw-z-[1055]",
7951
- "focus-visible:tw-outline-none",
8111
+ "tw:group/popover-content",
8112
+ "tw:z-[1055]",
8113
+ "tw:focus-visible:outline-hidden",
7952
8114
  // An open Radix Dialog locks `pointer-events: none` on <body>. Popover content
7953
8115
  // is portalled to <body> as a sibling of the dialog, so it inherits the lock
7954
8116
  // and clicks fall through — re-enable pointer events on the content itself
7955
8117
  // (dismiss-on-outside-click still works, it listens on document).
7956
- "tw-pointer-events-auto",
8118
+ "tw:pointer-events-auto",
7957
8119
  // sizing
7958
- "tw-min-w-32",
7959
- "tw-max-h-[var(--radix-popover-content-available-height)]",
7960
- "tw-origin-[--radix-popover-content-transform-origin]",
8120
+ "tw:min-w-32",
8121
+ "tw:max-h-[var(--radix-popover-content-available-height)]",
8122
+ "tw:origin-(--radix-popover-content-transform-origin)",
7961
8123
  // layout
7962
- "tw-flex",
7963
- "tw-flex-col",
7964
- "tw-overflow-y-auto",
8124
+ "tw:flex",
8125
+ "tw:flex-col",
8126
+ "tw:overflow-y-auto",
7965
8127
  // border
7966
- "tw-box-border",
7967
- "tw-border",
7968
- "tw-border-solid",
7969
- "tw-shadow-lg",
8128
+ "tw:box-border",
8129
+ "tw:border",
8130
+ "tw:border-solid",
8131
+ "tw:shadow-lg",
7970
8132
  // open animation
7971
- "data-[state=open]:tw-animate-in",
7972
- "data-[state=open]:tw-fade-in-0",
7973
- "data-[state=open]:tw-zoom-in-95",
8133
+ "tw:data-[state=open]:animate-in",
8134
+ "tw:data-[state=open]:fade-in-0",
8135
+ "tw:data-[state=open]:zoom-in-95",
7974
8136
  // closed animation
7975
- "data-[state=closed]:tw-animate-out",
7976
- "data-[state=closed]:tw-fade-out-0",
7977
- "data-[state=closed]:tw-zoom-out-95",
8137
+ "tw:data-[state=closed]:animate-out",
8138
+ "tw:data-[state=closed]:fade-out-0",
8139
+ "tw:data-[state=closed]:zoom-out-95",
7978
8140
  // position animation
7979
- "data-[side=bottom]:tw-slide-in-from-top-2",
7980
- "data-[side=left]:tw-slide-in-from-right-2",
7981
- "data-[side=right]:tw-slide-in-from-left-2",
7982
- "data-[side=top]:tw-slide-in-from-bottom-2",
8141
+ "tw:data-[side=bottom]:slide-in-from-top-2",
8142
+ "tw:data-[side=left]:slide-in-from-right-2",
8143
+ "tw:data-[side=right]:slide-in-from-left-2",
8144
+ "tw:data-[side=top]:slide-in-from-bottom-2",
7983
8145
  // Default size for nested Lucide icons; callers can override on the icon.
7984
- "[&_svg.lucide:not([class*='tw-size-'])]:tw-size-4",
7985
- "[&_svg]:tw-shrink-0"
8146
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
8147
+ "tw:[&_svg]:shrink-0"
7986
8148
  ],
7987
8149
  {
7988
8150
  defaultVariants: {
@@ -7992,12 +8154,12 @@ var variants2 = cva(
7992
8154
  variants: {
7993
8155
  variant: {
7994
8156
  // Legacy surface — fixed white panel.
7995
- default: ["tw-rounded-md", "tw-border-neutral-100", "tw-bg-white", "tw-text-neutral-800"],
8157
+ default: ["tw:rounded-md", "tw:border-neutral-100", "tw:bg-white", "tw:text-neutral-800"],
7996
8158
  // Argo surface — semantic popover tokens (brand + dark aware).
7997
- argo: ["tw-rounded-2xl", "tw-border-border", "tw-bg-popover", "tw-text-popover-foreground"]
8159
+ argo: ["tw:rounded-2xl", "tw:border-border", "tw:bg-popover", "tw:text-popover-foreground"]
7998
8160
  },
7999
8161
  matchTriggerWidth: {
8000
- true: ["tw-w-[var(--radix-popover-trigger-width)]"],
8162
+ true: ["tw:w-[var(--radix-popover-trigger-width)]"],
8001
8163
  false: []
8002
8164
  }
8003
8165
  }
@@ -8050,9 +8212,9 @@ var DatePicker = ({
8050
8212
  {
8051
8213
  align,
8052
8214
  alignOffset,
8053
- className: "tw-w-auto tw-p-0",
8215
+ className: "tw:w-auto tw:p-0",
8054
8216
  sideOffset,
8055
- children: /* @__PURE__ */ jsx(Calendar, { ...calendarProps })
8217
+ children: /* @__PURE__ */ jsx(Calendar2, { ...calendarProps })
8056
8218
  }
8057
8219
  )
8058
8220
  ] });
@@ -8210,7 +8372,7 @@ var DateInput = ({
8210
8372
  "aria-label": "Clear date",
8211
8373
  onMouseDown: (event) => event.preventDefault(),
8212
8374
  onClick: handleClear,
8213
- children: /* @__PURE__ */ jsx(icons_exports.X, { className: "tw-size-4" })
8375
+ children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
8214
8376
  }
8215
8377
  ),
8216
8378
  showPicker2 && /* @__PURE__ */ jsx(
@@ -8226,7 +8388,7 @@ var DateInput = ({
8226
8388
  open: isOpen,
8227
8389
  selected: currentValue ?? void 0,
8228
8390
  startMonth,
8229
- children: /* @__PURE__ */ jsx(InputGroup.Button, { "aria-label": "Select Date", children: /* @__PURE__ */ jsx(icons_exports.Calendar, { className: "tw-size-4" }) })
8391
+ children: /* @__PURE__ */ jsx(InputGroup.Button, { "aria-label": "Select Date", children: /* @__PURE__ */ jsx(Calendar, { className: "tw:size-4" }) })
8230
8392
  }
8231
8393
  )
8232
8394
  ] })
@@ -8280,14 +8442,14 @@ var DateWidget = ({
8280
8442
  };
8281
8443
  var addonVariants2 = cva(
8282
8444
  [
8283
- "tw-flex",
8284
- "tw-items-center",
8285
- "tw-shrink-0",
8286
- "tw-bg-inherit",
8287
- "tw-self-stretch",
8288
- "tw-px-1",
8289
- "has-[button]:tw-px-0",
8290
- '[&_svg:not([class*="tw-size-"])]:tw-size-3'
8445
+ "tw:flex",
8446
+ "tw:items-center",
8447
+ "tw:shrink-0",
8448
+ "tw:bg-inherit",
8449
+ "tw:self-stretch",
8450
+ "tw:px-1",
8451
+ "tw:has-[button]:px-0",
8452
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3'
8291
8453
  ],
8292
8454
  {
8293
8455
  defaultVariants: {
@@ -8296,24 +8458,24 @@ var addonVariants2 = cva(
8296
8458
  },
8297
8459
  variants: {
8298
8460
  align: {
8299
- "inline-start": ["tw-order-first"],
8300
- "inline-end": ["tw-order-last"]
8461
+ "inline-start": ["tw:order-first"],
8462
+ "inline-end": ["tw:order-last"]
8301
8463
  },
8302
8464
  variant: {
8303
8465
  inline: [],
8304
8466
  floating: [
8305
- "tw-hidden",
8306
- "group-hover/badge:tw-flex",
8307
- "tw-absolute",
8308
- "tw-top-0",
8309
- "tw-bottom-0",
8310
- "focus-within:tw-flex"
8467
+ "tw:hidden",
8468
+ "tw:group-hover/badge:flex",
8469
+ "tw:absolute",
8470
+ "tw:top-0",
8471
+ "tw:bottom-0",
8472
+ "tw:focus-within:flex"
8311
8473
  ]
8312
8474
  }
8313
8475
  },
8314
8476
  compoundVariants: [
8315
- { variant: "floating", align: "inline-end", className: ["tw-right-0"] },
8316
- { variant: "floating", align: "inline-start", className: ["tw-left-0"] }
8477
+ { variant: "floating", align: "inline-end", className: ["tw:right-0"] },
8478
+ { variant: "floating", align: "inline-start", className: ["tw:left-0"] }
8317
8479
  ]
8318
8480
  }
8319
8481
  );
@@ -8341,18 +8503,18 @@ var BadgeButton = ({ ref, className, type = "button", children, ...rest }) => /*
8341
8503
  type,
8342
8504
  className: cn(
8343
8505
  "tailwindcss-preflight",
8344
- "tw-inline-flex",
8345
- "tw-items-center",
8346
- "tw-justify-center",
8347
- "tw-cursor-pointer",
8348
- "tw-bg-inherit",
8349
- "tw-text-inherit",
8350
- "hover:tw-brightness-95",
8351
- "tw-px-1",
8506
+ "tw:inline-flex",
8507
+ "tw:items-center",
8508
+ "tw:justify-center",
8509
+ "tw:cursor-pointer",
8510
+ "tw:bg-inherit",
8511
+ "tw:text-inherit",
8512
+ "tw:hover:brightness-95",
8513
+ "tw:px-1",
8352
8514
  // Default sizing for Lucide-icon children (which ship at 24×24); keeps
8353
8515
  // the visual baseline aligned with the previous FA-icon API and other
8354
8516
  // icon-wrapper components (ItemIcon, SidebarMenuIcon).
8355
- '[&_svg:not([class*="tw-size-"])]:tw-size-3',
8517
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3',
8356
8518
  className
8357
8519
  ),
8358
8520
  children
@@ -8367,75 +8529,75 @@ var BadgeLabel = ({ ref, className, asChild = false, ...rest }) => {
8367
8529
  ref,
8368
8530
  "data-slot": "badge-label",
8369
8531
  className: cn(
8370
- "tw-max-w-56",
8371
- "tw-truncate",
8372
- "tw-px-2",
8373
- "tw-py-0.5",
8532
+ "tw:max-w-56",
8533
+ "tw:truncate",
8534
+ "tw:px-2",
8535
+ "tw:py-0.5",
8374
8536
  // Drop side padding only when an *inline* addon is present —
8375
8537
  // floating addons overlay the label without taking layout space,
8376
8538
  // so the label still needs full padding behind them.
8377
- "group-has-[[data-align=inline-start][data-variant=inline]:not(:empty)]/badge:tw-pl-0",
8378
- "group-has-[[data-align=inline-end][data-variant=inline]:not(:empty)]/badge:tw-pr-0",
8539
+ "tw:group-has-[[data-align=inline-start][data-variant=inline]:not(:empty)]/badge:pl-0",
8540
+ "tw:group-has-[[data-align=inline-end][data-variant=inline]:not(:empty)]/badge:pr-0",
8379
8541
  className
8380
8542
  )
8381
8543
  }
8382
8544
  );
8383
8545
  };
8384
8546
  var badgeColors = {
8385
- gray: "tw-bg-neutral-400 tw-text-white tw-decoration-neutral-400",
8386
- "gray-darker": "tw-bg-neutral-500 tw-text-white tw-decoration-neutral-500",
8387
- "gray-inverse": "tw-bg-neutral-100 tw-text-neutral-500 tw-decoration-neutral-100 [[data-theme=dark]_&]:tw-bg-neutral-700 [[data-theme=dark]_&]:tw-text-neutral-300 [[data-theme=dark]_&]:tw-decoration-neutral-700",
8388
- green: "tw-bg-green-500 tw-text-white tw-decoration-green-500",
8389
- "green-darker": "tw-bg-green-600 tw-text-white tw-decoration-green-600",
8390
- "green-inverse": "tw-bg-green-100 tw-text-green-900 tw-decoration-green-100 [[data-theme=dark]_&]:tw-bg-green-900 [[data-theme=dark]_&]:tw-text-green-200 [[data-theme=dark]_&]:tw-decoration-green-900",
8391
- blue: "tw-bg-blue-500 tw-text-white tw-decoration-blue-500",
8392
- "blue-inverse": "tw-bg-blue-100 tw-text-blue-600 tw-decoration-blue-100 [[data-theme=dark]_&]:tw-bg-blue-900 [[data-theme=dark]_&]:tw-text-blue-200 [[data-theme=dark]_&]:tw-decoration-blue-900",
8393
- red: "tw-bg-error-500 tw-text-white tw-decoration-error-500",
8394
- orange: "tw-bg-warning-500 tw-text-white tw-decoration-warning-500",
8395
- "orange-inverse": "tw-bg-warning-100 tw-text-warning-500 tw-decoration-warning-100 [[data-theme=dark]_&]:tw-bg-warning-900 [[data-theme=dark]_&]:tw-text-warning-200 [[data-theme=dark]_&]:tw-decoration-warning-900",
8396
- amber: "tw-bg-warning-300 tw-text-warning-800 tw-decoration-warning-300",
8397
- "amber-inverse": "tw-bg-warning-100 tw-text-warning-700 tw-decoration-warning-100",
8398
- teal: "tw-bg-teal-500 tw-text-white tw-decoration-teal-500",
8399
- "teal-inverse": "tw-bg-teal-100 tw-text-teal-800 tw-decoration-teal-100 [[data-theme=dark]_&]:tw-bg-teal-900 [[data-theme=dark]_&]:tw-text-teal-200 [[data-theme=dark]_&]:tw-decoration-teal-900",
8400
- purple: "tw-bg-purple-500 tw-text-white tw-decoration-purple-500",
8401
- "purple-inverse": "tw-bg-purple-100 tw-text-purple-800 tw-decoration-purple-100 [[data-theme=dark]_&]:tw-bg-purple-900 [[data-theme=dark]_&]:tw-text-purple-200 [[data-theme=dark]_&]:tw-decoration-purple-900",
8402
- cyan: "tw-bg-cyan-500 tw-text-white tw-decoration-cyan-500",
8403
- "cyan-inverse": "tw-bg-cyan-100 tw-text-cyan-800 tw-decoration-cyan-100 [[data-theme=dark]_&]:tw-bg-cyan-900 [[data-theme=dark]_&]:tw-text-cyan-200 [[data-theme=dark]_&]:tw-decoration-cyan-900",
8404
- "sidebar-primary": "tw-bg-sidebar-primary tw-text-white tw-decoration-sidebar-primary",
8405
- white: "tw-bg-white/90 tw-text-neutral-600 tw-decoration-white/90"
8547
+ gray: "tw:bg-neutral-400 tw:text-white tw:decoration-neutral-400",
8548
+ "gray-darker": "tw:bg-neutral-500 tw:text-white tw:decoration-neutral-500",
8549
+ "gray-inverse": "tw:bg-neutral-100 tw:text-neutral-500 tw:decoration-neutral-100 tw:[[data-theme=dark]_&]:bg-neutral-700 tw:[[data-theme=dark]_&]:text-neutral-300 tw:[[data-theme=dark]_&]:decoration-neutral-700",
8550
+ green: "tw:bg-green-500 tw:text-white tw:decoration-green-500",
8551
+ "green-darker": "tw:bg-green-600 tw:text-white tw:decoration-green-600",
8552
+ "green-inverse": "tw:bg-green-100 tw:text-green-900 tw:decoration-green-100 tw:[[data-theme=dark]_&]:bg-green-900 tw:[[data-theme=dark]_&]:text-green-200 tw:[[data-theme=dark]_&]:decoration-green-900",
8553
+ blue: "tw:bg-blue-500 tw:text-white tw:decoration-blue-500",
8554
+ "blue-inverse": "tw:bg-blue-100 tw:text-blue-600 tw:decoration-blue-100 tw:[[data-theme=dark]_&]:bg-blue-900 tw:[[data-theme=dark]_&]:text-blue-200 tw:[[data-theme=dark]_&]:decoration-blue-900",
8555
+ red: "tw:bg-error-500 tw:text-white tw:decoration-error-500",
8556
+ orange: "tw:bg-warning-500 tw:text-white tw:decoration-warning-500",
8557
+ "orange-inverse": "tw:bg-warning-100 tw:text-warning-500 tw:decoration-warning-100 tw:[[data-theme=dark]_&]:bg-warning-900 tw:[[data-theme=dark]_&]:text-warning-200 tw:[[data-theme=dark]_&]:decoration-warning-900",
8558
+ amber: "tw:bg-warning-300 tw:text-warning-800 tw:decoration-warning-300",
8559
+ "amber-inverse": "tw:bg-warning-100 tw:text-warning-700 tw:decoration-warning-100",
8560
+ teal: "tw:bg-teal-500 tw:text-white tw:decoration-teal-500",
8561
+ "teal-inverse": "tw:bg-teal-100 tw:text-teal-800 tw:decoration-teal-100 tw:[[data-theme=dark]_&]:bg-teal-900 tw:[[data-theme=dark]_&]:text-teal-200 tw:[[data-theme=dark]_&]:decoration-teal-900",
8562
+ purple: "tw:bg-purple-500 tw:text-white tw:decoration-purple-500",
8563
+ "purple-inverse": "tw:bg-purple-100 tw:text-purple-800 tw:decoration-purple-100 tw:[[data-theme=dark]_&]:bg-purple-900 tw:[[data-theme=dark]_&]:text-purple-200 tw:[[data-theme=dark]_&]:decoration-purple-900",
8564
+ cyan: "tw:bg-cyan-500 tw:text-white tw:decoration-cyan-500",
8565
+ "cyan-inverse": "tw:bg-cyan-100 tw:text-cyan-800 tw:decoration-cyan-100 tw:[[data-theme=dark]_&]:bg-cyan-900 tw:[[data-theme=dark]_&]:text-cyan-200 tw:[[data-theme=dark]_&]:decoration-cyan-900",
8566
+ "sidebar-primary": "tw:bg-sidebar-primary tw:text-white tw:decoration-sidebar-primary",
8567
+ white: "tw:bg-white/90 tw:text-neutral-600 tw:decoration-white/90"
8406
8568
  };
8407
8569
  var badgeRootVariants = cva(
8408
8570
  [
8409
8571
  "tailwindcss-preflight",
8410
- "tw-group/badge",
8572
+ "tw:group/badge",
8411
8573
  // display
8412
- "tw-relative",
8413
- "tw-inline-flex",
8414
- "tw-justify-center",
8415
- "tw-items-center",
8416
- "tw-min-h-5",
8417
- "tw-h-fit",
8418
- "tw-shrink-0",
8419
- "tw-overflow-hidden",
8574
+ "tw:relative",
8575
+ "tw:inline-flex",
8576
+ "tw:justify-center",
8577
+ "tw:items-center",
8578
+ "tw:min-h-5",
8579
+ "tw:h-fit",
8580
+ "tw:shrink-0",
8581
+ "tw:overflow-hidden",
8420
8582
  // text — chrome weight/tracking are brand-overridable tokens
8421
8583
  // (`--font-weight-medium` / `--letter-spacing-chrome`); casing lives on the
8422
- // `default` variant below via `tw-uppercase`.
8423
- "tw-whitespace-pre-wrap",
8424
- "tw-break-normal",
8425
- "tw-text-xs",
8426
- "tw-font-medium",
8427
- "tw-tracking-chrome",
8428
- "tw-text-center",
8429
- "tw-underline",
8584
+ // `default` variant below via `tw:uppercase`.
8585
+ "tw:whitespace-pre-wrap",
8586
+ "tw:break-normal",
8587
+ "tw:text-xs",
8588
+ "tw:font-medium",
8589
+ "tw:tracking-chrome",
8590
+ "tw:text-center",
8591
+ "tw:underline",
8430
8592
  // content
8431
- "tw-border-none",
8432
- "[&>svg]:tw-self-center",
8433
- "[button&]:tw-cursor-pointer",
8593
+ "tw:border-none",
8594
+ "tw:[&>svg]:self-center",
8595
+ "tw:[button&]:cursor-pointer",
8434
8596
  // focus
8435
- "focus-visible:tw-outline-none",
8436
- "focus-visible:tw-ring-2",
8437
- "focus-visible:tw-ring-inset",
8438
- "focus-visible:tw-ring-ring"
8597
+ "tw:focus-visible:outline-hidden",
8598
+ "tw:focus-visible:ring-2",
8599
+ "tw:focus-visible:ring-inset",
8600
+ "tw:focus-visible:ring-ring"
8439
8601
  ],
8440
8602
  {
8441
8603
  defaultVariants: {
@@ -8444,9 +8606,14 @@ var badgeRootVariants = cva(
8444
8606
  },
8445
8607
  variants: {
8446
8608
  variant: {
8447
- default: ["tw-rounded tw-uppercase"],
8448
- tag: ["tw-rounded tw-normal-case"],
8449
- pill: ["tw-min-w-5 tw-rounded-full tw-normal-case tw-tracking-normal"]
8609
+ // Legacy chrome uppercases the default badge; the Keboola V2 brand
8610
+ // (`data-brand="keboola"`) renders it in standard case instead.
8611
+ default: [
8612
+ "tw:rounded tw:uppercase",
8613
+ "tw:[[data-brand=keboola]_&]:normal-case tw:[[data-brand=keboola]_&]:tracking-normal"
8614
+ ],
8615
+ tag: ["tw:rounded tw:normal-case"],
8616
+ pill: ["tw:min-w-5 tw:rounded-full tw:normal-case tw:tracking-normal"]
8450
8617
  },
8451
8618
  color: badgeColors
8452
8619
  }
@@ -8468,7 +8635,7 @@ var BadgeInner = ({
8468
8635
  variant,
8469
8636
  color,
8470
8637
  // custom props
8471
- prefix,
8638
+ prefix: prefix2,
8472
8639
  prefixVariant = "inline",
8473
8640
  suffix,
8474
8641
  suffixVariant = "inline",
@@ -8476,11 +8643,11 @@ var BadgeInner = ({
8476
8643
  labelClassName,
8477
8644
  ...labelProps
8478
8645
  }) => /* @__PURE__ */ jsxs(BadgeRoot, { className, variant, color, children: [
8479
- prefix && /* @__PURE__ */ jsx(BadgeAddon, { align: "inline-start", variant: prefixVariant, children: prefix }),
8646
+ prefix2 && /* @__PURE__ */ jsx(BadgeAddon, { align: "inline-start", variant: prefixVariant, children: prefix2 }),
8480
8647
  /* @__PURE__ */ jsx(BadgeLabel, { ...labelProps, ref, className: labelClassName }),
8481
8648
  suffix && /* @__PURE__ */ jsx(BadgeAddon, { align: "inline-end", variant: suffixVariant, children: suffix })
8482
8649
  ] });
8483
- var Badge = Object.assign(BadgeInner, {
8650
+ var Badge2 = Object.assign(BadgeInner, {
8484
8651
  Root: BadgeRoot,
8485
8652
  Button: BadgeButton,
8486
8653
  Label: BadgeLabel,
@@ -8558,26 +8725,26 @@ var ComboboxChips = ({
8558
8725
  Combobox$1.Chip,
8559
8726
  {
8560
8727
  render: /* @__PURE__ */ jsx(
8561
- Badge.Root,
8728
+ Badge2.Root,
8562
8729
  {
8563
8730
  color: itemToChipColor?.(value),
8564
- className: "tw-max-w-40",
8731
+ className: "tw:max-w-40",
8565
8732
  variant
8566
8733
  }
8567
8734
  ),
8568
8735
  children: [
8569
- /* @__PURE__ */ jsx(Badge.Label, { children: itemToChipLabel(value) }),
8570
- /* @__PURE__ */ jsx(Badge.Addon, { variant: "inline", align: "inline-end", children: /* @__PURE__ */ jsx(
8736
+ /* @__PURE__ */ jsx(Badge2.Label, { children: itemToChipLabel(value) }),
8737
+ /* @__PURE__ */ jsx(Badge2.Addon, { variant: "inline", align: "inline-end", children: /* @__PURE__ */ jsx(
8571
8738
  Combobox$1.ChipRemove,
8572
8739
  {
8573
- render: /* @__PURE__ */ jsx(Badge.Button, { "aria-label": "Remove value", children: /* @__PURE__ */ jsx(icons_exports.X, { className: "tw-size-3" }) })
8740
+ render: /* @__PURE__ */ jsx(Badge2.Button, { "aria-label": "Remove value", children: /* @__PURE__ */ jsx(X, { className: "tw:size-3" }) })
8574
8741
  }
8575
8742
  ) })
8576
8743
  ]
8577
8744
  },
8578
8745
  index
8579
8746
  )),
8580
- overflow.length > 0 && /* @__PURE__ */ jsx(Badge.Root, { variant: "pill", children: /* @__PURE__ */ jsxs(Badge.Label, { children: [
8747
+ overflow.length > 0 && /* @__PURE__ */ jsx(Badge2.Root, { variant: "pill", children: /* @__PURE__ */ jsxs(Badge2.Label, { children: [
8581
8748
  "+",
8582
8749
  overflow.length
8583
8750
  ] }) })
@@ -8604,7 +8771,7 @@ var ComboboxContent = ({
8604
8771
  sideOffset,
8605
8772
  alignOffset,
8606
8773
  anchor,
8607
- className: "tailwindcss-preflight tw-isolate tw-z-[1055]",
8774
+ className: "tw:isolate tw:z-[1055] tailwindcss-preflight",
8608
8775
  children: /* @__PURE__ */ jsx(
8609
8776
  Combobox$1.Popup,
8610
8777
  {
@@ -8612,25 +8779,25 @@ var ComboboxContent = ({
8612
8779
  "data-chips": !!anchor,
8613
8780
  "data-variant": effectiveVariant,
8614
8781
  className: cn(
8615
- "!tw-pointer-events-auto",
8616
- "tw-group/combobox-content",
8617
- "tw-relative",
8618
- "tw-flex tw-flex-col tw-overflow-hidden",
8782
+ "tw:!pointer-events-auto",
8783
+ "tw:group/combobox-content",
8784
+ "tw:relative",
8785
+ "tw:flex tw:flex-col tw:overflow-hidden",
8619
8786
  // sizing
8620
- "tw-max-h-[var(--available-height)]",
8621
- "tw-w-[var(--anchor-width)]",
8622
- "tw-max-w-[var(--available-width)]",
8623
- "tw-origin-[var(--transform-origin)]",
8624
- "data-[chips=true]:tw-min-w-[var(--anchor-width)]",
8787
+ "tw:max-h-[var(--available-height)]",
8788
+ "tw:w-[var(--anchor-width)]",
8789
+ "tw:max-w-[var(--available-width)]",
8790
+ "tw:origin-[var(--transform-origin)]",
8791
+ "tw:data-[chips=true]:min-w-[var(--anchor-width)]",
8625
8792
  // appearance
8626
- "tw-rounded-lg",
8627
- "data-[variant=default]:tw-rounded",
8628
- "tw-bg-popover",
8629
- "tw-text-popover-foreground",
8630
- "tw-shadow-md",
8631
- "tw-ring-1",
8632
- "tw-ring-foreground/10",
8633
- "tw-duration-100",
8793
+ "tw:rounded-lg",
8794
+ "tw:data-[variant=default]:rounded",
8795
+ "tw:bg-popover",
8796
+ "tw:text-popover-foreground",
8797
+ "tw:shadow-md",
8798
+ "tw:ring-1",
8799
+ "tw:ring-foreground/10",
8800
+ "tw:duration-100",
8634
8801
  // open animation
8635
8802
  "data-open:animate-in",
8636
8803
  "data-open:fade-in-0",
@@ -8640,12 +8807,12 @@ var ComboboxContent = ({
8640
8807
  "data-closed:fade-out-0",
8641
8808
  "data-closed:zoom-out-95",
8642
8809
  // position animations
8643
- "data-[side=bottom]:tw-slide-in-from-top-2",
8644
- "data-[side=top]:tw-slide-in-from-bottom-2",
8645
- "data-[side=left]:tw-slide-in-from-right-2",
8646
- "data-[side=right]:tw-slide-in-from-left-2",
8647
- "data-[side=inline-start]:tw-slide-in-from-right-2",
8648
- "data-[side=inline-end]:tw-slide-in-from-left-2",
8810
+ "tw:data-[side=bottom]:slide-in-from-top-2",
8811
+ "tw:data-[side=top]:slide-in-from-bottom-2",
8812
+ "tw:data-[side=left]:slide-in-from-right-2",
8813
+ "tw:data-[side=right]:slide-in-from-left-2",
8814
+ "tw:data-[side=inline-start]:slide-in-from-right-2",
8815
+ "tw:data-[side=inline-end]:slide-in-from-left-2",
8649
8816
  className
8650
8817
  ),
8651
8818
  ...popupProps,
@@ -8660,14 +8827,14 @@ var ComboboxEmpty = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
8660
8827
  {
8661
8828
  ref,
8662
8829
  className: cn(
8663
- "tw-hidden",
8664
- "group-data-[empty]/combobox-content:tw-flex",
8665
- "tw-justify-center",
8666
- "tw-items-center",
8667
- "tw-text-center",
8668
- "tw-px-2",
8669
- "tw-text-muted-foreground",
8670
- "tw-py-6",
8830
+ "tw:hidden",
8831
+ "tw:group-data-[empty]/combobox-content:flex",
8832
+ "tw:justify-center",
8833
+ "tw:items-center",
8834
+ "tw:text-center",
8835
+ "tw:px-2",
8836
+ "tw:text-muted-foreground",
8837
+ "tw:py-6",
8671
8838
  className
8672
8839
  ),
8673
8840
  ...props
@@ -8707,30 +8874,30 @@ var ComboboxItemIndicator = ({ ref, className, variant = "check", ...props }) =>
8707
8874
  ref,
8708
8875
  keepMounted: true,
8709
8876
  className: cn(
8710
- "tw-group/combobox-item-indicator",
8711
- "tw-inline-flex",
8712
- "tw-items-center",
8713
- "tw-justify-center",
8714
- "tw-size-4",
8715
- "tw-shrink-0",
8716
- "tw-rounded",
8717
- "tw-border",
8718
- "tw-border-input",
8719
- "tw-bg-background",
8720
- "data-[selected]:tw-bg-primary",
8721
- "data-[selected]:tw-border-primary",
8877
+ "tw:group/combobox-item-indicator",
8878
+ "tw:inline-flex",
8879
+ "tw:items-center",
8880
+ "tw:justify-center",
8881
+ "tw:size-4",
8882
+ "tw:shrink-0",
8883
+ "tw:rounded",
8884
+ "tw:border",
8885
+ "tw:border-input",
8886
+ "tw:bg-background",
8887
+ "tw:data-[selected]:bg-primary",
8888
+ "tw:data-[selected]:border-primary",
8722
8889
  className
8723
8890
  ),
8724
8891
  ...props,
8725
8892
  children: /* @__PURE__ */ jsx(
8726
- icons_exports.Check,
8893
+ Check,
8727
8894
  {
8728
8895
  className: cn(
8729
- "tw-hidden",
8730
- "tw-size-3",
8731
- "tw-stroke-[4px]",
8732
- "!tw-text-primary-foreground",
8733
- "group-data-[selected]/combobox-item-indicator:tw-block"
8896
+ "tw:hidden",
8897
+ "tw:size-3",
8898
+ "tw:stroke-[4px]",
8899
+ "tw:!text-primary-foreground",
8900
+ "tw:group-data-[selected]/combobox-item-indicator:block"
8734
8901
  )
8735
8902
  }
8736
8903
  )
@@ -8743,18 +8910,18 @@ var ComboboxItemIndicator = ({ ref, className, variant = "check", ...props }) =>
8743
8910
  ...props,
8744
8911
  ref,
8745
8912
  className: cn(
8746
- "tw-pointer-events-none",
8747
- "tw-absolute",
8748
- "tw-right-2",
8749
- "group-data-[variant=default]/combobox-content:tw-right-4",
8913
+ "tw:pointer-events-none",
8914
+ "tw:absolute",
8915
+ "tw:right-2",
8916
+ "tw:group-data-[variant=default]/combobox-content:right-4",
8750
8917
  // Lucide SVGs default to 24×24 — constrain the rendered child so the
8751
8918
  // 16px indicator slot owns the actual size.
8752
- '[&_svg:not([class*="tw-size-"])]:tw-size-4',
8753
- "group-data-[highlighted]/combobox-item:tw-text-accent-foreground",
8754
- "group-data-[variant=default]/combobox-content:group-data-[highlighted]/combobox-item:tw-text-foreground",
8919
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4',
8920
+ "tw:group-data-[highlighted]/combobox-item:text-accent-foreground",
8921
+ "tw:group-data-[variant=default]/combobox-content:group-data-[highlighted]/combobox-item:text-foreground",
8755
8922
  className
8756
8923
  ),
8757
- render: /* @__PURE__ */ jsx(icons_exports.Check, {})
8924
+ render: /* @__PURE__ */ jsx(Check, {})
8758
8925
  }
8759
8926
  );
8760
8927
  };
@@ -8772,43 +8939,43 @@ var ComboboxItem = ({
8772
8939
  ref,
8773
8940
  "data-slot": "combobox-item",
8774
8941
  className: cn(
8775
- "tw-group/combobox-item",
8942
+ "tw:group/combobox-item",
8776
8943
  // layout
8777
- "tw-relative",
8778
- "tw-flex",
8779
- "tw-flex-1",
8780
- "tw-items-center",
8781
- "tw-gap-2",
8944
+ "tw:relative",
8945
+ "tw:flex",
8946
+ "tw:flex-1",
8947
+ "tw:items-center",
8948
+ "tw:gap-2",
8782
8949
  // spacing
8783
- "tw-py-2",
8784
- "tw-px-2",
8785
- "group-data-[variant=default]/combobox-content:tw-px-4",
8786
- "tw-rounded-lg",
8787
- "group-data-[variant=default]/combobox-content:tw-rounded-none",
8950
+ "tw:py-2",
8951
+ "tw:px-2",
8952
+ "tw:group-data-[variant=default]/combobox-content:px-4",
8953
+ "tw:rounded-lg",
8954
+ "tw:group-data-[variant=default]/combobox-content:rounded-none",
8788
8955
  // typography
8789
- "tw-text-sm",
8790
- "tw-select-none",
8791
- "tw-cursor-default",
8792
- "tw-outline-hidden",
8956
+ "tw:text-sm",
8957
+ "tw:select-none",
8958
+ "tw:cursor-default",
8959
+ "tw:outline-hidden",
8793
8960
  // highlighted (keyboard / hover)
8794
- "data-[highlighted]:tw-bg-accent",
8795
- "group-data-[variant=default]/combobox-content:data-[highlighted]:tw-bg-neutral-100",
8796
- "data-[highlighted]:tw-text-accent-foreground",
8797
- "group-data-[variant=default]/combobox-content:data-[highlighted]:tw-text-foreground",
8961
+ "tw:data-[highlighted]:bg-accent",
8962
+ "tw:group-data-[variant=default]/combobox-content:data-[highlighted]:bg-neutral-100",
8963
+ "tw:data-[highlighted]:text-accent-foreground",
8964
+ "tw:group-data-[variant=default]/combobox-content:data-[highlighted]:text-foreground",
8798
8965
  // disabled
8799
- "data-disabled:tw-pointer-events-none",
8800
- "data-disabled:tw-opacity-50",
8966
+ "tw:data-disabled:pointer-events-none",
8967
+ "tw:data-disabled:opacity-50",
8801
8968
  // child svg defaults
8802
- "[&_svg]:tw-pointer-events-none",
8803
- "[&_svg]:tw-shrink-0",
8804
- "[&_svg]:tw-text-muted-foreground",
8805
- "[&_svg:not([class*='size-'])]:tw-size-4",
8969
+ "tw:[&_svg]:pointer-events-none",
8970
+ "tw:[&_svg]:shrink-0",
8971
+ "tw:[&_svg]:text-muted-foreground",
8972
+ "tw:[&_svg:not([class*='size-'])]:size-4",
8806
8973
  className
8807
8974
  ),
8808
8975
  children: [
8809
8976
  /* @__PURE__ */ jsx(ComboboxItemIndicator, { variant }),
8810
8977
  icon,
8811
- /* @__PURE__ */ jsx("span", { className: "tw-truncate", children })
8978
+ /* @__PURE__ */ jsx("span", { className: "tw:truncate", children })
8812
8979
  ]
8813
8980
  }
8814
8981
  );
@@ -8817,15 +8984,15 @@ var ComboboxList = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
8817
8984
  {
8818
8985
  ref,
8819
8986
  className: cn(
8820
- "tw-no-scrollbar",
8821
- "tw-scroll-py-1",
8822
- "tw-overflow-y-auto",
8823
- "tw-overscroll-contain",
8824
- "tw-min-h-0",
8825
- "tw-flex-1",
8826
- "tw-p-2",
8827
- "data-[empty]:tw-p-0",
8828
- "group-data-[variant=default]/combobox-content:tw-p-0",
8987
+ "tw:no-scrollbar",
8988
+ "tw:scroll-py-1",
8989
+ "tw:overflow-y-auto",
8990
+ "tw:overscroll-contain",
8991
+ "tw:min-h-0",
8992
+ "tw:flex-1",
8993
+ "tw:p-2",
8994
+ "tw:data-[empty]:p-0",
8995
+ "tw:group-data-[variant=default]/combobox-content:p-0",
8829
8996
  className
8830
8997
  ),
8831
8998
  ...props
@@ -8836,7 +9003,7 @@ var ComboboxSeparator = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
8836
9003
  Combobox$1.Separator,
8837
9004
  {
8838
9005
  ref,
8839
- className: cn("tw-mx-2 tw-my-1 tw-h-px tw-bg-border", className),
9006
+ className: cn("tw:mx-2 tw:my-1 tw:h-px tw:bg-border", className),
8840
9007
  ...props
8841
9008
  }
8842
9009
  );
@@ -8844,7 +9011,7 @@ var ComboboxGroup = ({ ref, className, children, ...props }) => /* @__PURE__ */
8844
9011
  Combobox$1.Group,
8845
9012
  {
8846
9013
  ref,
8847
- className: cn("tw-flex tw-flex-col tw-gap-0.5", className),
9014
+ className: cn("tw:flex tw:flex-col tw:gap-0.5", className),
8848
9015
  ...props,
8849
9016
  children
8850
9017
  }
@@ -8856,19 +9023,19 @@ var ComboboxGroupLabel = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
8856
9023
  ref,
8857
9024
  className: cn(
8858
9025
  // Base (argo variant) — soft gray section label.
8859
- "tw-px-2",
8860
- "tw-py-1.5",
8861
- "tw-text-xs",
8862
- "tw-font-medium",
8863
- "tw-leading-none",
8864
- "tw-text-muted-foreground",
8865
- "group-data-[variant=default]/combobox-content:tw-uppercase",
8866
- "group-data-[variant=default]/combobox-content:tw-font-semibold",
8867
- "group-data-[variant=default]/combobox-content:tw-tracking-wider",
8868
- "group-data-[variant=default]/combobox-content:tw-text-[11px]",
8869
- "group-data-[variant=default]/combobox-content:tw-text-black",
8870
- "group-data-[variant=default]/combobox-content:tw-pt-2",
8871
- "group-data-[variant=default]/combobox-content:tw-px-4",
9026
+ "tw:px-2",
9027
+ "tw:py-1.5",
9028
+ "tw:text-xs",
9029
+ "tw:font-medium",
9030
+ "tw:leading-none",
9031
+ "tw:text-muted-foreground",
9032
+ "tw:group-data-[variant=default]/combobox-content:uppercase",
9033
+ "tw:group-data-[variant=default]/combobox-content:font-semibold",
9034
+ "tw:group-data-[variant=default]/combobox-content:tracking-wider",
9035
+ "tw:group-data-[variant=default]/combobox-content:text-[11px]",
9036
+ "tw:group-data-[variant=default]/combobox-content:text-black",
9037
+ "tw:group-data-[variant=default]/combobox-content:pt-2",
9038
+ "tw:group-data-[variant=default]/combobox-content:px-4",
8872
9039
  className
8873
9040
  )
8874
9041
  }
@@ -8899,7 +9066,7 @@ var Combobox = ({
8899
9066
  // own props
8900
9067
  empty = "No items",
8901
9068
  indicator,
8902
- prefix,
9069
+ prefix: prefix2,
8903
9070
  // creatable
8904
9071
  allowCreate,
8905
9072
  queryToCreateValue,
@@ -9021,11 +9188,11 @@ var Combobox = ({
9021
9188
  focusVariant,
9022
9189
  className,
9023
9190
  children: [
9024
- prefix && /* @__PURE__ */ jsx(InputGroup.Addon, { align: "inline-start", children: prefix }),
9191
+ prefix2 && /* @__PURE__ */ jsx(InputGroup.Addon, { align: "inline-start", children: prefix2 }),
9025
9192
  /* @__PURE__ */ jsx(ComboboxInput, { id, placeholder, disabled }),
9026
9193
  /* @__PURE__ */ jsxs(InputGroup.Addon, { align: "inline-end", children: [
9027
- allowClear && /* @__PURE__ */ jsx(InputGroup.Button, { asChild: true, "aria-label": "Clear", disabled, children: /* @__PURE__ */ jsx(Combobox$1.Clear, { children: /* @__PURE__ */ jsx(icons_exports.X, { className: "tw-size-4" }) }) }),
9028
- /* @__PURE__ */ jsx(InputGroup.Button, { disabled, asChild: true, "aria-label": "Open combobox", children: /* @__PURE__ */ jsx(Combobox$1.Trigger, { children: /* @__PURE__ */ jsx(icons_exports.ChevronDown, { className: "tw-size-4" }) }) })
9194
+ allowClear && /* @__PURE__ */ jsx(InputGroup.Button, { asChild: true, "aria-label": "Clear", disabled, children: /* @__PURE__ */ jsx(Combobox$1.Clear, { children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" }) }) }),
9195
+ /* @__PURE__ */ jsx(InputGroup.Button, { disabled, asChild: true, "aria-label": "Open combobox", children: /* @__PURE__ */ jsx(Combobox$1.Trigger, { children: /* @__PURE__ */ jsx(ChevronDown, { className: "tw:size-4" }) }) })
9029
9196
  ] })
9030
9197
  ]
9031
9198
  }
@@ -9034,11 +9201,11 @@ var Combobox = ({
9034
9201
  /* @__PURE__ */ jsx(ComboboxEmpty, { children: empty }),
9035
9202
  /* @__PURE__ */ jsx(ComboboxList, { children: (itemOrGroup) => {
9036
9203
  if (isCreatableItem(itemOrGroup))
9037
- return /* @__PURE__ */ jsx(Combobox.Item, { value: itemOrGroup, icon: /* @__PURE__ */ jsx(icons_exports.Plus, {}), children: queryToCreateLabel(itemOrGroup.value) });
9204
+ return /* @__PURE__ */ jsx(Combobox.Item, { value: itemOrGroup, icon: /* @__PURE__ */ jsx(Plus, {}), children: queryToCreateLabel(itemOrGroup.value) });
9038
9205
  if (isGroupItem(itemOrGroup)) {
9039
9206
  const maybeCreatable = itemOrGroup.items[0];
9040
9207
  if (isCreatableItem(maybeCreatable)) {
9041
- return /* @__PURE__ */ jsx(Combobox.Item, { value: maybeCreatable, icon: /* @__PURE__ */ jsx(icons_exports.Plus, {}), children: queryToCreateLabel(maybeCreatable.value) });
9208
+ return /* @__PURE__ */ jsx(Combobox.Item, { value: maybeCreatable, icon: /* @__PURE__ */ jsx(Plus, {}), children: queryToCreateLabel(maybeCreatable.value) });
9042
9209
  }
9043
9210
  const groupLabel = groupToLabel(itemOrGroup);
9044
9211
  return /* @__PURE__ */ jsxs(Combobox.Group, { items: itemOrGroup.items, children: [
@@ -9221,14 +9388,14 @@ var PasswordInput = ({
9221
9388
  }
9222
9389
  ),
9223
9390
  (capsLock || canClear || allowPasswordToggle) && /* @__PURE__ */ jsxs(InputGroup.Addon, { align: "inline-end", children: [
9224
- capsLock && /* @__PURE__ */ jsx(icons_exports.ArrowBigUpDash, { className: "tw-size-4 tw-text-primary", children: /* @__PURE__ */ jsx("title", { children: "Caps Lock is on" }) }),
9391
+ capsLock && /* @__PURE__ */ jsx(ArrowBigUpDash, { className: "tw:size-4 tw:text-primary", children: /* @__PURE__ */ jsx("title", { children: "Caps Lock is on" }) }),
9225
9392
  canClear && /* @__PURE__ */ jsx(
9226
9393
  InputGroup.Button,
9227
9394
  {
9228
9395
  "aria-label": "Clear password",
9229
9396
  onMouseDown: (event) => event.preventDefault(),
9230
9397
  onClick: handleClear,
9231
- children: /* @__PURE__ */ jsx(icons_exports.X, { className: "tw-size-4" })
9398
+ children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
9232
9399
  }
9233
9400
  ),
9234
9401
  allowPasswordToggle && /* @__PURE__ */ jsx(
@@ -9237,7 +9404,7 @@ var PasswordInput = ({
9237
9404
  "aria-label": `${isPasswordVisible ? "Hide password" : "Show password"}${passwordToggleLabel ? `: ${passwordToggleLabel}` : ""}`,
9238
9405
  onMouseDown: (event) => event.preventDefault(),
9239
9406
  onClick: handleTogglePasswordVisibility,
9240
- children: isPasswordVisible ? /* @__PURE__ */ jsx(icons_exports.EyeOff, { className: "tw-size-4" }) : /* @__PURE__ */ jsx(icons_exports.Eye, { className: "tw-size-4" })
9407
+ children: isPasswordVisible ? /* @__PURE__ */ jsx(EyeOff, { className: "tw:size-4" }) : /* @__PURE__ */ jsx(Eye, { className: "tw:size-4" })
9241
9408
  }
9242
9409
  )
9243
9410
  ] })
@@ -9282,22 +9449,22 @@ var useRadioGroupContext = () => use(RadioGroupContext);
9282
9449
  var radioVariants = cva(
9283
9450
  [
9284
9451
  // reset
9285
- "tw-bg-transparent",
9286
- "tw-p-0",
9287
- "tw-peer",
9288
- "tw-cursor-pointer",
9289
- "tw-whitespace-nowrap",
9290
- "tw-shrink-0",
9452
+ "tw:bg-transparent",
9453
+ "tw:p-0",
9454
+ "tw:peer",
9455
+ "tw:cursor-pointer",
9456
+ "tw:whitespace-nowrap",
9457
+ "tw:shrink-0",
9291
9458
  // position
9292
- "tw-flex",
9293
- "tw-items-center",
9294
- "tw-justify-center",
9295
- "disabled:tw-cursor-not-allowed",
9296
- "tw-size-4",
9459
+ "tw:flex",
9460
+ "tw:items-center",
9461
+ "tw:justify-center",
9462
+ "tw:disabled:cursor-not-allowed",
9463
+ "tw:size-4",
9297
9464
  // border
9298
- "tw-rounded-full",
9299
- "tw-border",
9300
- "tw-border-solid"
9465
+ "tw:rounded-full",
9466
+ "tw:border",
9467
+ "tw:border-solid"
9301
9468
  ],
9302
9469
  {
9303
9470
  defaultVariants: {
@@ -9306,71 +9473,71 @@ var radioVariants = cva(
9306
9473
  variants: {
9307
9474
  variant: {
9308
9475
  default: [
9309
- "disabled:tw-opacity-40",
9310
- "data-[state=checked]:tw-border-primary",
9311
- "data-[state=unchecked]:tw-border-neutral-200",
9312
- "data-[state=unchecked]:hover:tw-border-primary",
9313
- "data-[state=unchecked]:disabled:hover:tw-border-neutral-200",
9314
- "focus-visible:tw-ring-2",
9315
- "focus-visible:tw-ring-ring/30"
9476
+ "tw:disabled:opacity-40",
9477
+ "tw:data-[state=checked]:border-primary",
9478
+ "tw:data-[state=unchecked]:border-neutral-200",
9479
+ "tw:data-[state=unchecked]:hover:border-primary",
9480
+ "tw:data-[state=unchecked]:disabled:hover:border-neutral-200",
9481
+ "tw:focus-visible:ring-2",
9482
+ "tw:focus-visible:ring-ring/30"
9316
9483
  ],
9317
9484
  argo: [
9318
- "disabled:tw-opacity-50",
9319
- "tw-border-input",
9320
- "tw-transition-colors",
9321
- "data-[state=checked]:tw-bg-primary",
9322
- "data-[state=checked]:tw-border-primary",
9323
- "data-[state=unchecked]:not-disabled:hover:tw-bg-accent",
9324
- "data-[state=checked]:not-disabled:hover:tw-bg-primary",
9325
- "focus-visible:tw-outline-none",
9326
- "focus-visible:tw-border-primary",
9327
- "focus-visible:tw-ring-2",
9328
- "focus-visible:tw-ring-ring/50"
9485
+ "tw:disabled:opacity-50",
9486
+ "tw:border-input",
9487
+ "tw:transition-colors",
9488
+ "tw:data-[state=checked]:bg-primary",
9489
+ "tw:data-[state=checked]:border-primary",
9490
+ "tw:data-[state=unchecked]:not-disabled:hover:bg-accent",
9491
+ "tw:data-[state=checked]:not-disabled:hover:bg-primary",
9492
+ "tw:focus-visible:outline-hidden",
9493
+ "tw:focus-visible:border-primary",
9494
+ "tw:focus-visible:ring-2",
9495
+ "tw:focus-visible:ring-ring/50"
9329
9496
  ]
9330
9497
  }
9331
9498
  }
9332
9499
  }
9333
9500
  );
9334
- var radioIndicatorVariants = cva(["tw-size-2.5", "tw-fill-current"], {
9501
+ var radioIndicatorVariants = cva(["tw:size-2.5", "tw:fill-current"], {
9335
9502
  defaultVariants: {
9336
9503
  variant: "default"
9337
9504
  },
9338
9505
  variants: {
9339
9506
  variant: {
9340
- default: ["tw-text-primary"],
9341
- argo: ["tw-text-primary-foreground"]
9507
+ default: ["tw:text-primary"],
9508
+ argo: ["tw:text-primary-foreground"]
9342
9509
  }
9343
9510
  }
9344
9511
  });
9345
9512
  var radioItemButtonVariants = cva(
9346
9513
  [
9347
9514
  // reset
9348
- "tw-bg-transparent",
9349
- "tw-p-0",
9350
- "tw-peer",
9351
- "tw-cursor-pointer",
9352
- "tw-whitespace-nowrap",
9515
+ "tw:bg-transparent",
9516
+ "tw:p-0",
9517
+ "tw:peer",
9518
+ "tw:cursor-pointer",
9519
+ "tw:whitespace-nowrap",
9353
9520
  // position
9354
- "tw-flex",
9355
- "tw-items-center",
9356
- "tw-justify-center",
9357
- "disabled:tw-cursor-not-allowed",
9521
+ "tw:flex",
9522
+ "tw:items-center",
9523
+ "tw:justify-center",
9524
+ "tw:disabled:cursor-not-allowed",
9358
9525
  // layouts
9359
- "tw-w-full",
9360
- "tw-px-2",
9361
- "tw-py-1.5",
9526
+ "tw:w-full",
9527
+ "tw:px-2",
9528
+ "tw:py-1.5",
9362
9529
  // fonts
9363
- "tw-uppercase",
9364
- "tw-font-semibold",
9365
- "tw-font-sans",
9366
- "tw-text-[11px]",
9367
- "tw-whitespace-nowrap",
9368
- "tw-tracking-widest",
9369
- "tw-leading-[18px]",
9530
+ "tw:uppercase",
9531
+ "tw:font-semibold",
9532
+ "tw:font-sans",
9533
+ "tw:text-[11px]",
9534
+ "tw:whitespace-nowrap",
9535
+ "tw:tracking-widest",
9536
+ "tw:leading-[18px]",
9370
9537
  // border
9371
- "tw-border",
9372
- "tw-border-solid",
9373
- "tw-rounded"
9538
+ "tw:border",
9539
+ "tw:border-solid",
9540
+ "tw:rounded"
9374
9541
  ],
9375
9542
  {
9376
9543
  defaultVariants: {
@@ -9379,46 +9546,46 @@ var radioItemButtonVariants = cva(
9379
9546
  variants: {
9380
9547
  variant: {
9381
9548
  default: [
9382
- "disabled:tw-opacity-40",
9383
- "tw-text-secondary-600",
9384
- "tw-border-secondary-500",
9385
- "data-[state=unchecked]:hover:tw-bg-secondary-500",
9386
- "data-[state=unchecked]:hover:tw-text-white",
9387
- "data-[state=unchecked]:disabled:hover:tw-bg-white",
9388
- "data-[state=unchecked]:disabled:hover:tw-text-secondary-500",
9389
- "data-[state=checked]:disabled:tw-cursor-not-allowed",
9390
- "data-[state=unchecked]:tw-bg-white",
9391
- "data-[state=checked]:tw-bg-secondary-500",
9392
- "data-[state=checked]:tw-text-white",
9393
- "data-[state=checked]:tw-cursor-default",
9394
- "focus-visible:tw-outline",
9395
- "focus-visible:tw-outline-ring",
9396
- "focus-visible:tw-ring-4",
9397
- "focus-visible:tw-ring-ring/30"
9549
+ "tw:disabled:opacity-40",
9550
+ "tw:text-secondary-600",
9551
+ "tw:border-secondary-500",
9552
+ "tw:data-[state=unchecked]:hover:bg-secondary-500",
9553
+ "tw:data-[state=unchecked]:hover:text-white",
9554
+ "tw:data-[state=unchecked]:disabled:hover:bg-white",
9555
+ "tw:data-[state=unchecked]:disabled:hover:text-secondary-500",
9556
+ "tw:data-[state=checked]:disabled:cursor-not-allowed",
9557
+ "tw:data-[state=unchecked]:bg-white",
9558
+ "tw:data-[state=checked]:bg-secondary-500",
9559
+ "tw:data-[state=checked]:text-white",
9560
+ "tw:data-[state=checked]:cursor-default",
9561
+ "tw:focus-visible:outline",
9562
+ "tw:focus-visible:outline-ring",
9563
+ "tw:focus-visible:ring-4",
9564
+ "tw:focus-visible:ring-ring/30"
9398
9565
  ],
9399
9566
  argo: [
9400
- "disabled:tw-opacity-50",
9401
- "tw-text-foreground",
9402
- "tw-border-input",
9403
- "tw-transition-colors",
9567
+ "tw:disabled:opacity-50",
9568
+ "tw:text-foreground",
9569
+ "tw:border-input",
9570
+ "tw:transition-colors",
9404
9571
  // muted filled control surface — gray, distinct from white containers; not the app-background token
9405
- "data-[state=unchecked]:tw-bg-muted",
9406
- "data-[state=unchecked]:not-disabled:hover:tw-bg-accent",
9407
- "data-[state=unchecked]:not-disabled:hover:tw-text-accent-foreground",
9408
- "data-[state=checked]:tw-bg-primary",
9409
- "data-[state=checked]:tw-border-primary",
9410
- "data-[state=checked]:tw-text-primary-foreground",
9411
- "data-[state=checked]:not-disabled:tw-cursor-default",
9412
- "focus-visible:tw-outline-none",
9413
- "focus-visible:tw-border-primary",
9414
- "focus-visible:tw-ring-2",
9415
- "focus-visible:tw-ring-ring/50"
9572
+ "tw:data-[state=unchecked]:bg-muted",
9573
+ "tw:data-[state=unchecked]:not-disabled:hover:bg-accent",
9574
+ "tw:data-[state=unchecked]:not-disabled:hover:text-accent-foreground",
9575
+ "tw:data-[state=checked]:bg-primary",
9576
+ "tw:data-[state=checked]:border-primary",
9577
+ "tw:data-[state=checked]:text-primary-foreground",
9578
+ "tw:data-[state=checked]:not-disabled:cursor-default",
9579
+ "tw:focus-visible:outline-hidden",
9580
+ "tw:focus-visible:border-primary",
9581
+ "tw:focus-visible:ring-2",
9582
+ "tw:focus-visible:ring-ring/50"
9416
9583
  ]
9417
9584
  }
9418
9585
  }
9419
9586
  }
9420
9587
  );
9421
- var Radio = ({ className, styleVariant = "default", ...props }) => /* @__PURE__ */ jsx(Item, { ...props, className: cn(radioVariants({ variant: styleVariant }), className), children: /* @__PURE__ */ jsx(Indicator$1, { className: cn("tw-flex", "tw-items-center", "tw-justify-center"), children: /* @__PURE__ */ jsx(icons_exports.Circle, { className: radioIndicatorVariants({ variant: styleVariant }) }) }) });
9588
+ var Radio2 = ({ className, styleVariant = "default", ...props }) => /* @__PURE__ */ jsx(Item, { ...props, className: cn(radioVariants({ variant: styleVariant }), className), children: /* @__PURE__ */ jsx(Indicator$1, { className: cn("tw:flex", "tw:items-center", "tw:justify-center"), children: /* @__PURE__ */ jsx(Circle, { className: radioIndicatorVariants({ variant: styleVariant }) }) }) });
9422
9589
  var RadioGroupItemButton = ({
9423
9590
  ref,
9424
9591
  className,
@@ -9453,8 +9620,8 @@ var RadioGroupItem = ({
9453
9620
  {
9454
9621
  variant: variant === "radio-block" ? "boxed" : "default",
9455
9622
  htmlFor: id,
9456
- control: /* @__PURE__ */ jsx(Radio, { styleVariant, ...props, id }),
9457
- className: variant === "radio-block" ? "tw-flex-1" : void 0,
9623
+ control: /* @__PURE__ */ jsx(Radio2, { styleVariant, ...props, id }),
9624
+ className: variant === "radio-block" ? "tw:flex-1" : void 0,
9458
9625
  children: [
9459
9626
  /* @__PURE__ */ jsx(FieldBox.Title, { children }),
9460
9627
  description && /* @__PURE__ */ jsx(FieldBox.Description, { children: description })
@@ -9470,13 +9637,13 @@ var RadioGroupItem = ({
9470
9637
  var separatorVariants = cva(
9471
9638
  [
9472
9639
  // position
9473
- "tw-flex",
9474
- "tw-items-center",
9475
- "tw-justify-center",
9476
- "tw-self-stretch",
9640
+ "tw:flex",
9641
+ "tw:items-center",
9642
+ "tw:justify-center",
9643
+ "tw:self-stretch",
9477
9644
  // before
9478
- "before:tw-content-['']",
9479
- "before:tw-bg-border"
9645
+ "tw:before:content-['']",
9646
+ "tw:before:bg-border"
9480
9647
  ],
9481
9648
  {
9482
9649
  defaultVariants: {
@@ -9487,43 +9654,43 @@ var separatorVariants = cva(
9487
9654
  {
9488
9655
  orientation: "horizontal",
9489
9656
  size: "full",
9490
- className: ["before:tw-w-full"]
9657
+ className: ["tw:before:w-full"]
9491
9658
  },
9492
9659
  {
9493
9660
  orientation: "horizontal",
9494
9661
  size: "1/2",
9495
- className: ["before:tw-w-1/2"]
9662
+ className: ["tw:before:w-1/2"]
9496
9663
  },
9497
9664
  {
9498
9665
  orientation: "horizontal",
9499
9666
  size: "3/4",
9500
- className: ["before:tw-w-3/4"]
9667
+ className: ["tw:before:w-3/4"]
9501
9668
  },
9502
9669
  {
9503
9670
  orientation: "vertical",
9504
9671
  size: "full",
9505
- className: ["before:tw-h-full"]
9672
+ className: ["tw:before:h-full"]
9506
9673
  },
9507
9674
  {
9508
9675
  orientation: "vertical",
9509
9676
  size: "1/2",
9510
- className: ["before:tw-h-1/2"]
9677
+ className: ["tw:before:h-1/2"]
9511
9678
  },
9512
9679
  {
9513
9680
  orientation: "vertical",
9514
9681
  size: "3/4",
9515
- className: ["before:tw-h-3/4"]
9682
+ className: ["tw:before:h-3/4"]
9516
9683
  }
9517
9684
  ],
9518
9685
  variants: {
9519
9686
  size: {
9520
- full: ["before:tw-h-full"],
9687
+ full: ["tw:before:h-full"],
9521
9688
  "1/2": [],
9522
9689
  "3/4": []
9523
9690
  },
9524
9691
  orientation: {
9525
- vertical: ["before:tw-w-px"],
9526
- horizontal: ["before:tw-h-px"]
9692
+ vertical: ["tw:before:w-px"],
9693
+ horizontal: ["tw:before:h-px"]
9527
9694
  }
9528
9695
  }
9529
9696
  }
@@ -9543,10 +9710,10 @@ var Separator = ({
9543
9710
  decorative: true,
9544
9711
  orientation: "horizontal",
9545
9712
  className: cn(
9546
- "tw-flex tw-w-full tw-items-center tw-gap-3 tw-self-stretch",
9547
- "tw-text-xs tw-font-medium tw-text-muted-foreground",
9548
- "before:tw-content-[''] before:tw-h-px before:tw-flex-1 before:tw-bg-border",
9549
- "after:tw-content-[''] after:tw-h-px after:tw-flex-1 after:tw-bg-border",
9713
+ "tw:flex tw:w-full tw:items-center tw:gap-3 tw:self-stretch",
9714
+ "tw:text-xs tw:font-medium tw:text-muted-foreground",
9715
+ "tw:before:content-[''] tw:before:h-px tw:before:flex-1 tw:before:bg-border",
9716
+ "tw:after:content-[''] tw:after:h-px tw:after:flex-1 tw:after:bg-border",
9550
9717
  className
9551
9718
  ),
9552
9719
  children: label
@@ -9567,19 +9734,19 @@ var RadioGroupSeparator = () => {
9567
9734
  const { orientation } = useRadioGroupContext();
9568
9735
  const invertedOrientation = orientation === "horizontal" ? "vertical" : "horizontal";
9569
9736
  const size = orientation === "horizontal" ? "1/2" : "full";
9570
- const className = orientation === "horizontal" ? "tw-mx-2" : "tw-my-2";
9737
+ const className = orientation === "horizontal" ? "tw:mx-2" : "tw:my-2";
9571
9738
  return /* @__PURE__ */ jsx(Separator, { orientation: invertedOrientation, size, className });
9572
9739
  };
9573
- var radioGroupVariants = cva(["tw-flex"], {
9740
+ var radioGroupVariants = cva(["tw:flex"], {
9574
9741
  variants: {
9575
9742
  orientation: {
9576
- horizontal: ["tw-gap-2"],
9577
- vertical: ["tw-flex-col", "tw-gap-3"]
9743
+ horizontal: ["tw:gap-2"],
9744
+ vertical: ["tw:flex-col", "tw:gap-3"]
9578
9745
  },
9579
9746
  variant: {
9580
9747
  button: [],
9581
9748
  radio: [],
9582
- "radio-block": ["tw-w-full"]
9749
+ "radio-block": ["tw:w-full"]
9583
9750
  }
9584
9751
  }
9585
9752
  });
@@ -9853,7 +10020,14 @@ var generateUiSchema = (schema, readOnly = false, definitions, globalConfig, has
9853
10020
  } else {
9854
10021
  fieldUi["ui:widget"] = "code-editor";
9855
10022
  }
9856
- fieldUi["ui:options"] = { editor: options?.editor ?? {} };
10023
+ fieldUi["ui:options"] = {
10024
+ editor: options?.editor ?? {},
10025
+ // A JSON editor stores parsed keys, so `#` prefixes really are encrypted here.
10026
+ // Fields whose JSON is not Keboola configuration (a query filter tree, a payload
10027
+ // template) opt out with `encryption_hint: false` — encrypting a key there would
10028
+ // hand the component ciphertext it cannot use.
10029
+ encryptionHint: options?.encryption_hint !== false
10030
+ };
9857
10031
  } else if (type === "object" && format2 === "ssh-editor") {
9858
10032
  fieldUi["ui:field"] = "sshForm";
9859
10033
  fieldUi["ui:options"] = { only_keys: !!options?.only_keys };
@@ -10300,7 +10474,7 @@ var RjsfSchemaEditor = ({
10300
10474
  }
10301
10475
  }, [onRegisterValidate, formKey]);
10302
10476
  return /* @__PURE__ */ jsx("div", { className: "json-editor", children: /* @__PURE__ */ jsx(RenderMarkdownProvider, { value: renderMarkdown ?? defaultRenderMarkdown, children: /* @__PURE__ */ jsx(RootFormDataProvider, { value: rootFormData, children: /* @__PURE__ */ jsx(
10303
- Form,
10477
+ Form2,
10304
10478
  {
10305
10479
  ref: formRef,
10306
10480
  schema: schemaJs,