@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.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React26 = require('react');
4
- var Form = require('@rjsf/core');
4
+ var Form2 = require('@rjsf/core');
5
5
  var validator = require('@rjsf/validator-ajv8');
6
6
  var autocomplete = require('@codemirror/autocomplete');
7
7
  var langJson = require('@codemirror/lang-json');
@@ -16,16 +16,18 @@ var classVarianceAuthority = require('class-variance-authority');
16
16
  var brandRegistry = require('@keboola/brand-registry');
17
17
  var jsxRuntime = require('react/jsx-runtime');
18
18
  var reactSlot = require('@radix-ui/react-slot');
19
- var lucide_react_star = require('lucide-react');
19
+ var lucideReact = require('lucide-react');
20
20
  var langJavascript = require('@codemirror/lang-javascript');
21
21
  var langPython = require('@codemirror/lang-python');
22
22
  var langSql = require('@codemirror/lang-sql');
23
23
  var language = require('@codemirror/language');
24
24
  var r = require('@codemirror/legacy-modes/mode/r');
25
25
  var shell = require('@codemirror/legacy-modes/mode/shell');
26
+ var toml = require('@codemirror/legacy-modes/mode/toml');
26
27
  var codemirrorThemeGithub = require('@uiw/codemirror-theme-github');
27
28
  var codemirrorLangSfsql = require('@keboola/codemirror-lang-sfsql');
28
29
  var colors = require('@keboola/tailwind-config/colors');
30
+ var simpleMode = require('@codemirror/legacy-modes/mode/simple-mode');
29
31
  var DOMPurify = require('dompurify');
30
32
  var reactCollapsible = require('@radix-ui/react-collapsible');
31
33
  var RadixTabs = require('@radix-ui/react-tabs');
@@ -59,10 +61,9 @@ function _interopNamespace(e) {
59
61
  }
60
62
 
61
63
  var React26__default = /*#__PURE__*/_interopDefault(React26);
62
- var Form__default = /*#__PURE__*/_interopDefault(Form);
64
+ var Form2__default = /*#__PURE__*/_interopDefault(Form2);
63
65
  var validator__default = /*#__PURE__*/_interopDefault(validator);
64
66
  var CodeMirror__default = /*#__PURE__*/_interopDefault(CodeMirror);
65
- var lucide_react_star__namespace = /*#__PURE__*/_interopNamespace(lucide_react_star);
66
67
  var colors__default = /*#__PURE__*/_interopDefault(colors);
67
68
  var DOMPurify__default = /*#__PURE__*/_interopDefault(DOMPurify);
68
69
  var RadixTabs__namespace = /*#__PURE__*/_interopNamespace(RadixTabs);
@@ -73,22 +74,10 @@ var RRadioGroup__namespace = /*#__PURE__*/_interopNamespace(RRadioGroup);
73
74
  var RSeparator__namespace = /*#__PURE__*/_interopNamespace(RSeparator);
74
75
 
75
76
  var __defProp = Object.defineProperty;
76
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
77
- var __getOwnPropNames = Object.getOwnPropertyNames;
78
- var __hasOwnProp = Object.prototype.hasOwnProperty;
79
77
  var __export = (target, all) => {
80
78
  for (var name in all)
81
79
  __defProp(target, name, { get: all[name], enumerable: true });
82
80
  };
83
- var __copyProps = (to, from, except, desc) => {
84
- if (from && typeof from === "object" || typeof from === "function") {
85
- for (let key of __getOwnPropNames(from))
86
- if (!__hasOwnProp.call(to, key) && key !== except)
87
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
88
- }
89
- return to;
90
- };
91
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
92
81
 
93
82
  // src/utils/debounce.ts
94
83
  var debounce = (fn, delay) => {
@@ -110,8 +99,15 @@ var keyCodes = {
110
99
  ESCAPE: "Escape",
111
100
  SPACE: " "
112
101
  };
102
+ var useStableCallback = (callback) => {
103
+ const latestRef = React26.useRef(callback);
104
+ React26.useLayoutEffect(() => {
105
+ latestRef.current = callback;
106
+ }, [callback]);
107
+ return React26.useCallback((...args) => latestRef.current(...args), []);
108
+ };
113
109
  var twMerge = tailwindMerge.extendTailwindMerge({
114
- prefix: "tw-"
110
+ prefix: "tw"
115
111
  });
116
112
  var cn = (...classes) => twMerge(clsx.clsx(...classes));
117
113
 
@@ -187,39 +183,39 @@ var useArgoDesign = () => React26.use(ArgoDesignContext);
187
183
  var tooltipVariants = classVarianceAuthority.cva(
188
184
  [
189
185
  "tailwindcss-preflight",
190
- "tw-inline-block",
191
- "tw-break-anywhere",
192
- "tw-max-h-96",
193
- "tw-overflow-y-auto",
194
- "tw-z-[1060]",
186
+ "tw:inline-block",
187
+ "tw:break-anywhere",
188
+ "tw:max-h-96",
189
+ "tw:overflow-y-auto",
190
+ "tw:z-[1060]",
195
191
  // legacy (dark) chrome — default
196
- "tw-rounded",
197
- "tw-bg-neutral-800",
198
- "tw-text-white",
192
+ "tw:rounded",
193
+ "tw:bg-neutral-800",
194
+ "tw:text-white",
199
195
  // argo chrome overrides — semantic floating-panel tokens
200
- "data-[argo=true]:tw-rounded-2xl",
201
- "data-[argo=true]:tw-border",
202
- "data-[argo=true]:tw-border-solid",
203
- "data-[argo=true]:tw-border-border",
204
- "data-[argo=true]:tw-bg-popover",
205
- "data-[argo=true]:tw-text-popover-foreground",
206
- "data-[argo=true]:tw-shadow-md",
196
+ "tw:data-[argo=true]:rounded-2xl",
197
+ "tw:data-[argo=true]:border",
198
+ "tw:data-[argo=true]:border-solid",
199
+ "tw:data-[argo=true]:border-border",
200
+ "tw:data-[argo=true]:bg-popover",
201
+ "tw:data-[argo=true]:text-popover-foreground",
202
+ "tw:data-[argo=true]:shadow-md",
207
203
  // argo open animation
208
- "data-[argo=true]:data-[state=delayed-open]:tw-animate-in",
209
- "data-[argo=true]:data-[state=instant-open]:tw-animate-in",
210
- "data-[argo=true]:data-[state=delayed-open]:tw-fade-in-0",
211
- "data-[argo=true]:data-[state=instant-open]:tw-fade-in-0",
212
- "data-[argo=true]:data-[state=delayed-open]:tw-zoom-in-95",
213
- "data-[argo=true]:data-[state=instant-open]:tw-zoom-in-95",
204
+ "tw:data-[argo=true]:data-[state=delayed-open]:animate-in",
205
+ "tw:data-[argo=true]:data-[state=instant-open]:animate-in",
206
+ "tw:data-[argo=true]:data-[state=delayed-open]:fade-in-0",
207
+ "tw:data-[argo=true]:data-[state=instant-open]:fade-in-0",
208
+ "tw:data-[argo=true]:data-[state=delayed-open]:zoom-in-95",
209
+ "tw:data-[argo=true]:data-[state=instant-open]:zoom-in-95",
214
210
  // argo closed animation
215
- "data-[argo=true]:data-[state=closed]:tw-animate-out",
216
- "data-[argo=true]:data-[state=closed]:tw-fade-out-0",
217
- "data-[argo=true]:data-[state=closed]:tw-zoom-out-95",
211
+ "tw:data-[argo=true]:data-[state=closed]:animate-out",
212
+ "tw:data-[argo=true]:data-[state=closed]:fade-out-0",
213
+ "tw:data-[argo=true]:data-[state=closed]:zoom-out-95",
218
214
  // argo position animation
219
- "data-[argo=true]:data-[side=bottom]:tw-slide-in-from-top-2",
220
- "data-[argo=true]:data-[side=left]:tw-slide-in-from-right-2",
221
- "data-[argo=true]:data-[side=right]:tw-slide-in-from-left-2",
222
- "data-[argo=true]:data-[side=top]:tw-slide-in-from-bottom-2"
215
+ "tw:data-[argo=true]:data-[side=bottom]:slide-in-from-top-2",
216
+ "tw:data-[argo=true]:data-[side=left]:slide-in-from-right-2",
217
+ "tw:data-[argo=true]:data-[side=right]:slide-in-from-left-2",
218
+ "tw:data-[argo=true]:data-[side=top]:slide-in-from-bottom-2"
223
219
  ],
224
220
  {
225
221
  defaultVariants: {
@@ -228,22 +224,26 @@ var tooltipVariants = classVarianceAuthority.cva(
228
224
  variants: {
229
225
  variant: {
230
226
  action: [
231
- "tw-max-w-fit",
232
- "tw-px-3",
233
- "tw-py-2",
234
- "tw-text-center",
235
- "tw-text-xs",
236
- "tw-font-medium",
237
- "tw-uppercase",
238
- "tw-tracking-wider"
227
+ "tw:max-w-fit",
228
+ "tw:px-3",
229
+ "tw:py-2",
230
+ "tw:text-center",
231
+ "tw:text-xs",
232
+ "tw:font-medium",
233
+ // Legacy chrome uppercases the action tooltip; the Keboola V2 brand
234
+ // (`data-brand="keboola"`) renders it in standard case instead.
235
+ "tw:uppercase",
236
+ "tw:tracking-wider",
237
+ "tw:[[data-brand=keboola]_&]:normal-case",
238
+ "tw:[[data-brand=keboola]_&]:tracking-normal"
239
239
  ],
240
240
  explanatory: [
241
- "tw-max-w-80",
242
- "tw-px-4",
243
- "tw-py-3",
244
- "tw-text-left",
245
- "tw-text-sm",
246
- "tw-font-normal"
241
+ "tw:max-w-80",
242
+ "tw:px-4",
243
+ "tw:py-3",
244
+ "tw:text-left",
245
+ "tw:text-sm",
246
+ "tw:font-normal"
247
247
  ]
248
248
  }
249
249
  }
@@ -317,8 +317,8 @@ var TooltipTrigger = ({
317
317
  // (merged in via Slot) activates Tailwind's preflight inside the
318
318
  // span, which sets `svg { display: block }` — without an inline-flex
319
319
  // container that would stack any bare Lucide icon onto its own
320
- // line. `tw-inline-flex tw-items-center` keeps icon + text aligned.
321
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-inline-flex tw-items-center", children })
320
+ // line. `tw:inline-flex tw:items-center` keeps icon + text aligned.
321
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:inline-flex tw:items-center", children })
322
322
  )
323
323
  }
324
324
  );
@@ -384,7 +384,7 @@ Tooltip.Content = TooltipContent;
384
384
  Tooltip.Trigger = TooltipTrigger;
385
385
 
386
386
  // src/utils/createPrefixedString.ts
387
- var createPrefixedString = (prefix) => (literals) => literals.reduce((acc, literal) => acc + literal, `${prefix}-`);
387
+ var createPrefixedString = (prefix2) => (literals) => literals.reduce((acc, literal) => acc + literal, `${prefix2}-`);
388
388
 
389
389
  // src/utils/mergeRefs.ts
390
390
  function setRef(ref, value) {
@@ -397,14 +397,14 @@ function setRef(ref, value) {
397
397
  var mergeRefs = (...refs) => {
398
398
  return (node) => refs.forEach((ref) => setRef(ref, node));
399
399
  };
400
- var helpVariants = classVarianceAuthority.cva(["tw-m-0", "tw-text-xs"], {
400
+ var helpVariants = classVarianceAuthority.cva(["tw:m-0", "tw:text-xs"], {
401
401
  defaultVariants: {
402
402
  state: "default"
403
403
  },
404
404
  variants: {
405
405
  state: {
406
- default: ["tw-text-muted-foreground"],
407
- warning: ["tw-text-warning"]
406
+ default: ["tw:text-muted-foreground"],
407
+ warning: ["tw:text-warning"]
408
408
  }
409
409
  }
410
410
  });
@@ -412,146 +412,49 @@ var HelpBlock = ({ children, className, state = "default", ...rest }) => {
412
412
  if (!children) return null;
413
413
  return /* @__PURE__ */ jsxRuntime.jsx("p", { ...rest, className: helpVariants({ state, className }), children });
414
414
  };
415
-
416
- // src/icons/index.ts
417
- var icons_exports = {};
418
- __export(icons_exports, {
419
- Google: () => Google,
420
- Keboola: () => Keboola,
421
- Microsoft: () => Microsoft
422
- });
423
- __reExport(icons_exports, lucide_react_star__namespace);
424
- var Google = React26.forwardRef(
425
- ({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
426
- "svg",
427
- {
428
- ref,
429
- xmlns: "http://www.w3.org/2000/svg",
430
- width: size,
431
- height: size,
432
- viewBox: "12 10 20 20",
433
- fill: "none",
434
- className: cn("lucide", className),
435
- ...rest,
436
- children: [
437
- /* @__PURE__ */ jsxRuntime.jsx(
438
- "path",
439
- {
440
- 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",
441
- fill: "#4285F4"
442
- }
443
- ),
444
- /* @__PURE__ */ jsxRuntime.jsx(
445
- "path",
446
- {
447
- 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",
448
- fill: "#34A853"
449
- }
450
- ),
451
- /* @__PURE__ */ jsxRuntime.jsx(
452
- "path",
453
- {
454
- 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",
455
- fill: "#FBBC04"
456
- }
457
- ),
458
- /* @__PURE__ */ jsxRuntime.jsx(
459
- "path",
460
- {
461
- 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",
462
- fill: "#EA4335"
463
- }
464
- ),
465
- children
466
- ]
467
- }
468
- )
469
- );
470
- Google.displayName = "Google";
471
- var Keboola = React26.forwardRef(
472
- ({ size = 24, color = "currentColor", className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
473
- "svg",
474
- {
475
- ref,
476
- xmlns: "http://www.w3.org/2000/svg",
477
- width: size,
478
- height: size,
479
- viewBox: "0 0 300 512",
480
- overflow: "visible",
481
- fill: color,
482
- className: cn("lucide", className),
483
- ...rest,
484
- children: [
485
- /* @__PURE__ */ jsxRuntime.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" }),
486
- children
487
- ]
488
- }
489
- )
490
- );
491
- Keboola.displayName = "Keboola";
492
- var Microsoft = React26.forwardRef(
493
- ({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
494
- "svg",
495
- {
496
- ref,
497
- xmlns: "http://www.w3.org/2000/svg",
498
- width: size,
499
- height: size,
500
- viewBox: "0 0 21 21",
501
- fill: "none",
502
- className: cn("lucide", className),
503
- ...rest,
504
- children: [
505
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: "10", height: "10", fill: "#F25022" }),
506
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11", y: "0", width: "10", height: "10", fill: "#7FBA00" }),
507
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "11", width: "10", height: "10", fill: "#00A4EF" }),
508
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11", y: "11", width: "10", height: "10", fill: "#FFB900" }),
509
- children
510
- ]
511
- }
512
- )
513
- );
514
- Microsoft.displayName = "Microsoft";
515
415
  var variants = classVarianceAuthority.cva(
516
416
  [
517
417
  "tailwindcss-preflight",
518
- "tw-group/button",
519
- "tw-border-box",
418
+ "tw:group/button",
419
+ "tw:border-box",
520
420
  // layout
521
- "tw-relative",
522
- "tw-flex",
523
- "tw-items-center",
524
- "tw-justify-center",
525
- "tw-gap-2",
421
+ "tw:relative",
422
+ "tw:flex",
423
+ "tw:items-center",
424
+ "tw:justify-center",
425
+ "tw:gap-2",
526
426
  // text — chrome weight/tracking are brand-overridable tokens
527
- // (`--font-weight-medium` / `--letter-spacing-chrome`); casing stays `tw-uppercase`.
528
- "tw-text-xs",
529
- "tw-leading-5",
530
- "tw-font-medium",
531
- "tw-tracking-chrome",
532
- "tw-uppercase",
427
+ // (`--font-weight-medium` / `--letter-spacing-chrome`). Casing: standard case is
428
+ // the default; only legacy brands (`keboola-legacy-*`) uppercase the chrome, so
429
+ // modern brands (incl. Keboola V2) read naturally. Mirrors the V2 standard-case
430
+ // treatment shipped for Tooltip/Badge (PR 7629).
431
+ "tw:text-xs",
432
+ "tw:leading-5",
433
+ "tw:font-medium",
434
+ "tw:[[data-brand^=keboola-legacy]_&]:tracking-chrome",
435
+ "tw:[[data-brand^=keboola-legacy]_&]:uppercase",
533
436
  // border — legacy (non-argo) chrome uses a fixed radius, not the brand token.
534
- "tw-rounded",
535
- "tw-border",
536
- "tw-border-transparent",
437
+ "tw:rounded",
438
+ "tw:border",
439
+ "tw:border-transparent",
537
440
  // styling
538
- "tw-shadow-none",
539
- "[a]:tw-cursor-pointer",
441
+ "tw:shadow-none",
442
+ "tw:[a]:cursor-pointer",
540
443
  // explicitly set for anchor
541
- "focus-visible:tw-outline",
542
- "focus-visible:tw-outline-1",
543
- "focus-visible:-tw-outline-offset-1",
544
- "focus-visible:tw-outline-ring",
545
- "focus-visible:tw-ring-4",
546
- "focus-visible:tw-ring-ring/30",
444
+ "tw:focus-visible:outline",
445
+ "tw:focus-visible:outline-1",
446
+ "tw:focus-visible:-outline-offset-1",
447
+ "tw:focus-visible:outline-ring",
448
+ "tw:focus-visible:ring-4",
449
+ "tw:focus-visible:ring-ring/30",
547
450
  // disabled
548
- "disabled:tw-opacity-40",
549
- "disabled:tw-cursor-not-allowed",
451
+ "tw:disabled:opacity-40",
452
+ "tw:disabled:cursor-not-allowed",
550
453
  // anchor support
551
- "!tw-no-underline",
552
- "aria-disabled:tw-opacity-40",
553
- "aria-disabled:tw-cursor-not-allowed",
554
- "[&_svg]:tw-shrink-0"
454
+ "tw:!no-underline",
455
+ "tw:aria-disabled:opacity-40",
456
+ "tw:aria-disabled:cursor-not-allowed",
457
+ "tw:[&_svg]:shrink-0"
555
458
  ],
556
459
  {
557
460
  defaultVariants: {
@@ -561,113 +464,113 @@ var variants = classVarianceAuthority.cva(
561
464
  },
562
465
  variants: {
563
466
  block: {
564
- true: ["tw-w-full"]
467
+ true: ["tw:w-full"]
565
468
  },
566
469
  variant: {
567
470
  primary: [
568
- "tw-text-white",
569
- "tw-bg-primary-500",
570
- "focus:tw-text-white",
571
- "hover:tw-text-white",
572
- "hover:not-disabled:tw-bg-primary-600",
573
- "active:not-disabled:tw-bg-primary-800",
471
+ "tw:text-white",
472
+ "tw:bg-primary-500",
473
+ "tw:focus:text-white",
474
+ "tw:hover:text-white",
475
+ "tw:hover:not-disabled:bg-primary-600",
476
+ "tw:active:not-disabled:bg-primary-800",
574
477
  // anchor disabled override
575
- "aria-disabled:!tw-bg-primary-500"
478
+ "tw:aria-disabled:!bg-primary-500"
576
479
  ],
577
480
  secondary: [
578
- "tw-text-white",
579
- "tw-bg-secondary-500",
580
- "focus:tw-text-white",
581
- "hover:tw-text-white",
582
- "hover:not-disabled:tw-bg-secondary-700",
583
- "active:not-disabled:tw-bg-secondary-800",
481
+ "tw:text-white",
482
+ "tw:bg-secondary-500",
483
+ "tw:focus:text-white",
484
+ "tw:hover:text-white",
485
+ "tw:hover:not-disabled:bg-secondary-700",
486
+ "tw:active:not-disabled:bg-secondary-800",
584
487
  // anchor disabled override
585
- "aria-disabled:!tw-bg-secondary-500"
488
+ "tw:aria-disabled:!bg-secondary-500"
586
489
  ],
587
490
  danger: [
588
- "tw-text-white",
589
- "tw-bg-error-500",
590
- "focus:tw-text-white",
591
- "hover:tw-text-white",
592
- "hover:not-disabled:tw-bg-error-600",
593
- "active:not-disabled:tw-bg-error-700",
491
+ "tw:text-white",
492
+ "tw:bg-error-500",
493
+ "tw:focus:text-white",
494
+ "tw:hover:text-white",
495
+ "tw:hover:not-disabled:bg-error-600",
496
+ "tw:active:not-disabled:bg-error-700",
594
497
  // anchor disabled override
595
- "aria-disabled:!tw-bg-error-500"
498
+ "tw:aria-disabled:!bg-error-500"
596
499
  ],
597
500
  invisible: [
598
- "tw-text-neutral-800",
599
- "tw-bg-transparent",
600
- "focus:tw-text-neutral-800",
601
- "hover:not-disabled:tw-bg-neutral-100",
602
- "hover:tw-text-neutral-800",
603
- "active:not-disabled:tw-bg-neutral-150",
501
+ "tw:text-neutral-800",
502
+ "tw:bg-transparent",
503
+ "tw:focus:text-neutral-800",
504
+ "tw:hover:not-disabled:bg-neutral-100",
505
+ "tw:hover:text-neutral-800",
506
+ "tw:active:not-disabled:bg-neutral-150",
604
507
  // contrasting icon on hover/active
605
- "[&_svg]:tw-text-neutral-400",
606
- "[&_svg]:hover:not-disabled:tw-text-secondary-600",
607
- "[&_svg]:active:not-disabled:tw-text-secondary-600",
508
+ "tw:[&_svg]:text-neutral-400",
509
+ "tw:hover:not-disabled:[&_svg]:text-secondary-600",
510
+ "tw:active:not-disabled:[&_svg]:text-secondary-600",
608
511
  // anchor disabled override
609
- "aria-disabled:!tw-bg-transparent"
512
+ "tw:aria-disabled:!bg-transparent"
610
513
  ],
611
514
  outline: [
612
- "tw-text-neutral-800",
613
- "tw-bg-white",
515
+ "tw:text-neutral-800",
516
+ "tw:bg-white",
614
517
  // border
615
- "!tw-border-neutral-200",
616
- "hover:tw-text-neutral-800",
617
- "focus:tw-text-neutral-800",
618
- "hover:not-disabled:!tw-border-neutral-300",
619
- "hover:not-disabled:tw-bg-neutral-100",
620
- "active:not-disabled:tw-bg-neutral-200",
518
+ "tw:!border-neutral-200",
519
+ "tw:hover:text-neutral-800",
520
+ "tw:focus:text-neutral-800",
521
+ "tw:hover:not-disabled:!border-neutral-300",
522
+ "tw:hover:not-disabled:bg-neutral-100",
523
+ "tw:active:not-disabled:bg-neutral-200",
621
524
  // contrasting icon hover, same as invisible
622
- "[&_svg]:tw-text-neutral-400",
623
- "[&_svg]:not-disabled:hover:tw-text-secondary-600",
624
- "[&_svg]:active:not-disabled:tw-text-secondary-600",
525
+ "tw:[&_svg]:text-neutral-400",
526
+ "tw:not-disabled:hover:[&_svg]:text-secondary-600",
527
+ "tw:active:not-disabled:[&_svg]:text-secondary-600",
625
528
  // anchor disabled override
626
- "aria-disabled:!tw-bg-white",
627
- "aria-disabled:!tw-border-neutral-200"
529
+ "tw:aria-disabled:!bg-white",
530
+ "tw:aria-disabled:!border-neutral-200"
628
531
  ],
629
532
  inline: [
630
- "tw-text-neutral-800",
631
- "tw-bg-transparent",
632
- "tw-rounded-full",
633
- "[&_svg]:tw-text-neutral-400",
634
- "[&_svg]:not-disabled:hover:tw-text-secondary-600",
635
- "[&_svg]:not-disabled:focus:tw-text-secondary-600"
533
+ "tw:text-neutral-800",
534
+ "tw:bg-transparent",
535
+ "tw:rounded-full",
536
+ "tw:[&_svg]:text-neutral-400",
537
+ "tw:not-disabled:hover:[&_svg]:text-secondary-600",
538
+ "tw:not-disabled:focus:[&_svg]:text-secondary-600"
636
539
  ]
637
540
  },
638
541
  size: {
639
542
  medium: [
640
- "tw-max-h-10",
641
- "tw-min-h-10",
642
- "tw-px-4",
643
- "tw-py-2.5",
644
- '[&_svg:not([class*="tw-size-"])]:tw-size-4'
543
+ "tw:max-h-10",
544
+ "tw:min-h-10",
545
+ "tw:px-4",
546
+ "tw:py-2.5",
547
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4'
645
548
  ],
646
549
  small: [
647
- "tw-max-h-8",
648
- "tw-min-h-8",
649
- "tw-px-4",
650
- "tw-py-1.5",
651
- '[&_svg:not([class*="tw-size-"])]:tw-size-4'
550
+ "tw:max-h-8",
551
+ "tw:min-h-8",
552
+ "tw:px-4",
553
+ "tw:py-1.5",
554
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4'
652
555
  ],
653
556
  large: [
654
- "tw-max-h-12",
655
- "tw-min-h-12",
656
- "tw-px-4",
657
- "tw-py-3.5",
658
- '[&_svg:not([class*="tw-size-"])]:tw-size-4'
557
+ "tw:max-h-12",
558
+ "tw:min-h-12",
559
+ "tw:px-4",
560
+ "tw:py-3.5",
561
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4'
659
562
  ],
660
- "icon-lg": ["tw-size-12", "tw-p-0", '[&_svg:not([class*="tw-size-"])]:tw-size-6'],
661
- icon: ["tw-size-10", "tw-p-0", '[&_svg:not([class*="tw-size-"])]:tw-size-4'],
662
- "icon-sm": ["tw-size-8", "tw-p-0", '[&_svg:not([class*="tw-size-"])]:tw-size-4'],
663
- "icon-xs": ["tw-size-6", "tw-p-0", '[&_svg:not([class*="tw-size-"])]:tw-size-4'],
563
+ "icon-lg": ["tw:size-12", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-6'],
564
+ icon: ["tw:size-10", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
565
+ "icon-sm": ["tw:size-8", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
566
+ "icon-xs": ["tw:size-6", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
664
567
  "icon-2xs": [
665
- "!tw-inline-flex",
666
- "tw-size-5",
667
- "tw-max-h-5",
668
- '[&_svg:not([class*="tw-size-"])]:tw-size-3'
568
+ "tw:!inline-flex",
569
+ "tw:size-5",
570
+ "tw:max-h-5",
571
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3'
669
572
  ],
670
- "icon-3xs": ["tw-h-fit", "tw-w-fit", '[&_svg:not([class*="tw-size-"])]:tw-size-4']
573
+ "icon-3xs": ["tw:h-fit", "tw:w-fit", 'tw:[&_svg:not([class*="tw:size-"])]:size-4']
671
574
  }
672
575
  }
673
576
  }
@@ -676,37 +579,37 @@ var argoVariants = classVarianceAuthority.cva(
676
579
  [
677
580
  "tailwindcss-preflight",
678
581
  // layout
679
- "tw-relative",
680
- "tw-inline-flex",
681
- "tw-items-center",
682
- "tw-justify-center",
683
- "tw-whitespace-nowrap",
684
- "tw-gap-2",
582
+ "tw:relative",
583
+ "tw:inline-flex",
584
+ "tw:items-center",
585
+ "tw:justify-center",
586
+ "tw:whitespace-nowrap",
587
+ "tw:gap-2",
685
588
  // border
686
- "tw-border",
687
- "tw-border-transparent",
688
- "tw-rounded-[var(--radius-lg,0.25rem)]",
589
+ "tw:border",
590
+ "tw:border-transparent",
591
+ "tw:rounded-[var(--radius-lg,0.25rem)]",
689
592
  // text
690
- "tw-font-medium",
691
- "tw-select-none",
593
+ "tw:font-medium",
594
+ "tw:select-none",
692
595
  // focus visible
693
- "!tw-outline-none",
694
- "focus-visible:tw-ring-2",
596
+ "tw:!outline-hidden",
597
+ "tw:focus-visible:ring-2",
695
598
  // disabled
696
- "disabled:tw-cursor-not-allowed",
697
- "disabled:tw-opacity-50",
698
- "active:tw-opacity-60",
699
- "tw-transition-all",
700
- "tw-bg-clip-padding",
599
+ "tw:disabled:cursor-not-allowed",
600
+ "tw:disabled:opacity-50",
601
+ "tw:active:opacity-60",
602
+ "tw:transition-all",
603
+ "tw:bg-clip-padding",
701
604
  // anchor support
702
- "!tw-no-underline",
703
- "aria-disabled:tw-cursor-not-allowed",
704
- "aria-disabled:tw-opacity-50",
605
+ "tw:!no-underline",
606
+ "tw:aria-disabled:cursor-not-allowed",
607
+ "tw:aria-disabled:opacity-50",
705
608
  // icon
706
- "tw-shrink-0",
707
- "[&_svg]:tw-pointer-events-none",
708
- "[&_svg]:tw-shrink-0",
709
- "[&_svg:not([class*='tw-size-'])]:tw-size-4"
609
+ "tw:shrink-0",
610
+ "tw:[&_svg]:pointer-events-none",
611
+ "tw:[&_svg]:shrink-0",
612
+ "tw:[&_svg:not([class*='tw:size-'])]:size-4"
710
613
  ],
711
614
  {
712
615
  defaultVariants: {
@@ -715,77 +618,77 @@ var argoVariants = classVarianceAuthority.cva(
715
618
  },
716
619
  variants: {
717
620
  block: {
718
- true: ["tw-w-full"]
621
+ true: ["tw:w-full"]
719
622
  },
720
623
  variant: {
721
624
  primary: [
722
- "tw-bg-primary",
723
- "tw-text-primary-foreground",
724
- "[a]:hover:tw-bg-primary/80",
725
- "hover:not-disabled:tw-bg-primary/90",
726
- "hover:tw-text-primary-foreground",
727
- "focus:tw-text-primary-foreground",
728
- "focus-visible:tw-border-primary",
729
- "focus-visible:tw-ring-ring/50"
625
+ "tw:bg-primary",
626
+ "tw:text-primary-foreground",
627
+ "tw:[a]:hover:bg-primary/80",
628
+ "tw:hover:not-disabled:bg-primary/90",
629
+ "tw:hover:text-primary-foreground",
630
+ "tw:focus:text-primary-foreground",
631
+ "tw:focus-visible:border-primary",
632
+ "tw:focus-visible:ring-ring/50"
730
633
  ],
731
634
  secondary: [
732
- "tw-bg-primary/10",
733
- "tw-text-primary",
734
- "hover:not-disabled:tw-bg-primary/20",
735
- "focus-visible:tw-border-primary",
736
- "focus-visible:tw-ring-ring/50"
635
+ "tw:bg-primary/10",
636
+ "tw:text-primary",
637
+ "tw:hover:not-disabled:bg-primary/20",
638
+ "tw:focus-visible:border-primary",
639
+ "tw:focus-visible:ring-ring/50"
737
640
  ],
738
641
  // should be called "destructive" by Figma
739
642
  danger: [
740
- "tw-bg-destructive",
741
- "tw-text-destructive-foreground",
742
- "hover:tw-text-destructive-foreground",
743
- "focus:tw-text-destructive-foreground",
744
- "focus-visible:tw-border-destructive",
745
- "focus-visible:tw-ring-destructive/20"
643
+ "tw:bg-destructive",
644
+ "tw:text-destructive-foreground",
645
+ "tw:hover:text-destructive-foreground",
646
+ "tw:focus:text-destructive-foreground",
647
+ "tw:focus-visible:border-destructive",
648
+ "tw:focus-visible:ring-destructive/20"
746
649
  ],
747
650
  outline: [
748
- "!tw-border-input",
749
- "tw-bg-background",
651
+ "tw:!border-input",
652
+ "tw:bg-background",
750
653
  // Semantic base text color so the label/icon flips in dark mode
751
654
  // (matches `invisible`); previously unset → inherited a fixed dark color.
752
- "tw-text-foreground",
655
+ "tw:text-foreground",
753
656
  // Hover follows the brand primary (translucent tint), matching the
754
657
  // `secondary` variant — not the fixed `accent` blue.
755
- "hover:not-disabled:tw-bg-primary/10",
756
- "hover:not-disabled:tw-text-primary",
757
- "hover:active:tw-bg-background",
758
- "focus-visible:!tw-border-primary",
759
- "focus-visible:tw-ring-ring/50"
658
+ "tw:hover:not-disabled:bg-primary/10",
659
+ "tw:hover:not-disabled:text-primary",
660
+ "tw:hover:active:bg-background",
661
+ "tw:focus-visible:!border-primary",
662
+ "tw:focus-visible:ring-ring/50"
760
663
  ],
761
664
  // should be called "ghost" by Figma
762
665
  invisible: [
763
- "tw-bg-transparent",
764
- "tw-text-foreground",
765
- "hover:not-disabled:tw-bg-primary/10",
766
- "hover:not-disabled:tw-text-primary",
767
- "hover:not-disabled:tw-border-primary/10",
768
- "focus-visible:tw-ring-ring/50"
666
+ "tw:bg-transparent",
667
+ "tw:text-foreground",
668
+ "tw:hover:not-disabled:bg-primary/10",
669
+ "tw:hover:not-disabled:text-primary",
670
+ "tw:hover:not-disabled:border-primary/10",
671
+ "tw:focus-visible:ring-ring/50"
769
672
  ],
770
673
  // should be called "link" by Figma
771
674
  inline: [
772
- "tw-bg-transparent",
773
- "tw-text-primary",
774
- "hover:tw-underline",
775
- "hover:active:tw-bg-transparent",
776
- "focus-visible:tw-ring-ring/50"
675
+ "tw:bg-transparent",
676
+ "tw:text-primary",
677
+ "tw:hover:underline",
678
+ "tw:hover:active:bg-transparent",
679
+ "tw:focus-visible:ring-ring/50"
777
680
  ]
778
681
  },
779
682
  size: {
780
683
  // should be called "default" by Figma
781
- medium: ["tw-max-h-9", "tw-py-2", "tw-px-4", "tw-text-sm"],
684
+ medium: ["tw:max-h-9", "tw:py-2", "tw:px-4", "tw:text-sm"],
782
685
  // should be called "small" by Figma
783
- small: ["tw-max-h-8", "tw-py-2", "tw-px-3", "tw-text-xs"],
686
+ small: ["tw:max-h-8", "tw:py-2", "tw:px-3", "tw:text-xs"],
784
687
  // should be called "large" by Figma
785
- large: ["tw-max-h-10", "tw-py-2.5", "tw-px-6", "tw-text-sm"],
786
- "icon-lg": ["tw-size-10"],
787
- icon: ["tw-size-9"],
788
- "icon-sm": ["tw-size-8"],
688
+ large: ["tw:max-h-10", "tw:py-2.5", "tw:px-6", "tw:text-sm"],
689
+ "icon-lg": ["tw:size-10"],
690
+ icon: ["tw:size-9"],
691
+ "icon-sm": ["tw:size-8"],
789
692
  // unsupported in ARGO, remove when old design is gone
790
693
  "icon-xs": [],
791
694
  "icon-2xs": [],
@@ -833,13 +736,13 @@ var Button = ({
833
736
  onClick: handleClick,
834
737
  className: cn(classNames),
835
738
  children: [
836
- isLoading && /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Loader2, { className: "tw-size-4 tw-shrink-0 tw-animate-spin" }),
739
+ isLoading && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "tw:size-4 tw:shrink-0 tw:animate-spin" }),
837
740
  /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slottable, { children: isLoading && isIconOnly ? null : children })
838
741
  ]
839
742
  }
840
743
  );
841
744
  };
842
- var Clipboard = ({
745
+ var Clipboard2 = ({
843
746
  ref,
844
747
  text: textProp,
845
748
  children,
@@ -864,6 +767,7 @@ var Clipboard = ({
864
767
  }
865
768
  };
866
769
  const handleOnClick = (event) => {
770
+ setIsTooltipOpen(true);
867
771
  if (text && state === "ready") void copy(text);
868
772
  onClick?.(event);
869
773
  };
@@ -878,6 +782,7 @@ var Clipboard = ({
878
782
  return tooltip;
879
783
  })();
880
784
  const tooltipVariant = state === "ready" && !!text ? tooltipVariantProp : "action";
785
+ const hasTooltipContent = tooltipContent !== null && tooltipContent !== void 0;
881
786
  return /* @__PURE__ */ jsxRuntime.jsxs(Tooltip.Root, { open: isTooltipOpen, onOpenChange: handleOnOpenChange, children: [
882
787
  /* @__PURE__ */ jsxRuntime.jsx(
883
788
  Tooltip.Trigger,
@@ -886,12 +791,12 @@ var Clipboard = ({
886
791
  asChild,
887
792
  keepOpenOnClick: true,
888
793
  onClick: handleOnClick,
889
- className: cn("tw-cursor-pointer", className),
794
+ className: cn("tw:cursor-pointer", className),
890
795
  ref,
891
796
  children: children ?? text
892
797
  }
893
798
  ),
894
- /* @__PURE__ */ jsxRuntime.jsx(
799
+ hasTooltipContent && /* @__PURE__ */ jsxRuntime.jsx(
895
800
  Tooltip.Content,
896
801
  {
897
802
  keepOpenOnPointerDownOutside: true,
@@ -902,7 +807,7 @@ var Clipboard = ({
902
807
  )
903
808
  ] });
904
809
  };
905
- var DEFAULT_ICON = /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Copy, {});
810
+ var DEFAULT_ICON = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, {});
906
811
  var DEFAULT_ARIA_LABEL = "Copy";
907
812
  var ClipboardButton = ({
908
813
  // clipboard props
@@ -919,7 +824,7 @@ var ClipboardButton = ({
919
824
  const defaultAriaLabel = typeof tooltip === "string" && tooltip.trim() ? tooltip : DEFAULT_ARIA_LABEL;
920
825
  const ariaLabel = rest["aria-label"] ?? (children == null ? defaultAriaLabel : void 0);
921
826
  return /* @__PURE__ */ jsxRuntime.jsx(
922
- Clipboard,
827
+ Clipboard2,
923
828
  {
924
829
  asChild: true,
925
830
  tooltip,
@@ -935,13 +840,198 @@ var ClipboardButton = ({
935
840
  };
936
841
  var ButtonToolbar = ({ value, children }) => {
937
842
  if (!value && !children) return null;
938
- return /* @__PURE__ */ jsxRuntime.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: [
843
+ return /* @__PURE__ */ jsxRuntime.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: [
939
844
  !!value && /* @__PURE__ */ jsxRuntime.jsx(ClipboardButton, { size: "icon-sm", variant: "invisible", text: value }),
940
845
  children
941
846
  ] });
942
847
  };
848
+ var COMMANDS = [
849
+ "run-operation",
850
+ "source freshness",
851
+ "docs generate",
852
+ "run",
853
+ "test",
854
+ "seed",
855
+ "snapshot",
856
+ "list",
857
+ "ls",
858
+ "compile",
859
+ "build",
860
+ "deps"
861
+ ];
862
+ var ARGUMENTS = ["--select", "--exclude", "--selector", "--defer", "--resource-type", "-s"];
863
+ var METHODS = [
864
+ "path:",
865
+ "source:",
866
+ "tag:",
867
+ "package:",
868
+ "config:",
869
+ "test_type:",
870
+ "test_name:",
871
+ "state:",
872
+ "exposure:",
873
+ "metric:",
874
+ "result:",
875
+ "source_status:",
876
+ "column_name:"
877
+ ];
878
+ var FLAGS = [
879
+ "--fail-fast",
880
+ "--warn-error",
881
+ "--favor-state",
882
+ "--vars",
883
+ "--models",
884
+ "--threads",
885
+ "--profiles-dir",
886
+ "--profile",
887
+ "--full-refresh"
888
+ ];
889
+ var word = (list) => new RegExp(`^\\s+(?:${list.join("|")})\\b`, "i");
890
+ var prefix = (list) => new RegExp(`^\\s+(?:${list.join("|")})`, "i");
891
+ var dbt = simpleMode.simpleMode({
892
+ start: [
893
+ { regex: /"(?:[^\\]|\\.)*?(?:"|$)/, token: "string" },
894
+ { regex: /dbt/, token: "keyword", sol: true },
895
+ { regex: word(COMMANDS), token: "keyword" },
896
+ { regex: word(ARGUMENTS), token: "variableName" },
897
+ { regex: prefix(METHODS), token: "propertyName" },
898
+ { regex: prefix(FLAGS), token: "attributeName" },
899
+ { regex: /(?:@|\*|,|\+\d+|\d+\+|\+)/, token: "operator" },
900
+ { regex: /'.*'/, token: "string" },
901
+ { regex: /true|false/, token: "atom" }
902
+ ]
903
+ });
904
+
905
+ // src/components/CodeEditor/modes/jsonnet.ts
906
+ var COMMENT_END = /^\*\//;
907
+ var COMMENT_START = /^\/\/|^#/;
908
+ var C_COMMENT_START = /^\/\*/;
909
+ var TEXT_BLOCK = /^\|\|\|/;
910
+ var TEXT_BLOCK_END = /^\s*\|\|\|/;
911
+ var RAW_DOUBLE = /^""/;
912
+ var RAW_SINGLE = /^''/;
913
+ var CLOSE_DOUBLE = /^"/;
914
+ var CLOSE_SINGLE = /^'/;
915
+ var ESCAPE = /^\\[\\"'/bfnrt0]/;
916
+ var UNICODE_ESCAPE = /^\\u[0-9a-fA-F]{4}/;
917
+ var BACKSLASH = /^\\/;
918
+ var IMPORT = /^import(?:str)?\s*(@?)(["'])/;
919
+ var QUOTE = /^(@?)(["'])/;
920
+ var ROOT = /^\$/;
921
+ var NUMBER = /^(?:\.\d+|\d+\.?\d*)(?:e[-+]?\d+)?/i;
922
+ var OPERATOR = /^[-+/*=<>!&~^|$%]+/;
923
+ var IDENTIFIER = /^[a-zA-Z_][a-zA-Z0-9_]*/;
924
+ var KEYWORDS = {
925
+ local: "keyword",
926
+ self: "keyword",
927
+ super: "keyword",
928
+ assert: "keyword",
929
+ function: "keyword",
930
+ if: "keyword",
931
+ then: "keyword",
932
+ else: "keyword",
933
+ for: "keyword",
934
+ in: "keyword",
935
+ tailstrict: "keyword",
936
+ error: "keyword",
937
+ true: "atom",
938
+ false: "atom",
939
+ null: "atom"
940
+ };
941
+ var jsonnet = {
942
+ name: "jsonnet",
943
+ startState: () => ({
944
+ cComment: false,
945
+ textBlock: false,
946
+ textBlockIndent: null,
947
+ string: false,
948
+ importString: false,
949
+ stringSingle: false,
950
+ stringRaw: false
951
+ }),
952
+ token: (stream, state) => {
953
+ if (state.cComment) {
954
+ if (stream.match(COMMENT_END)) {
955
+ state.cComment = false;
956
+ return "comment";
957
+ }
958
+ stream.next();
959
+ return "comment";
960
+ }
961
+ if (state.textBlock) {
962
+ if (state.textBlockIndent == null) {
963
+ if (stream.match(TEXT_BLOCK_END)) {
964
+ state.textBlock = false;
965
+ return "string";
966
+ }
967
+ state.textBlockIndent = stream.indentation();
968
+ }
969
+ if (stream.indentation() >= state.textBlockIndent) {
970
+ stream.skipToEnd();
971
+ return "string";
972
+ }
973
+ if (stream.match(TEXT_BLOCK_END)) {
974
+ state.textBlock = false;
975
+ return "string";
976
+ }
977
+ stream.next();
978
+ return "invalid";
979
+ }
980
+ if (state.string || state.importString) {
981
+ const style = state.string ? "string" : "meta";
982
+ if (state.stringRaw) {
983
+ if (stream.match(state.stringSingle ? RAW_SINGLE : RAW_DOUBLE)) return "escape";
984
+ } else {
985
+ if (stream.match(ESCAPE)) return "escape";
986
+ if (stream.match(UNICODE_ESCAPE)) return "escape";
987
+ if (stream.match(BACKSLASH)) return "invalid";
988
+ }
989
+ if (stream.match(state.stringSingle ? CLOSE_SINGLE : CLOSE_DOUBLE)) {
990
+ state.string = false;
991
+ state.importString = false;
992
+ return style;
993
+ }
994
+ stream.next();
995
+ return style;
996
+ }
997
+ if (stream.match(COMMENT_START)) {
998
+ stream.skipToEnd();
999
+ return "comment";
1000
+ }
1001
+ if (stream.match(C_COMMENT_START)) {
1002
+ state.cComment = true;
1003
+ return "comment";
1004
+ }
1005
+ const imported = stream.match(IMPORT);
1006
+ if (Array.isArray(imported)) {
1007
+ state.importString = true;
1008
+ state.stringRaw = imported[1] === "@";
1009
+ state.stringSingle = imported[2] === "'";
1010
+ return "meta";
1011
+ }
1012
+ const quoted = stream.match(QUOTE);
1013
+ if (Array.isArray(quoted)) {
1014
+ state.string = true;
1015
+ state.stringRaw = quoted[1] === "@";
1016
+ state.stringSingle = quoted[2] === "'";
1017
+ return "string";
1018
+ }
1019
+ if (stream.match(TEXT_BLOCK)) {
1020
+ state.textBlock = true;
1021
+ state.textBlockIndent = null;
1022
+ return "string";
1023
+ }
1024
+ if (stream.match(ROOT)) return "keyword";
1025
+ if (stream.match(NUMBER)) return "number";
1026
+ if (stream.match(OPERATOR)) return "operator";
1027
+ const identifier = stream.match(IDENTIFIER);
1028
+ if (Array.isArray(identifier)) return KEYWORDS[identifier[0]] ?? null;
1029
+ stream.next();
1030
+ return null;
1031
+ }
1032
+ };
943
1033
  var resolveToken = (token, fallbackChannels, alpha) => {
944
- const channels = typeof document === "undefined" ? fallbackChannels : getComputedStyle(document.documentElement).getPropertyValue(`--color-${token}`).trim() || fallbackChannels;
1034
+ const channels = typeof document === "undefined" ? fallbackChannels : getComputedStyle(document.documentElement).getPropertyValue(`--${token}`).trim() || fallbackChannels;
945
1035
  return alpha === void 0 ? `rgb(${channels})` : `rgb(${channels} / ${alpha})`;
946
1036
  };
947
1037
  var SSR_SIGNAL = "ssr";
@@ -961,12 +1051,38 @@ var subscribeThemeSignal = (onChange) => {
961
1051
  return () => observer.disconnect();
962
1052
  };
963
1053
  var useThemeSignal = () => React26.useSyncExternalStore(subscribeThemeSignal, readThemeSignal, () => SSR_SIGNAL);
964
- var useThemedExtension = (build, deps = []) => {
1054
+ var themeCache = /* @__PURE__ */ new Map();
1055
+ var useThemedExtension = (cacheKey, build) => {
965
1056
  const themeSignal = useThemeSignal();
966
- return React26.useMemo(build, [themeSignal, ...deps]);
1057
+ const key = `${themeSignal} ${cacheKey}`;
1058
+ let cached = themeCache.get(key);
1059
+ if (!cached) {
1060
+ cached = build();
1061
+ themeCache.set(key, cached);
1062
+ }
1063
+ return cached;
967
1064
  };
968
1065
 
969
1066
  // src/components/CodeEditor/helpers.ts
1067
+ var LANGUAGE_MODES = [
1068
+ "application/json",
1069
+ "text/plain",
1070
+ "text/x-python",
1071
+ "text/x-sql",
1072
+ "text/x-mysql",
1073
+ "text/x-pgsql",
1074
+ "text/x-mssql",
1075
+ "text/x-sfsql",
1076
+ "text/x-plsql",
1077
+ "text/x-rsrc",
1078
+ "text/x-sh",
1079
+ "text/x-toml",
1080
+ "text/jsonnet",
1081
+ "text/x-dbt",
1082
+ "text/javascript",
1083
+ "text/typescript"
1084
+ ];
1085
+ var isLanguageMode = (mode) => LANGUAGE_MODES.includes(mode);
970
1086
  var buildBaseThemeStyles = () => ({
971
1087
  "*": { lineHeight: "20px" },
972
1088
  "*::selection": {
@@ -1007,7 +1123,27 @@ var buildBaseThemeStyles = () => ({
1007
1123
  ".cm-changeGutter": { position: "absolute", zIndex: -1, width: "100%", paddingLeft: 0 },
1008
1124
  '&[class*="cm-merge-"] .cm-changedLine,&[class*="cm-merge-"] .cm-line, &[class*="cm-merge-"] .cm-deletedChunk': { paddingLeft: 0 }
1009
1125
  });
1010
- var BASIS_SETUP = { drawSelection: false };
1126
+ var ALWAYS_OFF = {
1127
+ drawSelection: false,
1128
+ foldGutter: false,
1129
+ foldKeymap: false,
1130
+ highlightActiveLine: false,
1131
+ highlightActiveLineGutter: false
1132
+ };
1133
+ var buildBasicSetup = (readOnly) => ({
1134
+ ...ALWAYS_OFF,
1135
+ ...readOnly ? {
1136
+ history: false,
1137
+ historyKeymap: false,
1138
+ closeBrackets: false,
1139
+ closeBracketsKeymap: false,
1140
+ lintKeymap: false,
1141
+ indentOnInput: false,
1142
+ rectangularSelection: false,
1143
+ dropCursor: false,
1144
+ highlightSelectionMatches: false
1145
+ } : null
1146
+ });
1011
1147
  var buildCustomTheme = () => codemirrorThemeGithub.githubLightInit({
1012
1148
  settings: {
1013
1149
  fontFamily: `'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New'`,
@@ -1022,10 +1158,19 @@ var buildCustomTheme = () => codemirrorThemeGithub.githubLightInit({
1022
1158
  });
1023
1159
  var getLanguageMode = (mode) => {
1024
1160
  switch (mode) {
1161
+ case void 0:
1162
+ case "application/json":
1163
+ return langJson.json();
1025
1164
  case "text/x-python":
1026
1165
  return langPython.python();
1027
1166
  case "text/x-sql":
1028
1167
  return langSql.sql({ upperCaseKeywords: true });
1168
+ case "text/x-mysql":
1169
+ return langSql.sql({ upperCaseKeywords: true, dialect: langSql.MySQL });
1170
+ case "text/x-pgsql":
1171
+ return langSql.sql({ upperCaseKeywords: true, dialect: langSql.PostgreSQL });
1172
+ case "text/x-mssql":
1173
+ return langSql.sql({ upperCaseKeywords: true, dialect: langSql.MSSQL });
1029
1174
  case "text/x-sfsql":
1030
1175
  return language.StreamLanguage.define(codemirrorLangSfsql.sfsql);
1031
1176
  case "text/x-plsql":
@@ -1034,23 +1179,32 @@ var getLanguageMode = (mode) => {
1034
1179
  return language.StreamLanguage.define(r.r);
1035
1180
  case "text/x-sh":
1036
1181
  return language.StreamLanguage.define(shell.shell);
1182
+ case "text/x-toml":
1183
+ return language.StreamLanguage.define(toml.toml);
1184
+ case "text/jsonnet":
1185
+ return language.StreamLanguage.define(jsonnet);
1186
+ case "text/x-dbt":
1187
+ return language.StreamLanguage.define(dbt);
1037
1188
  case "text/javascript":
1038
1189
  return langJavascript.javascript({ jsx: true });
1039
1190
  case "text/typescript":
1040
1191
  return langJavascript.javascript({ jsx: true, typescript: true });
1192
+ // No language — `text/plain` lands here, and so does any mode added to
1193
+ // LANGUAGE_MODES without an arm above. Unstyled text is the safe degradation;
1194
+ // a `json()` default would colour unrelated content as if it were JSON.
1041
1195
  default:
1042
- return langJson.json();
1196
+ return [];
1043
1197
  }
1044
1198
  };
1045
1199
  var shouldLintJson = (mode, readOnly) => mode === "application/json" && !readOnly;
1046
- var KbdSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, className: cn("tw-text-xs tw-text-muted-foreground", className) });
1200
+ var KbdSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, className: cn("tw:text-xs tw:text-muted-foreground", className) });
1047
1201
  var KbdGroup = ({ ref, className, children, separator, ...props }) => {
1048
1202
  return /* @__PURE__ */ jsxRuntime.jsx(
1049
1203
  "kbd",
1050
1204
  {
1051
1205
  ...props,
1052
1206
  ref,
1053
- className: cn("tw-inline-flex", "tw-items-center", "tw-gap-1", className),
1207
+ className: cn("tw:inline-flex", "tw:items-center", "tw:gap-1", className),
1054
1208
  children: separator ? (
1055
1209
  // oxlint-disable-next-line react-x/no-children-to-array
1056
1210
  React26.Children.toArray(children).map((child, index) => (
@@ -1068,22 +1222,22 @@ var kbdVariants = classVarianceAuthority.cva(
1068
1222
  [
1069
1223
  "tailwindcss-preflight",
1070
1224
  // style
1071
- "tw-pointer-events-none",
1072
- "tw-w-fit",
1073
- "tw-h-5",
1074
- "tw-min-w-5",
1225
+ "tw:pointer-events-none",
1226
+ "tw:w-fit",
1227
+ "tw:h-5",
1228
+ "tw:min-w-5",
1075
1229
  // layout
1076
- "tw-inline-flex",
1077
- "tw-items-center",
1078
- "tw-justify-center",
1079
- "tw-gap-1",
1080
- "tw-shrink-0",
1230
+ "tw:inline-flex",
1231
+ "tw:items-center",
1232
+ "tw:justify-center",
1233
+ "tw:gap-1",
1234
+ "tw:shrink-0",
1081
1235
  // spacing
1082
- "tw-px-1",
1083
- '[&_svg:not([class*="size-"])]:tw-size-2.5',
1084
- "tw-text-xs",
1085
- "tw-font-medium",
1086
- "tw-rounded"
1236
+ "tw:px-1",
1237
+ 'tw:[&_svg:not([class*="size-"])]:size-2.5',
1238
+ "tw:text-xs",
1239
+ "tw:font-medium",
1240
+ "tw:rounded"
1087
1241
  ],
1088
1242
  {
1089
1243
  defaultVariants: {
@@ -1091,8 +1245,8 @@ var kbdVariants = classVarianceAuthority.cva(
1091
1245
  },
1092
1246
  variants: {
1093
1247
  variant: {
1094
- default: "tw-bg-muted tw-text-muted-foreground",
1095
- primary: "tw-bg-white/20 tw-text-white"
1248
+ default: "tw:bg-muted tw:text-muted-foreground",
1249
+ primary: "tw:bg-white/20 tw:text-white"
1096
1250
  }
1097
1251
  }
1098
1252
  }
@@ -1115,6 +1269,7 @@ var CodeEditor = ({
1115
1269
  onChange,
1116
1270
  mode = "application/json",
1117
1271
  placeholder = "",
1272
+ ariaLabel,
1118
1273
  readOnly = false,
1119
1274
  autocompletions = emptyArray,
1120
1275
  extraKeys = emptyObject,
@@ -1123,19 +1278,23 @@ var CodeEditor = ({
1123
1278
  withLineNumbers = true,
1124
1279
  withLineWrapping = true,
1125
1280
  withCollapseUnchanged = false,
1126
- withCopyButton = true,
1281
+ withCopyButton = false,
1127
1282
  completeAny = false,
1128
1283
  help = null,
1129
1284
  helpPostfix = null,
1130
1285
  renderAdditionalButtons,
1131
1286
  className
1132
1287
  }) => {
1133
- const customTheme = useThemedExtension(buildCustomTheme);
1134
- const baseTheme = useThemedExtension(() => view.EditorView.theme(buildBaseThemeStyles()));
1288
+ const handleChange = useStableCallback((next) => onChange?.(next));
1289
+ const customTheme = useThemedExtension("editor:syntax", buildCustomTheme);
1290
+ const baseTheme = useThemedExtension(
1291
+ "code-editor:chrome",
1292
+ () => view.EditorView.theme(buildBaseThemeStyles())
1293
+ );
1135
1294
  const commonExtensions = React26.useMemo(() => {
1136
1295
  return [
1137
1296
  getLanguageMode(mode),
1138
- shouldLintJson(mode, readOnly) && lint.linter(langJson.jsonParseLinter()),
1297
+ shouldLintJson(mode, readOnly) ? lint.linter(langJson.jsonParseLinter()) : [],
1139
1298
  withLineWrapping ? view.EditorView.lineWrapping : [],
1140
1299
  CodeMirror.EditorState.languageData.of(() => [
1141
1300
  { autocomplete: completeAny ? autocomplete.completeAnyWord : autocompletions }
@@ -1150,10 +1309,20 @@ var CodeEditor = ({
1150
1309
  }
1151
1310
  }))
1152
1311
  ),
1153
- autocomplete.autocompletion({ activateOnTyping: completeAny }),
1312
+ readOnly ? [] : autocomplete.autocompletion({ activateOnTyping: completeAny }),
1313
+ ariaLabel ? view.EditorView.contentAttributes.of({ "aria-label": ariaLabel }) : [],
1154
1314
  baseTheme
1155
- ].filter(Boolean);
1156
- }, [autocompletions, completeAny, extraKeys, mode, readOnly, withLineWrapping, baseTheme]);
1315
+ ];
1316
+ }, [
1317
+ autocompletions,
1318
+ completeAny,
1319
+ extraKeys,
1320
+ mode,
1321
+ readOnly,
1322
+ withLineWrapping,
1323
+ baseTheme,
1324
+ ariaLabel
1325
+ ]);
1157
1326
  const extensions = React26.useMemo(() => {
1158
1327
  return [
1159
1328
  ...commonExtensions,
@@ -1170,18 +1339,20 @@ var CodeEditor = ({
1170
1339
  }, [commonExtensions, placeholder, readOnly, previousValue, withCollapseUnchanged]);
1171
1340
  const config = React26.useMemo(() => {
1172
1341
  return {
1173
- ...BASIS_SETUP,
1342
+ ...buildBasicSetup(readOnly),
1174
1343
  lineNumbers: withLineNumbers
1175
1344
  };
1176
- }, [withLineNumbers]);
1345
+ }, [withLineNumbers, readOnly]);
1346
+ const additionalButtons = renderAdditionalButtons?.(value);
1347
+ const hasToolbar = withCopyButton && !!value || !!additionalButtons;
1177
1348
  return (
1178
1349
  // oxlint-disable-next-line jsx-a11y/no-static-element-interactions
1179
1350
  /* @__PURE__ */ jsxRuntime.jsxs(
1180
1351
  "div",
1181
1352
  {
1182
1353
  className: cn(
1183
- "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",
1184
- { "tw-mt-5": !!renderAdditionalButtons },
1354
+ "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",
1355
+ { "tw:mt-8": hasToolbar },
1185
1356
  className
1186
1357
  ),
1187
1358
  onKeyDown: (event) => {
@@ -1190,19 +1361,19 @@ var CodeEditor = ({
1190
1361
  }
1191
1362
  },
1192
1363
  children: [
1193
- (withCopyButton || renderAdditionalButtons) && /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx("div", { className: "tw-flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(ButtonToolbar, { value: withCopyButton ? value : void 0, children: renderAdditionalButtons?.(value) }) }) }),
1364
+ hasToolbar && /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx("div", { className: "tw:flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(ButtonToolbar, { value: withCopyButton ? value : void 0, children: additionalButtons }) }) }),
1194
1365
  /* @__PURE__ */ jsxRuntime.jsx(
1195
1366
  CodeMirror__default.default,
1196
1367
  {
1197
1368
  theme: customTheme,
1198
1369
  value,
1199
- onChange,
1370
+ onChange: handleChange,
1200
1371
  extensions,
1201
1372
  autoFocus: withAutofocus,
1202
1373
  basicSetup: config
1203
1374
  }
1204
1375
  ),
1205
- !readOnly && (withToggleCommentHint || help || helpPostfix) && /* @__PURE__ */ jsxRuntime.jsxs(HelpBlock, { className: "tw-mt-2 tw-flex tw-flex-wrap tw-gap-1", children: [
1376
+ !readOnly && (withToggleCommentHint || help || helpPostfix) && /* @__PURE__ */ jsxRuntime.jsxs(HelpBlock, { className: "tw:mt-2 tw:flex tw:flex-wrap tw:gap-1", children: [
1206
1377
  help,
1207
1378
  withToggleCommentHint ? /* @__PURE__ */ jsxRuntime.jsx(ToggleComponentHelp, {}) : null,
1208
1379
  helpPostfix
@@ -1212,18 +1383,6 @@ var CodeEditor = ({
1212
1383
  )
1213
1384
  );
1214
1385
  };
1215
- var LANGUAGE_MODES = [
1216
- "application/json",
1217
- "text/x-python",
1218
- "text/x-sql",
1219
- "text/x-sfsql",
1220
- "text/x-plsql",
1221
- "text/x-rsrc",
1222
- "text/x-sh",
1223
- "text/javascript",
1224
- "text/typescript"
1225
- ];
1226
- var isLanguageMode = (mode) => LANGUAGE_MODES.includes(mode);
1227
1386
  var isValidJson = (raw) => {
1228
1387
  try {
1229
1388
  const parsed = JSON.parse(raw);
@@ -1273,7 +1432,7 @@ var CodeEditorWidget = ({
1273
1432
  onChange(raw);
1274
1433
  }
1275
1434
  };
1276
- const help = isJsonMode && !isReadOnly ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1435
+ const help = isJsonMode && !isReadOnly && options.encryptionHint !== false ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1277
1436
  "Properties prefixed with ",
1278
1437
  /* @__PURE__ */ jsxRuntime.jsx("code", { children: "#" }),
1279
1438
  " sign will be encrypted on save. Already encrypted strings will persist."
@@ -1284,6 +1443,7 @@ var CodeEditorWidget = ({
1284
1443
  value: text,
1285
1444
  mode,
1286
1445
  readOnly: true,
1446
+ withCopyButton: true,
1287
1447
  withLineNumbers: editorOptions.lineNumbers !== false
1288
1448
  }
1289
1449
  ) : /* @__PURE__ */ jsxRuntime.jsx(
@@ -1292,6 +1452,7 @@ var CodeEditorWidget = ({
1292
1452
  value: text,
1293
1453
  mode,
1294
1454
  onChange: handleChange,
1455
+ withCopyButton: true,
1295
1456
  withLineNumbers: editorOptions.lineNumbers !== false,
1296
1457
  help
1297
1458
  }
@@ -1343,9 +1504,9 @@ var Collapse = ({
1343
1504
  }
1344
1505
  },
1345
1506
  "data-state": open ? "open" : "closed",
1346
- className: cn("tw-group tw-flex tw-flex-col", className, {
1347
- "tw-cursor-pointer": onClick,
1348
- "tw-hidden": hidden
1507
+ className: cn("tw:group tw:flex tw:flex-col", className, {
1508
+ "tw:cursor-pointer": onClick,
1509
+ "tw:hidden": hidden
1349
1510
  }),
1350
1511
  children: [
1351
1512
  header,
@@ -1353,11 +1514,11 @@ var Collapse = ({
1353
1514
  "div",
1354
1515
  {
1355
1516
  className: cn(
1356
- "tw-grid tw-duration-300",
1357
- open ? "tw-grid-rows-[1fr]" : "tw-grid-rows-[0fr]",
1517
+ "tw:grid tw:duration-300",
1518
+ open ? "tw:grid-rows-[1fr]" : "tw:grid-rows-[0fr]",
1358
1519
  animationClassName
1359
1520
  ),
1360
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("tw-overflow-hidden", open && "tw-animate-collapseDown", bodyClassName), children })
1521
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("tw:overflow-hidden", open && "tw:animate-collapseDown", bodyClassName), children })
1361
1522
  }
1362
1523
  )
1363
1524
  ]
@@ -1365,15 +1526,15 @@ var Collapse = ({
1365
1526
  );
1366
1527
  };
1367
1528
  var headerVariants = classVarianceAuthority.cva(
1368
- "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",
1529
+ "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",
1369
1530
  {
1370
1531
  variants: {
1371
1532
  variant: {
1372
- default: "tw-bg-muted",
1373
- white: "tw-bg-card"
1533
+ default: "tw:bg-muted",
1534
+ white: "tw:bg-card"
1374
1535
  },
1375
1536
  isDisabled: {
1376
- true: "tw-cursor-not-allowed tw-opacity-50",
1537
+ true: "tw:cursor-not-allowed tw:opacity-50",
1377
1538
  false: ""
1378
1539
  },
1379
1540
  hasEnforcedState: {
@@ -1385,7 +1546,7 @@ var headerVariants = classVarianceAuthority.cva(
1385
1546
  {
1386
1547
  isDisabled: false,
1387
1548
  hasEnforcedState: false,
1388
- class: "tw-cursor-pointer hover:tw-text-primary"
1549
+ class: "tw:cursor-pointer tw:hover:text-primary"
1389
1550
  }
1390
1551
  ],
1391
1552
  defaultVariants: {
@@ -1435,7 +1596,7 @@ var CollapsiblePanel = ({
1435
1596
  {
1436
1597
  open,
1437
1598
  className: cn(
1438
- "tw-rounded !tw-border !tw-border-solid !tw-border-border tw-bg-card",
1599
+ "tw:rounded tw:!border tw:!border-solid tw:!border-border tw:bg-card",
1439
1600
  className
1440
1601
  ),
1441
1602
  header: /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1449,12 +1610,12 @@ var CollapsiblePanel = ({
1449
1610
  onKeyUp: handleKeyUp
1450
1611
  },
1451
1612
  children: [
1452
- /* @__PURE__ */ jsxRuntime.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 }),
1453
- !isDisabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-ml-auto tw-shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronDown, { className: cn("tw-size-5 group-data-[state=open]:tw-rotate-180") }) })
1613
+ /* @__PURE__ */ jsxRuntime.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 }),
1614
+ !isDisabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:ml-auto tw:shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: cn("tw:size-5 tw:group-data-[state=open]:rotate-180") }) })
1454
1615
  ]
1455
1616
  }
1456
1617
  ),
1457
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("tw-px-4 tw-py-3", bodyClassName), children })
1618
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("tw:px-4 tw:py-3", bodyClassName), children })
1458
1619
  }
1459
1620
  );
1460
1621
  };
@@ -1530,7 +1691,7 @@ var SchemaDescription = ({ description }) => {
1530
1691
  return /* @__PURE__ */ jsxRuntime.jsx(
1531
1692
  "p",
1532
1693
  {
1533
- className: "tw-text-xs tw-text-neutral-400",
1694
+ className: "tw:text-xs tw:text-neutral-400",
1534
1695
  dangerouslySetInnerHTML: { __html: DOMPurify__default.default.sanitize(description) }
1535
1696
  }
1536
1697
  );
@@ -1564,7 +1725,7 @@ var GridObjectField = ({
1564
1725
  const disableCollapse = !!uiOptions?.disableCollapse;
1565
1726
  const sortedKeys = sortByPropertyOrder(properties);
1566
1727
  if (sortedKeys.length === 0) return null;
1567
- const gridContent = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-grid tw-grid-cols-12 tw-gap-4 [&>div:empty]:tw-hidden", children: sortedKeys.map((key) => {
1728
+ const gridContent = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:grid tw:grid-cols-12 tw:gap-4 tw:[&>div:empty]:hidden", children: sortedKeys.map((key) => {
1568
1729
  const gridCols = properties[key]?.options?.grid_columns ?? 12;
1569
1730
  const gridBreak = !!properties[key]?.options?.grid_break;
1570
1731
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1600,11 +1761,11 @@ var GridObjectField = ({
1600
1761
  return /* @__PURE__ */ jsxRuntime.jsxs(
1601
1762
  CollapsiblePanel,
1602
1763
  {
1603
- className: "tw-rounded-lg",
1764
+ className: "tw:rounded-lg",
1604
1765
  header: schema.title || "Settings",
1605
1766
  defaultExpanded,
1606
- headerClassName: "tw-rounded-lg",
1607
- bodyClassName: "tw-flex tw-flex-col tw-gap-4",
1767
+ headerClassName: "tw:rounded-lg",
1768
+ bodyClassName: "tw:flex tw:flex-col tw:gap-4",
1608
1769
  children: [
1609
1770
  /* @__PURE__ */ jsxRuntime.jsx(SchemaDescription, { description: schema.description }),
1610
1771
  gridContent
@@ -1613,13 +1774,13 @@ var GridObjectField = ({
1613
1774
  );
1614
1775
  }
1615
1776
  if (schema.title) {
1616
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-rounded-lg tw-border tw-border-solid tw-border-neutral-200 tw-p-4", children: [
1617
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "tw-mb-3 tw-text-base tw-font-medium tw-text-neutral-800", children: schema.title }),
1777
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:rounded-lg tw:border tw:border-solid tw:border-neutral-200 tw:p-4", children: [
1778
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "tw:mb-3 tw:text-base tw:font-medium tw:text-neutral-800", children: schema.title }),
1618
1779
  /* @__PURE__ */ jsxRuntime.jsx(SchemaDescription, { description: schema.description }),
1619
1780
  gridContent
1620
1781
  ] });
1621
1782
  }
1622
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-gap-4", children: [
1783
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:flex tw:flex-col tw:gap-4", children: [
1623
1784
  /* @__PURE__ */ jsxRuntime.jsx(SchemaDescription, { description: schema.description }),
1624
1785
  gridContent
1625
1786
  ] });
@@ -1629,8 +1790,8 @@ var CollapsibleContent = ({ ref, className, children, ...props }) => /* @__PURE_
1629
1790
  {
1630
1791
  ref,
1631
1792
  className: cn(
1632
- "data-[state=closed]:tw-animate-collapsible-up",
1633
- "data-[state=open]:tw-animate-collapsible-down",
1793
+ "tw:data-[state=closed]:animate-collapsible-up",
1794
+ "tw:data-[state=open]:animate-collapsible-down",
1634
1795
  className
1635
1796
  ),
1636
1797
  ...props,
@@ -1648,33 +1809,33 @@ var AlertAction = ({ ref, className, asChild = false, ...props }) => {
1648
1809
  ...props,
1649
1810
  ref,
1650
1811
  className: cn(
1651
- "tw-col-start-3",
1652
- "tw-row-start-1",
1653
- "tw-self-start",
1654
- "tw-flex",
1655
- "tw-gap-2",
1812
+ "tw:col-start-3",
1813
+ "tw:row-start-1",
1814
+ "tw:self-start",
1815
+ "tw:flex",
1816
+ "tw:gap-2",
1656
1817
  className
1657
1818
  )
1658
1819
  }
1659
1820
  );
1660
1821
  };
1661
1822
  var AlertCollapsibleIcon = ({ open }) => /* @__PURE__ */ jsxRuntime.jsx(Tooltip, { placement: "top", tooltip: open ? "Collapse alert" : "Expand alert", triggerAsChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1662
- icons_exports.ChevronDown,
1823
+ lucideReact.ChevronDown,
1663
1824
  {
1664
1825
  className: cn(
1665
- "tw-mt-px",
1666
- "tw-size-5",
1667
- "tw-text-neutral-400",
1668
- "group-data-[state=open]/alert:tw-rotate-180",
1826
+ "tw:mt-px",
1827
+ "tw:size-5",
1828
+ "tw:text-neutral-400",
1829
+ "tw:group-data-[state=open]/alert:rotate-180",
1669
1830
  // Legacy uses the fixed categorical hover scales; argo uses the themeable status tokens.
1670
- "group-data-[variant=info]/alert:group-hover:tw-text-blue-600",
1671
- "group-data-[variant=info]/alert:group-data-[argo=true]/alert:group-hover:tw-text-info",
1672
- "group-data-[variant=warning]/alert:group-hover:tw-text-warning-600",
1673
- "group-data-[variant=warning]/alert:group-data-[argo=true]/alert:group-hover:tw-text-warning",
1674
- "group-data-[variant=error]/alert:group-hover:tw-text-error-600",
1675
- "group-data-[variant=error]/alert:group-data-[argo=true]/alert:group-hover:tw-text-destructive",
1676
- "group-data-[variant=success]/alert:group-hover:tw-text-green-600",
1677
- "group-data-[variant=success]/alert:group-data-[argo=true]/alert:group-hover:tw-text-success"
1831
+ "tw:group-data-[variant=info]/alert:group-hover:text-blue-600",
1832
+ "tw:group-data-[variant=info]/alert:group-data-[argo=true]/alert:group-hover:text-info",
1833
+ "tw:group-data-[variant=warning]/alert:group-hover:text-warning-600",
1834
+ "tw:group-data-[variant=warning]/alert:group-data-[argo=true]/alert:group-hover:text-warning",
1835
+ "tw:group-data-[variant=error]/alert:group-hover:text-error-600",
1836
+ "tw:group-data-[variant=error]/alert:group-data-[argo=true]/alert:group-hover:text-destructive",
1837
+ "tw:group-data-[variant=success]/alert:group-hover:text-green-600",
1838
+ "tw:group-data-[variant=success]/alert:group-data-[argo=true]/alert:group-hover:text-success"
1678
1839
  )
1679
1840
  }
1680
1841
  ) });
@@ -1684,26 +1845,26 @@ var AlertDescription = ({ ref, children, className, ...rest }) => /* @__PURE__ *
1684
1845
  ...rest,
1685
1846
  ref,
1686
1847
  className: cn(
1687
- "tw-col-start-2",
1688
- "group-has-[[data-slot=alert-title]]/alert:tw-col-end-[-1]",
1848
+ "tw:col-start-2",
1849
+ "tw:group-has-[[data-slot=alert-title]]/alert:col-end-[-1]",
1689
1850
  // spacer before description when a title exists (pseudo-element so it animates with Collapsible)
1690
- "group-has-[[data-slot=alert-title]]/alert:before:tw-block",
1691
- "group-has-[[data-slot=alert-title]]/alert:before:tw-h-4",
1692
- "group-has-[[data-slot=alert-title]]/alert:before:tw-content-['']",
1693
- "tw-break-anywhere",
1851
+ "tw:group-has-[[data-slot=alert-title]]/alert:before:block",
1852
+ "tw:group-has-[[data-slot=alert-title]]/alert:before:h-4",
1853
+ "tw:group-has-[[data-slot=alert-title]]/alert:before:content-['']",
1854
+ "tw:break-anywhere",
1694
1855
  // Default size for nested Lucide icons; callers can override on the icon.
1695
- "[&_svg.lucide:not([class*='tw-size-'])]:tw-size-4",
1696
- "[&_svg]:tw-shrink-0",
1856
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
1857
+ "tw:[&_svg]:shrink-0",
1697
1858
  className
1698
1859
  ),
1699
1860
  children
1700
1861
  }
1701
1862
  );
1702
1863
  var VARIANT_ICONS = {
1703
- info: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Info, {}),
1704
- warning: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.AlertTriangle, {}),
1705
- error: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.AlertTriangle, {}),
1706
- success: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.CircleCheck, {})
1864
+ info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Info, {}),
1865
+ warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, {}),
1866
+ error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, {}),
1867
+ success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleCheck, {})
1707
1868
  };
1708
1869
  var AlertIcon = ({ variant, icon, className, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
1709
1870
  "span",
@@ -1711,21 +1872,21 @@ var AlertIcon = ({ variant, icon, className, ...rest }) => /* @__PURE__ */ jsxRu
1711
1872
  ...rest,
1712
1873
  "data-slot": "alert-icon",
1713
1874
  className: cn(
1714
- "tw-inline-flex",
1715
- "tw-items-center",
1716
- "tw-justify-center",
1717
- "tw-self-start",
1718
- "tw-p-0.5",
1719
- '[&_svg:not([class*="tw-size-"])]:tw-size-4',
1875
+ "tw:inline-flex",
1876
+ "tw:items-center",
1877
+ "tw:justify-center",
1878
+ "tw:self-start",
1879
+ "tw:p-0.5",
1880
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4',
1720
1881
  // Legacy uses the fixed categorical icon scales; argo uses the themeable status tokens.
1721
- "group-data-[variant=info]/alert:tw-text-blue-500",
1722
- "group-data-[variant=info]/alert:group-data-[argo=true]/alert:tw-text-info",
1723
- "group-data-[variant=warning]/alert:tw-text-warning-500",
1724
- "group-data-[variant=warning]/alert:group-data-[argo=true]/alert:tw-text-warning",
1725
- "group-data-[variant=error]/alert:tw-text-error-500",
1726
- "group-data-[variant=error]/alert:group-data-[argo=true]/alert:tw-text-destructive",
1727
- "group-data-[variant=success]/alert:tw-text-green-500",
1728
- "group-data-[variant=success]/alert:group-data-[argo=true]/alert:tw-text-success",
1882
+ "tw:group-data-[variant=info]/alert:text-blue-500",
1883
+ "tw:group-data-[variant=info]/alert:group-data-[argo=true]/alert:text-info",
1884
+ "tw:group-data-[variant=warning]/alert:text-warning-500",
1885
+ "tw:group-data-[variant=warning]/alert:group-data-[argo=true]/alert:text-warning",
1886
+ "tw:group-data-[variant=error]/alert:text-error-500",
1887
+ "tw:group-data-[variant=error]/alert:group-data-[argo=true]/alert:text-destructive",
1888
+ "tw:group-data-[variant=success]/alert:text-green-500",
1889
+ "tw:group-data-[variant=success]/alert:group-data-[argo=true]/alert:text-success",
1729
1890
  className
1730
1891
  ),
1731
1892
  children: icon ?? VARIANT_ICONS[variant]
@@ -1741,47 +1902,47 @@ var AlertRoot = ({ ref, children, className, variant, ...rest }) => {
1741
1902
  "data-variant": variant,
1742
1903
  "data-argo": renderArgo,
1743
1904
  className: cn(
1744
- "tw-group/alert",
1905
+ "tw:group/alert",
1745
1906
  // layout
1746
- "tw-grid",
1747
- "tw-grid-cols-[0_1fr_auto]",
1748
- "has-[[data-slot=alert-icon]]:tw-grid-cols-[auto_1fr_auto]",
1749
- "has-[[data-slot=alert-icon]]:tw-gap-x-2",
1907
+ "tw:grid",
1908
+ "tw:grid-cols-[0_1fr_auto]",
1909
+ "tw:has-[[data-slot=alert-icon]]:grid-cols-[auto_1fr_auto]",
1910
+ "tw:has-[[data-slot=alert-icon]]:gap-x-2",
1750
1911
  // fonts
1751
- "tw-text-sm",
1912
+ "tw:text-sm",
1752
1913
  // Legacy keeps the fixed neutral text; argo uses the semantic foreground
1753
1914
  // so the alert flips with the brand's light/dark palette (the categorical
1754
1915
  // variant tint stays — only the text token becomes brand-aware).
1755
- "tw-text-neutral-800",
1756
- "data-[argo=true]:tw-text-foreground",
1757
- "tw-text-left",
1758
- "tw-p-4",
1916
+ "tw:text-neutral-800",
1917
+ "tw:data-[argo=true]:text-foreground",
1918
+ "tw:text-left",
1919
+ "tw:p-4",
1759
1920
  // border — legacy keeps a fixed radius; argo follows the brand radius token.
1760
- "tw-rounded",
1761
- "data-[argo=true]:tw-rounded-[var(--radius-lg,0.25rem)]",
1762
- "tw-border",
1763
- "tw-border-solid",
1921
+ "tw:rounded",
1922
+ "tw:data-[argo=true]:rounded-[var(--radius-lg,0.25rem)]",
1923
+ "tw:border",
1924
+ "tw:border-solid",
1764
1925
  // Variant tint + border. Legacy keeps the fixed categorical scales (solid
1765
1926
  // pastel tint); argo uses the brand-overridable status tokens (bg at 10%,
1766
1927
  // border at 25%) so status re-skins with the brand. The argo tokens carry
1767
1928
  // AA-legible defaults, so the variant icon (AlertIcon, full-strength
1768
- // `tw-text-<role>`) clears ≥4.5:1 on the tint in both light and dark.
1769
- "data-[variant=info]:tw-bg-blue-100",
1770
- "data-[variant=info]:tw-border-blue-200",
1771
- "data-[variant=info]:data-[argo=true]:tw-bg-info/10",
1772
- "data-[variant=info]:data-[argo=true]:tw-border-info/25",
1773
- "data-[variant=warning]:tw-bg-warning-100",
1774
- "data-[variant=warning]:tw-border-warning-300",
1775
- "data-[variant=warning]:data-[argo=true]:tw-bg-warning/10",
1776
- "data-[variant=warning]:data-[argo=true]:tw-border-warning/25",
1777
- "data-[variant=error]:tw-bg-error-100",
1778
- "data-[variant=error]:tw-border-error-200",
1779
- "data-[variant=error]:data-[argo=true]:tw-bg-destructive/10",
1780
- "data-[variant=error]:data-[argo=true]:tw-border-destructive/25",
1781
- "data-[variant=success]:tw-bg-green-100",
1782
- "data-[variant=success]:tw-border-green-200",
1783
- "data-[variant=success]:data-[argo=true]:tw-bg-success/10",
1784
- "data-[variant=success]:data-[argo=true]:tw-border-success/25",
1929
+ // `tw:text-<role>`) clears ≥4.5:1 on the tint in both light and dark.
1930
+ "tw:data-[variant=info]:bg-blue-100",
1931
+ "tw:data-[variant=info]:border-blue-200",
1932
+ "tw:data-[variant=info]:data-[argo=true]:bg-info/10",
1933
+ "tw:data-[variant=info]:data-[argo=true]:border-info/25",
1934
+ "tw:data-[variant=warning]:bg-warning-100",
1935
+ "tw:data-[variant=warning]:border-warning-300",
1936
+ "tw:data-[variant=warning]:data-[argo=true]:bg-warning/10",
1937
+ "tw:data-[variant=warning]:data-[argo=true]:border-warning/25",
1938
+ "tw:data-[variant=error]:bg-error-100",
1939
+ "tw:data-[variant=error]:border-error-200",
1940
+ "tw:data-[variant=error]:data-[argo=true]:bg-destructive/10",
1941
+ "tw:data-[variant=error]:data-[argo=true]:border-destructive/25",
1942
+ "tw:data-[variant=success]:bg-green-100",
1943
+ "tw:data-[variant=success]:border-green-200",
1944
+ "tw:data-[variant=success]:data-[argo=true]:bg-success/10",
1945
+ "tw:data-[variant=success]:data-[argo=true]:border-success/25",
1785
1946
  className
1786
1947
  ),
1787
1948
  children
@@ -1795,11 +1956,11 @@ var AlertTitle = ({ ref, className, ...props }) => /* @__PURE__ */ jsxRuntime.js
1795
1956
  ref,
1796
1957
  "data-slot": "alert-title",
1797
1958
  className: cn(
1798
- "tw-group/alert-title",
1799
- "tw-flex",
1800
- "tw-col-start-2",
1801
- "tw-font-medium",
1802
- "tw-items-center",
1959
+ "tw:group/alert-title",
1960
+ "tw:flex",
1961
+ "tw:col-start-2",
1962
+ "tw:font-medium",
1963
+ "tw:items-center",
1803
1964
  className
1804
1965
  )
1805
1966
  }
@@ -1836,14 +1997,14 @@ var Alert = ({
1836
1997
  {
1837
1998
  className: cn(
1838
1999
  "tailwindcss-preflight",
1839
- "tw-group",
1840
- "tw-col-span-full",
1841
- "tw-grid",
1842
- "tw-grid-cols-subgrid",
1843
- "tw-rounded-sm",
1844
- "focus-visible:tw-outline",
1845
- "focus-visible:tw-outline-2",
1846
- "focus-visible:tw-outline-ring"
2000
+ "tw:group",
2001
+ "tw:col-span-full",
2002
+ "tw:grid",
2003
+ "tw:grid-cols-subgrid",
2004
+ "tw:rounded-sm",
2005
+ "tw:focus-visible:outline",
2006
+ "tw:focus-visible:outline-2",
2007
+ "tw:focus-visible:outline-ring"
1847
2008
  ),
1848
2009
  children: [
1849
2010
  !hideIcon && /* @__PURE__ */ jsxRuntime.jsx(AlertIcon, { variant, icon }),
@@ -1867,11 +2028,11 @@ var InfoField = ({ schema, uiSchema }) => {
1867
2028
  const uiOptions = uiSchema?.["ui:options"];
1868
2029
  const alertType = String(uiOptions?.alertType ?? "info");
1869
2030
  const variant = VALID_ALERT_TYPES.has(alertType) ? alertType : "info";
1870
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-my-3", children: /* @__PURE__ */ jsxRuntime.jsx(Alert, { variant, title: schema.title, children: schema.description }) });
2031
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:my-3", children: /* @__PURE__ */ jsxRuntime.jsx(Alert, { variant, title: schema.title, children: schema.description }) });
1871
2032
  };
1872
2033
  var TooltipIcon = ({ rawHelp }) => {
1873
2034
  const renderMarkdown = useRenderMarkdown();
1874
- return /* @__PURE__ */ jsxRuntime.jsx(Tooltip, { placement: "top", variant: "explanatory", tooltip: renderMarkdown(rawHelp), triggerAsChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-cursor-help tw-text-neutral-400", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Info, { className: "tw-size-4" }) }) });
2035
+ return /* @__PURE__ */ jsxRuntime.jsx(Tooltip, { placement: "top", variant: "explanatory", tooltip: renderMarkdown(rawHelp), triggerAsChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:cursor-help tw:text-neutral-400", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Info, { className: "tw:size-4" }) }) });
1875
2036
  };
1876
2037
  var defaultValueFor = (prop) => {
1877
2038
  if (prop.default !== void 0) return prop.default;
@@ -1944,20 +2105,20 @@ var TableArrayField = ({
1944
2105
  }
1945
2106
  });
1946
2107
  const getCellUiSchema = (key) => withHiddenLabel(itemUiSchema[key] ?? {});
1947
- const table = items.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "tw-w-full tw-table-fixed tw-border-collapse tw-text-sm", children: [
2108
+ const table = items.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "tw:w-full tw:table-fixed tw:border-collapse tw:text-sm", children: [
1948
2109
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
1949
- isPrimitiveItems ? /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(
2110
+ isPrimitiveItems ? /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(
1950
2111
  "th",
1951
2112
  {
1952
- className: "tw-border-b tw-border-neutral-200 tw-p-2 tw-text-left tw-text-xs tw-font-medium tw-text-neutral-600",
2113
+ className: "tw:border-b tw:border-neutral-200 tw:p-2 tw:text-left tw:text-xs tw:font-medium tw:text-neutral-600",
1953
2114
  children: properties[key]?.title ?? key
1954
2115
  },
1955
2116
  key
1956
2117
  )),
1957
- !isReadOnly && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "tw-w-20" })
2118
+ !isReadOnly && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "tw:w-20" })
1958
2119
  ] }) }),
1959
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: items.map((item, rowIndex) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "tw-border-b tw-border-neutral-100", children: [
1960
- isPrimitiveItems ? /* @__PURE__ */ jsxRuntime.jsx("td", { className: "tw-px-2 tw-py-1.5 [&>div]:tw-mb-0", children: /* @__PURE__ */ jsxRuntime.jsx(
2120
+ /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: items.map((item, rowIndex) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "tw:border-b tw:border-neutral-100", children: [
2121
+ isPrimitiveItems ? /* @__PURE__ */ jsxRuntime.jsx("td", { className: "tw:px-2 tw:py-1.5 tw:[&>div]:mb-0", children: /* @__PURE__ */ jsxRuntime.jsx(
1961
2122
  SchemaField,
1962
2123
  {
1963
2124
  name: String(rowIndex),
@@ -1971,7 +2132,7 @@ var TableArrayField = ({
1971
2132
  disabled: !!disabled,
1972
2133
  readonly: !!readonly
1973
2134
  }
1974
- ) }) : sortedKeys.map((key) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "tw-px-2 tw-py-1.5 [&>div]:tw-mb-0", children: /* @__PURE__ */ jsxRuntime.jsx(
2135
+ ) }) : sortedKeys.map((key) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "tw:px-2 tw:py-1.5 tw:[&>div]:mb-0", children: /* @__PURE__ */ jsxRuntime.jsx(
1975
2136
  SchemaField,
1976
2137
  {
1977
2138
  name: key,
@@ -1986,14 +2147,14 @@ var TableArrayField = ({
1986
2147
  readonly: !!readonly
1987
2148
  }
1988
2149
  ) }, key)),
1989
- !isReadOnly && /* @__PURE__ */ jsxRuntime.jsx("td", { className: "tw-px-2 tw-py-1.5 tw-text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
2150
+ !isReadOnly && /* @__PURE__ */ jsxRuntime.jsx("td", { className: "tw:px-2 tw:py-1.5 tw:text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
1990
2151
  Button,
1991
2152
  {
1992
2153
  variant: "invisible",
1993
2154
  size: "icon",
1994
2155
  onClick: () => handleRemoveRow(rowIndex),
1995
2156
  "aria-label": "Remove row",
1996
- children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Trash2, { className: "tw-size-4" })
2157
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "tw:size-4" })
1997
2158
  }
1998
2159
  ) })
1999
2160
  ] }, rowIndex)) })
@@ -2007,14 +2168,14 @@ var TableArrayField = ({
2007
2168
  return /* @__PURE__ */ jsxRuntime.jsxs(
2008
2169
  CollapsiblePanel,
2009
2170
  {
2010
- className: "tw-rounded-lg",
2011
- headerClassName: "tw-rounded-lg",
2012
- header: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "tw-inline-flex tw-items-center tw-gap-1", children: [
2171
+ className: "tw:rounded-lg",
2172
+ headerClassName: "tw:rounded-lg",
2173
+ header: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "tw:inline-flex tw:items-center tw:gap-1", children: [
2013
2174
  schema.title,
2014
2175
  tooltip && /* @__PURE__ */ jsxRuntime.jsx(TooltipIcon, { rawHelp: tooltip })
2015
2176
  ] }),
2016
2177
  defaultExpanded: true,
2017
- bodyClassName: "tw-flex tw-flex-col tw-gap-4",
2178
+ bodyClassName: "tw:flex tw:flex-col tw:gap-4",
2018
2179
  children: [
2019
2180
  /* @__PURE__ */ jsxRuntime.jsx(SchemaDescription, { description: schema.description }),
2020
2181
  table,
@@ -2023,7 +2184,7 @@ var TableArrayField = ({
2023
2184
  }
2024
2185
  );
2025
2186
  }
2026
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-gap-4", children: [
2187
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:flex tw:flex-col tw:gap-4", children: [
2027
2188
  /* @__PURE__ */ jsxRuntime.jsx(SchemaDescription, { description: schema.description }),
2028
2189
  table,
2029
2190
  addButton
@@ -2031,20 +2192,20 @@ var TableArrayField = ({
2031
2192
  };
2032
2193
 
2033
2194
  // src/components/Tabs/styles.ts
2034
- var tabsListWrapperClass = "tw-shrink-0 tw-border-0 tw-border-b tw-border-solid tw-border-border";
2035
- var tabsListClass = "tw-flex tw-gap-8 tw-shrink-0 tw-w-max";
2036
- var tabsTriggerGroupClass = "tw-group/tab-trigger-group tw-flex tw-shrink-0 tw-items-center";
2037
- 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";
2038
- var tabsTriggerCompactClass = "tw-text-sm tw-pb-4";
2195
+ var tabsListWrapperClass = "tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b tw:border-solid tw:border-border";
2196
+ var tabsListClass = "tw:flex tw:gap-8 tw:shrink-0 tw:w-max";
2197
+ var tabsTriggerGroupClass = "tw:group/tab-trigger-group tw:flex tw:shrink-0 tw:items-center";
2198
+ 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";
2199
+ var tabsTriggerCompactClass = "tw:text-sm tw:pb-4";
2039
2200
  var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
2040
2201
  ScrollAreaPrimitive2__namespace.ScrollAreaScrollbar,
2041
2202
  {
2042
2203
  orientation,
2043
2204
  className: cn(
2044
- "tw-flex tw-touch-none tw-select-none tw-transition-color",
2205
+ "tw:flex tw:touch-none tw:select-none tw:transition-color",
2045
2206
  {
2046
- "tw-h-full tw-w-2.5 tw-p-px": orientation === "vertical",
2047
- "tw-h-2.5 tw-flex-col tw-p-px": orientation === "horizontal"
2207
+ "tw:h-full tw:w-2.5 tw:p-px": orientation === "vertical",
2208
+ "tw:h-2.5 tw:flex-col tw:p-px": orientation === "horizontal"
2048
2209
  },
2049
2210
  className
2050
2211
  ),
@@ -2053,11 +2214,11 @@ var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PUR
2053
2214
  ScrollAreaPrimitive2__namespace.ScrollAreaThumb,
2054
2215
  {
2055
2216
  className: cn(
2056
- "tw-relative",
2057
- "tw-flex-1",
2058
- "tw-rounded-full",
2059
- "tw-bg-border",
2060
- "hover:tw-bg-muted-foreground"
2217
+ "tw:relative",
2218
+ "tw:flex-1",
2219
+ "tw:rounded-full",
2220
+ "tw:bg-border",
2221
+ "tw:hover:bg-muted-foreground"
2061
2222
  )
2062
2223
  }
2063
2224
  )
@@ -2076,7 +2237,7 @@ var ScrollArea = ({
2076
2237
  {
2077
2238
  "data-slot": "scroll-area",
2078
2239
  className: cn(
2079
- "tw-peer/scroll-area tw-relative tw-overflow-hidden focus-visible:tw-outline-none",
2240
+ "tw:peer/scroll-area tw:relative tw:overflow-hidden tw:focus-visible:outline-hidden",
2080
2241
  className
2081
2242
  ),
2082
2243
  ...props,
@@ -2086,7 +2247,7 @@ var ScrollArea = ({
2086
2247
  {
2087
2248
  ref,
2088
2249
  className: cn(
2089
- "tw-h-full tw-w-full tw-rounded-[inherit] focus-visible:tw-outline-none",
2250
+ "tw:h-full tw:w-full tw:rounded-[inherit] tw:focus-visible:outline-hidden",
2090
2251
  viewPortClassName
2091
2252
  ),
2092
2253
  children
@@ -2125,7 +2286,7 @@ var Tabs = ({
2125
2286
  {
2126
2287
  ...rest,
2127
2288
  "data-slot": "tabs-root",
2128
- className: cn("tw-flex tw-flex-col tw-gap-6", rootClassName),
2289
+ className: cn("tw:flex tw:flex-col tw:gap-6", rootClassName),
2129
2290
  defaultValue: defaultValue ?? triggers[0]?.value,
2130
2291
  onValueChange,
2131
2292
  children: [
@@ -2154,9 +2315,9 @@ var Tabs = ({
2154
2315
  disabled: triggerRest.disabled,
2155
2316
  onClick: () => onClose(value),
2156
2317
  onMouseDown: (e) => e.preventDefault(),
2157
- 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",
2318
+ 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",
2158
2319
  "aria-label": typeof title === "string" ? `Close ${title}` : "Close tab",
2159
- children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-4" })
2320
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-4" })
2160
2321
  }
2161
2322
  )
2162
2323
  ]
@@ -2197,8 +2358,8 @@ var TabsObjectField = ({
2197
2358
  value: key,
2198
2359
  title: properties[key]?.title ?? key
2199
2360
  }));
2200
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-gap-4", children: [
2201
- schema.title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "tw-text-base tw-font-medium tw-text-neutral-800", children: schema.title }),
2361
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:flex tw:flex-col tw:gap-4", children: [
2362
+ schema.title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "tw:text-base tw:font-medium tw:text-neutral-800", children: schema.title }),
2202
2363
  /* @__PURE__ */ jsxRuntime.jsx(SchemaDescription, { description: schema.description }),
2203
2364
  /* @__PURE__ */ jsxRuntime.jsx(Tabs, { triggers, value: activeTab, onValueChange: setActiveTab, compact: true, children: sortedKeys.map((key) => /* @__PURE__ */ jsxRuntime.jsx(TabsContent, { value: key, children: /* @__PURE__ */ jsxRuntime.jsx(
2204
2365
  SchemaField,
@@ -2235,9 +2396,9 @@ var ArrayFieldItemTemplate = ({
2235
2396
  return /* @__PURE__ */ jsxRuntime.jsx(
2236
2397
  CollapsiblePanel,
2237
2398
  {
2238
- className: "tw-rounded-lg",
2239
- headerClassName: "tw-rounded-lg",
2240
- header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-w-full tw-items-center tw-justify-between", children: [
2399
+ className: "tw:rounded-lg",
2400
+ headerClassName: "tw:rounded-lg",
2401
+ header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:flex tw:w-full tw:items-center tw:justify-between", children: [
2241
2402
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: itemTitle }),
2242
2403
  canRemove && /* @__PURE__ */ jsxRuntime.jsx(
2243
2404
  "div",
@@ -2252,25 +2413,25 @@ var ArrayFieldItemTemplate = ({
2252
2413
  size: "icon",
2253
2414
  "aria-label": `Remove ${itemTitle}`,
2254
2415
  onClick: buttonsProps.onRemoveItem,
2255
- children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Trash2, { className: "tw-size-4" })
2416
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "tw:size-4" })
2256
2417
  }
2257
2418
  )
2258
2419
  }
2259
2420
  )
2260
2421
  ] }),
2261
2422
  defaultExpanded,
2262
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-col tw-gap-4", children })
2423
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:flex tw:flex-col tw:gap-4", children })
2263
2424
  }
2264
2425
  );
2265
2426
  }
2266
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-rounded-lg tw-border tw-border-solid tw-border-neutral-200 tw-bg-white tw-p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-items-start tw-gap-3", children: [
2267
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-1 tw-flex-col tw-gap-4", children }),
2427
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:rounded-lg tw:border tw:border-solid tw:border-neutral-200 tw:bg-white tw:p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:flex tw:items-start tw:gap-3", children: [
2428
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:flex tw:flex-1 tw:flex-col tw:gap-4", children }),
2268
2429
  canRemove && /* @__PURE__ */ jsxRuntime.jsx(
2269
2430
  Button,
2270
2431
  {
2271
2432
  variant: "outline",
2272
2433
  size: "small",
2273
- className: "tw-mt-5 tw-shrink-0",
2434
+ className: "tw:mt-5 tw:shrink-0",
2274
2435
  onClick: buttonsProps.onRemoveItem,
2275
2436
  children: "Delete"
2276
2437
  }
@@ -2288,10 +2449,10 @@ var ArrayFieldTemplate = ({
2288
2449
  }) => {
2289
2450
  const isReadOnly = disabled || readonly;
2290
2451
  const itemLabel = typeof schema.items === "object" && schema.items !== null && !Array.isArray(schema.items) ? schema.items.title || "Item" : "Item";
2291
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-gap-4", children: [
2452
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:flex tw:flex-col tw:gap-4", children: [
2292
2453
  (title || schema.description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2293
- title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "tw-text-base tw-font-medium tw-text-neutral-800", children: title }),
2294
- schema.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw-mt-1 tw-text-xs tw-text-neutral-400", children: schema.description })
2454
+ title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "tw:text-base tw:font-medium tw:text-neutral-800", children: title }),
2455
+ schema.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw:mt-1 tw:text-xs tw:text-neutral-400", children: schema.description })
2295
2456
  ] }),
2296
2457
  items,
2297
2458
  canAdd && !isReadOnly && /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "outline", onClick: onAddClick, children: [
@@ -2309,17 +2470,17 @@ var DescriptionFieldTemplate = ({ description, id }) => {
2309
2470
  "p",
2310
2471
  {
2311
2472
  id,
2312
- className: "tw-text-xs tw-text-neutral-400",
2473
+ className: "tw:text-xs tw:text-neutral-400",
2313
2474
  dangerouslySetInnerHTML: { __html: DOMPurify__default.default.sanitize(String(description)) }
2314
2475
  }
2315
2476
  );
2316
2477
  };
2317
2478
  var ErrorListTemplate = ({ errors }) => {
2318
2479
  if (!errors.length) return null;
2319
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-mb-4", children: errors.map((error) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw-text-xs tw-text-error-500", children: error.message }, `${error.property}:${error.message}`)) });
2480
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:mb-4", children: errors.map((error) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw:text-xs tw:text-error-500", children: error.message }, `${error.property}:${error.message}`)) });
2320
2481
  };
2321
- var Optional = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, "aria-hidden": true, className: cn("tw-ml-0.5", "tw-text-muted-foreground", className), children: "(optional)" });
2322
- var Required = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, "aria-hidden": true, className: cn("tw-ml-0.5", "tw-text-primary", className), children: "*" });
2482
+ var Optional = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, "aria-hidden": true, className: cn("tw:ml-0.5", "tw:text-muted-foreground", className), children: "(optional)" });
2483
+ var Required = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, "aria-hidden": true, className: cn("tw:ml-0.5", "tw:text-primary", className), children: "*" });
2323
2484
  var Label = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
2324
2485
  RLabel__namespace.Root,
2325
2486
  {
@@ -2327,7 +2488,7 @@ var Label = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ j
2327
2488
  id: id?.toString(),
2328
2489
  htmlFor: htmlFor?.toString(),
2329
2490
  className: cn(
2330
- "tw-m-0 tw-text-foreground tw-font-normal peer-disabled:tw-opacity-50",
2491
+ "tw:m-0 tw:text-foreground tw:font-normal tw:peer-disabled:opacity-50",
2331
2492
  className
2332
2493
  ),
2333
2494
  children
@@ -2335,7 +2496,7 @@ var Label = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ j
2335
2496
  );
2336
2497
  Label.Optional = Optional;
2337
2498
  Label.Required = Required;
2338
- var Link = ({
2499
+ var Link3 = ({
2339
2500
  ref,
2340
2501
  children,
2341
2502
  target = "_blank",
@@ -2359,7 +2520,7 @@ var Link = ({
2359
2520
  rel,
2360
2521
  onClick: handleOnClick,
2361
2522
  className: cn(
2362
- "tw-text-primary tw-underline hover:tw-text-primary/90 hover:tw-no-underline",
2523
+ "tw:text-primary tw:underline tw:hover:text-primary/90 tw:hover:no-underline",
2363
2524
  className
2364
2525
  ),
2365
2526
  children
@@ -2374,12 +2535,12 @@ var FormGroupProvider = FormGroupContext;
2374
2535
  var useFormGroupContext = () => React26.use(FormGroupContext);
2375
2536
  var addonVariants = classVarianceAuthority.cva(
2376
2537
  [
2377
- "tw-flex",
2378
- "tw-items-center",
2379
- "tw-gap-1",
2538
+ "tw:flex",
2539
+ "tw:items-center",
2540
+ "tw:gap-1",
2380
2541
  // Default size for nested Lucide icons in prefix/suffix slots; callers can override on the icon.
2381
- "[&_svg.lucide:not([class*='tw-size-'])]:tw-size-4",
2382
- "[&_svg]:tw-shrink-0"
2542
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
2543
+ "tw:[&_svg]:shrink-0"
2383
2544
  ],
2384
2545
  {
2385
2546
  defaultVariants: {
@@ -2387,22 +2548,22 @@ var addonVariants = classVarianceAuthority.cva(
2387
2548
  },
2388
2549
  variants: {
2389
2550
  align: {
2390
- "inline-start": ["tw-order-first", "[&:not(:empty)]:tw-pl-4"],
2391
- "inline-end": ["tw-order-last", "[&:not(:empty)]:tw-pr-4"],
2551
+ "inline-start": ["tw:order-first", "tw:[&:not(:empty)]:pl-4"],
2552
+ "inline-end": ["tw:order-last", "tw:[&:not(:empty)]:pr-4"],
2392
2553
  "block-start": [
2393
- "tw-order-first",
2394
- // `tw-w-full` needs to be empty-conditional too — when the addon
2554
+ "tw:order-first",
2555
+ // `tw:w-full` needs to be empty-conditional too — when the addon
2395
2556
  // has no content the root stays in flex-row, and a 100%-wide
2396
2557
  // empty addon would claim half of the input row beside the input.
2397
- "[&:not(:empty)]:tw-w-full",
2398
- "[&:not(:empty)]:tw-px-4",
2399
- "[&:not(:empty)]:tw-py-1.5"
2558
+ "tw:[&:not(:empty)]:w-full",
2559
+ "tw:[&:not(:empty)]:px-4",
2560
+ "tw:[&:not(:empty)]:py-1.5"
2400
2561
  ],
2401
2562
  "block-end": [
2402
- "tw-order-last",
2403
- "[&:not(:empty)]:tw-w-full",
2404
- "[&:not(:empty)]:tw-px-4",
2405
- "[&:not(:empty)]:tw-py-1.5"
2563
+ "tw:order-last",
2564
+ "tw:[&:not(:empty)]:w-full",
2565
+ "tw:[&:not(:empty)]:px-4",
2566
+ "tw:[&:not(:empty)]:py-1.5"
2406
2567
  ]
2407
2568
  }
2408
2569
  }
@@ -2422,7 +2583,7 @@ var InputGroupButton = ({ ref, className, tabIndex = -1, ...props }) => /* @__PU
2422
2583
  ref,
2423
2584
  variant: "invisible",
2424
2585
  size: "icon-sm",
2425
- className: cn("tw-size-5", "[&_svg]:tw-text-muted-foreground", className)
2586
+ className: cn("tw:size-5", "tw:[&_svg]:text-muted-foreground", className)
2426
2587
  }
2427
2588
  );
2428
2589
  var InputGroupInput = ({ ref, className, ...inputProps }) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -2431,17 +2592,17 @@ var InputGroupInput = ({ ref, className, ...inputProps }) => /* @__PURE__ */ jsx
2431
2592
  ...inputProps,
2432
2593
  ref,
2433
2594
  className: cn(
2434
- "tw-w-full",
2435
- "tw-bg-transparent",
2436
- "tw-outline-none",
2595
+ "tw:w-full",
2596
+ "tw:bg-transparent",
2597
+ "tw:outline-hidden",
2437
2598
  // font
2438
- "tw-font-sans",
2439
- "tw-text-sm",
2599
+ "tw:font-sans",
2600
+ "tw:text-sm",
2440
2601
  // placeholder
2441
- "placeholder:tw-text-neutral-400",
2442
- "placeholder:tw-font-normal",
2602
+ "tw:placeholder:text-neutral-400",
2603
+ "tw:placeholder:font-normal",
2443
2604
  // disabled
2444
- "disabled:tw-cursor-not-allowed",
2605
+ "tw:disabled:cursor-not-allowed",
2445
2606
  className
2446
2607
  )
2447
2608
  }
@@ -2450,13 +2611,13 @@ var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx
2450
2611
  "span",
2451
2612
  {
2452
2613
  className: cn(
2453
- "tw-flex",
2454
- "tw-items-center",
2455
- "tw-gap-2",
2456
- "tw-text-sm",
2457
- "tw-text-muted-foreground",
2458
- "[&_svg]:tw-pointer-events-none",
2459
- '[&_svg:not([class*="tw-size-"])]:tw-size-4',
2614
+ "tw:flex",
2615
+ "tw:items-center",
2616
+ "tw:gap-2",
2617
+ "tw:text-sm",
2618
+ "tw:text-muted-foreground",
2619
+ "tw:[&_svg]:pointer-events-none",
2620
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4',
2460
2621
  className
2461
2622
  ),
2462
2623
  ...props
@@ -2496,20 +2657,20 @@ var InputGroupTextArea = ({
2496
2657
  minRows,
2497
2658
  maxRows: maxRows === "unlimited" ? void 0 : maxRows,
2498
2659
  className: cn(
2499
- "tw-w-full",
2500
- "tw-bg-transparent",
2501
- "tw-outline-none",
2502
- "tw-px-4",
2660
+ "tw:w-full",
2661
+ "tw:bg-transparent",
2662
+ "tw:outline-hidden",
2663
+ "tw:px-4",
2503
2664
  // font
2504
- "tw-font-sans",
2505
- "tw-text-sm",
2665
+ "tw:font-sans",
2666
+ "tw:text-sm",
2506
2667
  // placeholder
2507
- "placeholder:tw-text-neutral-400",
2508
- "placeholder:tw-font-normal",
2668
+ "tw:placeholder:text-neutral-400",
2669
+ "tw:placeholder:font-normal",
2509
2670
  // disabled
2510
- "disabled:tw-cursor-not-allowed",
2671
+ "tw:disabled:cursor-not-allowed",
2511
2672
  {
2512
- "tw-resize-none": disableResize
2673
+ "tw:resize-none": disableResize
2513
2674
  },
2514
2675
  className
2515
2676
  )
@@ -2519,39 +2680,39 @@ var InputGroupTextArea = ({
2519
2680
  var inputGroupVariants = classVarianceAuthority.cva(
2520
2681
  [
2521
2682
  "tailwindcss-preflight",
2522
- "tw-group",
2523
- "tw-overflow-hidden",
2524
- "tw-box-border",
2683
+ "tw:group",
2684
+ "tw:overflow-hidden",
2685
+ "tw:box-border",
2525
2686
  // positioning
2526
- "tw-flex",
2527
- "tw-items-center",
2687
+ "tw:flex",
2688
+ "tw:items-center",
2528
2689
  // base — legacy (non-argo) chrome uses a fixed radius; argo overrides it with
2529
2690
  // the brand radius token in the `argo` variant below.
2530
- "tw-rounded",
2531
- "tw-border",
2532
- "tw-border-solid",
2533
- "tw-border-neutral-200",
2534
- "tw-text-neutral-800",
2535
- "tw-transition",
2691
+ "tw:rounded",
2692
+ "tw:border",
2693
+ "tw:border-solid",
2694
+ "tw:border-neutral-200",
2695
+ "tw:text-neutral-800",
2696
+ "tw:transition",
2536
2697
  // focus
2537
- "has-[:is(input,textarea):focus]:tw-ring-4",
2698
+ "tw:has-[:is(input,textarea):focus]:ring-4",
2538
2699
  // readonly
2539
- "has-[:is(input,textarea)[readonly]]:tw-bg-neutral-150",
2540
- "has-[:is(input,textarea)[readonly]]:focus-within:tw-ring-0",
2541
- "has-[:is(input,textarea)[readonly]]:tw-border-neutral-150",
2700
+ "tw:has-[:is(input,textarea)[readonly]]:bg-neutral-150",
2701
+ "tw:has-[:is(input,textarea)[readonly]]:focus-within:ring-0",
2702
+ "tw:has-[:is(input,textarea)[readonly]]:border-neutral-150",
2542
2703
  // disabled cursor (opacity owned by variant)
2543
- "has-[:is(input,textarea):disabled]:tw-cursor-not-allowed",
2704
+ "tw:has-[:is(input,textarea):disabled]:cursor-not-allowed",
2544
2705
  // textarea: top-align addons, allow vertical expansion, own its y-padding
2545
- "has-[textarea]:tw-items-start",
2546
- "has-[[data-align=block-start]:not(:empty)]:tw-flex-wrap",
2547
- "has-[[data-align=block-end]:not(:empty)]:tw-flex-wrap",
2548
- "[&>input]:has-[[data-align=block-start]:not(:empty)]:tw-w-auto",
2549
- "[&>input]:has-[[data-align=block-start]:not(:empty)]:tw-flex-1",
2550
- "[&>input]:has-[[data-align=block-end]:not(:empty)]:tw-w-auto",
2551
- "[&>input]:has-[[data-align=block-end]:not(:empty)]:tw-flex-1",
2552
- "[&>input]:tw-px-4",
2553
- "[&>input]:has-[[data-align=inline-start]:not(:empty)]:tw-pl-2",
2554
- "[&>input]:has-[[data-align=inline-end]:not(:empty)]:tw-pr-2"
2706
+ "tw:has-[textarea]:items-start",
2707
+ "tw:has-[[data-align=block-start]:not(:empty)]:flex-wrap",
2708
+ "tw:has-[[data-align=block-end]:not(:empty)]:flex-wrap",
2709
+ "tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:w-auto",
2710
+ "tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:flex-1",
2711
+ "tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:w-auto",
2712
+ "tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:flex-1",
2713
+ "tw:[&>input]:px-4",
2714
+ "tw:[&>input]:has-[[data-align=inline-start]:not(:empty)]:pl-2",
2715
+ "tw:[&>input]:has-[[data-align=inline-end]:not(:empty)]:pr-2"
2555
2716
  ],
2556
2717
  {
2557
2718
  defaultVariants: {
@@ -2564,153 +2725,153 @@ var inputGroupVariants = classVarianceAuthority.cva(
2564
2725
  {
2565
2726
  variant: "secondary",
2566
2727
  state: "error",
2567
- className: ["tw-bg-error-100"]
2728
+ className: ["tw:bg-error-100"]
2568
2729
  },
2569
2730
  {
2570
2731
  variant: "secondary",
2571
2732
  state: "warning",
2572
- className: ["tw-bg-warning-100"]
2733
+ className: ["tw:bg-warning-100"]
2573
2734
  },
2574
2735
  {
2575
2736
  variant: "primary",
2576
2737
  state: "default",
2577
2738
  focusVariant: "off",
2578
- className: ["has-[:is(input,textarea):focus]:tw-border-neutral-200"]
2739
+ className: ["tw:has-[:is(input,textarea):focus]:border-neutral-200"]
2579
2740
  },
2580
2741
  {
2581
2742
  variant: "secondary",
2582
2743
  state: "default",
2583
2744
  focusVariant: "off",
2584
- className: ["has-[:is(input,textarea):focus]:tw-border-neutral-100"]
2745
+ className: ["tw:has-[:is(input,textarea):focus]:border-neutral-100"]
2585
2746
  },
2586
2747
  {
2587
2748
  variant: ["primary", "secondary"],
2588
2749
  state: "error",
2589
2750
  focusVariant: "on",
2590
- className: ["!tw-border-error-500", "!tw-ring-error-200"]
2751
+ className: ["tw:!border-error-500", "tw:!ring-error-200"]
2591
2752
  },
2592
2753
  {
2593
2754
  variant: ["primary", "secondary"],
2594
2755
  state: "warning",
2595
2756
  focusVariant: "on",
2596
- className: ["!tw-border-warning-500", "!tw-ring-warning-200"]
2757
+ className: ["tw:!border-warning-500", "tw:!ring-warning-200"]
2597
2758
  },
2598
2759
  // --- argo ---
2599
2760
  {
2600
2761
  variant: "argo",
2601
2762
  state: "default",
2602
2763
  className: [
2603
- "has-[:is(input,textarea):focus]:tw-border-primary",
2604
- "has-[:is(input,textarea):focus]:tw-ring-ring/50"
2764
+ "tw:has-[:is(input,textarea):focus]:border-primary",
2765
+ "tw:has-[:is(input,textarea):focus]:ring-ring/50"
2605
2766
  ]
2606
2767
  },
2607
2768
  {
2608
2769
  variant: "argo",
2609
2770
  state: "error",
2610
2771
  className: [
2611
- "tw-border-destructive",
2612
- "has-[:is(input,textarea):focus]:tw-border-destructive",
2613
- "has-[:is(input,textarea):focus]:tw-ring-destructive/20"
2772
+ "tw:border-destructive",
2773
+ "tw:has-[:is(input,textarea):focus]:border-destructive",
2774
+ "tw:has-[:is(input,textarea):focus]:ring-destructive/20"
2614
2775
  ]
2615
2776
  },
2616
2777
  {
2617
2778
  variant: "argo",
2618
2779
  focusVariant: "on",
2619
- className: ["!tw-border-primary", "!tw-ring-ring/50"]
2780
+ className: ["tw:!border-primary", "tw:!ring-ring/50"]
2620
2781
  },
2621
2782
  {
2622
2783
  variant: "argo",
2623
2784
  state: "error",
2624
2785
  focusVariant: "on",
2625
- className: ["!tw-border-destructive", "!tw-ring-destructive/20"]
2786
+ className: ["tw:!border-destructive", "tw:!ring-destructive/20"]
2626
2787
  },
2627
2788
  {
2628
2789
  variant: "argo",
2629
2790
  state: "default",
2630
2791
  focusVariant: "off",
2631
- className: ["has-[:is(input,textarea):focus]:tw-border-input"]
2792
+ className: ["tw:has-[:is(input,textarea):focus]:border-input"]
2632
2793
  }
2633
2794
  ],
2634
2795
  variants: {
2635
2796
  focusVariant: {
2636
2797
  default: [],
2637
- on: ["!tw-border-ring", "!tw-ring-ring/30", "!tw-ring-4"],
2638
- off: ["has-[:is(input,textarea):focus]:!tw-ring-0"]
2798
+ on: ["tw:!border-ring", "tw:!ring-ring/30", "tw:!ring-4"],
2799
+ off: ["tw:has-[:is(input,textarea):focus]:!ring-0"]
2639
2800
  },
2640
2801
  variant: {
2641
2802
  primary: [
2642
- "tw-bg-white",
2643
- "has-[:is(input,textarea):disabled]:tw-opacity-40",
2803
+ "tw:bg-white",
2804
+ "tw:has-[:is(input,textarea):disabled]:opacity-40",
2644
2805
  // aria-invalid on the control surfaces the error chrome without a `state` prop — the
2645
2806
  // accessible path (mirrors the `state="error"` legacy tokens). Higher specificity than
2646
2807
  // the default focus selector, so it wins without `!important`.
2647
- "has-[:is(input,textarea)[aria-invalid=true]]:tw-border-error-500",
2648
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-border-error-500",
2649
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-ring-error-200"
2808
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
2809
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
2810
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
2650
2811
  ],
2651
2812
  secondary: [
2652
- "tw-bg-neutral-100",
2653
- "tw-border-neutral-100",
2654
- "has-[:is(input,textarea):disabled]:tw-opacity-40",
2655
- "has-[:is(input,textarea)[aria-invalid=true]]:tw-border-error-500",
2656
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-border-error-500",
2657
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-ring-error-200"
2813
+ "tw:bg-neutral-100",
2814
+ "tw:border-neutral-100",
2815
+ "tw:has-[:is(input,textarea):disabled]:opacity-40",
2816
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
2817
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
2818
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
2658
2819
  ],
2659
2820
  argo: [
2660
2821
  // argo follows the brand radius token (overrides the static base)
2661
- "tw-rounded-[var(--radius-lg,0.25rem)]",
2822
+ "tw:rounded-[var(--radius-lg,0.25rem)]",
2662
2823
  // muted filled input surface — gray, distinct from white containers; not the app-background token
2663
- "tw-bg-muted",
2664
- "tw-border-input",
2665
- "tw-text-foreground",
2666
- "has-[:is(input,textarea):disabled]:tw-opacity-50",
2824
+ "tw:bg-muted",
2825
+ "tw:border-input",
2826
+ "tw:text-foreground",
2827
+ "tw:has-[:is(input,textarea):disabled]:opacity-50",
2667
2828
  // readonly: keep the themed input surface/border. The base layer's fixed
2668
2829
  // `neutral-150` (a light grey) is correct for the legacy light chrome but
2669
2830
  // collides with argo's themed `foreground` text — light-on-light, invisible
2670
2831
  // in dark mode. Re-pin to the same `muted`/`input` tokens the editable argo
2671
2832
  // input uses (validated AA), so readonly stays legible in every scheme.
2672
- "has-[:is(input,textarea)[readonly]]:tw-bg-muted",
2673
- "has-[:is(input,textarea)[readonly]]:tw-border-input",
2833
+ "tw:has-[:is(input,textarea)[readonly]]:bg-muted",
2834
+ "tw:has-[:is(input,textarea)[readonly]]:border-input",
2674
2835
  // higher specificity than has-[:is(input,textarea):focus] — prevents focus border on readonly
2675
- "has-[:is(input,textarea)[readonly]:focus]:tw-border-input",
2836
+ "tw:has-[:is(input,textarea)[readonly]:focus]:border-input",
2676
2837
  // aria-invalid on the control surfaces the error chrome without a `state` prop — the
2677
2838
  // accessible path (uses the themeable `destructive` status token).
2678
- "has-[:is(input,textarea)[aria-invalid=true]]:tw-border-destructive",
2679
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-border-destructive",
2680
- "has-[:is(input,textarea)[aria-invalid=true]:focus]:tw-ring-destructive/20"
2839
+ "tw:has-[:is(input,textarea)[aria-invalid=true]]:border-destructive",
2840
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-destructive",
2841
+ "tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-destructive/20"
2681
2842
  ]
2682
2843
  },
2683
2844
  sizing: {
2684
2845
  default: [
2685
- "[&>:is(input,textarea)]:tw-py-2.5",
2686
- "[&>:is(input,textarea)]:tw-leading-[18px]",
2687
- "[&>textarea]:!tw-min-h-[calc(2.5rem-2px)]"
2846
+ "tw:[&>:is(input,textarea)]:py-2.5",
2847
+ "tw:[&>:is(input,textarea)]:leading-[18px]",
2848
+ "tw:[&>textarea]:!min-h-[calc(2.5rem-2px)]"
2688
2849
  ],
2689
2850
  small: [
2690
- "[&>:is(input,textarea)]:tw-py-2",
2691
- "[&>:is(input,textarea)]:tw-leading-[16px]",
2692
- "[&>textarea]:!tw-min-h-[calc(2rem-2px)]"
2851
+ "tw:[&>:is(input,textarea)]:py-2",
2852
+ "tw:[&>:is(input,textarea)]:leading-[16px]",
2853
+ "tw:[&>textarea]:!min-h-[calc(2rem-2px)]"
2693
2854
  ],
2694
2855
  medium: [
2695
- "[&>:is(input,textarea)]:tw-py-2",
2696
- "[&>:is(input,textarea)]:tw-leading-[18px]",
2697
- "[&>textarea]:!tw-min-h-[calc(2.25rem-2px)]"
2856
+ "tw:[&>:is(input,textarea)]:py-2",
2857
+ "tw:[&>:is(input,textarea)]:leading-[18px]",
2858
+ "tw:[&>textarea]:!min-h-[calc(2.25rem-2px)]"
2698
2859
  ]
2699
2860
  },
2700
2861
  state: {
2701
2862
  default: [
2702
- "has-[:is(input,textarea):focus]:tw-border-ring",
2703
- "has-[:is(input,textarea):focus]:tw-ring-ring/30"
2863
+ "tw:has-[:is(input,textarea):focus]:border-ring",
2864
+ "tw:has-[:is(input,textarea):focus]:ring-ring/30"
2704
2865
  ],
2705
2866
  error: [
2706
- "tw-border-error-500",
2707
- "has-[:is(input,textarea):focus]:tw-border-error-500",
2708
- "has-[:is(input,textarea):focus]:tw-ring-error-200"
2867
+ "tw:border-error-500",
2868
+ "tw:has-[:is(input,textarea):focus]:border-error-500",
2869
+ "tw:has-[:is(input,textarea):focus]:ring-error-200"
2709
2870
  ],
2710
2871
  warning: [
2711
- "tw-border-warning-500",
2712
- "has-[:is(input,textarea):focus]:tw-border-warning-500",
2713
- "has-[:is(input,textarea):focus]:tw-ring-warning-200"
2872
+ "tw:border-warning-500",
2873
+ "tw:has-[:is(input,textarea):focus]:border-warning-500",
2874
+ "tw:has-[:is(input,textarea):focus]:ring-warning-200"
2714
2875
  ]
2715
2876
  }
2716
2877
  }
@@ -2818,7 +2979,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
2818
2979
  if (!pickerRef.current) return;
2819
2980
  showPicker(pickerRef.current);
2820
2981
  };
2821
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-relative", children: [
2982
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:relative", children: [
2822
2983
  /* @__PURE__ */ jsxRuntime.jsx(
2823
2984
  "input",
2824
2985
  {
@@ -2828,7 +2989,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
2828
2989
  value: coerceColorPickerValue(value),
2829
2990
  tabIndex: -1,
2830
2991
  "aria-hidden": true,
2831
- className: "tw-pointer-events-none tw-absolute tw-left-0 tw-top-full tw-size-0 tw-opacity-0",
2992
+ className: "tw:pointer-events-none tw:absolute tw:left-0 tw:top-full tw:size-0 tw:opacity-0",
2832
2993
  disabled,
2833
2994
  readOnly
2834
2995
  }
@@ -2840,7 +3001,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
2840
3001
  disabled: disabled || readOnly,
2841
3002
  onClick: handleOpenPicker,
2842
3003
  "aria-label": "Pick color",
2843
- children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Pipette, { className: "tw-size-4" })
3004
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pipette, { className: "tw:size-4" })
2844
3005
  }
2845
3006
  )
2846
3007
  ] });
@@ -2915,24 +3076,24 @@ var ColorInput = ({
2915
3076
  {
2916
3077
  align: "inline-start",
2917
3078
  className: cn(
2918
- { "-tw-ml-7 tw-opacity-0": !value },
2919
- "tw-transition-[opacity,margin]",
2920
- "tw-ease-linear",
2921
- "tw-duration-200"
3079
+ { "tw:-ml-7 tw:opacity-0": !value },
3080
+ "tw:transition-[opacity,margin]",
3081
+ "tw:ease-linear",
3082
+ "tw:duration-200"
2922
3083
  ),
2923
3084
  children: /* @__PURE__ */ jsxRuntime.jsx(
2924
3085
  "div",
2925
3086
  {
2926
3087
  style: isValidSwatch ? { background: swatchColor } : void 0,
2927
3088
  className: cn(
2928
- "tw-size-5",
2929
- "tw-shrink-0",
2930
- "tw-rounded-sm",
2931
- "tw-border",
2932
- "tw-border-solid",
2933
- "tw-border-neutral-300",
3089
+ "tw:size-5",
3090
+ "tw:shrink-0",
3091
+ "tw:rounded-sm",
3092
+ "tw:border",
3093
+ "tw:border-solid",
3094
+ "tw:border-neutral-300",
2934
3095
  {
2935
- "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
3096
+ "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
2936
3097
  }
2937
3098
  )
2938
3099
  }
@@ -2959,7 +3120,7 @@ var ColorInput = ({
2959
3120
  onMouseDown: (event) => event.preventDefault(),
2960
3121
  onClick: handleClear,
2961
3122
  "aria-label": "Clear color",
2962
- children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-4" })
3123
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-4" })
2963
3124
  }
2964
3125
  ),
2965
3126
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2987,10 +3148,10 @@ var FormGroupError = ({ children, className, errors, ...rest }) => {
2987
3148
  const messages = (errors ?? []).map(toMessage).filter((message2) => !!message2);
2988
3149
  if (messages.length === 0) return null;
2989
3150
  if (messages.length === 1) return messages[0];
2990
- return /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx("li", { children: message2 }, index)) });
3151
+ return /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx("li", { children: message2 }, index)) });
2991
3152
  }, [children, errors]);
2992
3153
  if (!content) return null;
2993
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, role: "alert", className: cn("tw-m-0 tw-text-xs tw-text-destructive", className), children: content });
3154
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, role: "alert", className: cn("tw:m-0 tw:text-xs tw:text-destructive", className), children: content });
2994
3155
  };
2995
3156
  var FormGroupHelp = ({ children, ...rest }) => {
2996
3157
  const formGroupContext = useFormGroupContext();
@@ -3010,7 +3171,7 @@ var NumberInput = ({
3010
3171
  onValueBlur,
3011
3172
  onChange,
3012
3173
  onBlur,
3013
- prefix,
3174
+ prefix: prefix2,
3014
3175
  suffix,
3015
3176
  ...inputProps
3016
3177
  }) => {
@@ -3033,7 +3194,7 @@ var NumberInput = ({
3033
3194
  focusVariant,
3034
3195
  className,
3035
3196
  children: [
3036
- prefix && /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Addon, { align: "inline-start", children: prefix }),
3197
+ prefix2 && /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Addon, { align: "inline-start", children: prefix2 }),
3037
3198
  /* @__PURE__ */ jsxRuntime.jsx(
3038
3199
  InputGroup.Input,
3039
3200
  {
@@ -3092,10 +3253,10 @@ var FormGroupTextarea = (props) => {
3092
3253
  };
3093
3254
 
3094
3255
  // src/blocks/TextInput/utils.ts
3095
- var genInputTestId = (prefix = "") => {
3096
- const ps = createPrefixedString(prefix);
3256
+ var genInputTestId = (prefix2 = "") => {
3257
+ const ps = createPrefixedString(prefix2);
3097
3258
  return {
3098
- toString: () => prefix,
3259
+ toString: () => prefix2,
3099
3260
  inputWrapper: ps`input-wrapper`,
3100
3261
  input: ps`input`,
3101
3262
  clearButton: ps`clear-button`
@@ -3110,7 +3271,7 @@ var TextInput = ({
3110
3271
  state = "default",
3111
3272
  sizing = "default",
3112
3273
  className,
3113
- prefix = null,
3274
+ prefix: prefix2 = null,
3114
3275
  rightSuffix = null,
3115
3276
  rightSuffixVariant = "default",
3116
3277
  leftSuffix = null,
@@ -3168,7 +3329,7 @@ var TextInput = ({
3168
3329
  className,
3169
3330
  "data-testid": testId.inputWrapper,
3170
3331
  children: [
3171
- prefix && /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Addon, { align: "inline-start", children: prefix }),
3332
+ prefix2 && /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Addon, { align: "inline-start", children: prefix2 }),
3172
3333
  /* @__PURE__ */ jsxRuntime.jsx(
3173
3334
  InputGroup.Input,
3174
3335
  {
@@ -3195,14 +3356,14 @@ var TextInput = ({
3195
3356
  onMouseDown: (e) => e.preventDefault(),
3196
3357
  onClick: handleClear,
3197
3358
  "data-testid": testId.clearButton,
3198
- children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-4" })
3359
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-4" })
3199
3360
  }
3200
3361
  ),
3201
3362
  rightSuffix && /* @__PURE__ */ jsxRuntime.jsx(
3202
3363
  "div",
3203
3364
  {
3204
3365
  className: cn({
3205
- "tw-whitespace-nowrap tw-bg-muted tw-px-4 -tw-mr-4 tw-py-2.5": rightSuffixVariant === "addon"
3366
+ "tw:whitespace-nowrap tw:bg-muted tw:px-4 tw:-mr-4 tw:py-2.5": rightSuffixVariant === "addon"
3206
3367
  }),
3207
3368
  children: rightSuffix
3208
3369
  }
@@ -3217,7 +3378,7 @@ var FormGroupTextInput = ({ ref, ...props }) => {
3217
3378
  return /* @__PURE__ */ jsxRuntime.jsx(TextInput, { state, ...props, ref });
3218
3379
  };
3219
3380
  var FormGroup = ({ className, children, state, ...rest }) => {
3220
- return /* @__PURE__ */ jsxRuntime.jsx(FormGroupProvider, { value: { state }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, className: cn("tw-flex tw-flex-col tw-gap-1", className), children }) });
3381
+ return /* @__PURE__ */ jsxRuntime.jsx(FormGroupProvider, { value: { state }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, className: cn("tw:flex tw:flex-col tw:gap-1", className), children }) });
3221
3382
  };
3222
3383
  FormGroup.Help = FormGroupHelp;
3223
3384
  FormGroup.Error = FormGroupError;
@@ -3269,7 +3430,7 @@ var DocumentationLinkIcon = ({
3269
3430
  variant: "explanatory",
3270
3431
  tooltip: documentation.tooltip ?? "Open documentation",
3271
3432
  triggerAsChild: true,
3272
- children: /* @__PURE__ */ jsxRuntime.jsx(Link, { href: documentation.link, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-cursor-pointer tw-text-neutral-400 hover:tw-text-neutral-600", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.BookOpen, { className: "tw-size-4" }) }) })
3433
+ children: /* @__PURE__ */ jsxRuntime.jsx(Link3, { href: documentation.link, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:cursor-pointer tw:text-neutral-400 tw:hover:text-neutral-600", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.BookOpen, { className: "tw:size-4" }) }) })
3273
3434
  }
3274
3435
  );
3275
3436
  var FieldTemplateBody = ({
@@ -3304,12 +3465,12 @@ var FieldTemplateBody = ({
3304
3465
  documentation && /* @__PURE__ */ jsxRuntime.jsx(DocumentationLinkIcon, { documentation })
3305
3466
  ] });
3306
3467
  return /* @__PURE__ */ jsxRuntime.jsxs(FormGroup, { state: hasErrors ? "error" : "default", children: [
3307
- showLabel && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: id, children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "tw-inline-flex tw-items-center tw-gap-1", children: [
3468
+ showLabel && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: id, children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "tw:inline-flex tw:items-center tw:gap-1", children: [
3308
3469
  label,
3309
3470
  helpIcons
3310
3471
  ] }) }),
3311
- !showLabel && !isCheckbox && hasHelpIcons && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-gap-1", children: helpIcons }),
3312
- isCheckbox && hasHelpIcons ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center tw-gap-1", children: [
3472
+ !showLabel && !isCheckbox && hasHelpIcons && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:flex tw:items-center tw:gap-1", children: helpIcons }),
3473
+ isCheckbox && hasHelpIcons ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:flex tw:items-center tw:gap-1", children: [
3313
3474
  children,
3314
3475
  helpIcons
3315
3476
  ] }) : children,
@@ -3329,9 +3490,9 @@ var FieldTemplateWithDependencies = ({
3329
3490
  return /* @__PURE__ */ jsxRuntime.jsx(FieldTemplateBody, { ...props });
3330
3491
  };
3331
3492
  var FieldTemplate = (props) => {
3332
- if (props.hidden) return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-hidden", children: props.children });
3493
+ if (props.hidden) return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:hidden", children: props.children });
3333
3494
  if (props.uiSchema?.["ui:widget"] === "template-watch") {
3334
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-hidden", children: props.children });
3495
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:hidden", children: props.children });
3335
3496
  }
3336
3497
  const uiOptions = props.uiSchema?.["ui:options"];
3337
3498
  const dependencies = uiOptions?.dependencies;
@@ -3372,9 +3533,9 @@ var ObjectFieldTemplate = ({
3372
3533
  const w = uiSchema?.[name]?.["ui:widget"];
3373
3534
  return w === "hidden" || w === "template-watch";
3374
3535
  };
3375
- const renderChildren = (props) => props.map((prop) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: isHiddenMount(prop.name) ? "tw-hidden" : void 0, children: prop.content }, prop.name));
3536
+ const renderChildren = (props) => props.map((prop) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: isHiddenMount(prop.name) ? "tw:hidden" : void 0, children: prop.content }, prop.name));
3376
3537
  if (isRoot) {
3377
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-col tw-gap-4 [&>div:empty]:tw-hidden", children: renderChildren(visibleProperties) });
3538
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:flex tw:flex-col tw:gap-4 tw:[&>div:empty]:hidden", children: renderChildren(visibleProperties) });
3378
3539
  }
3379
3540
  const childrenContent = renderChildren(visibleProperties);
3380
3541
  if (hasCollapsed && !disableCollapse) {
@@ -3386,11 +3547,11 @@ var ObjectFieldTemplate = ({
3386
3547
  return /* @__PURE__ */ jsxRuntime.jsxs(
3387
3548
  CollapsiblePanel,
3388
3549
  {
3389
- className: "tw-rounded-lg",
3390
- headerClassName: "tw-rounded-lg",
3550
+ className: "tw:rounded-lg",
3551
+ headerClassName: "tw:rounded-lg",
3391
3552
  header: title || "Settings",
3392
3553
  defaultExpanded,
3393
- bodyClassName: "tw-flex tw-flex-col tw-gap-4 [&>div:empty]:tw-hidden",
3554
+ bodyClassName: "tw:flex tw:flex-col tw:gap-4 tw:[&>div:empty]:hidden",
3394
3555
  children: [
3395
3556
  description,
3396
3557
  childrenContent
@@ -3399,12 +3560,12 @@ var ObjectFieldTemplate = ({
3399
3560
  );
3400
3561
  }
3401
3562
  if (isArrayItem) {
3402
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-col tw-gap-4 [&>div:empty]:tw-hidden", children: childrenContent });
3563
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:flex tw:flex-col tw:gap-4 tw:[&>div:empty]:hidden", children: childrenContent });
3403
3564
  }
3404
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-rounded-lg tw-border tw-border-solid tw-border-neutral-200 tw-bg-white tw-p-4", children: [
3405
- title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "tw-mb-2 tw-text-base tw-font-medium tw-text-neutral-800", children: title }),
3406
- description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw-mb-3 tw-text-xs tw-text-neutral-400", children: description }),
3407
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-col tw-gap-4 [&>div:empty]:tw-hidden", children: childrenContent })
3565
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:rounded-lg tw:border tw:border-solid tw:border-neutral-200 tw:bg-white tw:p-4", children: [
3566
+ title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "tw:mb-2 tw:text-base tw:font-medium tw:text-neutral-800", children: title }),
3567
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw:mb-3 tw:text-xs tw:text-neutral-400", children: description }),
3568
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:flex tw:flex-col tw:gap-4 tw:[&>div:empty]:hidden", children: childrenContent })
3408
3569
  ] });
3409
3570
  };
3410
3571
  var FieldBoxDescription = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -3413,9 +3574,9 @@ var FieldBoxDescription = ({ className, ...props }) => /* @__PURE__ */ jsxRuntim
3413
3574
  ...props,
3414
3575
  "data-slot": "field-box-description",
3415
3576
  className: cn(
3416
- "tw-text-xs",
3417
- "tw-text-muted-foreground",
3418
- "group-has-[:disabled]/field-box:tw-opacity-50",
3577
+ "tw:text-xs",
3578
+ "tw:text-muted-foreground",
3579
+ "tw:group-has-[:disabled]/field-box:opacity-50",
3419
3580
  className
3420
3581
  )
3421
3582
  }
@@ -3426,42 +3587,42 @@ var FieldBoxTitle = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
3426
3587
  ...props,
3427
3588
  "data-slot": "field-box-title",
3428
3589
  className: cn(
3429
- "tw-text-sm",
3430
- "tw-font-medium",
3431
- "tw-text-foreground",
3432
- "group-has-[:disabled]/field-box:tw-cursor-not-allowed",
3433
- "group-has-[:disabled]/field-box:tw-opacity-50",
3590
+ "tw:text-sm",
3591
+ "tw:font-medium",
3592
+ "tw:text-foreground",
3593
+ "tw:group-has-[:disabled]/field-box:cursor-not-allowed",
3594
+ "tw:group-has-[:disabled]/field-box:opacity-50",
3434
3595
  className
3435
3596
  )
3436
3597
  }
3437
3598
  );
3438
3599
  var fieldBoxVariants = classVarianceAuthority.cva(
3439
3600
  [
3440
- "tw-group/field-box",
3441
- "tw-m-0",
3442
- "tw-inline-flex",
3443
- "tw-gap-3",
3444
- "tw-items-center",
3445
- "has-[[data-slot=field-box-description]]:tw-items-start",
3446
- "tw-cursor-pointer",
3447
- "tw-select-none",
3448
- "has-[:disabled]:tw-cursor-not-allowed"
3601
+ "tw:group/field-box",
3602
+ "tw:m-0",
3603
+ "tw:inline-flex",
3604
+ "tw:gap-3",
3605
+ "tw:items-center",
3606
+ "tw:has-[[data-slot=field-box-description]]:items-start",
3607
+ "tw:cursor-pointer",
3608
+ "tw:select-none",
3609
+ "tw:has-[:disabled]:cursor-not-allowed"
3449
3610
  ],
3450
3611
  {
3451
3612
  variants: {
3452
3613
  variant: {
3453
3614
  default: [],
3454
3615
  boxed: [
3455
- "tw-rounded-lg",
3456
- "tw-border",
3457
- "tw-border-solid",
3458
- "tw-border-border",
3459
- "tw-p-3",
3460
- "tw-transition-colors",
3461
- "has-[[data-state=checked]]:tw-border-primary",
3462
- "has-[[data-state=checked]]:tw-bg-accent",
3463
- "has-[[data-state=indeterminate]]:tw-border-primary",
3464
- "has-[[data-state=indeterminate]]:tw-bg-accent"
3616
+ "tw:rounded-lg",
3617
+ "tw:border",
3618
+ "tw:border-solid",
3619
+ "tw:border-border",
3620
+ "tw:p-3",
3621
+ "tw:transition-colors",
3622
+ "tw:has-[[data-state=checked]]:border-primary",
3623
+ "tw:has-[[data-state=checked]]:bg-accent",
3624
+ "tw:has-[[data-state=indeterminate]]:border-primary",
3625
+ "tw:has-[[data-state=indeterminate]]:bg-accent"
3465
3626
  ]
3466
3627
  }
3467
3628
  },
@@ -3485,11 +3646,11 @@ var FieldBoxRoot = ({
3485
3646
  ref,
3486
3647
  className: cn(
3487
3648
  fieldBoxVariants({ variant, className }),
3488
- position === "end" && "tw-flex-row-reverse"
3649
+ position === "end" && "tw:flex-row-reverse"
3489
3650
  ),
3490
3651
  children: [
3491
- /* @__PURE__ */ jsxRuntime.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 }),
3492
- children != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-flex tw-flex-1 tw-flex-col tw-gap-0.5", children })
3652
+ /* @__PURE__ */ jsxRuntime.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 }),
3653
+ children != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:flex tw:flex-1 tw:flex-col tw:gap-0.5", children })
3493
3654
  ]
3494
3655
  }
3495
3656
  );
@@ -3502,19 +3663,19 @@ var rootVariants = classVarianceAuthority.cva(
3502
3663
  // reset
3503
3664
  "tailwindcss-preflight",
3504
3665
  // position
3505
- "tw-flex",
3506
- "tw-items-center",
3507
- "tw-justify-center",
3508
- "tw-peer",
3509
- "tw-size-4",
3510
- "tw-shrink-0",
3511
- "tw-cursor-pointer",
3666
+ "tw:flex",
3667
+ "tw:items-center",
3668
+ "tw:justify-center",
3669
+ "tw:peer",
3670
+ "tw:size-4",
3671
+ "tw:shrink-0",
3672
+ "tw:cursor-pointer",
3512
3673
  // border
3513
- "tw-border",
3514
- "tw-border-solid",
3674
+ "tw:border",
3675
+ "tw:border-solid",
3515
3676
  // disabled
3516
- "disabled:tw-opacity-50",
3517
- "disabled:tw-cursor-not-allowed"
3677
+ "tw:disabled:opacity-50",
3678
+ "tw:disabled:cursor-not-allowed"
3518
3679
  ],
3519
3680
  {
3520
3681
  defaultVariants: {
@@ -3523,42 +3684,42 @@ var rootVariants = classVarianceAuthority.cva(
3523
3684
  variants: {
3524
3685
  variant: {
3525
3686
  default: [
3526
- "tw-rounded",
3527
- "tw-border-neutral-200",
3528
- "data-[state=checked]:tw-bg-primary",
3529
- "data-[state=checked]:tw-border-primary",
3530
- "data-[state=indeterminate]:tw-bg-white",
3531
- "data-[state=indeterminate]:tw-border-neutral-200"
3687
+ "tw:rounded",
3688
+ "tw:border-neutral-200",
3689
+ "tw:data-[state=checked]:bg-primary",
3690
+ "tw:data-[state=checked]:border-primary",
3691
+ "tw:data-[state=indeterminate]:bg-white",
3692
+ "tw:data-[state=indeterminate]:border-neutral-200"
3532
3693
  ],
3533
3694
  argo: [
3534
- "tw-rounded",
3535
- "tw-border-input",
3536
- "tw-transition-colors",
3537
- "data-[state=checked]:tw-bg-primary",
3538
- "data-[state=checked]:tw-border-primary",
3539
- "data-[state=indeterminate]:tw-bg-primary",
3540
- "data-[state=indeterminate]:tw-border-primary",
3695
+ "tw:rounded",
3696
+ "tw:border-input",
3697
+ "tw:transition-colors",
3698
+ "tw:data-[state=checked]:bg-primary",
3699
+ "tw:data-[state=checked]:border-primary",
3700
+ "tw:data-[state=indeterminate]:bg-primary",
3701
+ "tw:data-[state=indeterminate]:border-primary",
3541
3702
  // focus
3542
- "focus-visible:tw-outline-none",
3543
- "focus-visible:tw-border-primary",
3544
- "focus-visible:tw-ring-2",
3545
- "focus-visible:tw-ring-ring/50"
3703
+ "tw:focus-visible:outline-hidden",
3704
+ "tw:focus-visible:border-primary",
3705
+ "tw:focus-visible:ring-2",
3706
+ "tw:focus-visible:ring-ring/50"
3546
3707
  ]
3547
3708
  }
3548
3709
  }
3549
3710
  }
3550
3711
  );
3551
- var indicatorVariants = classVarianceAuthority.cva(["tw-group", "tw-flex", "tw-items-center"], {
3712
+ var indicatorVariants = classVarianceAuthority.cva(["tw:group", "tw:flex", "tw:items-center"], {
3552
3713
  defaultVariants: {
3553
3714
  variant: "default"
3554
3715
  },
3555
3716
  variants: {
3556
3717
  variant: {
3557
3718
  default: [
3558
- "data-[state=checked]:tw-text-primary-foreground",
3559
- "data-[state=indeterminate]:tw-text-neutral-200"
3719
+ "tw:data-[state=checked]:text-primary-foreground",
3720
+ "tw:data-[state=indeterminate]:text-neutral-200"
3560
3721
  ],
3561
- argo: ["tw-text-primary-foreground"]
3722
+ argo: ["tw:text-primary-foreground"]
3562
3723
  }
3563
3724
  }
3564
3725
  });
@@ -3577,8 +3738,8 @@ function Checkbox({
3577
3738
  const id = idProp?.toString() ?? fallbackId;
3578
3739
  const styleVariant = useArgoDesign() ? "argo" : "default";
3579
3740
  const checkboxElement = /* @__PURE__ */ jsxRuntime.jsx(reactCheckbox.Root, { id, ...rest, className: cn(rootVariants({ variant: styleVariant, className })), children: /* @__PURE__ */ jsxRuntime.jsxs(reactCheckbox.Indicator, { className: cn(indicatorVariants({ variant: styleVariant })), children: [
3580
- /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Check, { className: "tw-hidden tw-size-3 tw-stroke-[4px] group-data-[state=checked]:tw-block" }),
3581
- /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Minus, { className: "tw-hidden tw-size-3 tw-stroke-[4px] group-data-[state=indeterminate]:tw-block" })
3741
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "tw:hidden tw:size-3 tw:stroke-[4px] tw:group-data-[state=checked]:block" }),
3742
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "tw:hidden tw:size-3 tw:stroke-[4px] tw:group-data-[state=indeterminate]:block" })
3582
3743
  ] }) });
3583
3744
  const rendered = !children ? checkboxElement : /* @__PURE__ */ jsxRuntime.jsxs(FieldBox, { htmlFor: id, variant, position, control: checkboxElement, children: [
3584
3745
  /* @__PURE__ */ jsxRuntime.jsx(FieldBox.Title, { children }),
@@ -3825,7 +3986,7 @@ var millisecondsInWeek = 6048e5;
3825
3986
  var millisecondsInDay = 864e5;
3826
3987
  var constructFromSymbol = /* @__PURE__ */ Symbol.for("constructDateFrom");
3827
3988
 
3828
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructFrom.js
3989
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constructFrom.js
3829
3990
  function constructFrom(date, value) {
3830
3991
  if (typeof date === "function") return date(value);
3831
3992
  if (date && typeof date === "object" && constructFromSymbol in date)
@@ -3834,12 +3995,12 @@ function constructFrom(date, value) {
3834
3995
  return new Date(value);
3835
3996
  }
3836
3997
 
3837
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/toDate.js
3998
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/toDate.js
3838
3999
  function toDate(argument, context) {
3839
4000
  return constructFrom(context || argument, argument);
3840
4001
  }
3841
4002
 
3842
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addDays.js
4003
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addDays.js
3843
4004
  function addDays(date, amount, options) {
3844
4005
  const _date = toDate(date, options?.in);
3845
4006
  if (isNaN(amount)) return constructFrom(date, NaN);
@@ -3848,7 +4009,7 @@ function addDays(date, amount, options) {
3848
4009
  return _date;
3849
4010
  }
3850
4011
 
3851
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addMonths.js
4012
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addMonths.js
3852
4013
  function addMonths(date, amount, options) {
3853
4014
  const _date = toDate(date, options?.in);
3854
4015
  if (isNaN(amount)) return constructFrom(date, NaN);
@@ -3871,13 +4032,13 @@ function addMonths(date, amount, options) {
3871
4032
  }
3872
4033
  }
3873
4034
 
3874
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/defaultOptions.js
4035
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/defaultOptions.js
3875
4036
  var defaultOptions = {};
3876
4037
  function getDefaultOptions() {
3877
4038
  return defaultOptions;
3878
4039
  }
3879
4040
 
3880
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeek.js
4041
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeek.js
3881
4042
  function startOfWeek(date, options) {
3882
4043
  const defaultOptions2 = getDefaultOptions();
3883
4044
  const weekStartsOn = options?.weekStartsOn ?? options?.locale?.options?.weekStartsOn ?? defaultOptions2.weekStartsOn ?? defaultOptions2.locale?.options?.weekStartsOn ?? 0;
@@ -3889,12 +4050,12 @@ function startOfWeek(date, options) {
3889
4050
  return _date;
3890
4051
  }
3891
4052
 
3892
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeek.js
4053
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeek.js
3893
4054
  function startOfISOWeek(date, options) {
3894
4055
  return startOfWeek(date, { ...options, weekStartsOn: 1 });
3895
4056
  }
3896
4057
 
3897
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeekYear.js
4058
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeekYear.js
3898
4059
  function getISOWeekYear(date, options) {
3899
4060
  const _date = toDate(date, options?.in);
3900
4061
  const year = _date.getFullYear();
@@ -3915,7 +4076,7 @@ function getISOWeekYear(date, options) {
3915
4076
  }
3916
4077
  }
3917
4078
 
3918
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
4079
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
3919
4080
  function getTimezoneOffsetInMilliseconds(date) {
3920
4081
  const _date = toDate(date);
3921
4082
  const utcDate = new Date(
@@ -3933,7 +4094,7 @@ function getTimezoneOffsetInMilliseconds(date) {
3933
4094
  return +date - +utcDate;
3934
4095
  }
3935
4096
 
3936
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeDates.js
4097
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/normalizeDates.js
3937
4098
  function normalizeDates(context, ...dates) {
3938
4099
  const normalize = constructFrom.bind(
3939
4100
  null,
@@ -3942,14 +4103,14 @@ function normalizeDates(context, ...dates) {
3942
4103
  return dates.map(normalize);
3943
4104
  }
3944
4105
 
3945
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfDay.js
4106
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfDay.js
3946
4107
  function startOfDay(date, options) {
3947
4108
  const _date = toDate(date, options?.in);
3948
4109
  _date.setHours(0, 0, 0, 0);
3949
4110
  return _date;
3950
4111
  }
3951
4112
 
3952
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarDays.js
4113
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/differenceInCalendarDays.js
3953
4114
  function differenceInCalendarDays(laterDate, earlierDate, options) {
3954
4115
  const [laterDate_, earlierDate_] = normalizeDates(
3955
4116
  options?.in,
@@ -3963,7 +4124,7 @@ function differenceInCalendarDays(laterDate, earlierDate, options) {
3963
4124
  return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);
3964
4125
  }
3965
4126
 
3966
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeekYear.js
4127
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeekYear.js
3967
4128
  function startOfISOWeekYear(date, options) {
3968
4129
  const year = getISOWeekYear(date, options);
3969
4130
  const fourthOfJanuary = constructFrom(date, 0);
@@ -3972,17 +4133,17 @@ function startOfISOWeekYear(date, options) {
3972
4133
  return startOfISOWeek(fourthOfJanuary);
3973
4134
  }
3974
4135
 
3975
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addWeeks.js
4136
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addWeeks.js
3976
4137
  function addWeeks(date, amount, options) {
3977
4138
  return addDays(date, amount * 7, options);
3978
4139
  }
3979
4140
 
3980
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addYears.js
4141
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addYears.js
3981
4142
  function addYears(date, amount, options) {
3982
4143
  return addMonths(date, amount * 12, options);
3983
4144
  }
3984
4145
 
3985
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/max.js
4146
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/max.js
3986
4147
  function max(dates, options) {
3987
4148
  let result;
3988
4149
  let context = options?.in;
@@ -3995,7 +4156,7 @@ function max(dates, options) {
3995
4156
  return constructFrom(context, result || NaN);
3996
4157
  }
3997
4158
 
3998
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/min.js
4159
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/min.js
3999
4160
  function min(dates, options) {
4000
4161
  let result;
4001
4162
  let context = options?.in;
@@ -4008,7 +4169,7 @@ function min(dates, options) {
4008
4169
  return constructFrom(context, result || NaN);
4009
4170
  }
4010
4171
 
4011
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameDay.js
4172
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameDay.js
4012
4173
  function isSameDay(laterDate, earlierDate, options) {
4013
4174
  const [dateLeft_, dateRight_] = normalizeDates(
4014
4175
  options?.in,
@@ -4018,17 +4179,17 @@ function isSameDay(laterDate, earlierDate, options) {
4018
4179
  return +startOfDay(dateLeft_) === +startOfDay(dateRight_);
4019
4180
  }
4020
4181
 
4021
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isDate.js
4182
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isDate.js
4022
4183
  function isDate(value) {
4023
4184
  return value instanceof Date || typeof value === "object" && Object.prototype.toString.call(value) === "[object Date]";
4024
4185
  }
4025
4186
 
4026
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isValid.js
4187
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isValid.js
4027
4188
  function isValid(date) {
4028
4189
  return !(!isDate(date) && typeof date !== "number" || isNaN(+toDate(date)));
4029
4190
  }
4030
4191
 
4031
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarMonths.js
4192
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/differenceInCalendarMonths.js
4032
4193
  function differenceInCalendarMonths(laterDate, earlierDate, options) {
4033
4194
  const [laterDate_, earlierDate_] = normalizeDates(
4034
4195
  options?.in,
@@ -4040,7 +4201,7 @@ function differenceInCalendarMonths(laterDate, earlierDate, options) {
4040
4201
  return yearsDiff * 12 + monthsDiff;
4041
4202
  }
4042
4203
 
4043
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfMonth.js
4204
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfMonth.js
4044
4205
  function endOfMonth(date, options) {
4045
4206
  const _date = toDate(date, options?.in);
4046
4207
  const month = _date.getMonth();
@@ -4049,13 +4210,13 @@ function endOfMonth(date, options) {
4049
4210
  return _date;
4050
4211
  }
4051
4212
 
4052
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeInterval.js
4213
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/normalizeInterval.js
4053
4214
  function normalizeInterval(context, interval) {
4054
4215
  const [start, end] = normalizeDates(context, interval.start, interval.end);
4055
4216
  return { start, end };
4056
4217
  }
4057
4218
 
4058
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachMonthOfInterval.js
4219
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/eachMonthOfInterval.js
4059
4220
  function eachMonthOfInterval(interval, options) {
4060
4221
  const { start, end } = normalizeInterval(options?.in, interval);
4061
4222
  let reversed = +start > +end;
@@ -4072,7 +4233,7 @@ function eachMonthOfInterval(interval, options) {
4072
4233
  return reversed ? dates.reverse() : dates;
4073
4234
  }
4074
4235
 
4075
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfMonth.js
4236
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfMonth.js
4076
4237
  function startOfMonth(date, options) {
4077
4238
  const _date = toDate(date, options?.in);
4078
4239
  _date.setDate(1);
@@ -4080,7 +4241,7 @@ function startOfMonth(date, options) {
4080
4241
  return _date;
4081
4242
  }
4082
4243
 
4083
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfYear.js
4244
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfYear.js
4084
4245
  function endOfYear(date, options) {
4085
4246
  const _date = toDate(date, options?.in);
4086
4247
  const year = _date.getFullYear();
@@ -4089,7 +4250,7 @@ function endOfYear(date, options) {
4089
4250
  return _date;
4090
4251
  }
4091
4252
 
4092
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfYear.js
4253
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfYear.js
4093
4254
  function startOfYear(date, options) {
4094
4255
  const date_ = toDate(date, options?.in);
4095
4256
  date_.setFullYear(date_.getFullYear(), 0, 1);
@@ -4097,7 +4258,7 @@ function startOfYear(date, options) {
4097
4258
  return date_;
4098
4259
  }
4099
4260
 
4100
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachYearOfInterval.js
4261
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/eachYearOfInterval.js
4101
4262
  function eachYearOfInterval(interval, options) {
4102
4263
  const { start, end } = normalizeInterval(options?.in, interval);
4103
4264
  let reversed = +start > +end;
@@ -4114,7 +4275,7 @@ function eachYearOfInterval(interval, options) {
4114
4275
  return reversed ? dates.reverse() : dates;
4115
4276
  }
4116
4277
 
4117
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfWeek.js
4278
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfWeek.js
4118
4279
  function endOfWeek(date, options) {
4119
4280
  const defaultOptions2 = getDefaultOptions();
4120
4281
  const weekStartsOn = options?.weekStartsOn ?? options?.locale?.options?.weekStartsOn ?? defaultOptions2.weekStartsOn ?? defaultOptions2.locale?.options?.weekStartsOn ?? 0;
@@ -4126,12 +4287,12 @@ function endOfWeek(date, options) {
4126
4287
  return _date;
4127
4288
  }
4128
4289
 
4129
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfISOWeek.js
4290
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/endOfISOWeek.js
4130
4291
  function endOfISOWeek(date, options) {
4131
4292
  return endOfWeek(date, { ...options, weekStartsOn: 1 });
4132
4293
  }
4133
4294
 
4134
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js
4295
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js
4135
4296
  var formatDistanceLocale = {
4136
4297
  lessThanXSeconds: {
4137
4298
  one: "less than a second",
@@ -4215,7 +4376,7 @@ var formatDistance = (token, count, options) => {
4215
4376
  return result;
4216
4377
  };
4217
4378
 
4218
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js
4379
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js
4219
4380
  function buildFormatLongFn(args) {
4220
4381
  return (options = {}) => {
4221
4382
  const width = options.width ? String(options.width) : args.defaultWidth;
@@ -4224,7 +4385,7 @@ function buildFormatLongFn(args) {
4224
4385
  };
4225
4386
  }
4226
4387
 
4227
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js
4388
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js
4228
4389
  var dateFormats = {
4229
4390
  full: "EEEE, MMMM do, y",
4230
4391
  long: "MMMM do, y",
@@ -4258,7 +4419,7 @@ var formatLong = {
4258
4419
  })
4259
4420
  };
4260
4421
 
4261
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js
4422
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js
4262
4423
  var formatRelativeLocale = {
4263
4424
  lastWeek: "'last' eeee 'at' p",
4264
4425
  yesterday: "'yesterday at' p",
@@ -4269,7 +4430,7 @@ var formatRelativeLocale = {
4269
4430
  };
4270
4431
  var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];
4271
4432
 
4272
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js
4433
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js
4273
4434
  function buildLocalizeFn(args) {
4274
4435
  return (value, options) => {
4275
4436
  const context = options?.context ? String(options.context) : "standalone";
@@ -4288,7 +4449,7 @@ function buildLocalizeFn(args) {
4288
4449
  };
4289
4450
  }
4290
4451
 
4291
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/localize.js
4452
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/localize.js
4292
4453
  var eraValues = {
4293
4454
  narrow: ["B", "A"],
4294
4455
  abbreviated: ["BC", "AD"],
@@ -4450,7 +4611,7 @@ var localize = {
4450
4611
  })
4451
4612
  };
4452
4613
 
4453
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchFn.js
4614
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchFn.js
4454
4615
  function buildMatchFn(args) {
4455
4616
  return (string, options = {}) => {
4456
4617
  const width = options.width;
@@ -4492,7 +4653,7 @@ function findIndex(array, predicate) {
4492
4653
  return void 0;
4493
4654
  }
4494
4655
 
4495
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js
4656
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js
4496
4657
  function buildMatchPatternFn(args) {
4497
4658
  return (string, options = {}) => {
4498
4659
  const matchResult = string.match(args.matchPattern);
@@ -4507,7 +4668,7 @@ function buildMatchPatternFn(args) {
4507
4668
  };
4508
4669
  }
4509
4670
 
4510
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/match.js
4671
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/match.js
4511
4672
  var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
4512
4673
  var parseOrdinalNumberPattern = /\d+/i;
4513
4674
  var matchEraPatterns = {
@@ -4626,7 +4787,7 @@ var match = {
4626
4787
  })
4627
4788
  };
4628
4789
 
4629
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US.js
4790
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US.js
4630
4791
  var enUS = {
4631
4792
  code: "en-US",
4632
4793
  formatDistance,
@@ -4640,7 +4801,7 @@ var enUS = {
4640
4801
  }
4641
4802
  };
4642
4803
 
4643
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDayOfYear.js
4804
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDayOfYear.js
4644
4805
  function getDayOfYear(date, options) {
4645
4806
  const _date = toDate(date, options?.in);
4646
4807
  const diff = differenceInCalendarDays(_date, startOfYear(_date));
@@ -4648,14 +4809,14 @@ function getDayOfYear(date, options) {
4648
4809
  return dayOfYear;
4649
4810
  }
4650
4811
 
4651
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeek.js
4812
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeek.js
4652
4813
  function getISOWeek(date, options) {
4653
4814
  const _date = toDate(date, options?.in);
4654
4815
  const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);
4655
4816
  return Math.round(diff / millisecondsInWeek) + 1;
4656
4817
  }
4657
4818
 
4658
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeekYear.js
4819
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeekYear.js
4659
4820
  function getWeekYear(date, options) {
4660
4821
  const _date = toDate(date, options?.in);
4661
4822
  const year = _date.getFullYear();
@@ -4678,7 +4839,7 @@ function getWeekYear(date, options) {
4678
4839
  }
4679
4840
  }
4680
4841
 
4681
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeekYear.js
4842
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeekYear.js
4682
4843
  function startOfWeekYear(date, options) {
4683
4844
  const defaultOptions2 = getDefaultOptions();
4684
4845
  const firstWeekContainsDate = options?.firstWeekContainsDate ?? options?.locale?.options?.firstWeekContainsDate ?? defaultOptions2.firstWeekContainsDate ?? defaultOptions2.locale?.options?.firstWeekContainsDate ?? 1;
@@ -4690,21 +4851,21 @@ function startOfWeekYear(date, options) {
4690
4851
  return _date;
4691
4852
  }
4692
4853
 
4693
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeek.js
4854
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeek.js
4694
4855
  function getWeek(date, options) {
4695
4856
  const _date = toDate(date, options?.in);
4696
4857
  const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);
4697
4858
  return Math.round(diff / millisecondsInWeek) + 1;
4698
4859
  }
4699
4860
 
4700
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/addLeadingZeros.js
4861
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/addLeadingZeros.js
4701
4862
  function addLeadingZeros(number, targetLength) {
4702
4863
  const sign = number < 0 ? "-" : "";
4703
4864
  const output = Math.abs(number).toString().padStart(targetLength, "0");
4704
4865
  return sign + output;
4705
4866
  }
4706
4867
 
4707
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/lightFormatters.js
4868
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/lightFormatters.js
4708
4869
  var lightFormatters = {
4709
4870
  // Year
4710
4871
  y(date, token) {
@@ -4764,7 +4925,7 @@ var lightFormatters = {
4764
4925
  }
4765
4926
  };
4766
4927
 
4767
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/formatters.js
4928
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/formatters.js
4768
4929
  var dayPeriodEnum = {
4769
4930
  midnight: "midnight",
4770
4931
  noon: "noon",
@@ -5408,7 +5569,7 @@ function formatTimezone(offset, delimiter = "") {
5408
5569
  return sign + hours + delimiter + minutes;
5409
5570
  }
5410
5571
 
5411
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/longFormatters.js
5572
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/longFormatters.js
5412
5573
  var dateLongFormatter = (pattern, formatLong2) => {
5413
5574
  switch (pattern) {
5414
5575
  case "P":
@@ -5465,7 +5626,7 @@ var longFormatters = {
5465
5626
  P: dateTimeLongFormatter
5466
5627
  };
5467
5628
 
5468
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/protectedTokens.js
5629
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/protectedTokens.js
5469
5630
  var dayOfYearTokenRE = /^D+$/;
5470
5631
  var weekYearTokenRE = /^Y+$/;
5471
5632
  var throwTokens = ["D", "DD", "YY", "YYYY"];
@@ -5485,7 +5646,7 @@ function message(token, format2, input) {
5485
5646
  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`;
5486
5647
  }
5487
5648
 
5488
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/format.js
5649
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/format.js
5489
5650
  var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g;
5490
5651
  var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
5491
5652
  var escapedStringRegExp = /^'([^]*?)'?$/;
@@ -5551,7 +5712,7 @@ function cleanEscapedString(input) {
5551
5712
  return matched[1].replace(doubleQuoteRegExp, "'");
5552
5713
  }
5553
5714
 
5554
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDaysInMonth.js
5715
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDaysInMonth.js
5555
5716
  function getDaysInMonth(date, options) {
5556
5717
  const _date = toDate(date, options?.in);
5557
5718
  const year = _date.getFullYear();
@@ -5562,27 +5723,27 @@ function getDaysInMonth(date, options) {
5562
5723
  return lastDayOfMonth.getDate();
5563
5724
  }
5564
5725
 
5565
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getMonth.js
5726
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getMonth.js
5566
5727
  function getMonth(date, options) {
5567
5728
  return toDate(date, options?.in).getMonth();
5568
5729
  }
5569
5730
 
5570
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getYear.js
5731
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getYear.js
5571
5732
  function getYear(date, options) {
5572
5733
  return toDate(date, options?.in).getFullYear();
5573
5734
  }
5574
5735
 
5575
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isAfter.js
5736
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isAfter.js
5576
5737
  function isAfter(date, dateToCompare) {
5577
5738
  return +toDate(date) > +toDate(dateToCompare);
5578
5739
  }
5579
5740
 
5580
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isBefore.js
5741
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isBefore.js
5581
5742
  function isBefore(date, dateToCompare) {
5582
5743
  return +toDate(date) < +toDate(dateToCompare);
5583
5744
  }
5584
5745
 
5585
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameMonth.js
5746
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameMonth.js
5586
5747
  function isSameMonth(laterDate, earlierDate, options) {
5587
5748
  const [laterDate_, earlierDate_] = normalizeDates(
5588
5749
  options?.in,
@@ -5592,7 +5753,7 @@ function isSameMonth(laterDate, earlierDate, options) {
5592
5753
  return laterDate_.getFullYear() === earlierDate_.getFullYear() && laterDate_.getMonth() === earlierDate_.getMonth();
5593
5754
  }
5594
5755
 
5595
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameYear.js
5756
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isSameYear.js
5596
5757
  function isSameYear(laterDate, earlierDate, options) {
5597
5758
  const [laterDate_, earlierDate_] = normalizeDates(
5598
5759
  options?.in,
@@ -5602,7 +5763,7 @@ function isSameYear(laterDate, earlierDate, options) {
5602
5763
  return laterDate_.getFullYear() === earlierDate_.getFullYear();
5603
5764
  }
5604
5765
 
5605
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setMonth.js
5766
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setMonth.js
5606
5767
  function setMonth(date, month, options) {
5607
5768
  const _date = toDate(date, options?.in);
5608
5769
  const year = _date.getFullYear();
@@ -5615,7 +5776,7 @@ function setMonth(date, month, options) {
5615
5776
  return _date;
5616
5777
  }
5617
5778
 
5618
- // ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setYear.js
5779
+ // ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setYear.js
5619
5780
  function setYear(date, year, options) {
5620
5781
  const date_ = toDate(date, options?.in);
5621
5782
  if (isNaN(+date_)) return constructFrom(date, NaN);
@@ -6013,7 +6174,7 @@ __export(custom_components_exports, {
6013
6174
  MonthsDropdown: () => MonthsDropdown,
6014
6175
  Nav: () => Nav,
6015
6176
  NextMonthButton: () => NextMonthButton,
6016
- Option: () => Option,
6177
+ Option: () => Option2,
6017
6178
  PreviousMonthButton: () => PreviousMonthButton,
6018
6179
  Root: () => Root8,
6019
6180
  Select: () => Select,
@@ -6189,7 +6350,7 @@ function Nav(props) {
6189
6350
  function NextMonthButton(props) {
6190
6351
  return React26__default.default.createElement("button", { ...props });
6191
6352
  }
6192
- function Option(props) {
6353
+ function Option2(props) {
6193
6354
  return React26__default.default.createElement("option", { ...props });
6194
6355
  }
6195
6356
  function PreviousMonthButton(props) {
@@ -7947,27 +8108,27 @@ function DayPicker(initialProps) {
7947
8108
  );
7948
8109
  }
7949
8110
  var dayPickerClassNames = {
7950
- 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`
8111
+ 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`
7951
8112
  };
7952
8113
  var rangePickerClassNames = {
7953
- 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`,
7954
- 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`,
7955
- selected: `tw-font-medium tw-rounded`,
7956
- range_middle: `tw-bg-accent tw-border-accent tw-text-accent-foreground tw-rounded-none tw-font-medium`
8114
+ 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`,
8115
+ 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`,
8116
+ selected: `tw:font-medium tw:rounded`,
8117
+ range_middle: `tw:bg-accent tw:border-accent tw:text-accent-foreground tw:rounded-none tw:font-medium`
7957
8118
  };
7958
- var Calendar = ({ className, classNames, ...props }) => {
8119
+ var Calendar2 = ({ className, classNames, ...props }) => {
7959
8120
  const defaultClassNames = getDefaultClassNames();
7960
8121
  return /* @__PURE__ */ jsxRuntime.jsx(
7961
8122
  DayPicker,
7962
8123
  {
7963
8124
  ...props,
7964
8125
  captionLayout: "dropdown",
7965
- className: cn(className, "tw-p-3"),
8126
+ className: cn(className, "tw:p-3"),
7966
8127
  classNames: {
7967
- chevron: `${defaultClassNames.chevron} tw-fill-foreground`,
7968
- day: `${defaultClassNames.day} hover:tw-bg-accent tw-rounded`,
7969
- day_button: `${defaultClassNames.day_button} tw-rounded`,
7970
- today: `tw-bg-accent tw-text-accent-foreground tw-font-medium`,
8128
+ chevron: `${defaultClassNames.chevron} tw:fill-foreground`,
8129
+ day: `${defaultClassNames.day} tw:hover:bg-accent tw:rounded`,
8130
+ day_button: `${defaultClassNames.day_button} tw:rounded`,
8131
+ today: `tw:bg-accent tw:text-accent-foreground tw:font-medium`,
7971
8132
  ...dayPickerClassNames,
7972
8133
  ...rangePickerClassNames,
7973
8134
  selected: `${props.mode === "range" ? rangePickerClassNames.selected : dayPickerClassNames.selected}`,
@@ -7977,47 +8138,47 @@ var Calendar = ({ className, classNames, ...props }) => {
7977
8138
  }
7978
8139
  );
7979
8140
  };
7980
- Calendar.displayName = "Calendar";
8141
+ Calendar2.displayName = "Calendar";
7981
8142
  var variants2 = classVarianceAuthority.cva(
7982
8143
  [
7983
8144
  "tailwindcss-preflight",
7984
- "tw-group/popover-content",
7985
- "tw-z-[1055]",
7986
- "focus-visible:tw-outline-none",
8145
+ "tw:group/popover-content",
8146
+ "tw:z-[1055]",
8147
+ "tw:focus-visible:outline-hidden",
7987
8148
  // An open Radix Dialog locks `pointer-events: none` on <body>. Popover content
7988
8149
  // is portalled to <body> as a sibling of the dialog, so it inherits the lock
7989
8150
  // and clicks fall through — re-enable pointer events on the content itself
7990
8151
  // (dismiss-on-outside-click still works, it listens on document).
7991
- "tw-pointer-events-auto",
8152
+ "tw:pointer-events-auto",
7992
8153
  // sizing
7993
- "tw-min-w-32",
7994
- "tw-max-h-[var(--radix-popover-content-available-height)]",
7995
- "tw-origin-[--radix-popover-content-transform-origin]",
8154
+ "tw:min-w-32",
8155
+ "tw:max-h-[var(--radix-popover-content-available-height)]",
8156
+ "tw:origin-(--radix-popover-content-transform-origin)",
7996
8157
  // layout
7997
- "tw-flex",
7998
- "tw-flex-col",
7999
- "tw-overflow-y-auto",
8158
+ "tw:flex",
8159
+ "tw:flex-col",
8160
+ "tw:overflow-y-auto",
8000
8161
  // border
8001
- "tw-box-border",
8002
- "tw-border",
8003
- "tw-border-solid",
8004
- "tw-shadow-lg",
8162
+ "tw:box-border",
8163
+ "tw:border",
8164
+ "tw:border-solid",
8165
+ "tw:shadow-lg",
8005
8166
  // open animation
8006
- "data-[state=open]:tw-animate-in",
8007
- "data-[state=open]:tw-fade-in-0",
8008
- "data-[state=open]:tw-zoom-in-95",
8167
+ "tw:data-[state=open]:animate-in",
8168
+ "tw:data-[state=open]:fade-in-0",
8169
+ "tw:data-[state=open]:zoom-in-95",
8009
8170
  // closed animation
8010
- "data-[state=closed]:tw-animate-out",
8011
- "data-[state=closed]:tw-fade-out-0",
8012
- "data-[state=closed]:tw-zoom-out-95",
8171
+ "tw:data-[state=closed]:animate-out",
8172
+ "tw:data-[state=closed]:fade-out-0",
8173
+ "tw:data-[state=closed]:zoom-out-95",
8013
8174
  // position animation
8014
- "data-[side=bottom]:tw-slide-in-from-top-2",
8015
- "data-[side=left]:tw-slide-in-from-right-2",
8016
- "data-[side=right]:tw-slide-in-from-left-2",
8017
- "data-[side=top]:tw-slide-in-from-bottom-2",
8175
+ "tw:data-[side=bottom]:slide-in-from-top-2",
8176
+ "tw:data-[side=left]:slide-in-from-right-2",
8177
+ "tw:data-[side=right]:slide-in-from-left-2",
8178
+ "tw:data-[side=top]:slide-in-from-bottom-2",
8018
8179
  // Default size for nested Lucide icons; callers can override on the icon.
8019
- "[&_svg.lucide:not([class*='tw-size-'])]:tw-size-4",
8020
- "[&_svg]:tw-shrink-0"
8180
+ "tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
8181
+ "tw:[&_svg]:shrink-0"
8021
8182
  ],
8022
8183
  {
8023
8184
  defaultVariants: {
@@ -8027,12 +8188,12 @@ var variants2 = classVarianceAuthority.cva(
8027
8188
  variants: {
8028
8189
  variant: {
8029
8190
  // Legacy surface — fixed white panel.
8030
- default: ["tw-rounded-md", "tw-border-neutral-100", "tw-bg-white", "tw-text-neutral-800"],
8191
+ default: ["tw:rounded-md", "tw:border-neutral-100", "tw:bg-white", "tw:text-neutral-800"],
8031
8192
  // Argo surface — semantic popover tokens (brand + dark aware).
8032
- argo: ["tw-rounded-2xl", "tw-border-border", "tw-bg-popover", "tw-text-popover-foreground"]
8193
+ argo: ["tw:rounded-2xl", "tw:border-border", "tw:bg-popover", "tw:text-popover-foreground"]
8033
8194
  },
8034
8195
  matchTriggerWidth: {
8035
- true: ["tw-w-[var(--radix-popover-trigger-width)]"],
8196
+ true: ["tw:w-[var(--radix-popover-trigger-width)]"],
8036
8197
  false: []
8037
8198
  }
8038
8199
  }
@@ -8085,9 +8246,9 @@ var DatePicker = ({
8085
8246
  {
8086
8247
  align,
8087
8248
  alignOffset,
8088
- className: "tw-w-auto tw-p-0",
8249
+ className: "tw:w-auto tw:p-0",
8089
8250
  sideOffset,
8090
- children: /* @__PURE__ */ jsxRuntime.jsx(Calendar, { ...calendarProps })
8251
+ children: /* @__PURE__ */ jsxRuntime.jsx(Calendar2, { ...calendarProps })
8091
8252
  }
8092
8253
  )
8093
8254
  ] });
@@ -8245,7 +8406,7 @@ var DateInput = ({
8245
8406
  "aria-label": "Clear date",
8246
8407
  onMouseDown: (event) => event.preventDefault(),
8247
8408
  onClick: handleClear,
8248
- children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-4" })
8409
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-4" })
8249
8410
  }
8250
8411
  ),
8251
8412
  showPicker2 && /* @__PURE__ */ jsxRuntime.jsx(
@@ -8261,7 +8422,7 @@ var DateInput = ({
8261
8422
  open: isOpen,
8262
8423
  selected: currentValue ?? void 0,
8263
8424
  startMonth,
8264
- children: /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Button, { "aria-label": "Select Date", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Calendar, { className: "tw-size-4" }) })
8425
+ children: /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Button, { "aria-label": "Select Date", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "tw:size-4" }) })
8265
8426
  }
8266
8427
  )
8267
8428
  ] })
@@ -8315,14 +8476,14 @@ var DateWidget = ({
8315
8476
  };
8316
8477
  var addonVariants2 = classVarianceAuthority.cva(
8317
8478
  [
8318
- "tw-flex",
8319
- "tw-items-center",
8320
- "tw-shrink-0",
8321
- "tw-bg-inherit",
8322
- "tw-self-stretch",
8323
- "tw-px-1",
8324
- "has-[button]:tw-px-0",
8325
- '[&_svg:not([class*="tw-size-"])]:tw-size-3'
8479
+ "tw:flex",
8480
+ "tw:items-center",
8481
+ "tw:shrink-0",
8482
+ "tw:bg-inherit",
8483
+ "tw:self-stretch",
8484
+ "tw:px-1",
8485
+ "tw:has-[button]:px-0",
8486
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3'
8326
8487
  ],
8327
8488
  {
8328
8489
  defaultVariants: {
@@ -8331,24 +8492,24 @@ var addonVariants2 = classVarianceAuthority.cva(
8331
8492
  },
8332
8493
  variants: {
8333
8494
  align: {
8334
- "inline-start": ["tw-order-first"],
8335
- "inline-end": ["tw-order-last"]
8495
+ "inline-start": ["tw:order-first"],
8496
+ "inline-end": ["tw:order-last"]
8336
8497
  },
8337
8498
  variant: {
8338
8499
  inline: [],
8339
8500
  floating: [
8340
- "tw-hidden",
8341
- "group-hover/badge:tw-flex",
8342
- "tw-absolute",
8343
- "tw-top-0",
8344
- "tw-bottom-0",
8345
- "focus-within:tw-flex"
8501
+ "tw:hidden",
8502
+ "tw:group-hover/badge:flex",
8503
+ "tw:absolute",
8504
+ "tw:top-0",
8505
+ "tw:bottom-0",
8506
+ "tw:focus-within:flex"
8346
8507
  ]
8347
8508
  }
8348
8509
  },
8349
8510
  compoundVariants: [
8350
- { variant: "floating", align: "inline-end", className: ["tw-right-0"] },
8351
- { variant: "floating", align: "inline-start", className: ["tw-left-0"] }
8511
+ { variant: "floating", align: "inline-end", className: ["tw:right-0"] },
8512
+ { variant: "floating", align: "inline-start", className: ["tw:left-0"] }
8352
8513
  ]
8353
8514
  }
8354
8515
  );
@@ -8376,18 +8537,18 @@ var BadgeButton = ({ ref, className, type = "button", children, ...rest }) => /*
8376
8537
  type,
8377
8538
  className: cn(
8378
8539
  "tailwindcss-preflight",
8379
- "tw-inline-flex",
8380
- "tw-items-center",
8381
- "tw-justify-center",
8382
- "tw-cursor-pointer",
8383
- "tw-bg-inherit",
8384
- "tw-text-inherit",
8385
- "hover:tw-brightness-95",
8386
- "tw-px-1",
8540
+ "tw:inline-flex",
8541
+ "tw:items-center",
8542
+ "tw:justify-center",
8543
+ "tw:cursor-pointer",
8544
+ "tw:bg-inherit",
8545
+ "tw:text-inherit",
8546
+ "tw:hover:brightness-95",
8547
+ "tw:px-1",
8387
8548
  // Default sizing for Lucide-icon children (which ship at 24×24); keeps
8388
8549
  // the visual baseline aligned with the previous FA-icon API and other
8389
8550
  // icon-wrapper components (ItemIcon, SidebarMenuIcon).
8390
- '[&_svg:not([class*="tw-size-"])]:tw-size-3',
8551
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-3',
8391
8552
  className
8392
8553
  ),
8393
8554
  children
@@ -8402,75 +8563,75 @@ var BadgeLabel = ({ ref, className, asChild = false, ...rest }) => {
8402
8563
  ref,
8403
8564
  "data-slot": "badge-label",
8404
8565
  className: cn(
8405
- "tw-max-w-56",
8406
- "tw-truncate",
8407
- "tw-px-2",
8408
- "tw-py-0.5",
8566
+ "tw:max-w-56",
8567
+ "tw:truncate",
8568
+ "tw:px-2",
8569
+ "tw:py-0.5",
8409
8570
  // Drop side padding only when an *inline* addon is present —
8410
8571
  // floating addons overlay the label without taking layout space,
8411
8572
  // so the label still needs full padding behind them.
8412
- "group-has-[[data-align=inline-start][data-variant=inline]:not(:empty)]/badge:tw-pl-0",
8413
- "group-has-[[data-align=inline-end][data-variant=inline]:not(:empty)]/badge:tw-pr-0",
8573
+ "tw:group-has-[[data-align=inline-start][data-variant=inline]:not(:empty)]/badge:pl-0",
8574
+ "tw:group-has-[[data-align=inline-end][data-variant=inline]:not(:empty)]/badge:pr-0",
8414
8575
  className
8415
8576
  )
8416
8577
  }
8417
8578
  );
8418
8579
  };
8419
8580
  var badgeColors = {
8420
- gray: "tw-bg-neutral-400 tw-text-white tw-decoration-neutral-400",
8421
- "gray-darker": "tw-bg-neutral-500 tw-text-white tw-decoration-neutral-500",
8422
- "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",
8423
- green: "tw-bg-green-500 tw-text-white tw-decoration-green-500",
8424
- "green-darker": "tw-bg-green-600 tw-text-white tw-decoration-green-600",
8425
- "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",
8426
- blue: "tw-bg-blue-500 tw-text-white tw-decoration-blue-500",
8427
- "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",
8428
- red: "tw-bg-error-500 tw-text-white tw-decoration-error-500",
8429
- orange: "tw-bg-warning-500 tw-text-white tw-decoration-warning-500",
8430
- "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",
8431
- amber: "tw-bg-warning-300 tw-text-warning-800 tw-decoration-warning-300",
8432
- "amber-inverse": "tw-bg-warning-100 tw-text-warning-700 tw-decoration-warning-100",
8433
- teal: "tw-bg-teal-500 tw-text-white tw-decoration-teal-500",
8434
- "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",
8435
- purple: "tw-bg-purple-500 tw-text-white tw-decoration-purple-500",
8436
- "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",
8437
- cyan: "tw-bg-cyan-500 tw-text-white tw-decoration-cyan-500",
8438
- "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",
8439
- "sidebar-primary": "tw-bg-sidebar-primary tw-text-white tw-decoration-sidebar-primary",
8440
- white: "tw-bg-white/90 tw-text-neutral-600 tw-decoration-white/90"
8581
+ gray: "tw:bg-neutral-400 tw:text-white tw:decoration-neutral-400",
8582
+ "gray-darker": "tw:bg-neutral-500 tw:text-white tw:decoration-neutral-500",
8583
+ "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",
8584
+ green: "tw:bg-green-500 tw:text-white tw:decoration-green-500",
8585
+ "green-darker": "tw:bg-green-600 tw:text-white tw:decoration-green-600",
8586
+ "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",
8587
+ blue: "tw:bg-blue-500 tw:text-white tw:decoration-blue-500",
8588
+ "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",
8589
+ red: "tw:bg-error-500 tw:text-white tw:decoration-error-500",
8590
+ orange: "tw:bg-warning-500 tw:text-white tw:decoration-warning-500",
8591
+ "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",
8592
+ amber: "tw:bg-warning-300 tw:text-warning-800 tw:decoration-warning-300",
8593
+ "amber-inverse": "tw:bg-warning-100 tw:text-warning-700 tw:decoration-warning-100",
8594
+ teal: "tw:bg-teal-500 tw:text-white tw:decoration-teal-500",
8595
+ "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",
8596
+ purple: "tw:bg-purple-500 tw:text-white tw:decoration-purple-500",
8597
+ "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",
8598
+ cyan: "tw:bg-cyan-500 tw:text-white tw:decoration-cyan-500",
8599
+ "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",
8600
+ "sidebar-primary": "tw:bg-sidebar-primary tw:text-white tw:decoration-sidebar-primary",
8601
+ white: "tw:bg-white/90 tw:text-neutral-600 tw:decoration-white/90"
8441
8602
  };
8442
8603
  var badgeRootVariants = classVarianceAuthority.cva(
8443
8604
  [
8444
8605
  "tailwindcss-preflight",
8445
- "tw-group/badge",
8606
+ "tw:group/badge",
8446
8607
  // display
8447
- "tw-relative",
8448
- "tw-inline-flex",
8449
- "tw-justify-center",
8450
- "tw-items-center",
8451
- "tw-min-h-5",
8452
- "tw-h-fit",
8453
- "tw-shrink-0",
8454
- "tw-overflow-hidden",
8608
+ "tw:relative",
8609
+ "tw:inline-flex",
8610
+ "tw:justify-center",
8611
+ "tw:items-center",
8612
+ "tw:min-h-5",
8613
+ "tw:h-fit",
8614
+ "tw:shrink-0",
8615
+ "tw:overflow-hidden",
8455
8616
  // text — chrome weight/tracking are brand-overridable tokens
8456
8617
  // (`--font-weight-medium` / `--letter-spacing-chrome`); casing lives on the
8457
- // `default` variant below via `tw-uppercase`.
8458
- "tw-whitespace-pre-wrap",
8459
- "tw-break-normal",
8460
- "tw-text-xs",
8461
- "tw-font-medium",
8462
- "tw-tracking-chrome",
8463
- "tw-text-center",
8464
- "tw-underline",
8618
+ // `default` variant below via `tw:uppercase`.
8619
+ "tw:whitespace-pre-wrap",
8620
+ "tw:break-normal",
8621
+ "tw:text-xs",
8622
+ "tw:font-medium",
8623
+ "tw:tracking-chrome",
8624
+ "tw:text-center",
8625
+ "tw:underline",
8465
8626
  // content
8466
- "tw-border-none",
8467
- "[&>svg]:tw-self-center",
8468
- "[button&]:tw-cursor-pointer",
8627
+ "tw:border-none",
8628
+ "tw:[&>svg]:self-center",
8629
+ "tw:[button&]:cursor-pointer",
8469
8630
  // focus
8470
- "focus-visible:tw-outline-none",
8471
- "focus-visible:tw-ring-2",
8472
- "focus-visible:tw-ring-inset",
8473
- "focus-visible:tw-ring-ring"
8631
+ "tw:focus-visible:outline-hidden",
8632
+ "tw:focus-visible:ring-2",
8633
+ "tw:focus-visible:ring-inset",
8634
+ "tw:focus-visible:ring-ring"
8474
8635
  ],
8475
8636
  {
8476
8637
  defaultVariants: {
@@ -8479,9 +8640,14 @@ var badgeRootVariants = classVarianceAuthority.cva(
8479
8640
  },
8480
8641
  variants: {
8481
8642
  variant: {
8482
- default: ["tw-rounded tw-uppercase"],
8483
- tag: ["tw-rounded tw-normal-case"],
8484
- pill: ["tw-min-w-5 tw-rounded-full tw-normal-case tw-tracking-normal"]
8643
+ // Legacy chrome uppercases the default badge; the Keboola V2 brand
8644
+ // (`data-brand="keboola"`) renders it in standard case instead.
8645
+ default: [
8646
+ "tw:rounded tw:uppercase",
8647
+ "tw:[[data-brand=keboola]_&]:normal-case tw:[[data-brand=keboola]_&]:tracking-normal"
8648
+ ],
8649
+ tag: ["tw:rounded tw:normal-case"],
8650
+ pill: ["tw:min-w-5 tw:rounded-full tw:normal-case tw:tracking-normal"]
8485
8651
  },
8486
8652
  color: badgeColors
8487
8653
  }
@@ -8503,7 +8669,7 @@ var BadgeInner = ({
8503
8669
  variant,
8504
8670
  color,
8505
8671
  // custom props
8506
- prefix,
8672
+ prefix: prefix2,
8507
8673
  prefixVariant = "inline",
8508
8674
  suffix,
8509
8675
  suffixVariant = "inline",
@@ -8511,11 +8677,11 @@ var BadgeInner = ({
8511
8677
  labelClassName,
8512
8678
  ...labelProps
8513
8679
  }) => /* @__PURE__ */ jsxRuntime.jsxs(BadgeRoot, { className, variant, color, children: [
8514
- prefix && /* @__PURE__ */ jsxRuntime.jsx(BadgeAddon, { align: "inline-start", variant: prefixVariant, children: prefix }),
8680
+ prefix2 && /* @__PURE__ */ jsxRuntime.jsx(BadgeAddon, { align: "inline-start", variant: prefixVariant, children: prefix2 }),
8515
8681
  /* @__PURE__ */ jsxRuntime.jsx(BadgeLabel, { ...labelProps, ref, className: labelClassName }),
8516
8682
  suffix && /* @__PURE__ */ jsxRuntime.jsx(BadgeAddon, { align: "inline-end", variant: suffixVariant, children: suffix })
8517
8683
  ] });
8518
- var Badge = Object.assign(BadgeInner, {
8684
+ var Badge2 = Object.assign(BadgeInner, {
8519
8685
  Root: BadgeRoot,
8520
8686
  Button: BadgeButton,
8521
8687
  Label: BadgeLabel,
@@ -8593,26 +8759,26 @@ var ComboboxChips = ({
8593
8759
  combobox.Combobox.Chip,
8594
8760
  {
8595
8761
  render: /* @__PURE__ */ jsxRuntime.jsx(
8596
- Badge.Root,
8762
+ Badge2.Root,
8597
8763
  {
8598
8764
  color: itemToChipColor?.(value),
8599
- className: "tw-max-w-40",
8765
+ className: "tw:max-w-40",
8600
8766
  variant
8601
8767
  }
8602
8768
  ),
8603
8769
  children: [
8604
- /* @__PURE__ */ jsxRuntime.jsx(Badge.Label, { children: itemToChipLabel(value) }),
8605
- /* @__PURE__ */ jsxRuntime.jsx(Badge.Addon, { variant: "inline", align: "inline-end", children: /* @__PURE__ */ jsxRuntime.jsx(
8770
+ /* @__PURE__ */ jsxRuntime.jsx(Badge2.Label, { children: itemToChipLabel(value) }),
8771
+ /* @__PURE__ */ jsxRuntime.jsx(Badge2.Addon, { variant: "inline", align: "inline-end", children: /* @__PURE__ */ jsxRuntime.jsx(
8606
8772
  combobox.Combobox.ChipRemove,
8607
8773
  {
8608
- render: /* @__PURE__ */ jsxRuntime.jsx(Badge.Button, { "aria-label": "Remove value", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-3" }) })
8774
+ render: /* @__PURE__ */ jsxRuntime.jsx(Badge2.Button, { "aria-label": "Remove value", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-3" }) })
8609
8775
  }
8610
8776
  ) })
8611
8777
  ]
8612
8778
  },
8613
8779
  index
8614
8780
  )),
8615
- overflow.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Badge.Root, { variant: "pill", children: /* @__PURE__ */ jsxRuntime.jsxs(Badge.Label, { children: [
8781
+ overflow.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Badge2.Root, { variant: "pill", children: /* @__PURE__ */ jsxRuntime.jsxs(Badge2.Label, { children: [
8616
8782
  "+",
8617
8783
  overflow.length
8618
8784
  ] }) })
@@ -8639,7 +8805,7 @@ var ComboboxContent = ({
8639
8805
  sideOffset,
8640
8806
  alignOffset,
8641
8807
  anchor,
8642
- className: "tailwindcss-preflight tw-isolate tw-z-[1055]",
8808
+ className: "tw:isolate tw:z-[1055] tailwindcss-preflight",
8643
8809
  children: /* @__PURE__ */ jsxRuntime.jsx(
8644
8810
  combobox.Combobox.Popup,
8645
8811
  {
@@ -8647,25 +8813,25 @@ var ComboboxContent = ({
8647
8813
  "data-chips": !!anchor,
8648
8814
  "data-variant": effectiveVariant,
8649
8815
  className: cn(
8650
- "!tw-pointer-events-auto",
8651
- "tw-group/combobox-content",
8652
- "tw-relative",
8653
- "tw-flex tw-flex-col tw-overflow-hidden",
8816
+ "tw:!pointer-events-auto",
8817
+ "tw:group/combobox-content",
8818
+ "tw:relative",
8819
+ "tw:flex tw:flex-col tw:overflow-hidden",
8654
8820
  // sizing
8655
- "tw-max-h-[var(--available-height)]",
8656
- "tw-w-[var(--anchor-width)]",
8657
- "tw-max-w-[var(--available-width)]",
8658
- "tw-origin-[var(--transform-origin)]",
8659
- "data-[chips=true]:tw-min-w-[var(--anchor-width)]",
8821
+ "tw:max-h-[var(--available-height)]",
8822
+ "tw:w-[var(--anchor-width)]",
8823
+ "tw:max-w-[var(--available-width)]",
8824
+ "tw:origin-[var(--transform-origin)]",
8825
+ "tw:data-[chips=true]:min-w-[var(--anchor-width)]",
8660
8826
  // appearance
8661
- "tw-rounded-lg",
8662
- "data-[variant=default]:tw-rounded",
8663
- "tw-bg-popover",
8664
- "tw-text-popover-foreground",
8665
- "tw-shadow-md",
8666
- "tw-ring-1",
8667
- "tw-ring-foreground/10",
8668
- "tw-duration-100",
8827
+ "tw:rounded-lg",
8828
+ "tw:data-[variant=default]:rounded",
8829
+ "tw:bg-popover",
8830
+ "tw:text-popover-foreground",
8831
+ "tw:shadow-md",
8832
+ "tw:ring-1",
8833
+ "tw:ring-foreground/10",
8834
+ "tw:duration-100",
8669
8835
  // open animation
8670
8836
  "data-open:animate-in",
8671
8837
  "data-open:fade-in-0",
@@ -8675,12 +8841,12 @@ var ComboboxContent = ({
8675
8841
  "data-closed:fade-out-0",
8676
8842
  "data-closed:zoom-out-95",
8677
8843
  // position animations
8678
- "data-[side=bottom]:tw-slide-in-from-top-2",
8679
- "data-[side=top]:tw-slide-in-from-bottom-2",
8680
- "data-[side=left]:tw-slide-in-from-right-2",
8681
- "data-[side=right]:tw-slide-in-from-left-2",
8682
- "data-[side=inline-start]:tw-slide-in-from-right-2",
8683
- "data-[side=inline-end]:tw-slide-in-from-left-2",
8844
+ "tw:data-[side=bottom]:slide-in-from-top-2",
8845
+ "tw:data-[side=top]:slide-in-from-bottom-2",
8846
+ "tw:data-[side=left]:slide-in-from-right-2",
8847
+ "tw:data-[side=right]:slide-in-from-left-2",
8848
+ "tw:data-[side=inline-start]:slide-in-from-right-2",
8849
+ "tw:data-[side=inline-end]:slide-in-from-left-2",
8684
8850
  className
8685
8851
  ),
8686
8852
  ...popupProps,
@@ -8695,14 +8861,14 @@ var ComboboxEmpty = ({ ref, className, ...props }) => /* @__PURE__ */ jsxRuntime
8695
8861
  {
8696
8862
  ref,
8697
8863
  className: cn(
8698
- "tw-hidden",
8699
- "group-data-[empty]/combobox-content:tw-flex",
8700
- "tw-justify-center",
8701
- "tw-items-center",
8702
- "tw-text-center",
8703
- "tw-px-2",
8704
- "tw-text-muted-foreground",
8705
- "tw-py-6",
8864
+ "tw:hidden",
8865
+ "tw:group-data-[empty]/combobox-content:flex",
8866
+ "tw:justify-center",
8867
+ "tw:items-center",
8868
+ "tw:text-center",
8869
+ "tw:px-2",
8870
+ "tw:text-muted-foreground",
8871
+ "tw:py-6",
8706
8872
  className
8707
8873
  ),
8708
8874
  ...props
@@ -8742,30 +8908,30 @@ var ComboboxItemIndicator = ({ ref, className, variant = "check", ...props }) =>
8742
8908
  ref,
8743
8909
  keepMounted: true,
8744
8910
  className: cn(
8745
- "tw-group/combobox-item-indicator",
8746
- "tw-inline-flex",
8747
- "tw-items-center",
8748
- "tw-justify-center",
8749
- "tw-size-4",
8750
- "tw-shrink-0",
8751
- "tw-rounded",
8752
- "tw-border",
8753
- "tw-border-input",
8754
- "tw-bg-background",
8755
- "data-[selected]:tw-bg-primary",
8756
- "data-[selected]:tw-border-primary",
8911
+ "tw:group/combobox-item-indicator",
8912
+ "tw:inline-flex",
8913
+ "tw:items-center",
8914
+ "tw:justify-center",
8915
+ "tw:size-4",
8916
+ "tw:shrink-0",
8917
+ "tw:rounded",
8918
+ "tw:border",
8919
+ "tw:border-input",
8920
+ "tw:bg-background",
8921
+ "tw:data-[selected]:bg-primary",
8922
+ "tw:data-[selected]:border-primary",
8757
8923
  className
8758
8924
  ),
8759
8925
  ...props,
8760
8926
  children: /* @__PURE__ */ jsxRuntime.jsx(
8761
- icons_exports.Check,
8927
+ lucideReact.Check,
8762
8928
  {
8763
8929
  className: cn(
8764
- "tw-hidden",
8765
- "tw-size-3",
8766
- "tw-stroke-[4px]",
8767
- "!tw-text-primary-foreground",
8768
- "group-data-[selected]/combobox-item-indicator:tw-block"
8930
+ "tw:hidden",
8931
+ "tw:size-3",
8932
+ "tw:stroke-[4px]",
8933
+ "tw:!text-primary-foreground",
8934
+ "tw:group-data-[selected]/combobox-item-indicator:block"
8769
8935
  )
8770
8936
  }
8771
8937
  )
@@ -8778,18 +8944,18 @@ var ComboboxItemIndicator = ({ ref, className, variant = "check", ...props }) =>
8778
8944
  ...props,
8779
8945
  ref,
8780
8946
  className: cn(
8781
- "tw-pointer-events-none",
8782
- "tw-absolute",
8783
- "tw-right-2",
8784
- "group-data-[variant=default]/combobox-content:tw-right-4",
8947
+ "tw:pointer-events-none",
8948
+ "tw:absolute",
8949
+ "tw:right-2",
8950
+ "tw:group-data-[variant=default]/combobox-content:right-4",
8785
8951
  // Lucide SVGs default to 24×24 — constrain the rendered child so the
8786
8952
  // 16px indicator slot owns the actual size.
8787
- '[&_svg:not([class*="tw-size-"])]:tw-size-4',
8788
- "group-data-[highlighted]/combobox-item:tw-text-accent-foreground",
8789
- "group-data-[variant=default]/combobox-content:group-data-[highlighted]/combobox-item:tw-text-foreground",
8953
+ 'tw:[&_svg:not([class*="tw:size-"])]:size-4',
8954
+ "tw:group-data-[highlighted]/combobox-item:text-accent-foreground",
8955
+ "tw:group-data-[variant=default]/combobox-content:group-data-[highlighted]/combobox-item:text-foreground",
8790
8956
  className
8791
8957
  ),
8792
- render: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Check, {})
8958
+ render: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, {})
8793
8959
  }
8794
8960
  );
8795
8961
  };
@@ -8807,43 +8973,43 @@ var ComboboxItem = ({
8807
8973
  ref,
8808
8974
  "data-slot": "combobox-item",
8809
8975
  className: cn(
8810
- "tw-group/combobox-item",
8976
+ "tw:group/combobox-item",
8811
8977
  // layout
8812
- "tw-relative",
8813
- "tw-flex",
8814
- "tw-flex-1",
8815
- "tw-items-center",
8816
- "tw-gap-2",
8978
+ "tw:relative",
8979
+ "tw:flex",
8980
+ "tw:flex-1",
8981
+ "tw:items-center",
8982
+ "tw:gap-2",
8817
8983
  // spacing
8818
- "tw-py-2",
8819
- "tw-px-2",
8820
- "group-data-[variant=default]/combobox-content:tw-px-4",
8821
- "tw-rounded-lg",
8822
- "group-data-[variant=default]/combobox-content:tw-rounded-none",
8984
+ "tw:py-2",
8985
+ "tw:px-2",
8986
+ "tw:group-data-[variant=default]/combobox-content:px-4",
8987
+ "tw:rounded-lg",
8988
+ "tw:group-data-[variant=default]/combobox-content:rounded-none",
8823
8989
  // typography
8824
- "tw-text-sm",
8825
- "tw-select-none",
8826
- "tw-cursor-default",
8827
- "tw-outline-hidden",
8990
+ "tw:text-sm",
8991
+ "tw:select-none",
8992
+ "tw:cursor-default",
8993
+ "tw:outline-hidden",
8828
8994
  // highlighted (keyboard / hover)
8829
- "data-[highlighted]:tw-bg-accent",
8830
- "group-data-[variant=default]/combobox-content:data-[highlighted]:tw-bg-neutral-100",
8831
- "data-[highlighted]:tw-text-accent-foreground",
8832
- "group-data-[variant=default]/combobox-content:data-[highlighted]:tw-text-foreground",
8995
+ "tw:data-[highlighted]:bg-accent",
8996
+ "tw:group-data-[variant=default]/combobox-content:data-[highlighted]:bg-neutral-100",
8997
+ "tw:data-[highlighted]:text-accent-foreground",
8998
+ "tw:group-data-[variant=default]/combobox-content:data-[highlighted]:text-foreground",
8833
8999
  // disabled
8834
- "data-disabled:tw-pointer-events-none",
8835
- "data-disabled:tw-opacity-50",
9000
+ "tw:data-disabled:pointer-events-none",
9001
+ "tw:data-disabled:opacity-50",
8836
9002
  // child svg defaults
8837
- "[&_svg]:tw-pointer-events-none",
8838
- "[&_svg]:tw-shrink-0",
8839
- "[&_svg]:tw-text-muted-foreground",
8840
- "[&_svg:not([class*='size-'])]:tw-size-4",
9003
+ "tw:[&_svg]:pointer-events-none",
9004
+ "tw:[&_svg]:shrink-0",
9005
+ "tw:[&_svg]:text-muted-foreground",
9006
+ "tw:[&_svg:not([class*='size-'])]:size-4",
8841
9007
  className
8842
9008
  ),
8843
9009
  children: [
8844
9010
  /* @__PURE__ */ jsxRuntime.jsx(ComboboxItemIndicator, { variant }),
8845
9011
  icon,
8846
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-truncate", children })
9012
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:truncate", children })
8847
9013
  ]
8848
9014
  }
8849
9015
  );
@@ -8852,15 +9018,15 @@ var ComboboxList = ({ ref, className, ...props }) => /* @__PURE__ */ jsxRuntime.
8852
9018
  {
8853
9019
  ref,
8854
9020
  className: cn(
8855
- "tw-no-scrollbar",
8856
- "tw-scroll-py-1",
8857
- "tw-overflow-y-auto",
8858
- "tw-overscroll-contain",
8859
- "tw-min-h-0",
8860
- "tw-flex-1",
8861
- "tw-p-2",
8862
- "data-[empty]:tw-p-0",
8863
- "group-data-[variant=default]/combobox-content:tw-p-0",
9021
+ "tw:no-scrollbar",
9022
+ "tw:scroll-py-1",
9023
+ "tw:overflow-y-auto",
9024
+ "tw:overscroll-contain",
9025
+ "tw:min-h-0",
9026
+ "tw:flex-1",
9027
+ "tw:p-2",
9028
+ "tw:data-[empty]:p-0",
9029
+ "tw:group-data-[variant=default]/combobox-content:p-0",
8864
9030
  className
8865
9031
  ),
8866
9032
  ...props
@@ -8871,7 +9037,7 @@ var ComboboxSeparator = ({ ref, className, ...props }) => /* @__PURE__ */ jsxRun
8871
9037
  combobox.Combobox.Separator,
8872
9038
  {
8873
9039
  ref,
8874
- className: cn("tw-mx-2 tw-my-1 tw-h-px tw-bg-border", className),
9040
+ className: cn("tw:mx-2 tw:my-1 tw:h-px tw:bg-border", className),
8875
9041
  ...props
8876
9042
  }
8877
9043
  );
@@ -8879,7 +9045,7 @@ var ComboboxGroup = ({ ref, className, children, ...props }) => /* @__PURE__ */
8879
9045
  combobox.Combobox.Group,
8880
9046
  {
8881
9047
  ref,
8882
- className: cn("tw-flex tw-flex-col tw-gap-0.5", className),
9048
+ className: cn("tw:flex tw:flex-col tw:gap-0.5", className),
8883
9049
  ...props,
8884
9050
  children
8885
9051
  }
@@ -8891,19 +9057,19 @@ var ComboboxGroupLabel = ({ ref, className, ...props }) => /* @__PURE__ */ jsxRu
8891
9057
  ref,
8892
9058
  className: cn(
8893
9059
  // Base (argo variant) — soft gray section label.
8894
- "tw-px-2",
8895
- "tw-py-1.5",
8896
- "tw-text-xs",
8897
- "tw-font-medium",
8898
- "tw-leading-none",
8899
- "tw-text-muted-foreground",
8900
- "group-data-[variant=default]/combobox-content:tw-uppercase",
8901
- "group-data-[variant=default]/combobox-content:tw-font-semibold",
8902
- "group-data-[variant=default]/combobox-content:tw-tracking-wider",
8903
- "group-data-[variant=default]/combobox-content:tw-text-[11px]",
8904
- "group-data-[variant=default]/combobox-content:tw-text-black",
8905
- "group-data-[variant=default]/combobox-content:tw-pt-2",
8906
- "group-data-[variant=default]/combobox-content:tw-px-4",
9060
+ "tw:px-2",
9061
+ "tw:py-1.5",
9062
+ "tw:text-xs",
9063
+ "tw:font-medium",
9064
+ "tw:leading-none",
9065
+ "tw:text-muted-foreground",
9066
+ "tw:group-data-[variant=default]/combobox-content:uppercase",
9067
+ "tw:group-data-[variant=default]/combobox-content:font-semibold",
9068
+ "tw:group-data-[variant=default]/combobox-content:tracking-wider",
9069
+ "tw:group-data-[variant=default]/combobox-content:text-[11px]",
9070
+ "tw:group-data-[variant=default]/combobox-content:text-black",
9071
+ "tw:group-data-[variant=default]/combobox-content:pt-2",
9072
+ "tw:group-data-[variant=default]/combobox-content:px-4",
8907
9073
  className
8908
9074
  )
8909
9075
  }
@@ -8934,7 +9100,7 @@ var Combobox = ({
8934
9100
  // own props
8935
9101
  empty = "No items",
8936
9102
  indicator,
8937
- prefix,
9103
+ prefix: prefix2,
8938
9104
  // creatable
8939
9105
  allowCreate,
8940
9106
  queryToCreateValue,
@@ -9056,11 +9222,11 @@ var Combobox = ({
9056
9222
  focusVariant,
9057
9223
  className,
9058
9224
  children: [
9059
- prefix && /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Addon, { align: "inline-start", children: prefix }),
9225
+ prefix2 && /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Addon, { align: "inline-start", children: prefix2 }),
9060
9226
  /* @__PURE__ */ jsxRuntime.jsx(ComboboxInput, { id, placeholder, disabled }),
9061
9227
  /* @__PURE__ */ jsxRuntime.jsxs(InputGroup.Addon, { align: "inline-end", children: [
9062
- allowClear && /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Button, { asChild: true, "aria-label": "Clear", disabled, children: /* @__PURE__ */ jsxRuntime.jsx(combobox.Combobox.Clear, { children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-4" }) }) }),
9063
- /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Button, { disabled, asChild: true, "aria-label": "Open combobox", children: /* @__PURE__ */ jsxRuntime.jsx(combobox.Combobox.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronDown, { className: "tw-size-4" }) }) })
9228
+ allowClear && /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Button, { asChild: true, "aria-label": "Clear", disabled, children: /* @__PURE__ */ jsxRuntime.jsx(combobox.Combobox.Clear, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-4" }) }) }),
9229
+ /* @__PURE__ */ jsxRuntime.jsx(InputGroup.Button, { disabled, asChild: true, "aria-label": "Open combobox", children: /* @__PURE__ */ jsxRuntime.jsx(combobox.Combobox.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "tw:size-4" }) }) })
9064
9230
  ] })
9065
9231
  ]
9066
9232
  }
@@ -9069,11 +9235,11 @@ var Combobox = ({
9069
9235
  /* @__PURE__ */ jsxRuntime.jsx(ComboboxEmpty, { children: empty }),
9070
9236
  /* @__PURE__ */ jsxRuntime.jsx(ComboboxList, { children: (itemOrGroup) => {
9071
9237
  if (isCreatableItem(itemOrGroup))
9072
- return /* @__PURE__ */ jsxRuntime.jsx(Combobox.Item, { value: itemOrGroup, icon: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Plus, {}), children: queryToCreateLabel(itemOrGroup.value) });
9238
+ return /* @__PURE__ */ jsxRuntime.jsx(Combobox.Item, { value: itemOrGroup, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, {}), children: queryToCreateLabel(itemOrGroup.value) });
9073
9239
  if (isGroupItem(itemOrGroup)) {
9074
9240
  const maybeCreatable = itemOrGroup.items[0];
9075
9241
  if (isCreatableItem(maybeCreatable)) {
9076
- return /* @__PURE__ */ jsxRuntime.jsx(Combobox.Item, { value: maybeCreatable, icon: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Plus, {}), children: queryToCreateLabel(maybeCreatable.value) });
9242
+ return /* @__PURE__ */ jsxRuntime.jsx(Combobox.Item, { value: maybeCreatable, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, {}), children: queryToCreateLabel(maybeCreatable.value) });
9077
9243
  }
9078
9244
  const groupLabel = groupToLabel(itemOrGroup);
9079
9245
  return /* @__PURE__ */ jsxRuntime.jsxs(Combobox.Group, { items: itemOrGroup.items, children: [
@@ -9256,14 +9422,14 @@ var PasswordInput = ({
9256
9422
  }
9257
9423
  ),
9258
9424
  (capsLock || canClear || allowPasswordToggle) && /* @__PURE__ */ jsxRuntime.jsxs(InputGroup.Addon, { align: "inline-end", children: [
9259
- capsLock && /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ArrowBigUpDash, { className: "tw-size-4 tw-text-primary", children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: "Caps Lock is on" }) }),
9425
+ capsLock && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowBigUpDash, { className: "tw:size-4 tw:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: "Caps Lock is on" }) }),
9260
9426
  canClear && /* @__PURE__ */ jsxRuntime.jsx(
9261
9427
  InputGroup.Button,
9262
9428
  {
9263
9429
  "aria-label": "Clear password",
9264
9430
  onMouseDown: (event) => event.preventDefault(),
9265
9431
  onClick: handleClear,
9266
- children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-4" })
9432
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-4" })
9267
9433
  }
9268
9434
  ),
9269
9435
  allowPasswordToggle && /* @__PURE__ */ jsxRuntime.jsx(
@@ -9272,7 +9438,7 @@ var PasswordInput = ({
9272
9438
  "aria-label": `${isPasswordVisible ? "Hide password" : "Show password"}${passwordToggleLabel ? `: ${passwordToggleLabel}` : ""}`,
9273
9439
  onMouseDown: (event) => event.preventDefault(),
9274
9440
  onClick: handleTogglePasswordVisibility,
9275
- children: isPasswordVisible ? /* @__PURE__ */ jsxRuntime.jsx(icons_exports.EyeOff, { className: "tw-size-4" }) : /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Eye, { className: "tw-size-4" })
9441
+ children: isPasswordVisible ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.EyeOff, { className: "tw:size-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Eye, { className: "tw:size-4" })
9276
9442
  }
9277
9443
  )
9278
9444
  ] })
@@ -9317,22 +9483,22 @@ var useRadioGroupContext = () => React26.use(RadioGroupContext);
9317
9483
  var radioVariants = classVarianceAuthority.cva(
9318
9484
  [
9319
9485
  // reset
9320
- "tw-bg-transparent",
9321
- "tw-p-0",
9322
- "tw-peer",
9323
- "tw-cursor-pointer",
9324
- "tw-whitespace-nowrap",
9325
- "tw-shrink-0",
9486
+ "tw:bg-transparent",
9487
+ "tw:p-0",
9488
+ "tw:peer",
9489
+ "tw:cursor-pointer",
9490
+ "tw:whitespace-nowrap",
9491
+ "tw:shrink-0",
9326
9492
  // position
9327
- "tw-flex",
9328
- "tw-items-center",
9329
- "tw-justify-center",
9330
- "disabled:tw-cursor-not-allowed",
9331
- "tw-size-4",
9493
+ "tw:flex",
9494
+ "tw:items-center",
9495
+ "tw:justify-center",
9496
+ "tw:disabled:cursor-not-allowed",
9497
+ "tw:size-4",
9332
9498
  // border
9333
- "tw-rounded-full",
9334
- "tw-border",
9335
- "tw-border-solid"
9499
+ "tw:rounded-full",
9500
+ "tw:border",
9501
+ "tw:border-solid"
9336
9502
  ],
9337
9503
  {
9338
9504
  defaultVariants: {
@@ -9341,71 +9507,71 @@ var radioVariants = classVarianceAuthority.cva(
9341
9507
  variants: {
9342
9508
  variant: {
9343
9509
  default: [
9344
- "disabled:tw-opacity-40",
9345
- "data-[state=checked]:tw-border-primary",
9346
- "data-[state=unchecked]:tw-border-neutral-200",
9347
- "data-[state=unchecked]:hover:tw-border-primary",
9348
- "data-[state=unchecked]:disabled:hover:tw-border-neutral-200",
9349
- "focus-visible:tw-ring-2",
9350
- "focus-visible:tw-ring-ring/30"
9510
+ "tw:disabled:opacity-40",
9511
+ "tw:data-[state=checked]:border-primary",
9512
+ "tw:data-[state=unchecked]:border-neutral-200",
9513
+ "tw:data-[state=unchecked]:hover:border-primary",
9514
+ "tw:data-[state=unchecked]:disabled:hover:border-neutral-200",
9515
+ "tw:focus-visible:ring-2",
9516
+ "tw:focus-visible:ring-ring/30"
9351
9517
  ],
9352
9518
  argo: [
9353
- "disabled:tw-opacity-50",
9354
- "tw-border-input",
9355
- "tw-transition-colors",
9356
- "data-[state=checked]:tw-bg-primary",
9357
- "data-[state=checked]:tw-border-primary",
9358
- "data-[state=unchecked]:not-disabled:hover:tw-bg-accent",
9359
- "data-[state=checked]:not-disabled:hover:tw-bg-primary",
9360
- "focus-visible:tw-outline-none",
9361
- "focus-visible:tw-border-primary",
9362
- "focus-visible:tw-ring-2",
9363
- "focus-visible:tw-ring-ring/50"
9519
+ "tw:disabled:opacity-50",
9520
+ "tw:border-input",
9521
+ "tw:transition-colors",
9522
+ "tw:data-[state=checked]:bg-primary",
9523
+ "tw:data-[state=checked]:border-primary",
9524
+ "tw:data-[state=unchecked]:not-disabled:hover:bg-accent",
9525
+ "tw:data-[state=checked]:not-disabled:hover:bg-primary",
9526
+ "tw:focus-visible:outline-hidden",
9527
+ "tw:focus-visible:border-primary",
9528
+ "tw:focus-visible:ring-2",
9529
+ "tw:focus-visible:ring-ring/50"
9364
9530
  ]
9365
9531
  }
9366
9532
  }
9367
9533
  }
9368
9534
  );
9369
- var radioIndicatorVariants = classVarianceAuthority.cva(["tw-size-2.5", "tw-fill-current"], {
9535
+ var radioIndicatorVariants = classVarianceAuthority.cva(["tw:size-2.5", "tw:fill-current"], {
9370
9536
  defaultVariants: {
9371
9537
  variant: "default"
9372
9538
  },
9373
9539
  variants: {
9374
9540
  variant: {
9375
- default: ["tw-text-primary"],
9376
- argo: ["tw-text-primary-foreground"]
9541
+ default: ["tw:text-primary"],
9542
+ argo: ["tw:text-primary-foreground"]
9377
9543
  }
9378
9544
  }
9379
9545
  });
9380
9546
  var radioItemButtonVariants = classVarianceAuthority.cva(
9381
9547
  [
9382
9548
  // reset
9383
- "tw-bg-transparent",
9384
- "tw-p-0",
9385
- "tw-peer",
9386
- "tw-cursor-pointer",
9387
- "tw-whitespace-nowrap",
9549
+ "tw:bg-transparent",
9550
+ "tw:p-0",
9551
+ "tw:peer",
9552
+ "tw:cursor-pointer",
9553
+ "tw:whitespace-nowrap",
9388
9554
  // position
9389
- "tw-flex",
9390
- "tw-items-center",
9391
- "tw-justify-center",
9392
- "disabled:tw-cursor-not-allowed",
9555
+ "tw:flex",
9556
+ "tw:items-center",
9557
+ "tw:justify-center",
9558
+ "tw:disabled:cursor-not-allowed",
9393
9559
  // layouts
9394
- "tw-w-full",
9395
- "tw-px-2",
9396
- "tw-py-1.5",
9560
+ "tw:w-full",
9561
+ "tw:px-2",
9562
+ "tw:py-1.5",
9397
9563
  // fonts
9398
- "tw-uppercase",
9399
- "tw-font-semibold",
9400
- "tw-font-sans",
9401
- "tw-text-[11px]",
9402
- "tw-whitespace-nowrap",
9403
- "tw-tracking-widest",
9404
- "tw-leading-[18px]",
9564
+ "tw:uppercase",
9565
+ "tw:font-semibold",
9566
+ "tw:font-sans",
9567
+ "tw:text-[11px]",
9568
+ "tw:whitespace-nowrap",
9569
+ "tw:tracking-widest",
9570
+ "tw:leading-[18px]",
9405
9571
  // border
9406
- "tw-border",
9407
- "tw-border-solid",
9408
- "tw-rounded"
9572
+ "tw:border",
9573
+ "tw:border-solid",
9574
+ "tw:rounded"
9409
9575
  ],
9410
9576
  {
9411
9577
  defaultVariants: {
@@ -9414,46 +9580,46 @@ var radioItemButtonVariants = classVarianceAuthority.cva(
9414
9580
  variants: {
9415
9581
  variant: {
9416
9582
  default: [
9417
- "disabled:tw-opacity-40",
9418
- "tw-text-secondary-600",
9419
- "tw-border-secondary-500",
9420
- "data-[state=unchecked]:hover:tw-bg-secondary-500",
9421
- "data-[state=unchecked]:hover:tw-text-white",
9422
- "data-[state=unchecked]:disabled:hover:tw-bg-white",
9423
- "data-[state=unchecked]:disabled:hover:tw-text-secondary-500",
9424
- "data-[state=checked]:disabled:tw-cursor-not-allowed",
9425
- "data-[state=unchecked]:tw-bg-white",
9426
- "data-[state=checked]:tw-bg-secondary-500",
9427
- "data-[state=checked]:tw-text-white",
9428
- "data-[state=checked]:tw-cursor-default",
9429
- "focus-visible:tw-outline",
9430
- "focus-visible:tw-outline-ring",
9431
- "focus-visible:tw-ring-4",
9432
- "focus-visible:tw-ring-ring/30"
9583
+ "tw:disabled:opacity-40",
9584
+ "tw:text-secondary-600",
9585
+ "tw:border-secondary-500",
9586
+ "tw:data-[state=unchecked]:hover:bg-secondary-500",
9587
+ "tw:data-[state=unchecked]:hover:text-white",
9588
+ "tw:data-[state=unchecked]:disabled:hover:bg-white",
9589
+ "tw:data-[state=unchecked]:disabled:hover:text-secondary-500",
9590
+ "tw:data-[state=checked]:disabled:cursor-not-allowed",
9591
+ "tw:data-[state=unchecked]:bg-white",
9592
+ "tw:data-[state=checked]:bg-secondary-500",
9593
+ "tw:data-[state=checked]:text-white",
9594
+ "tw:data-[state=checked]:cursor-default",
9595
+ "tw:focus-visible:outline",
9596
+ "tw:focus-visible:outline-ring",
9597
+ "tw:focus-visible:ring-4",
9598
+ "tw:focus-visible:ring-ring/30"
9433
9599
  ],
9434
9600
  argo: [
9435
- "disabled:tw-opacity-50",
9436
- "tw-text-foreground",
9437
- "tw-border-input",
9438
- "tw-transition-colors",
9601
+ "tw:disabled:opacity-50",
9602
+ "tw:text-foreground",
9603
+ "tw:border-input",
9604
+ "tw:transition-colors",
9439
9605
  // muted filled control surface — gray, distinct from white containers; not the app-background token
9440
- "data-[state=unchecked]:tw-bg-muted",
9441
- "data-[state=unchecked]:not-disabled:hover:tw-bg-accent",
9442
- "data-[state=unchecked]:not-disabled:hover:tw-text-accent-foreground",
9443
- "data-[state=checked]:tw-bg-primary",
9444
- "data-[state=checked]:tw-border-primary",
9445
- "data-[state=checked]:tw-text-primary-foreground",
9446
- "data-[state=checked]:not-disabled:tw-cursor-default",
9447
- "focus-visible:tw-outline-none",
9448
- "focus-visible:tw-border-primary",
9449
- "focus-visible:tw-ring-2",
9450
- "focus-visible:tw-ring-ring/50"
9606
+ "tw:data-[state=unchecked]:bg-muted",
9607
+ "tw:data-[state=unchecked]:not-disabled:hover:bg-accent",
9608
+ "tw:data-[state=unchecked]:not-disabled:hover:text-accent-foreground",
9609
+ "tw:data-[state=checked]:bg-primary",
9610
+ "tw:data-[state=checked]:border-primary",
9611
+ "tw:data-[state=checked]:text-primary-foreground",
9612
+ "tw:data-[state=checked]:not-disabled:cursor-default",
9613
+ "tw:focus-visible:outline-hidden",
9614
+ "tw:focus-visible:border-primary",
9615
+ "tw:focus-visible:ring-2",
9616
+ "tw:focus-visible:ring-ring/50"
9451
9617
  ]
9452
9618
  }
9453
9619
  }
9454
9620
  }
9455
9621
  );
9456
- var Radio = ({ className, styleVariant = "default", ...props }) => /* @__PURE__ */ jsxRuntime.jsx(RRadioGroup.Item, { ...props, className: cn(radioVariants({ variant: styleVariant }), className), children: /* @__PURE__ */ jsxRuntime.jsx(RRadioGroup.Indicator, { className: cn("tw-flex", "tw-items-center", "tw-justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Circle, { className: radioIndicatorVariants({ variant: styleVariant }) }) }) });
9622
+ var Radio2 = ({ className, styleVariant = "default", ...props }) => /* @__PURE__ */ jsxRuntime.jsx(RRadioGroup.Item, { ...props, className: cn(radioVariants({ variant: styleVariant }), className), children: /* @__PURE__ */ jsxRuntime.jsx(RRadioGroup.Indicator, { className: cn("tw:flex", "tw:items-center", "tw:justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: radioIndicatorVariants({ variant: styleVariant }) }) }) });
9457
9623
  var RadioGroupItemButton = ({
9458
9624
  ref,
9459
9625
  className,
@@ -9488,8 +9654,8 @@ var RadioGroupItem = ({
9488
9654
  {
9489
9655
  variant: variant === "radio-block" ? "boxed" : "default",
9490
9656
  htmlFor: id,
9491
- control: /* @__PURE__ */ jsxRuntime.jsx(Radio, { styleVariant, ...props, id }),
9492
- className: variant === "radio-block" ? "tw-flex-1" : void 0,
9657
+ control: /* @__PURE__ */ jsxRuntime.jsx(Radio2, { styleVariant, ...props, id }),
9658
+ className: variant === "radio-block" ? "tw:flex-1" : void 0,
9493
9659
  children: [
9494
9660
  /* @__PURE__ */ jsxRuntime.jsx(FieldBox.Title, { children }),
9495
9661
  description && /* @__PURE__ */ jsxRuntime.jsx(FieldBox.Description, { children: description })
@@ -9505,13 +9671,13 @@ var RadioGroupItem = ({
9505
9671
  var separatorVariants = classVarianceAuthority.cva(
9506
9672
  [
9507
9673
  // position
9508
- "tw-flex",
9509
- "tw-items-center",
9510
- "tw-justify-center",
9511
- "tw-self-stretch",
9674
+ "tw:flex",
9675
+ "tw:items-center",
9676
+ "tw:justify-center",
9677
+ "tw:self-stretch",
9512
9678
  // before
9513
- "before:tw-content-['']",
9514
- "before:tw-bg-border"
9679
+ "tw:before:content-['']",
9680
+ "tw:before:bg-border"
9515
9681
  ],
9516
9682
  {
9517
9683
  defaultVariants: {
@@ -9522,43 +9688,43 @@ var separatorVariants = classVarianceAuthority.cva(
9522
9688
  {
9523
9689
  orientation: "horizontal",
9524
9690
  size: "full",
9525
- className: ["before:tw-w-full"]
9691
+ className: ["tw:before:w-full"]
9526
9692
  },
9527
9693
  {
9528
9694
  orientation: "horizontal",
9529
9695
  size: "1/2",
9530
- className: ["before:tw-w-1/2"]
9696
+ className: ["tw:before:w-1/2"]
9531
9697
  },
9532
9698
  {
9533
9699
  orientation: "horizontal",
9534
9700
  size: "3/4",
9535
- className: ["before:tw-w-3/4"]
9701
+ className: ["tw:before:w-3/4"]
9536
9702
  },
9537
9703
  {
9538
9704
  orientation: "vertical",
9539
9705
  size: "full",
9540
- className: ["before:tw-h-full"]
9706
+ className: ["tw:before:h-full"]
9541
9707
  },
9542
9708
  {
9543
9709
  orientation: "vertical",
9544
9710
  size: "1/2",
9545
- className: ["before:tw-h-1/2"]
9711
+ className: ["tw:before:h-1/2"]
9546
9712
  },
9547
9713
  {
9548
9714
  orientation: "vertical",
9549
9715
  size: "3/4",
9550
- className: ["before:tw-h-3/4"]
9716
+ className: ["tw:before:h-3/4"]
9551
9717
  }
9552
9718
  ],
9553
9719
  variants: {
9554
9720
  size: {
9555
- full: ["before:tw-h-full"],
9721
+ full: ["tw:before:h-full"],
9556
9722
  "1/2": [],
9557
9723
  "3/4": []
9558
9724
  },
9559
9725
  orientation: {
9560
- vertical: ["before:tw-w-px"],
9561
- horizontal: ["before:tw-h-px"]
9726
+ vertical: ["tw:before:w-px"],
9727
+ horizontal: ["tw:before:h-px"]
9562
9728
  }
9563
9729
  }
9564
9730
  }
@@ -9578,10 +9744,10 @@ var Separator = ({
9578
9744
  decorative: true,
9579
9745
  orientation: "horizontal",
9580
9746
  className: cn(
9581
- "tw-flex tw-w-full tw-items-center tw-gap-3 tw-self-stretch",
9582
- "tw-text-xs tw-font-medium tw-text-muted-foreground",
9583
- "before:tw-content-[''] before:tw-h-px before:tw-flex-1 before:tw-bg-border",
9584
- "after:tw-content-[''] after:tw-h-px after:tw-flex-1 after:tw-bg-border",
9747
+ "tw:flex tw:w-full tw:items-center tw:gap-3 tw:self-stretch",
9748
+ "tw:text-xs tw:font-medium tw:text-muted-foreground",
9749
+ "tw:before:content-[''] tw:before:h-px tw:before:flex-1 tw:before:bg-border",
9750
+ "tw:after:content-[''] tw:after:h-px tw:after:flex-1 tw:after:bg-border",
9585
9751
  className
9586
9752
  ),
9587
9753
  children: label
@@ -9602,19 +9768,19 @@ var RadioGroupSeparator = () => {
9602
9768
  const { orientation } = useRadioGroupContext();
9603
9769
  const invertedOrientation = orientation === "horizontal" ? "vertical" : "horizontal";
9604
9770
  const size = orientation === "horizontal" ? "1/2" : "full";
9605
- const className = orientation === "horizontal" ? "tw-mx-2" : "tw-my-2";
9771
+ const className = orientation === "horizontal" ? "tw:mx-2" : "tw:my-2";
9606
9772
  return /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: invertedOrientation, size, className });
9607
9773
  };
9608
- var radioGroupVariants = classVarianceAuthority.cva(["tw-flex"], {
9774
+ var radioGroupVariants = classVarianceAuthority.cva(["tw:flex"], {
9609
9775
  variants: {
9610
9776
  orientation: {
9611
- horizontal: ["tw-gap-2"],
9612
- vertical: ["tw-flex-col", "tw-gap-3"]
9777
+ horizontal: ["tw:gap-2"],
9778
+ vertical: ["tw:flex-col", "tw:gap-3"]
9613
9779
  },
9614
9780
  variant: {
9615
9781
  button: [],
9616
9782
  radio: [],
9617
- "radio-block": ["tw-w-full"]
9783
+ "radio-block": ["tw:w-full"]
9618
9784
  }
9619
9785
  }
9620
9786
  });
@@ -9888,7 +10054,14 @@ var generateUiSchema = (schema, readOnly = false, definitions, globalConfig, has
9888
10054
  } else {
9889
10055
  fieldUi["ui:widget"] = "code-editor";
9890
10056
  }
9891
- fieldUi["ui:options"] = { editor: options?.editor ?? {} };
10057
+ fieldUi["ui:options"] = {
10058
+ editor: options?.editor ?? {},
10059
+ // A JSON editor stores parsed keys, so `#` prefixes really are encrypted here.
10060
+ // Fields whose JSON is not Keboola configuration (a query filter tree, a payload
10061
+ // template) opt out with `encryption_hint: false` — encrypting a key there would
10062
+ // hand the component ciphertext it cannot use.
10063
+ encryptionHint: options?.encryption_hint !== false
10064
+ };
9892
10065
  } else if (type === "object" && format2 === "ssh-editor") {
9893
10066
  fieldUi["ui:field"] = "sshForm";
9894
10067
  fieldUi["ui:options"] = { only_keys: !!options?.only_keys };
@@ -10335,7 +10508,7 @@ var RjsfSchemaEditor = ({
10335
10508
  }
10336
10509
  }, [onRegisterValidate, formKey]);
10337
10510
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "json-editor", children: /* @__PURE__ */ jsxRuntime.jsx(RenderMarkdownProvider, { value: renderMarkdown ?? defaultRenderMarkdown, children: /* @__PURE__ */ jsxRuntime.jsx(RootFormDataProvider, { value: rootFormData, children: /* @__PURE__ */ jsxRuntime.jsx(
10338
- Form__default.default,
10511
+ Form2__default.default,
10339
10512
  {
10340
10513
  ref: formRef,
10341
10514
  schema: schemaJs,