@keboola/design 3.0.0 → 3.1.1
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.
- package/README.md +2 -4
- package/dist/index.cjs +1088 -816
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +379 -389
- package/dist/index.d.ts +379 -389
- package/dist/index.js +1057 -786
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor.cjs +200 -143
- package/dist/markdown-editor.cjs.map +1 -1
- package/dist/markdown-editor.js +199 -143
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.cjs +75 -44
- package/dist/mermaid.cjs.map +1 -1
- package/dist/mermaid.js +75 -45
- package/dist/mermaid.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing.cjs +11 -28
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.js +11 -28
- package/dist/testing.js.map +1 -1
- package/package.json +13 -3
- package/src/styles.css +19 -18
package/dist/index.cjs
CHANGED
|
@@ -7,6 +7,7 @@ var clsx = require('clsx');
|
|
|
7
7
|
var tailwindMerge = require('tailwind-merge');
|
|
8
8
|
var reactTooltip = require('@radix-ui/react-tooltip');
|
|
9
9
|
var classVarianceAuthority = require('class-variance-authority');
|
|
10
|
+
var brandRegistry = require('@keboola/brand-registry');
|
|
10
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
11
12
|
var DropdownMenuPrimitive3 = require('@radix-ui/react-dropdown-menu');
|
|
12
13
|
var ScrollAreaPrimitive2 = require('@radix-ui/react-scroll-area');
|
|
@@ -34,7 +35,6 @@ var BoringAvatar = require('boring-avatars');
|
|
|
34
35
|
var reactProgress = require('@radix-ui/react-progress');
|
|
35
36
|
var reactCollapsible = require('@radix-ui/react-collapsible');
|
|
36
37
|
var sonner = require('sonner');
|
|
37
|
-
var brandRegistry = require('@keboola/brand-registry');
|
|
38
38
|
var ResizablePrimitive = require('react-resizable-panels');
|
|
39
39
|
var RadixAvatar = require('@radix-ui/react-avatar');
|
|
40
40
|
var RadixTabs = require('@radix-ui/react-tabs');
|
|
@@ -45,6 +45,7 @@ var colors3 = require('@keboola/tailwind-config/colors');
|
|
|
45
45
|
var state = require('@codemirror/state');
|
|
46
46
|
var nodeDiff3 = require('node-diff3');
|
|
47
47
|
var reactForm = require('@tanstack/react-form');
|
|
48
|
+
var DOMPurify = require('dompurify');
|
|
48
49
|
var autocomplete = require('@codemirror/autocomplete');
|
|
49
50
|
var langJson = require('@codemirror/lang-json');
|
|
50
51
|
var lint = require('@codemirror/lint');
|
|
@@ -96,6 +97,7 @@ var RadixAvatar__namespace = /*#__PURE__*/_interopNamespace(RadixAvatar);
|
|
|
96
97
|
var RadixTabs__namespace = /*#__PURE__*/_interopNamespace(RadixTabs);
|
|
97
98
|
var CodeMirror__default = /*#__PURE__*/_interopDefault(CodeMirror);
|
|
98
99
|
var colors3__default = /*#__PURE__*/_interopDefault(colors3);
|
|
100
|
+
var DOMPurify__default = /*#__PURE__*/_interopDefault(DOMPurify);
|
|
99
101
|
|
|
100
102
|
var __defProp = Object.defineProperty;
|
|
101
103
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -169,17 +171,49 @@ var keyCodes = {
|
|
|
169
171
|
ESCAPE: "Escape",
|
|
170
172
|
SPACE: " "
|
|
171
173
|
};
|
|
174
|
+
var ThemeContext = react.createContext(null);
|
|
175
|
+
|
|
176
|
+
// src/components/internal/useIsLegacyBrand.ts
|
|
177
|
+
var useIsLegacyBrand = () => {
|
|
178
|
+
const context = react.use(ThemeContext);
|
|
179
|
+
return context === null || context.brand.id === brandRegistry.keboolaLegacy.id;
|
|
180
|
+
};
|
|
172
181
|
var tooltipVariants = classVarianceAuthority.cva(
|
|
173
182
|
[
|
|
174
183
|
"tailwindcss-preflight",
|
|
175
184
|
"tw-inline-block",
|
|
176
|
-
"tw-rounded",
|
|
177
|
-
"tw-bg-neutral-800",
|
|
178
|
-
"tw-text-white",
|
|
179
185
|
"tw-break-anywhere",
|
|
180
186
|
"tw-max-h-96",
|
|
181
187
|
"tw-overflow-y-auto",
|
|
182
|
-
"tw-z-[1060]"
|
|
188
|
+
"tw-z-[1060]",
|
|
189
|
+
// legacy (dark) chrome — default
|
|
190
|
+
"tw-rounded",
|
|
191
|
+
"tw-bg-neutral-800",
|
|
192
|
+
"tw-text-white",
|
|
193
|
+
// argo chrome overrides — semantic floating-panel tokens
|
|
194
|
+
"data-[argo=true]:tw-rounded-2xl",
|
|
195
|
+
"data-[argo=true]:tw-border",
|
|
196
|
+
"data-[argo=true]:tw-border-solid",
|
|
197
|
+
"data-[argo=true]:tw-border-border",
|
|
198
|
+
"data-[argo=true]:tw-bg-popover",
|
|
199
|
+
"data-[argo=true]:tw-text-popover-foreground",
|
|
200
|
+
"data-[argo=true]:tw-shadow-md",
|
|
201
|
+
// argo open animation
|
|
202
|
+
"data-[argo=true]:data-[state=delayed-open]:tw-animate-in",
|
|
203
|
+
"data-[argo=true]:data-[state=instant-open]:tw-animate-in",
|
|
204
|
+
"data-[argo=true]:data-[state=delayed-open]:tw-fade-in-0",
|
|
205
|
+
"data-[argo=true]:data-[state=instant-open]:tw-fade-in-0",
|
|
206
|
+
"data-[argo=true]:data-[state=delayed-open]:tw-zoom-in-95",
|
|
207
|
+
"data-[argo=true]:data-[state=instant-open]:tw-zoom-in-95",
|
|
208
|
+
// argo closed animation
|
|
209
|
+
"data-[argo=true]:data-[state=closed]:tw-animate-out",
|
|
210
|
+
"data-[argo=true]:data-[state=closed]:tw-fade-out-0",
|
|
211
|
+
"data-[argo=true]:data-[state=closed]:tw-zoom-out-95",
|
|
212
|
+
// argo position animation
|
|
213
|
+
"data-[argo=true]:data-[side=bottom]:tw-slide-in-from-top-2",
|
|
214
|
+
"data-[argo=true]:data-[side=left]:tw-slide-in-from-right-2",
|
|
215
|
+
"data-[argo=true]:data-[side=right]:tw-slide-in-from-left-2",
|
|
216
|
+
"data-[argo=true]:data-[side=top]:tw-slide-in-from-bottom-2"
|
|
183
217
|
],
|
|
184
218
|
{
|
|
185
219
|
defaultVariants: {
|
|
@@ -212,6 +246,7 @@ var tooltipVariants = classVarianceAuthority.cva(
|
|
|
212
246
|
var TooltipContent = ({
|
|
213
247
|
className,
|
|
214
248
|
variant,
|
|
249
|
+
argo,
|
|
215
250
|
keepOpenOnPointerDownOutside = false,
|
|
216
251
|
children,
|
|
217
252
|
onPointerDownOutside,
|
|
@@ -221,6 +256,8 @@ var TooltipContent = ({
|
|
|
221
256
|
placement = "right",
|
|
222
257
|
...rest
|
|
223
258
|
}) => {
|
|
259
|
+
const isLegacy = useIsLegacyBrand();
|
|
260
|
+
const renderArgo = !isLegacy || argo === true;
|
|
224
261
|
const handlePointerDownOutside = (event) => {
|
|
225
262
|
if (keepOpenOnPointerDownOutside) event.preventDefault();
|
|
226
263
|
onPointerDownOutside?.(event);
|
|
@@ -229,7 +266,8 @@ var TooltipContent = ({
|
|
|
229
266
|
reactTooltip.Content,
|
|
230
267
|
{
|
|
231
268
|
...rest,
|
|
232
|
-
"data-tooltip-content": true,
|
|
269
|
+
"data-tooltip-content": renderArgo ? void 0 : true,
|
|
270
|
+
"data-argo": renderArgo,
|
|
233
271
|
sideOffset,
|
|
234
272
|
collisionPadding,
|
|
235
273
|
onPointerDownOutside: handlePointerDownOutside,
|
|
@@ -289,6 +327,7 @@ var Tooltip = ({
|
|
|
289
327
|
className,
|
|
290
328
|
keepOpenOnTriggerClick = false,
|
|
291
329
|
variant,
|
|
330
|
+
argo,
|
|
292
331
|
placement = "right",
|
|
293
332
|
forceHide = false,
|
|
294
333
|
forceShow = false,
|
|
@@ -327,6 +366,7 @@ var Tooltip = ({
|
|
|
327
366
|
{
|
|
328
367
|
className,
|
|
329
368
|
variant: resolvedVariant,
|
|
369
|
+
argo,
|
|
330
370
|
placement,
|
|
331
371
|
keepOpenOnPointerDownOutside: keepOpenOnTriggerClick,
|
|
332
372
|
children: tooltip
|
|
@@ -386,26 +426,6 @@ var getIsMac = () => {
|
|
|
386
426
|
return false;
|
|
387
427
|
};
|
|
388
428
|
var isMac = getIsMac();
|
|
389
|
-
|
|
390
|
-
// src/utils/legacyIcon.tsx
|
|
391
|
-
var isFAIconValue = (value) => typeof value === "string" || Array.isArray(value) && value.length === 2 && typeof value[0] === "string" && typeof value[1] === "string";
|
|
392
|
-
var registeredRenderer = null;
|
|
393
|
-
var setLegacyIconRenderer = (renderer) => {
|
|
394
|
-
registeredRenderer = renderer;
|
|
395
|
-
};
|
|
396
|
-
var warnedOnce = false;
|
|
397
|
-
var renderLegacyIcon = (value) => {
|
|
398
|
-
if (!isFAIconValue(value)) return value;
|
|
399
|
-
if (registeredRenderer) return registeredRenderer(value);
|
|
400
|
-
if (!warnedOnce) {
|
|
401
|
-
warnedOnce = true;
|
|
402
|
-
console.warn(
|
|
403
|
-
"[@keboola/design] renderLegacyIcon received a legacy FontAwesome icon value but no renderer is registered. Call setLegacyIconRenderer at app boot. Returning null.",
|
|
404
|
-
value
|
|
405
|
-
);
|
|
406
|
-
}
|
|
407
|
-
return null;
|
|
408
|
-
};
|
|
409
429
|
var sha256 = async (text) => {
|
|
410
430
|
const msgUint8 = new TextEncoder().encode(text);
|
|
411
431
|
const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8);
|
|
@@ -415,10 +435,7 @@ var sha256 = async (text) => {
|
|
|
415
435
|
var useSHA256 = (text) => {
|
|
416
436
|
const [hash, setHash] = react.useState("");
|
|
417
437
|
react.useEffect(() => {
|
|
418
|
-
if (!text)
|
|
419
|
-
setHash("");
|
|
420
|
-
return;
|
|
421
|
-
}
|
|
438
|
+
if (!text) return;
|
|
422
439
|
let cancelled = false;
|
|
423
440
|
sha256(text).then((h) => {
|
|
424
441
|
if (!cancelled) setHash(h);
|
|
@@ -427,7 +444,7 @@ var useSHA256 = (text) => {
|
|
|
427
444
|
cancelled = true;
|
|
428
445
|
};
|
|
429
446
|
}, [text]);
|
|
430
|
-
return hash;
|
|
447
|
+
return text ? hash : "";
|
|
431
448
|
};
|
|
432
449
|
var Keboola = react.forwardRef(
|
|
433
450
|
({ size = 24, color = "currentColor", className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -636,6 +653,8 @@ var argoVariants = classVarianceAuthority.cva(
|
|
|
636
653
|
"tw-bg-clip-padding",
|
|
637
654
|
// anchor support
|
|
638
655
|
"!tw-no-underline",
|
|
656
|
+
"aria-disabled:tw-cursor-not-allowed",
|
|
657
|
+
"aria-disabled:tw-opacity-50",
|
|
639
658
|
// icon
|
|
640
659
|
"tw-shrink-0",
|
|
641
660
|
"[&_svg]:tw-pointer-events-none",
|
|
@@ -738,14 +757,11 @@ var Button = ({
|
|
|
738
757
|
block = false,
|
|
739
758
|
...buttonProps
|
|
740
759
|
}) => {
|
|
760
|
+
const isLegacy = useIsLegacyBrand();
|
|
761
|
+
const renderArgo = !isLegacy || argo;
|
|
741
762
|
const Comp = asChild ? reactSlot.Root : "button";
|
|
742
763
|
const isIconOnly = String(size).startsWith("icon");
|
|
743
|
-
const classNames =
|
|
744
|
-
size,
|
|
745
|
-
variant,
|
|
746
|
-
block,
|
|
747
|
-
className
|
|
748
|
-
});
|
|
764
|
+
const classNames = renderArgo ? argoVariants({ variant, size, block, className }) : variants({ size, variant, block, className });
|
|
749
765
|
const handleClick = (event) => {
|
|
750
766
|
const isAnchor = event.currentTarget.tagName === "A";
|
|
751
767
|
if (isAnchor && disabled) {
|
|
@@ -796,11 +812,7 @@ var buttonInlineVariants = classVarianceAuthority.cva(
|
|
|
796
812
|
},
|
|
797
813
|
variants: {
|
|
798
814
|
color: {
|
|
799
|
-
link: [
|
|
800
|
-
"tw-text-secondary-500",
|
|
801
|
-
"hover:tw-text-secondary-600",
|
|
802
|
-
"[&_svg]:tw-text-secondary-500"
|
|
803
|
-
],
|
|
815
|
+
link: ["tw-text-primary", "hover:tw-text-primary/90", "[&_svg]:tw-text-primary"],
|
|
804
816
|
dark: ["tw-text-neutral-800 [&_svg]:tw-text-neutral-400"],
|
|
805
817
|
danger: ["tw-text-error-500 [&_svg]:tw-text-error-500"],
|
|
806
818
|
muted: ["tw-text-muted-foreground [&_svg]:tw-text-muted-foreground"],
|
|
@@ -1039,17 +1051,16 @@ var itemVariants = cn(
|
|
|
1039
1051
|
"group-data-[variant=default]/dropdown-menu-content:hover:tw-bg-neutral-100",
|
|
1040
1052
|
"group-data-[variant=default]/dropdown-menu-content:hover:tw-text-neutral-900",
|
|
1041
1053
|
"group-data-[variant=argo]/dropdown-menu-content:tw-rounded-md",
|
|
1042
|
-
"group-data-[variant=argo]/dropdown-menu-content:tw-text-
|
|
1043
|
-
"group-data-[variant=argo]/dropdown-menu-content:focus:tw-text-
|
|
1044
|
-
"group-data-[variant=argo]/dropdown-menu-content:focus:tw-bg-
|
|
1045
|
-
"group-data-[variant=argo]/dropdown-menu-content:hover:tw-text-
|
|
1046
|
-
"group-data-[variant=argo]/dropdown-menu-content:hover:tw-bg-
|
|
1054
|
+
"group-data-[variant=argo]/dropdown-menu-content:tw-text-popover-foreground",
|
|
1055
|
+
"group-data-[variant=argo]/dropdown-menu-content:focus:tw-text-accent-foreground",
|
|
1056
|
+
"group-data-[variant=argo]/dropdown-menu-content:focus:tw-bg-accent",
|
|
1057
|
+
"group-data-[variant=argo]/dropdown-menu-content:hover:tw-text-accent-foreground",
|
|
1058
|
+
"group-data-[variant=argo]/dropdown-menu-content:hover:tw-bg-accent"
|
|
1047
1059
|
);
|
|
1048
1060
|
var contentVariants = cn(
|
|
1049
1061
|
"tailwindcss-preflight",
|
|
1050
1062
|
"tw-group/dropdown-menu-content",
|
|
1051
1063
|
"tw-z-[1040]",
|
|
1052
|
-
"tw-bg-white",
|
|
1053
1064
|
// positioning
|
|
1054
1065
|
"tw-flex",
|
|
1055
1066
|
"tw-flex-col",
|
|
@@ -1060,8 +1071,16 @@ var contentVariants = cn(
|
|
|
1060
1071
|
// border
|
|
1061
1072
|
"tw-border",
|
|
1062
1073
|
"tw-shadow-md",
|
|
1074
|
+
// Legacy surface — fixed white panel.
|
|
1063
1075
|
"data-[variant=default]:tw-rounded-md",
|
|
1076
|
+
"data-[variant=default]:tw-bg-white",
|
|
1077
|
+
"data-[variant=default]:tw-border-neutral-100",
|
|
1078
|
+
"data-[variant=default]:tw-text-neutral-800",
|
|
1079
|
+
// Argo surface — semantic popover tokens (brand + dark aware).
|
|
1064
1080
|
"data-[variant=argo]:tw-rounded-2xl",
|
|
1081
|
+
"data-[variant=argo]:tw-bg-popover",
|
|
1082
|
+
"data-[variant=argo]:tw-text-popover-foreground",
|
|
1083
|
+
"data-[variant=argo]:tw-border-border",
|
|
1065
1084
|
// animations
|
|
1066
1085
|
"data-[state=open]:tw-animate-in",
|
|
1067
1086
|
"data-[state=open]:tw-fade-in-0",
|
|
@@ -1112,7 +1131,6 @@ var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PUR
|
|
|
1112
1131
|
orientation,
|
|
1113
1132
|
className: cn(
|
|
1114
1133
|
"tw-flex tw-touch-none tw-select-none tw-transition-color",
|
|
1115
|
-
'[data-state="hidden"]:tw-bg-pink-500',
|
|
1116
1134
|
{
|
|
1117
1135
|
"tw-h-full tw-w-2.5 tw-p-px": orientation === "vertical",
|
|
1118
1136
|
"tw-h-2.5 tw-flex-col tw-p-px": orientation === "horizontal"
|
|
@@ -1127,8 +1145,8 @@ var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PUR
|
|
|
1127
1145
|
"tw-relative",
|
|
1128
1146
|
"tw-flex-1",
|
|
1129
1147
|
"tw-rounded-full",
|
|
1130
|
-
"tw-bg-
|
|
1131
|
-
"hover:tw-bg-
|
|
1148
|
+
"tw-bg-border",
|
|
1149
|
+
"hover:tw-bg-muted-foreground"
|
|
1132
1150
|
)
|
|
1133
1151
|
}
|
|
1134
1152
|
)
|
|
@@ -1223,7 +1241,7 @@ var DropdownMenuItem = ({
|
|
|
1223
1241
|
...props
|
|
1224
1242
|
}) => {
|
|
1225
1243
|
const Comp = asChild ? reactSlot.Root : "div";
|
|
1226
|
-
const adornment = isLoading ? /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Loader2, { className: "tw-animate-spin" }) :
|
|
1244
|
+
const adornment = isLoading ? /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Loader2, { className: "tw-animate-spin" }) : icon;
|
|
1227
1245
|
const handleOnSelect = (event) => {
|
|
1228
1246
|
if (asModalTrigger) event.preventDefault();
|
|
1229
1247
|
onSelect?.(event);
|
|
@@ -1349,7 +1367,7 @@ var DropdownMenuRadioItem = ({
|
|
|
1349
1367
|
...props,
|
|
1350
1368
|
children: [
|
|
1351
1369
|
isAtStart && indicatorEle,
|
|
1352
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { className: iconClassName, children:
|
|
1370
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { className: iconClassName, children: icon }),
|
|
1353
1371
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-flex tw-min-w-0 tw-flex-1 tw-items-center tw-gap-2", children }),
|
|
1354
1372
|
!isAtStart && indicatorEle
|
|
1355
1373
|
]
|
|
@@ -1414,10 +1432,12 @@ var DropdownMenuTrigger = ({
|
|
|
1414
1432
|
var DropdownMenu = ({
|
|
1415
1433
|
// change a default value to false, for modal property, as it is not used in most cases
|
|
1416
1434
|
modal = false,
|
|
1417
|
-
variant
|
|
1435
|
+
variant,
|
|
1418
1436
|
...props
|
|
1419
1437
|
}) => {
|
|
1420
|
-
const
|
|
1438
|
+
const isLegacy = useIsLegacyBrand();
|
|
1439
|
+
const effectiveVariant = !isLegacy || variant === "argo" ? "argo" : "default";
|
|
1440
|
+
const contextValue = react.useMemo(() => ({ variant: effectiveVariant }), [effectiveVariant]);
|
|
1421
1441
|
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuContext, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive3.Root, { ...props, modal }) });
|
|
1422
1442
|
};
|
|
1423
1443
|
DropdownMenu.Trigger = DropdownMenuTrigger;
|
|
@@ -1450,33 +1470,37 @@ var SplitButtonBase = ({
|
|
|
1450
1470
|
icon,
|
|
1451
1471
|
children,
|
|
1452
1472
|
...rest
|
|
1453
|
-
}) =>
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
]
|
|
1473
|
+
}) => {
|
|
1474
|
+
const isLegacy = useIsLegacyBrand();
|
|
1475
|
+
const renderArgo = !isLegacy || argo;
|
|
1476
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ButtonGroup, { space: "compact", children: [
|
|
1477
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Button, { ...rest, ref, disabled, variant, size, argo, children: [
|
|
1478
|
+
!rest.isLoading && icon,
|
|
1479
|
+
children
|
|
1480
|
+
] }),
|
|
1481
|
+
actions && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1482
|
+
DropdownMenu,
|
|
1483
|
+
{
|
|
1484
|
+
open: isActionsOpen,
|
|
1485
|
+
onOpenChange: onActionsOpenChange,
|
|
1486
|
+
variant: renderArgo ? "argo" : "default",
|
|
1487
|
+
children: [
|
|
1488
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenu.Trigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1489
|
+
Button,
|
|
1490
|
+
{
|
|
1491
|
+
argo,
|
|
1492
|
+
size: iconSizeMap[size],
|
|
1493
|
+
variant,
|
|
1494
|
+
"aria-label": "Additional actions",
|
|
1495
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronDown, { className: "tw-size-5" })
|
|
1496
|
+
}
|
|
1497
|
+
) }),
|
|
1498
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenu.Content, { align: "end", children: actions })
|
|
1499
|
+
]
|
|
1500
|
+
}
|
|
1501
|
+
)
|
|
1502
|
+
] });
|
|
1503
|
+
};
|
|
1480
1504
|
var SplitButton = Object.assign(SplitButtonBase, {
|
|
1481
1505
|
Action: DropdownMenu.Item,
|
|
1482
1506
|
Actions: DropdownMenu.Group
|
|
@@ -1500,7 +1524,7 @@ var MultiActionButton = ({
|
|
|
1500
1524
|
variant: "invisible",
|
|
1501
1525
|
size: "icon",
|
|
1502
1526
|
"data-testid": dataTestId,
|
|
1503
|
-
children: !isLoading &&
|
|
1527
|
+
children: !isLoading && icon
|
|
1504
1528
|
}
|
|
1505
1529
|
) });
|
|
1506
1530
|
var MultiActionButtonGroup = ({ children, className }) => /* @__PURE__ */ jsxRuntime.jsx(ButtonGroup, { className: cn("tw-text-nowrap", className), children });
|
|
@@ -1609,6 +1633,33 @@ var toggleVariants = classVarianceAuthority.cva(
|
|
|
1609
1633
|
// hover on pressed state
|
|
1610
1634
|
"not-disabled:hover:aria-pressed:tw-bg-secondary-200",
|
|
1611
1635
|
"[&_svg]:not-disabled:hover:aria-pressed:tw-text-secondary-600"
|
|
1636
|
+
],
|
|
1637
|
+
argo: [
|
|
1638
|
+
// chrome — semantic tokens, opt-in via variant="argo"
|
|
1639
|
+
"tw-border-border",
|
|
1640
|
+
"tw-rounded-lg",
|
|
1641
|
+
"tw-text-foreground",
|
|
1642
|
+
// typography — override base uppercase / tw-text-xs / tracking from outer class list
|
|
1643
|
+
// so argo matches `Button argo` (sentence case, sm text)
|
|
1644
|
+
"tw-normal-case",
|
|
1645
|
+
"tw-tracking-normal",
|
|
1646
|
+
"tw-text-sm",
|
|
1647
|
+
// default state - transparent background
|
|
1648
|
+
"tw-bg-transparent",
|
|
1649
|
+
"[&_svg]:tw-text-muted-foreground",
|
|
1650
|
+
// hover state (off only — explicit so pressed doesn't double-up) — muted bg
|
|
1651
|
+
// is visibly subtler than the accent pressed bg, so hover and active read distinct.
|
|
1652
|
+
"not-disabled:hover:tw-border-border",
|
|
1653
|
+
"data-[state=off]:not-disabled:hover:tw-bg-muted",
|
|
1654
|
+
"data-[state=off]:not-disabled:hover:[&_svg]:tw-text-primary",
|
|
1655
|
+
// pressed state — stronger accent bg; hover-on keeps the same colour to avoid flicker
|
|
1656
|
+
"data-[state=on]:tw-bg-accent",
|
|
1657
|
+
"data-[state=on]:[&_svg]:tw-text-primary",
|
|
1658
|
+
// focus-visible ring (overrides base outline + shadow)
|
|
1659
|
+
"!tw-outline-none",
|
|
1660
|
+
"focus-visible:!tw-shadow-none",
|
|
1661
|
+
"focus-visible:tw-ring-2",
|
|
1662
|
+
"focus-visible:tw-ring-primary/50"
|
|
1612
1663
|
]
|
|
1613
1664
|
},
|
|
1614
1665
|
size: {
|
|
@@ -1624,7 +1675,27 @@ var toggleVariants = classVarianceAuthority.cva(
|
|
|
1624
1675
|
compoundVariants: [
|
|
1625
1676
|
{ iconOnly: true, size: "small", className: "tw-size-8" },
|
|
1626
1677
|
{ iconOnly: true, size: "medium", className: "tw-size-10" },
|
|
1627
|
-
{ iconOnly: true, size: "large", className: "tw-size-12" }
|
|
1678
|
+
{ iconOnly: true, size: "large", className: "tw-size-12" },
|
|
1679
|
+
// argo sizes match `Button argo` (small 32px / medium 36px / large 40px)
|
|
1680
|
+
// and `InputGroup argo` heights so argo Toggle aligns vertically next to them.
|
|
1681
|
+
{
|
|
1682
|
+
variant: "argo",
|
|
1683
|
+
size: "small",
|
|
1684
|
+
className: "tw-max-h-8 tw-min-h-8 tw-px-3 tw-py-2"
|
|
1685
|
+
},
|
|
1686
|
+
{
|
|
1687
|
+
variant: "argo",
|
|
1688
|
+
size: "medium",
|
|
1689
|
+
className: "tw-max-h-9 tw-min-h-9 tw-px-4 tw-py-2"
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
variant: "argo",
|
|
1693
|
+
size: "large",
|
|
1694
|
+
className: "tw-max-h-10 tw-min-h-10 tw-px-6 tw-py-2.5"
|
|
1695
|
+
},
|
|
1696
|
+
{ variant: "argo", iconOnly: true, size: "small", className: "tw-size-8" },
|
|
1697
|
+
{ variant: "argo", iconOnly: true, size: "medium", className: "tw-size-9" },
|
|
1698
|
+
{ variant: "argo", iconOnly: true, size: "large", className: "tw-size-10" }
|
|
1628
1699
|
],
|
|
1629
1700
|
defaultVariants: {
|
|
1630
1701
|
variant: "ai",
|
|
@@ -1655,7 +1726,7 @@ var Toggle = ({
|
|
|
1655
1726
|
disabled,
|
|
1656
1727
|
children: [
|
|
1657
1728
|
badge && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-absolute tw-right-0 tw-top-0 -tw-translate-y-1/2 tw-translate-x-1/4", children: badge }),
|
|
1658
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-inline-flex tw-size-4 tw-shrink-0 tw-items-center tw-justify-center tw-align-middle [&_svg:not([class*='tw-size-'])]:tw-size-4", children:
|
|
1729
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-inline-flex tw-size-4 tw-shrink-0 tw-items-center tw-justify-center tw-align-middle [&_svg:not([class*='tw-size-'])]:tw-size-4", children: icon }),
|
|
1659
1730
|
isAiVariant ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-bg-gradient-to-br tw-from-secondary-700 tw-to-purple-700 tw-bg-clip-text tw-text-transparent", children }) : children
|
|
1660
1731
|
]
|
|
1661
1732
|
}
|
|
@@ -1869,7 +1940,7 @@ var Link = ({
|
|
|
1869
1940
|
rel,
|
|
1870
1941
|
onClick: handleOnClick,
|
|
1871
1942
|
className: cn(
|
|
1872
|
-
"tw-text-
|
|
1943
|
+
"tw-text-primary tw-underline hover:tw-text-primary/90 hover:tw-no-underline",
|
|
1873
1944
|
className
|
|
1874
1945
|
),
|
|
1875
1946
|
children
|
|
@@ -1896,6 +1967,8 @@ var ModalBody = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
1896
1967
|
...props
|
|
1897
1968
|
}
|
|
1898
1969
|
);
|
|
1970
|
+
var ModalArgoContext = react.createContext(false);
|
|
1971
|
+
var useModalArgo = () => react.use(ModalArgoContext);
|
|
1899
1972
|
var ModalOverlay = ({
|
|
1900
1973
|
ref,
|
|
1901
1974
|
className,
|
|
@@ -1932,8 +2005,11 @@ var ModalContent = ({
|
|
|
1932
2005
|
className,
|
|
1933
2006
|
children,
|
|
1934
2007
|
onEscapeKeyDown,
|
|
2008
|
+
argo,
|
|
1935
2009
|
...props
|
|
1936
2010
|
}) => {
|
|
2011
|
+
const isLegacy = useIsLegacyBrand();
|
|
2012
|
+
const renderArgo = !isLegacy || argo === true;
|
|
1937
2013
|
const handleEscapeKeyDown = (event) => {
|
|
1938
2014
|
event.stopPropagation();
|
|
1939
2015
|
onEscapeKeyDown?.(event);
|
|
@@ -1942,6 +2018,7 @@ var ModalContent = ({
|
|
|
1942
2018
|
DialogPrimitive.Content,
|
|
1943
2019
|
{
|
|
1944
2020
|
"aria-describedby": void 0,
|
|
2021
|
+
"data-argo": renderArgo,
|
|
1945
2022
|
className: cn(
|
|
1946
2023
|
// reset
|
|
1947
2024
|
"tailwindcss-preflight",
|
|
@@ -1960,7 +2037,7 @@ var ModalContent = ({
|
|
|
1960
2037
|
"tw-flex-col",
|
|
1961
2038
|
"tw-gap-4",
|
|
1962
2039
|
"tw-rounded-lg",
|
|
1963
|
-
"tw-bg-
|
|
2040
|
+
"tw-bg-surface",
|
|
1964
2041
|
"tw-px-7",
|
|
1965
2042
|
// 4 px less padding to prevent input focus rings/outlines from being clipped by overflow
|
|
1966
2043
|
"tw-py-8",
|
|
@@ -1985,7 +2062,7 @@ var ModalContent = ({
|
|
|
1985
2062
|
),
|
|
1986
2063
|
onEscapeKeyDown: handleEscapeKeyDown,
|
|
1987
2064
|
...props,
|
|
1988
|
-
children
|
|
2065
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ModalArgoContext, { value: renderArgo, children })
|
|
1989
2066
|
}
|
|
1990
2067
|
) }) });
|
|
1991
2068
|
};
|
|
@@ -2000,34 +2077,37 @@ var ModalFooter = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
2000
2077
|
...props
|
|
2001
2078
|
}
|
|
2002
2079
|
);
|
|
2003
|
-
var ModalCloseIcon = ({ className, ...rest }) =>
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2017
|
-
icons_exports.X,
|
|
2018
|
-
{
|
|
2019
|
-
className: cn(
|
|
2020
|
-
"tw-size-4",
|
|
2021
|
-
"tw-text-neutral-400",
|
|
2022
|
-
"group-focus/modal-close-icon:tw-text-neutral-500",
|
|
2023
|
-
"group-hover/modal-close-icon:tw-text-neutral-500"
|
|
2024
|
-
)
|
|
2025
|
-
}
|
|
2080
|
+
var ModalCloseIcon = ({ className, ...rest }) => {
|
|
2081
|
+
const argo = useModalArgo();
|
|
2082
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2083
|
+
DialogPrimitive.Close,
|
|
2084
|
+
{
|
|
2085
|
+
...rest,
|
|
2086
|
+
className: cn(
|
|
2087
|
+
"tw-group/modal-close-icon",
|
|
2088
|
+
"tw-flex",
|
|
2089
|
+
"tw-items-center",
|
|
2090
|
+
"tw-justify-center",
|
|
2091
|
+
"focus:tw-outline-none",
|
|
2092
|
+
className
|
|
2026
2093
|
),
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2094
|
+
children: [
|
|
2095
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2096
|
+
icons_exports.X,
|
|
2097
|
+
{
|
|
2098
|
+
className: cn(
|
|
2099
|
+
"tw-size-4",
|
|
2100
|
+
argo ? "tw-text-muted-foreground" : "tw-text-neutral-400",
|
|
2101
|
+
argo ? "group-focus/modal-close-icon:tw-text-foreground" : "group-focus/modal-close-icon:tw-text-neutral-500",
|
|
2102
|
+
argo ? "group-hover/modal-close-icon:tw-text-foreground" : "group-hover/modal-close-icon:tw-text-neutral-500"
|
|
2103
|
+
)
|
|
2104
|
+
}
|
|
2105
|
+
),
|
|
2106
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-sr-only", children: "Close" })
|
|
2107
|
+
]
|
|
2108
|
+
}
|
|
2109
|
+
);
|
|
2110
|
+
};
|
|
2031
2111
|
var ModalDescription = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2032
2112
|
DialogPrimitive__namespace.Description,
|
|
2033
2113
|
{
|
|
@@ -2050,37 +2130,40 @@ var ModalHeader = ({
|
|
|
2050
2130
|
hideCloseIcon = false,
|
|
2051
2131
|
children,
|
|
2052
2132
|
...props
|
|
2053
|
-
}) =>
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2133
|
+
}) => {
|
|
2134
|
+
const argo = useModalArgo();
|
|
2135
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2136
|
+
"div",
|
|
2137
|
+
{
|
|
2138
|
+
className: cn(
|
|
2139
|
+
"tw-flex",
|
|
2140
|
+
"tw-flex-col",
|
|
2141
|
+
"tw-gap-3",
|
|
2142
|
+
"tw-pb-5",
|
|
2143
|
+
// Show border separator only if body is visible
|
|
2144
|
+
"[&:has(~[data-slot=modal-body])]:tw-border-b",
|
|
2145
|
+
// Tabs render their own bottom border — drop header border + padding to avoid the double-line look
|
|
2146
|
+
"[&:has(~[data-slot=modal-body]_[data-slot=tabs-root])]:!tw-border-b-0",
|
|
2147
|
+
"[&:has(~[data-slot=modal-body]_[data-slot=tabs-root])]:!tw-pb-0",
|
|
2148
|
+
argo ? "tw-border-border" : "tw-border-neutral-150",
|
|
2149
|
+
"tw-px-1",
|
|
2150
|
+
// 4 px to complement ModalContent and still keep input focus outline visible
|
|
2151
|
+
className
|
|
2152
|
+
),
|
|
2153
|
+
...props,
|
|
2154
|
+
children: [
|
|
2155
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col", children: [
|
|
2156
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-justify-end tw-gap-2", children: [
|
|
2157
|
+
title && /* @__PURE__ */ jsxRuntime.jsx(ModalTitle, { children: title }),
|
|
2158
|
+
!hideCloseIcon && /* @__PURE__ */ jsxRuntime.jsx(ModalCloseIcon, {})
|
|
2159
|
+
] }),
|
|
2160
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(ModalDescription, { children: description })
|
|
2077
2161
|
] }),
|
|
2078
|
-
|
|
2079
|
-
]
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
);
|
|
2162
|
+
children
|
|
2163
|
+
]
|
|
2164
|
+
}
|
|
2165
|
+
);
|
|
2166
|
+
};
|
|
2084
2167
|
var NAMED_COLORS = /* @__PURE__ */ new Set(["orange", "blue", "red", "green", "gray", "violet"]);
|
|
2085
2168
|
var ModalIcon = (props) => {
|
|
2086
2169
|
const [hasImageError, setHasImageError] = react.useState(false);
|
|
@@ -2131,7 +2214,7 @@ var ModalIcon = (props) => {
|
|
|
2131
2214
|
'[&_svg:not([class*="tw-size-"])]:tw-size-6',
|
|
2132
2215
|
"[&_svg]:tw-aspect-square"
|
|
2133
2216
|
),
|
|
2134
|
-
children:
|
|
2217
|
+
children: props.icon
|
|
2135
2218
|
}
|
|
2136
2219
|
)
|
|
2137
2220
|
}
|
|
@@ -2284,10 +2367,13 @@ var FullScreenModalRoot = ({
|
|
|
2284
2367
|
className,
|
|
2285
2368
|
lockBodyScroll = true,
|
|
2286
2369
|
onEscapeKeyDown,
|
|
2287
|
-
|
|
2370
|
+
onKeyDown,
|
|
2371
|
+
argo,
|
|
2288
2372
|
...props
|
|
2289
2373
|
}) => {
|
|
2290
2374
|
const modalRef = react.useRef(null);
|
|
2375
|
+
const isLegacy = useIsLegacyBrand();
|
|
2376
|
+
const renderArgo = !isLegacy || argo === true;
|
|
2291
2377
|
react.useEffect(() => {
|
|
2292
2378
|
const modalElement = modalRef.current;
|
|
2293
2379
|
if (lockBodyScroll) {
|
|
@@ -2303,6 +2389,7 @@ var FullScreenModalRoot = ({
|
|
|
2303
2389
|
};
|
|
2304
2390
|
}, [lockBodyScroll]);
|
|
2305
2391
|
const handleKeyDown2 = (event) => {
|
|
2392
|
+
onKeyDown?.(event);
|
|
2306
2393
|
if (event.key === "Escape" && !event.defaultPrevented) {
|
|
2307
2394
|
onEscapeKeyDown?.(event);
|
|
2308
2395
|
}
|
|
@@ -2311,12 +2398,13 @@ var FullScreenModalRoot = ({
|
|
|
2311
2398
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2312
2399
|
"div",
|
|
2313
2400
|
{
|
|
2401
|
+
...props,
|
|
2314
2402
|
ref: modalRef,
|
|
2315
2403
|
role: "dialog",
|
|
2316
2404
|
"aria-modal": "true",
|
|
2317
2405
|
tabIndex: -1,
|
|
2318
2406
|
"data-fullscreen-modal": true,
|
|
2319
|
-
"data-argo":
|
|
2407
|
+
"data-argo": renderArgo,
|
|
2320
2408
|
onKeyDown: handleKeyDown2,
|
|
2321
2409
|
className: cn(
|
|
2322
2410
|
"tailwindcss-preflight",
|
|
@@ -2330,7 +2418,6 @@ var FullScreenModalRoot = ({
|
|
|
2330
2418
|
"focus-visible:tw-outline-none",
|
|
2331
2419
|
className
|
|
2332
2420
|
),
|
|
2333
|
-
...props,
|
|
2334
2421
|
children
|
|
2335
2422
|
}
|
|
2336
2423
|
),
|
|
@@ -2364,8 +2451,14 @@ var sheetContentVariants = classVarianceAuthority.cva(
|
|
|
2364
2451
|
"tw-z-[1051]",
|
|
2365
2452
|
"tw-flex",
|
|
2366
2453
|
"tw-flex-col",
|
|
2367
|
-
"tw-bg-
|
|
2454
|
+
"tw-bg-surface",
|
|
2368
2455
|
"tw-shadow-lg",
|
|
2456
|
+
// argo chrome overrides
|
|
2457
|
+
"data-[argo=true]:tw-border",
|
|
2458
|
+
"data-[argo=true]:tw-border-border",
|
|
2459
|
+
"data-[argo=true]:focus-visible:tw-outline-none",
|
|
2460
|
+
"data-[argo=true]:focus-visible:tw-ring-2",
|
|
2461
|
+
"data-[argo=true]:focus-visible:tw-ring-primary/50",
|
|
2369
2462
|
"tw-ease-in-out",
|
|
2370
2463
|
// opening animation
|
|
2371
2464
|
"data-[state=open]:tw-duration-200",
|
|
@@ -2388,14 +2481,16 @@ var sheetContentVariants = classVarianceAuthority.cva(
|
|
|
2388
2481
|
"tw-top-0",
|
|
2389
2482
|
"tw-h-auto",
|
|
2390
2483
|
"data-[state=closed]:tw-slide-out-to-top",
|
|
2391
|
-
"data-[state=open]:tw-slide-in-from-top"
|
|
2484
|
+
"data-[state=open]:tw-slide-in-from-top",
|
|
2485
|
+
"data-[argo=true]:tw-rounded-b-lg"
|
|
2392
2486
|
],
|
|
2393
2487
|
right: [
|
|
2394
2488
|
"tw-inset-y-0",
|
|
2395
2489
|
"tw-right-0",
|
|
2396
2490
|
"tw-h-full",
|
|
2397
2491
|
"data-[state=closed]:tw-slide-out-to-right",
|
|
2398
|
-
"data-[state=open]:tw-slide-in-from-right"
|
|
2492
|
+
"data-[state=open]:tw-slide-in-from-right",
|
|
2493
|
+
"data-[argo=true]:tw-rounded-l-lg"
|
|
2399
2494
|
],
|
|
2400
2495
|
bottom: [
|
|
2401
2496
|
"tw-inset-x-0",
|
|
@@ -2403,15 +2498,17 @@ var sheetContentVariants = classVarianceAuthority.cva(
|
|
|
2403
2498
|
"tw-h-auto",
|
|
2404
2499
|
"data-[state=closed]:tw-slide-out-to-bottom",
|
|
2405
2500
|
"data-[state=open]:tw-slide-in-from-bottom",
|
|
2406
|
-
"tw-drop-shadow-2xl"
|
|
2501
|
+
"tw-drop-shadow-2xl",
|
|
2407
2502
|
// standard tailwindcss shadow is invisible for a bottom sheet because of positioning
|
|
2503
|
+
"data-[argo=true]:tw-rounded-t-lg"
|
|
2408
2504
|
],
|
|
2409
2505
|
left: [
|
|
2410
2506
|
"tw-inset-y-0",
|
|
2411
2507
|
"tw-left-0",
|
|
2412
2508
|
"tw-h-full",
|
|
2413
2509
|
"data-[state=closed]:tw-slide-out-to-left",
|
|
2414
|
-
"data-[state=open]:tw-slide-in-from-left"
|
|
2510
|
+
"data-[state=open]:tw-slide-in-from-left",
|
|
2511
|
+
"data-[argo=true]:tw-rounded-r-lg"
|
|
2415
2512
|
]
|
|
2416
2513
|
}
|
|
2417
2514
|
}
|
|
@@ -2427,8 +2524,11 @@ var SheetContent = ({
|
|
|
2427
2524
|
onPointerDownOutside,
|
|
2428
2525
|
onInteractOutside,
|
|
2429
2526
|
container,
|
|
2527
|
+
argo,
|
|
2430
2528
|
...props
|
|
2431
2529
|
}) => {
|
|
2530
|
+
const isLegacy = useIsLegacyBrand();
|
|
2531
|
+
const renderArgo = !isLegacy || argo === true;
|
|
2432
2532
|
const handleOnPointerDownOutside = (event) => {
|
|
2433
2533
|
if (keepOpenOnPointerDownOutside) event.preventDefault();
|
|
2434
2534
|
onPointerDownOutside?.(event);
|
|
@@ -2448,6 +2548,7 @@ var SheetContent = ({
|
|
|
2448
2548
|
onPointerDownOutside: handleOnPointerDownOutside,
|
|
2449
2549
|
onInteractOutside: handleOnInteractOutside,
|
|
2450
2550
|
"data-side": side,
|
|
2551
|
+
"data-argo": renderArgo,
|
|
2451
2552
|
children
|
|
2452
2553
|
}
|
|
2453
2554
|
)
|
|
@@ -2475,7 +2576,7 @@ var SheetHeader = ({
|
|
|
2475
2576
|
] });
|
|
2476
2577
|
};
|
|
2477
2578
|
var SheetTitle = ({ className, visuallyHidden = false, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive.Title, { className: cn({ "tw-sr-only": visuallyHidden }, className), ...props });
|
|
2478
|
-
var Sheet = (
|
|
2579
|
+
var Sheet = (props) => /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive.Root, { ...props });
|
|
2479
2580
|
Sheet.Close = DialogPrimitive.Close;
|
|
2480
2581
|
Sheet.Trigger = DialogPrimitive.Trigger;
|
|
2481
2582
|
Sheet.Content = SheetContent;
|
|
@@ -2501,11 +2602,7 @@ var variants3 = classVarianceAuthority.cva(
|
|
|
2501
2602
|
"tw-box-border",
|
|
2502
2603
|
"tw-border",
|
|
2503
2604
|
"tw-border-solid",
|
|
2504
|
-
"tw-border-neutral-100",
|
|
2505
2605
|
"tw-shadow-lg",
|
|
2506
|
-
// colors
|
|
2507
|
-
"tw-bg-white",
|
|
2508
|
-
"tw-text-neutral-800",
|
|
2509
2606
|
// open animation
|
|
2510
2607
|
"data-[state=open]:tw-animate-in",
|
|
2511
2608
|
"data-[state=open]:tw-fade-in-0",
|
|
@@ -2530,8 +2627,10 @@ var variants3 = classVarianceAuthority.cva(
|
|
|
2530
2627
|
},
|
|
2531
2628
|
variants: {
|
|
2532
2629
|
variant: {
|
|
2533
|
-
|
|
2534
|
-
|
|
2630
|
+
// Legacy surface — fixed white panel.
|
|
2631
|
+
default: ["tw-rounded-md", "tw-border-neutral-100", "tw-bg-white", "tw-text-neutral-800"],
|
|
2632
|
+
// Argo surface — semantic popover tokens (brand + dark aware).
|
|
2633
|
+
argo: ["tw-rounded-2xl", "tw-border-border", "tw-bg-popover", "tw-text-popover-foreground"]
|
|
2535
2634
|
},
|
|
2536
2635
|
matchTriggerWidth: {
|
|
2537
2636
|
true: ["tw-w-[var(--radix-popover-trigger-width)]"],
|
|
@@ -2550,21 +2649,25 @@ var PopoverContent = ({
|
|
|
2550
2649
|
variant,
|
|
2551
2650
|
onEscapeKeyDown,
|
|
2552
2651
|
...props
|
|
2553
|
-
}) =>
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2652
|
+
}) => {
|
|
2653
|
+
const isLegacy = useIsLegacyBrand();
|
|
2654
|
+
const effectiveVariant = !isLegacy || variant === "argo" ? "argo" : "default";
|
|
2655
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactPopover.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2656
|
+
reactPopover.Content,
|
|
2657
|
+
{
|
|
2658
|
+
ref,
|
|
2659
|
+
align: matchTriggerWidth ? "start" : align,
|
|
2660
|
+
sideOffset,
|
|
2661
|
+
className: cn(variants3({ className, matchTriggerWidth, variant: effectiveVariant })),
|
|
2662
|
+
onEscapeKeyDown: (event) => {
|
|
2663
|
+
event.stopPropagation();
|
|
2664
|
+
onEscapeKeyDown?.(event);
|
|
2665
|
+
},
|
|
2666
|
+
...props,
|
|
2667
|
+
children
|
|
2668
|
+
}
|
|
2669
|
+
) });
|
|
2670
|
+
};
|
|
2568
2671
|
var Popover = (props) => /* @__PURE__ */ jsxRuntime.jsx(reactPopover.Root, { ...props });
|
|
2569
2672
|
Popover.Content = PopoverContent;
|
|
2570
2673
|
Popover.Trigger = reactPopover.Trigger;
|
|
@@ -2633,15 +2736,7 @@ var PopconfirmContent = ({ className, onInteractOutside, ...props }) => {
|
|
|
2633
2736
|
{
|
|
2634
2737
|
...props,
|
|
2635
2738
|
onInteractOutside: handleOnInteractOutside,
|
|
2636
|
-
className: cn(
|
|
2637
|
-
"tw-flex",
|
|
2638
|
-
"tw-flex-col",
|
|
2639
|
-
"tw-gap-2",
|
|
2640
|
-
"tw-gap-3",
|
|
2641
|
-
"tw-px-4 ",
|
|
2642
|
-
"tw-py-3",
|
|
2643
|
-
className
|
|
2644
|
-
)
|
|
2739
|
+
className: cn("tw-flex", "tw-flex-col", "tw-gap-3", "tw-px-4", "tw-py-3", className)
|
|
2645
2740
|
}
|
|
2646
2741
|
);
|
|
2647
2742
|
};
|
|
@@ -2713,53 +2808,61 @@ var HoverCardContent = ({
|
|
|
2713
2808
|
className,
|
|
2714
2809
|
align = "center",
|
|
2715
2810
|
sideOffset = 4,
|
|
2811
|
+
argo,
|
|
2716
2812
|
children,
|
|
2717
2813
|
...props
|
|
2718
|
-
}) =>
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
"
|
|
2728
|
-
"
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2814
|
+
}) => {
|
|
2815
|
+
const isLegacy = useIsLegacyBrand();
|
|
2816
|
+
const renderArgo = !isLegacy || argo === true;
|
|
2817
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactHoverCard.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2818
|
+
reactHoverCard.Content,
|
|
2819
|
+
{
|
|
2820
|
+
ref,
|
|
2821
|
+
align,
|
|
2822
|
+
sideOffset,
|
|
2823
|
+
"data-slot": "hover-card-content",
|
|
2824
|
+
"data-argo": renderArgo,
|
|
2825
|
+
className: cn(
|
|
2826
|
+
"tailwindcss-preflight",
|
|
2827
|
+
"tw-group/hover-card-content",
|
|
2828
|
+
"tw-z-50",
|
|
2829
|
+
// border
|
|
2830
|
+
"tw-box-border",
|
|
2831
|
+
"tw-border",
|
|
2832
|
+
"tw-rounded-2xl",
|
|
2833
|
+
// sizing
|
|
2834
|
+
"tw-min-w-32",
|
|
2835
|
+
"tw-origin-[--radix-hover-card-content-transform-origin]",
|
|
2836
|
+
"tw-max-h-[var(--radix-hover-card-content-available-height)]",
|
|
2837
|
+
// padding + shared shadow
|
|
2838
|
+
"tw-p-4",
|
|
2839
|
+
"tw-shadow-md",
|
|
2840
|
+
// legacy chrome — default
|
|
2841
|
+
"tw-border-neutral-150 tw-bg-white",
|
|
2842
|
+
// argo chrome overrides — semantic floating-panel tokens
|
|
2843
|
+
"data-[argo=true]:tw-border-solid data-[argo=true]:tw-border-border data-[argo=true]:tw-bg-popover data-[argo=true]:tw-text-popover-foreground",
|
|
2844
|
+
// directional animations
|
|
2845
|
+
"data-[side=bottom]:tw-slide-in-from-top-2",
|
|
2846
|
+
"data-[side=left]:tw-slide-in-from-right-2",
|
|
2847
|
+
"data-[side=right]:tw-slide-in-from-left-2",
|
|
2848
|
+
"data-[side=top]:tw-slide-in-from-bottom-2",
|
|
2849
|
+
// animations
|
|
2850
|
+
"data-[state=open]:tw-animate-in",
|
|
2851
|
+
"data-[state=open]:tw-fade-in-0",
|
|
2852
|
+
"data-[state=open]:tw-zoom-in-95",
|
|
2853
|
+
"data-[state=closed]:tw-animate-out",
|
|
2854
|
+
"data-[state=closed]:tw-fade-out-0",
|
|
2855
|
+
"data-[state=closed]:tw-zoom-out-95",
|
|
2856
|
+
// Default size for nested Lucide icons; callers can override on the icon.
|
|
2857
|
+
"[&_svg.lucide:not([class*='tw-size-'])]:tw-size-4",
|
|
2858
|
+
"[&_svg]:tw-shrink-0",
|
|
2859
|
+
className
|
|
2860
|
+
),
|
|
2861
|
+
...props,
|
|
2862
|
+
children
|
|
2863
|
+
}
|
|
2864
|
+
) });
|
|
2865
|
+
};
|
|
2763
2866
|
var HoverCard = ({ openDelay = 200, closeDelay = 200, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(reactHoverCard.Root, { ...rest, openDelay, closeDelay });
|
|
2764
2867
|
HoverCard.Content = HoverCardContent;
|
|
2765
2868
|
HoverCard.Trigger = reactHoverCard.Trigger;
|
|
@@ -2788,10 +2891,10 @@ var CommandGroup = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
2788
2891
|
"[&_[cmdk-group-heading]]:tw-py-0.5",
|
|
2789
2892
|
"[&_[cmdk-group-heading]]:tw-uppercase",
|
|
2790
2893
|
"[&_[cmdk-group-heading]]:tw-text-[11px]",
|
|
2791
|
-
"[&_[cmdk-group-heading]]:tw-text-
|
|
2894
|
+
"[&_[cmdk-group-heading]]:tw-text-muted-foreground",
|
|
2792
2895
|
"[&_[cmdk-group-heading]]:tw-tracking-[1px]",
|
|
2793
2896
|
"[&_[cmdk-group-heading]]:tw-border-b",
|
|
2794
|
-
"[&_[cmdk-group-heading]]:tw-border-
|
|
2897
|
+
"[&_[cmdk-group-heading]]:tw-border-border",
|
|
2795
2898
|
"[&_[cmdk-group-heading]]:tw-my-2",
|
|
2796
2899
|
className
|
|
2797
2900
|
),
|
|
@@ -2799,13 +2902,13 @@ var CommandGroup = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
2799
2902
|
}
|
|
2800
2903
|
);
|
|
2801
2904
|
var dayPickerClassNames = {
|
|
2802
|
-
selected: `tw-bg-
|
|
2905
|
+
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`
|
|
2803
2906
|
};
|
|
2804
2907
|
var rangePickerClassNames = {
|
|
2805
|
-
range_start: `tw-bg-
|
|
2806
|
-
range_end: `tw-bg-
|
|
2908
|
+
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`,
|
|
2909
|
+
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`,
|
|
2807
2910
|
selected: `tw-font-medium tw-rounded`,
|
|
2808
|
-
range_middle: `tw-bg-
|
|
2911
|
+
range_middle: `tw-bg-accent tw-border-accent tw-text-accent-foreground tw-rounded-none tw-font-medium`
|
|
2809
2912
|
};
|
|
2810
2913
|
var Calendar = ({ className, classNames, ...props }) => {
|
|
2811
2914
|
const defaultClassNames = reactDayPicker.getDefaultClassNames();
|
|
@@ -2816,10 +2919,10 @@ var Calendar = ({ className, classNames, ...props }) => {
|
|
|
2816
2919
|
captionLayout: "dropdown",
|
|
2817
2920
|
className: cn(className, "tw-p-3"),
|
|
2818
2921
|
classNames: {
|
|
2819
|
-
chevron: `${defaultClassNames.chevron} tw-fill-
|
|
2820
|
-
day: `${defaultClassNames.day} hover:tw-bg-
|
|
2922
|
+
chevron: `${defaultClassNames.chevron} tw-fill-foreground`,
|
|
2923
|
+
day: `${defaultClassNames.day} hover:tw-bg-accent tw-rounded`,
|
|
2821
2924
|
day_button: `${defaultClassNames.day_button} tw-rounded`,
|
|
2822
|
-
today: `tw-bg-
|
|
2925
|
+
today: `tw-bg-accent tw-text-accent-foreground tw-font-medium`,
|
|
2823
2926
|
...dayPickerClassNames,
|
|
2824
2927
|
...rangePickerClassNames,
|
|
2825
2928
|
selected: `${props.mode === "range" ? rangePickerClassNames.selected : dayPickerClassNames.selected}`,
|
|
@@ -2833,27 +2936,31 @@ Calendar.displayName = "Calendar";
|
|
|
2833
2936
|
var DatePicker = ({
|
|
2834
2937
|
align = "end",
|
|
2835
2938
|
alignOffset = -18,
|
|
2836
|
-
argo
|
|
2939
|
+
argo,
|
|
2837
2940
|
children,
|
|
2838
2941
|
defaultOpen,
|
|
2839
2942
|
onOpenChange,
|
|
2840
2943
|
open,
|
|
2841
2944
|
sideOffset = 12,
|
|
2842
2945
|
...calendarProps
|
|
2843
|
-
}) =>
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
{
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2946
|
+
}) => {
|
|
2947
|
+
const isLegacy = useIsLegacyBrand();
|
|
2948
|
+
const renderArgo = !isLegacy || argo === true;
|
|
2949
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { defaultOpen, open, onOpenChange, children: [
|
|
2950
|
+
/* @__PURE__ */ jsxRuntime.jsx(Popover.Trigger, { asChild: true, children }),
|
|
2951
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2952
|
+
Popover.Content,
|
|
2953
|
+
{
|
|
2954
|
+
align,
|
|
2955
|
+
alignOffset,
|
|
2956
|
+
className: "tw-w-auto tw-p-0",
|
|
2957
|
+
sideOffset,
|
|
2958
|
+
variant: renderArgo ? "argo" : "default",
|
|
2959
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Calendar, { ...calendarProps })
|
|
2960
|
+
}
|
|
2961
|
+
)
|
|
2962
|
+
] });
|
|
2963
|
+
};
|
|
2857
2964
|
DatePicker.displayName = "DatePicker";
|
|
2858
2965
|
var addonVariants = classVarianceAuthority.cva(
|
|
2859
2966
|
[
|
|
@@ -3137,7 +3244,8 @@ var inputGroupVariants = classVarianceAuthority.cva(
|
|
|
3137
3244
|
"has-[:is(input,textarea):disabled]:tw-opacity-40"
|
|
3138
3245
|
],
|
|
3139
3246
|
argo: [
|
|
3140
|
-
|
|
3247
|
+
// muted filled input surface — gray, distinct from white containers; not the app-background token
|
|
3248
|
+
"tw-bg-muted",
|
|
3141
3249
|
"tw-border-input",
|
|
3142
3250
|
"tw-rounded-lg",
|
|
3143
3251
|
"tw-text-foreground",
|
|
@@ -3191,15 +3299,28 @@ var InputGroupRoot = ({
|
|
|
3191
3299
|
focusVariant,
|
|
3192
3300
|
className,
|
|
3193
3301
|
...props
|
|
3194
|
-
}) =>
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3302
|
+
}) => {
|
|
3303
|
+
const isLegacy = useIsLegacyBrand();
|
|
3304
|
+
const effectiveVariant = !isLegacy || variant === "argo" ? "argo" : variant;
|
|
3305
|
+
const effectiveSizing = effectiveVariant === "argo" ? "medium" : sizing;
|
|
3306
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3307
|
+
"div",
|
|
3308
|
+
{
|
|
3309
|
+
...props,
|
|
3310
|
+
ref,
|
|
3311
|
+
className: cn(
|
|
3312
|
+
inputGroupVariants({
|
|
3313
|
+
state,
|
|
3314
|
+
variant: effectiveVariant,
|
|
3315
|
+
sizing: effectiveSizing,
|
|
3316
|
+
focusVariant,
|
|
3317
|
+
className
|
|
3318
|
+
})
|
|
3319
|
+
),
|
|
3320
|
+
children
|
|
3321
|
+
}
|
|
3322
|
+
);
|
|
3323
|
+
};
|
|
3203
3324
|
var InputGroup = InputGroupRoot;
|
|
3204
3325
|
InputGroup.Input = InputGroupInput;
|
|
3205
3326
|
InputGroup.Addon = InputGroupAddon;
|
|
@@ -3312,7 +3433,7 @@ var Input = ({
|
|
|
3312
3433
|
"div",
|
|
3313
3434
|
{
|
|
3314
3435
|
className: cn({
|
|
3315
|
-
"tw-whitespace-nowrap tw-bg-
|
|
3436
|
+
"tw-whitespace-nowrap tw-bg-muted tw-px-4 -tw-mr-4 tw-py-2.5": rightSuffixVariant === "addon"
|
|
3316
3437
|
}),
|
|
3317
3438
|
children: rightSuffix
|
|
3318
3439
|
}
|
|
@@ -3376,6 +3497,7 @@ var DateInput = ({
|
|
|
3376
3497
|
readOnly,
|
|
3377
3498
|
startMonth,
|
|
3378
3499
|
value,
|
|
3500
|
+
variant,
|
|
3379
3501
|
...props
|
|
3380
3502
|
}) => {
|
|
3381
3503
|
const [inputValue, setInputValue] = react.useState("");
|
|
@@ -3445,6 +3567,7 @@ var DateInput = ({
|
|
|
3445
3567
|
readOnly,
|
|
3446
3568
|
ref,
|
|
3447
3569
|
value: displayValue,
|
|
3570
|
+
variant,
|
|
3448
3571
|
rightSuffix: !disabled && !readOnly ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3449
3572
|
DatePicker,
|
|
3450
3573
|
{
|
|
@@ -3601,6 +3724,7 @@ var TextInput = ({
|
|
|
3601
3724
|
value,
|
|
3602
3725
|
defaultValue,
|
|
3603
3726
|
type = "text",
|
|
3727
|
+
variant,
|
|
3604
3728
|
onValueChange,
|
|
3605
3729
|
onChange,
|
|
3606
3730
|
onValueBlur,
|
|
@@ -3623,6 +3747,7 @@ var TextInput = ({
|
|
|
3623
3747
|
onChange: handleChange,
|
|
3624
3748
|
onBlur: handleBlur,
|
|
3625
3749
|
type,
|
|
3750
|
+
variant,
|
|
3626
3751
|
value: sanitizeTextInputValue(value),
|
|
3627
3752
|
defaultValue: sanitizeTextInputValue(defaultValue)
|
|
3628
3753
|
}
|
|
@@ -3648,12 +3773,12 @@ var TimePickerButton = ({
|
|
|
3648
3773
|
"tw-rounded",
|
|
3649
3774
|
"tw-transition-colors",
|
|
3650
3775
|
"tw-select-none",
|
|
3651
|
-
"hover:tw-bg-
|
|
3776
|
+
"hover:tw-bg-accent",
|
|
3652
3777
|
"focus-visible:tw-outline",
|
|
3653
3778
|
"focus-visible:tw-outline-2",
|
|
3654
|
-
"focus-visible:tw-outline-
|
|
3655
|
-
"aria-selected:tw-bg-
|
|
3656
|
-
"aria-selected:tw-text-
|
|
3779
|
+
"focus-visible:tw-outline-primary",
|
|
3780
|
+
"aria-selected:tw-bg-primary",
|
|
3781
|
+
"aria-selected:tw-text-primary-foreground",
|
|
3657
3782
|
className
|
|
3658
3783
|
),
|
|
3659
3784
|
children
|
|
@@ -3684,7 +3809,7 @@ var MINUTES = Array.from({ length: 60 }, (_, i) => i);
|
|
|
3684
3809
|
var TimePicker = ({
|
|
3685
3810
|
align = "end",
|
|
3686
3811
|
alignOffset = -18,
|
|
3687
|
-
argo
|
|
3812
|
+
argo,
|
|
3688
3813
|
children,
|
|
3689
3814
|
defaultOpen,
|
|
3690
3815
|
defaultSelected,
|
|
@@ -3694,6 +3819,8 @@ var TimePicker = ({
|
|
|
3694
3819
|
selected,
|
|
3695
3820
|
sideOffset = 12
|
|
3696
3821
|
}) => {
|
|
3822
|
+
const isLegacy = useIsLegacyBrand();
|
|
3823
|
+
const renderArgo = !isLegacy || argo;
|
|
3697
3824
|
const [internalSelected, setInternalSelected] = react.useState(defaultSelected ?? null);
|
|
3698
3825
|
const isControlled = selected !== void 0;
|
|
3699
3826
|
const currentValue = isControlled ? selected : internalSelected;
|
|
@@ -3723,7 +3850,7 @@ var TimePicker = ({
|
|
|
3723
3850
|
alignOffset,
|
|
3724
3851
|
sideOffset,
|
|
3725
3852
|
className: "tw-flex tw-flex-row",
|
|
3726
|
-
variant:
|
|
3853
|
+
variant: renderArgo ? "argo" : "default",
|
|
3727
3854
|
children: [
|
|
3728
3855
|
/* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { type: "always", ref: scrollToSelected, viewPortClassName: "tw-h-60 tw-px-3", children: HOURS.map((value) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3729
3856
|
TimePickerButton,
|
|
@@ -3759,6 +3886,7 @@ var TimeInput = ({
|
|
|
3759
3886
|
placeholder = "Select time",
|
|
3760
3887
|
readOnly,
|
|
3761
3888
|
value,
|
|
3889
|
+
variant,
|
|
3762
3890
|
className,
|
|
3763
3891
|
...props
|
|
3764
3892
|
}) => {
|
|
@@ -3804,6 +3932,7 @@ var TimeInput = ({
|
|
|
3804
3932
|
placeholder,
|
|
3805
3933
|
className: cn("[&_input::-webkit-calendar-picker-indicator]:tw-hidden", className),
|
|
3806
3934
|
value: currentValue,
|
|
3935
|
+
variant,
|
|
3807
3936
|
onChange: handleChange,
|
|
3808
3937
|
onBlur: handleBlur,
|
|
3809
3938
|
onClear: currentValue ? handleClear : void 0,
|
|
@@ -3962,7 +4091,7 @@ var CommandItem = ({
|
|
|
3962
4091
|
),
|
|
3963
4092
|
children: [
|
|
3964
4093
|
/* @__PURE__ */ jsxRuntime.jsx(CheckIndicator, { variant }),
|
|
3965
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-inline-flex tw-size-4 tw-shrink-0 tw-items-center tw-justify-center tw-text-
|
|
4094
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-inline-flex tw-size-4 tw-shrink-0 tw-items-center tw-justify-center tw-text-muted-foreground [&_svg:not([class*='tw-size-'])]:tw-size-4", children: icon }),
|
|
3966
4095
|
children
|
|
3967
4096
|
]
|
|
3968
4097
|
}
|
|
@@ -4012,14 +4141,18 @@ var CommandSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.j
|
|
|
4012
4141
|
...props
|
|
4013
4142
|
}
|
|
4014
4143
|
);
|
|
4015
|
-
var Command = ({ className, variant
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
)
|
|
4144
|
+
var Command = ({ className, variant, ...rest }) => {
|
|
4145
|
+
const isLegacy = useIsLegacyBrand();
|
|
4146
|
+
const effectiveVariant = !isLegacy || variant === "argo" ? "argo" : "default";
|
|
4147
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4148
|
+
cmdk.Command,
|
|
4149
|
+
{
|
|
4150
|
+
"data-variant": effectiveVariant,
|
|
4151
|
+
className: cn("tw-group/command", "tailwindcss-preflight", className),
|
|
4152
|
+
...rest
|
|
4153
|
+
}
|
|
4154
|
+
);
|
|
4155
|
+
};
|
|
4023
4156
|
Command.Content = CommandContent;
|
|
4024
4157
|
Command.Separator = CommandSeparator;
|
|
4025
4158
|
Command.List = CommandList;
|
|
@@ -4064,7 +4197,7 @@ var DateRangePicker = ({
|
|
|
4064
4197
|
}
|
|
4065
4198
|
) }),
|
|
4066
4199
|
/* @__PURE__ */ jsxRuntime.jsx(Popover.Content, { variant: "argo", align: "start", className: "tw-w-auto tw-p-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex", children: [
|
|
4067
|
-
presets && presets.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-col tw-gap-1 tw-border-r tw-border-solid tw-border-
|
|
4200
|
+
presets && presets.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-col tw-gap-1 tw-border-r tw-border-solid tw-border-border tw-p-2", children: presets.map((preset) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4068
4201
|
Button,
|
|
4069
4202
|
{
|
|
4070
4203
|
argo: true,
|
|
@@ -4095,7 +4228,7 @@ var DateRangePicker = ({
|
|
|
4095
4228
|
] }) })
|
|
4096
4229
|
] });
|
|
4097
4230
|
DateRangePicker.displayName = "DateRangePicker";
|
|
4098
|
-
var Optional = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("tw-text-
|
|
4231
|
+
var Optional = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("tw-text-muted-foreground", className), children: "(optional)" });
|
|
4099
4232
|
var Label2 = ({ className, children, id, htmlFor, ...rest }) => {
|
|
4100
4233
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4101
4234
|
RLabel__namespace.Root,
|
|
@@ -4104,7 +4237,7 @@ var Label2 = ({ className, children, id, htmlFor, ...rest }) => {
|
|
|
4104
4237
|
id: id?.toString(),
|
|
4105
4238
|
htmlFor: htmlFor?.toString(),
|
|
4106
4239
|
className: cn(
|
|
4107
|
-
"tw-m-0 tw-text-
|
|
4240
|
+
"tw-m-0 tw-text-foreground tw-font-normal peer-disabled:tw-opacity-50",
|
|
4108
4241
|
className
|
|
4109
4242
|
),
|
|
4110
4243
|
children
|
|
@@ -4375,7 +4508,8 @@ var Switch = ({
|
|
|
4375
4508
|
}) => {
|
|
4376
4509
|
const fallbackId = react.useId();
|
|
4377
4510
|
const id = idProp?.toString() ?? fallbackId;
|
|
4378
|
-
const
|
|
4511
|
+
const isLegacy = useIsLegacyBrand();
|
|
4512
|
+
const switchVariant = !isLegacy || argo ? "argo" : "default";
|
|
4379
4513
|
const switchElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
4380
4514
|
reactSwitch.Root,
|
|
4381
4515
|
{
|
|
@@ -4395,110 +4529,163 @@ var Switch = ({
|
|
|
4395
4529
|
};
|
|
4396
4530
|
var RadioGroupContext = react.createContext({
|
|
4397
4531
|
variant: "radio",
|
|
4398
|
-
orientation: "horizontal"
|
|
4532
|
+
orientation: "horizontal",
|
|
4533
|
+
groupArgo: false
|
|
4399
4534
|
});
|
|
4400
4535
|
var RadioGroupProvider = RadioGroupContext;
|
|
4401
4536
|
var useRadioGroupContext = () => react.use(RadioGroupContext);
|
|
4402
|
-
var
|
|
4403
|
-
|
|
4537
|
+
var radioVariants = classVarianceAuthority.cva(
|
|
4538
|
+
[
|
|
4539
|
+
// reset
|
|
4540
|
+
"tw-bg-transparent",
|
|
4541
|
+
"tw-p-0",
|
|
4542
|
+
"tw-peer",
|
|
4543
|
+
"tw-cursor-pointer",
|
|
4544
|
+
"tw-whitespace-nowrap",
|
|
4545
|
+
"tw-shrink-0",
|
|
4546
|
+
// position
|
|
4547
|
+
"tw-flex",
|
|
4548
|
+
"tw-items-center",
|
|
4549
|
+
"tw-justify-center",
|
|
4550
|
+
"disabled:tw-cursor-not-allowed",
|
|
4551
|
+
"tw-size-4",
|
|
4552
|
+
// border
|
|
4553
|
+
"tw-rounded-full",
|
|
4554
|
+
"tw-border",
|
|
4555
|
+
"tw-border-solid"
|
|
4556
|
+
],
|
|
4404
4557
|
{
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
// focus-visible ring
|
|
4435
|
-
"focus-visible:tw-ring-2",
|
|
4436
|
-
"focus-visible:tw-ring-secondary-200",
|
|
4437
|
-
className
|
|
4438
|
-
),
|
|
4439
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(RRadioGroup.Indicator, { className: cn("tw-flex", "tw-items-center", "tw-justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Circle, { className: "tw-size-2.5 tw-fill-current tw-text-primary" }) })
|
|
4558
|
+
defaultVariants: {
|
|
4559
|
+
variant: "default"
|
|
4560
|
+
},
|
|
4561
|
+
variants: {
|
|
4562
|
+
variant: {
|
|
4563
|
+
default: [
|
|
4564
|
+
"disabled:tw-opacity-40",
|
|
4565
|
+
"data-[state=checked]:tw-border-primary",
|
|
4566
|
+
"data-[state=unchecked]:tw-border-neutral-200",
|
|
4567
|
+
"data-[state=unchecked]:hover:tw-border-primary",
|
|
4568
|
+
"data-[state=unchecked]:disabled:hover:tw-border-neutral-200",
|
|
4569
|
+
"focus-visible:tw-ring-2",
|
|
4570
|
+
"focus-visible:tw-ring-secondary-200"
|
|
4571
|
+
],
|
|
4572
|
+
argo: [
|
|
4573
|
+
"disabled:tw-opacity-50",
|
|
4574
|
+
"tw-border-input",
|
|
4575
|
+
"tw-transition-colors",
|
|
4576
|
+
"data-[state=checked]:tw-bg-primary",
|
|
4577
|
+
"data-[state=checked]:tw-border-primary",
|
|
4578
|
+
"data-[state=unchecked]:not-disabled:hover:tw-bg-accent",
|
|
4579
|
+
"data-[state=checked]:not-disabled:hover:tw-bg-primary",
|
|
4580
|
+
"focus-visible:tw-outline-none",
|
|
4581
|
+
"focus-visible:tw-border-primary",
|
|
4582
|
+
"focus-visible:tw-ring-2",
|
|
4583
|
+
"focus-visible:tw-ring-primary/50"
|
|
4584
|
+
]
|
|
4585
|
+
}
|
|
4586
|
+
}
|
|
4440
4587
|
}
|
|
4441
4588
|
);
|
|
4589
|
+
var radioIndicatorVariants = classVarianceAuthority.cva(["tw-size-2.5", "tw-fill-current"], {
|
|
4590
|
+
defaultVariants: {
|
|
4591
|
+
variant: "default"
|
|
4592
|
+
},
|
|
4593
|
+
variants: {
|
|
4594
|
+
variant: {
|
|
4595
|
+
default: ["tw-text-primary"],
|
|
4596
|
+
argo: ["tw-text-primary-foreground"]
|
|
4597
|
+
}
|
|
4598
|
+
}
|
|
4599
|
+
});
|
|
4600
|
+
var radioItemButtonVariants = classVarianceAuthority.cva(
|
|
4601
|
+
[
|
|
4602
|
+
// reset
|
|
4603
|
+
"tw-bg-transparent",
|
|
4604
|
+
"tw-p-0",
|
|
4605
|
+
"tw-peer",
|
|
4606
|
+
"tw-cursor-pointer",
|
|
4607
|
+
"tw-whitespace-nowrap",
|
|
4608
|
+
// position
|
|
4609
|
+
"tw-flex",
|
|
4610
|
+
"tw-items-center",
|
|
4611
|
+
"tw-justify-center",
|
|
4612
|
+
"disabled:tw-cursor-not-allowed",
|
|
4613
|
+
// layouts
|
|
4614
|
+
"tw-w-full",
|
|
4615
|
+
"tw-px-2",
|
|
4616
|
+
"tw-py-1.5",
|
|
4617
|
+
// fonts
|
|
4618
|
+
"tw-uppercase",
|
|
4619
|
+
"tw-font-semibold",
|
|
4620
|
+
"tw-font-sans",
|
|
4621
|
+
"tw-text-[11px]",
|
|
4622
|
+
"tw-whitespace-nowrap",
|
|
4623
|
+
"tw-tracking-widest",
|
|
4624
|
+
"tw-leading-[18px]",
|
|
4625
|
+
// border
|
|
4626
|
+
"tw-border",
|
|
4627
|
+
"tw-border-solid",
|
|
4628
|
+
"tw-rounded"
|
|
4629
|
+
],
|
|
4630
|
+
{
|
|
4631
|
+
defaultVariants: {
|
|
4632
|
+
variant: "default"
|
|
4633
|
+
},
|
|
4634
|
+
variants: {
|
|
4635
|
+
variant: {
|
|
4636
|
+
default: [
|
|
4637
|
+
"disabled:tw-opacity-40",
|
|
4638
|
+
"tw-text-secondary-600",
|
|
4639
|
+
"tw-border-secondary-500",
|
|
4640
|
+
"data-[state=unchecked]:hover:tw-bg-secondary-500",
|
|
4641
|
+
"data-[state=unchecked]:hover:tw-text-white",
|
|
4642
|
+
"data-[state=unchecked]:disabled:hover:tw-bg-white",
|
|
4643
|
+
"data-[state=unchecked]:disabled:hover:tw-text-secondary-500",
|
|
4644
|
+
"data-[state=checked]:disabled:tw-cursor-not-allowed",
|
|
4645
|
+
"data-[state=unchecked]:tw-bg-white",
|
|
4646
|
+
"data-[state=checked]:tw-bg-secondary-500",
|
|
4647
|
+
"data-[state=checked]:tw-text-white",
|
|
4648
|
+
"data-[state=checked]:tw-cursor-default",
|
|
4649
|
+
"focus-visible:tw-outline",
|
|
4650
|
+
"focus-visible:tw-outline-secondary-500",
|
|
4651
|
+
"focus-visible:tw-ring-4",
|
|
4652
|
+
"focus-visible:tw-ring-secondary-200"
|
|
4653
|
+
],
|
|
4654
|
+
argo: [
|
|
4655
|
+
"disabled:tw-opacity-50",
|
|
4656
|
+
"tw-text-foreground",
|
|
4657
|
+
"tw-border-input",
|
|
4658
|
+
"tw-transition-colors",
|
|
4659
|
+
// muted filled control surface — gray, distinct from white containers; not the app-background token
|
|
4660
|
+
"data-[state=unchecked]:tw-bg-muted",
|
|
4661
|
+
"data-[state=unchecked]:not-disabled:hover:tw-bg-accent",
|
|
4662
|
+
"data-[state=unchecked]:not-disabled:hover:tw-text-accent-foreground",
|
|
4663
|
+
"data-[state=checked]:tw-bg-primary",
|
|
4664
|
+
"data-[state=checked]:tw-border-primary",
|
|
4665
|
+
"data-[state=checked]:tw-text-primary-foreground",
|
|
4666
|
+
"data-[state=checked]:not-disabled:tw-cursor-default",
|
|
4667
|
+
"focus-visible:tw-outline-none",
|
|
4668
|
+
"focus-visible:tw-border-primary",
|
|
4669
|
+
"focus-visible:tw-ring-2",
|
|
4670
|
+
"focus-visible:tw-ring-primary/50"
|
|
4671
|
+
]
|
|
4672
|
+
}
|
|
4673
|
+
}
|
|
4674
|
+
}
|
|
4675
|
+
);
|
|
4676
|
+
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 }) }) }) });
|
|
4442
4677
|
var RadioGroupItemButton = ({
|
|
4443
4678
|
ref,
|
|
4444
4679
|
className,
|
|
4445
4680
|
children,
|
|
4681
|
+
styleVariant = "default",
|
|
4446
4682
|
...props
|
|
4447
4683
|
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4448
4684
|
RRadioGroup.Item,
|
|
4449
4685
|
{
|
|
4450
4686
|
ref,
|
|
4451
4687
|
...props,
|
|
4452
|
-
className: cn(
|
|
4453
|
-
// reset
|
|
4454
|
-
"tw-bg-transparent",
|
|
4455
|
-
"tw-p-0",
|
|
4456
|
-
"tw-peer",
|
|
4457
|
-
"tw-cursor-pointer",
|
|
4458
|
-
"tw-whitespace-nowrap",
|
|
4459
|
-
// position
|
|
4460
|
-
"tw-flex",
|
|
4461
|
-
"tw-items-center",
|
|
4462
|
-
"tw-justify-center",
|
|
4463
|
-
// disabled
|
|
4464
|
-
"disabled:tw-opacity-40",
|
|
4465
|
-
"disabled:tw-cursor-not-allowed",
|
|
4466
|
-
// layouts
|
|
4467
|
-
"tw-w-full",
|
|
4468
|
-
"tw-px-2",
|
|
4469
|
-
"tw-py-1.5",
|
|
4470
|
-
// fonts
|
|
4471
|
-
"tw-text-secondary-600",
|
|
4472
|
-
"tw-uppercase",
|
|
4473
|
-
"tw-font-semibold",
|
|
4474
|
-
"tw-font-sans",
|
|
4475
|
-
"tw-text-[11px]",
|
|
4476
|
-
"tw-whitespace-nowrap",
|
|
4477
|
-
"tw-tracking-widest",
|
|
4478
|
-
"tw-leading-[18px]",
|
|
4479
|
-
// border
|
|
4480
|
-
"tw-border",
|
|
4481
|
-
"tw-border-solid",
|
|
4482
|
-
"tw-border-secondary-500",
|
|
4483
|
-
"tw-rounded",
|
|
4484
|
-
// hover
|
|
4485
|
-
"data-[state=unchecked]:hover:tw-bg-secondary-500",
|
|
4486
|
-
"data-[state=unchecked]:hover:tw-text-white",
|
|
4487
|
-
// disabled
|
|
4488
|
-
"data-[state=unchecked]:disabled:hover:tw-bg-white",
|
|
4489
|
-
"data-[state=unchecked]:disabled:hover:tw-text-secondary-500",
|
|
4490
|
-
"data-[state=checked]:disabled:tw-cursor-not-allowed",
|
|
4491
|
-
// states
|
|
4492
|
-
"data-[state=unchecked]:tw-bg-white",
|
|
4493
|
-
"data-[state=checked]:tw-bg-secondary-500",
|
|
4494
|
-
"data-[state=checked]:tw-text-white",
|
|
4495
|
-
"data-[state=checked]:tw-cursor-default",
|
|
4496
|
-
"focus-visible:tw-outline",
|
|
4497
|
-
"focus-visible:tw-outline-secondary-500",
|
|
4498
|
-
"focus-visible:tw-ring-4",
|
|
4499
|
-
"focus-visible:tw-ring-secondary-200",
|
|
4500
|
-
className
|
|
4501
|
-
),
|
|
4688
|
+
className: cn(radioItemButtonVariants({ variant: styleVariant }), className),
|
|
4502
4689
|
children
|
|
4503
4690
|
}
|
|
4504
4691
|
);
|
|
@@ -4508,19 +4695,22 @@ var RadioGroupItem = ({
|
|
|
4508
4695
|
tooltipVariant,
|
|
4509
4696
|
tooltipPlacement,
|
|
4510
4697
|
description,
|
|
4698
|
+
argo,
|
|
4511
4699
|
...props
|
|
4512
4700
|
}) => {
|
|
4513
|
-
const { variant } = useRadioGroupContext();
|
|
4701
|
+
const { variant, groupArgo } = useRadioGroupContext();
|
|
4702
|
+
const isLegacy = useIsLegacyBrand();
|
|
4703
|
+
const styleVariant = argo === true || groupArgo || !isLegacy ? "argo" : "default";
|
|
4514
4704
|
const id = react.useId();
|
|
4515
4705
|
const item = (() => {
|
|
4516
4706
|
if (variant === "button")
|
|
4517
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupItemButton, { ...props, children });
|
|
4707
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupItemButton, { styleVariant, ...props, children });
|
|
4518
4708
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4519
4709
|
FieldBox,
|
|
4520
4710
|
{
|
|
4521
4711
|
variant: variant === "radio-block" ? "boxed" : "default",
|
|
4522
4712
|
htmlFor: id,
|
|
4523
|
-
control: /* @__PURE__ */ jsxRuntime.jsx(Radio, { ...props, id }),
|
|
4713
|
+
control: /* @__PURE__ */ jsxRuntime.jsx(Radio, { styleVariant, ...props, id }),
|
|
4524
4714
|
className: variant === "radio-block" ? "tw-flex-1" : void 0,
|
|
4525
4715
|
children: [
|
|
4526
4716
|
/* @__PURE__ */ jsxRuntime.jsx(FieldBox.Title, { children }),
|
|
@@ -4655,12 +4845,15 @@ var RadioGroup2 = ({
|
|
|
4655
4845
|
className,
|
|
4656
4846
|
disabled = false,
|
|
4657
4847
|
orientation = "horizontal",
|
|
4848
|
+
argo,
|
|
4658
4849
|
onValueChange,
|
|
4659
4850
|
children,
|
|
4660
4851
|
value,
|
|
4661
4852
|
defaultValue,
|
|
4662
4853
|
...props
|
|
4663
4854
|
}) => {
|
|
4855
|
+
const isLegacy = useIsLegacyBrand();
|
|
4856
|
+
const groupArgo = !isLegacy || argo === true;
|
|
4664
4857
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4665
4858
|
RRadioGroup__namespace.Root,
|
|
4666
4859
|
{
|
|
@@ -4671,7 +4864,7 @@ var RadioGroup2 = ({
|
|
|
4671
4864
|
disabled,
|
|
4672
4865
|
value: value ?? void 0,
|
|
4673
4866
|
defaultValue: defaultValue ?? void 0,
|
|
4674
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(RadioGroupProvider, { value: { variant, orientation }, children })
|
|
4867
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(RadioGroupProvider, { value: { variant, orientation, groupArgo }, children })
|
|
4675
4868
|
}
|
|
4676
4869
|
);
|
|
4677
4870
|
};
|
|
@@ -5119,67 +5312,72 @@ var SelectContent = ({
|
|
|
5119
5312
|
container,
|
|
5120
5313
|
position = "popper",
|
|
5121
5314
|
sideOffset = 4,
|
|
5122
|
-
variant
|
|
5315
|
+
variant,
|
|
5123
5316
|
...props
|
|
5124
|
-
}) =>
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
"
|
|
5135
|
-
|
|
5136
|
-
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
|
|
5159
|
-
|
|
5160
|
-
|
|
5161
|
-
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
SelectPrimitive__namespace.Viewport,
|
|
5172
|
-
{
|
|
5173
|
-
className: cn({
|
|
5174
|
-
"tw-h-[var(--radix-select-trigger-height)] tw-w-full tw-min-w-[var(--radix-select-trigger-width)]": position === "popper"
|
|
5175
|
-
}),
|
|
5176
|
-
children
|
|
5177
|
-
}
|
|
5317
|
+
}) => {
|
|
5318
|
+
const isLegacy = useIsLegacyBrand();
|
|
5319
|
+
const effectiveVariant = !isLegacy || variant === "argo" ? "argo" : "default";
|
|
5320
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { container, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5321
|
+
SelectPrimitive__namespace.Content,
|
|
5322
|
+
{
|
|
5323
|
+
...props,
|
|
5324
|
+
ref,
|
|
5325
|
+
position,
|
|
5326
|
+
sideOffset,
|
|
5327
|
+
"data-variant": effectiveVariant,
|
|
5328
|
+
className: cn(
|
|
5329
|
+
"tailwindcss-preflight",
|
|
5330
|
+
"tw-group/select-content",
|
|
5331
|
+
// Floating tier above Modal (1051): Tooltip 1060 / Combobox·Popover·Select 1055 / Modal 1051 / DropdownMenu.SubContent 1041 / FullScreenModal 1039
|
|
5332
|
+
"tw-z-[1055]",
|
|
5333
|
+
// layout
|
|
5334
|
+
"tw-flex tw-flex-col",
|
|
5335
|
+
"tw-p-1",
|
|
5336
|
+
"data-[variant=default]:tw-p-0",
|
|
5337
|
+
"tw-overflow-hidden",
|
|
5338
|
+
"tw-origin-[--radix-select-content-transform-origin]",
|
|
5339
|
+
// sizing
|
|
5340
|
+
"tw-max-h-[var(--radix-select-content-available-height)]",
|
|
5341
|
+
"tw-min-w-[var(--radix-select-trigger-width)]",
|
|
5342
|
+
// appearance
|
|
5343
|
+
"tw-bg-popover",
|
|
5344
|
+
"tw-text-popover-foreground",
|
|
5345
|
+
"tw-shadow-md",
|
|
5346
|
+
"tw-ring-1",
|
|
5347
|
+
"tw-ring-foreground/10",
|
|
5348
|
+
"tw-rounded-lg",
|
|
5349
|
+
"data-[variant=default]:tw-rounded",
|
|
5350
|
+
// open animation
|
|
5351
|
+
"data-[state=open]:tw-animate-in",
|
|
5352
|
+
"data-[state=open]:tw-fade-in-0",
|
|
5353
|
+
"data-[state=open]:tw-zoom-in-95",
|
|
5354
|
+
// closed animation
|
|
5355
|
+
"data-[state=closed]:tw-animate-out",
|
|
5356
|
+
"data-[state=closed]:tw-fade-out-0",
|
|
5357
|
+
"data-[state=closed]:tw-zoom-out-95",
|
|
5358
|
+
// position animations
|
|
5359
|
+
"data-[side=bottom]:tw-slide-in-from-top-2",
|
|
5360
|
+
"data-[side=left]:tw-slide-in-from-right-2",
|
|
5361
|
+
"data-[side=right]:tw-slide-in-from-left-2",
|
|
5362
|
+
"data-[side=top]:tw-slide-in-from-bottom-2",
|
|
5363
|
+
className
|
|
5178
5364
|
),
|
|
5179
|
-
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
|
|
5365
|
+
children: [
|
|
5366
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ScrollUpButton, { className: scrollButtonStyles, children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronUp, {}) }),
|
|
5367
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5368
|
+
SelectPrimitive__namespace.Viewport,
|
|
5369
|
+
{
|
|
5370
|
+
className: cn({
|
|
5371
|
+
"tw-h-[var(--radix-select-trigger-height)] tw-w-full tw-min-w-[var(--radix-select-trigger-width)]": position === "popper"
|
|
5372
|
+
}),
|
|
5373
|
+
children
|
|
5374
|
+
}
|
|
5375
|
+
),
|
|
5376
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ScrollDownButton, { className: scrollButtonStyles, children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronDown, {}) })
|
|
5377
|
+
]
|
|
5378
|
+
}
|
|
5379
|
+
) });
|
|
5380
|
+
};
|
|
5183
5381
|
var SelectGroup = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Group, { ...props, className: cn("tw-flex tw-flex-col tw-gap-0.5", className) });
|
|
5184
5382
|
var SelectItem = ({
|
|
5185
5383
|
ref,
|
|
@@ -5228,7 +5426,7 @@ var SelectItem = ({
|
|
|
5228
5426
|
className
|
|
5229
5427
|
),
|
|
5230
5428
|
children: [
|
|
5231
|
-
|
|
5429
|
+
icon,
|
|
5232
5430
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw-flex-1 tw-truncate", children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children }) }),
|
|
5233
5431
|
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { className: "tw-pointer-events-none", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Check, { className: "tw-size-4" }) })
|
|
5234
5432
|
]
|
|
@@ -5245,7 +5443,7 @@ var SelectLabel = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
5245
5443
|
"tw-text-xs",
|
|
5246
5444
|
"tw-font-medium",
|
|
5247
5445
|
"tw-leading-none",
|
|
5248
|
-
"tw-text-
|
|
5446
|
+
"tw-text-muted-foreground",
|
|
5249
5447
|
// Default variant — uppercase tracked label, matches Combobox default
|
|
5250
5448
|
"group-data-[variant=default]/select-content:tw-uppercase",
|
|
5251
5449
|
"group-data-[variant=default]/select-content:tw-font-semibold",
|
|
@@ -5263,7 +5461,7 @@ var SelectSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.js
|
|
|
5263
5461
|
SelectPrimitive__namespace.Separator,
|
|
5264
5462
|
{
|
|
5265
5463
|
...props,
|
|
5266
|
-
className: cn("tw-mx-2 tw-my-1 tw-h-px tw-bg-
|
|
5464
|
+
className: cn("tw-mx-2 tw-my-1 tw-h-px tw-bg-border", className)
|
|
5267
5465
|
}
|
|
5268
5466
|
);
|
|
5269
5467
|
var variants4 = classVarianceAuthority.cva(
|
|
@@ -5350,7 +5548,8 @@ var variants4 = classVarianceAuthority.cva(
|
|
|
5350
5548
|
"aria-disabled:tw-opacity-40"
|
|
5351
5549
|
],
|
|
5352
5550
|
argo: [
|
|
5353
|
-
|
|
5551
|
+
// muted filled input surface — gray, distinct from white containers; not the app-background token
|
|
5552
|
+
"tw-bg-muted",
|
|
5354
5553
|
"tw-border-input",
|
|
5355
5554
|
"tw-rounded-lg",
|
|
5356
5555
|
"tw-text-foreground",
|
|
@@ -5397,18 +5596,22 @@ var SelectTrigger = ({
|
|
|
5397
5596
|
sizing,
|
|
5398
5597
|
placeholder,
|
|
5399
5598
|
...props
|
|
5400
|
-
}) =>
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
)
|
|
5599
|
+
}) => {
|
|
5600
|
+
const isLegacy = useIsLegacyBrand();
|
|
5601
|
+
const effectiveVariant = !isLegacy || variant === "argo" ? "argo" : variant;
|
|
5602
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5603
|
+
SelectPrimitive__namespace.Trigger,
|
|
5604
|
+
{
|
|
5605
|
+
ref,
|
|
5606
|
+
className: cn(variants4({ variant: effectiveVariant, state, sizing }), className),
|
|
5607
|
+
...props,
|
|
5608
|
+
children: [
|
|
5609
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Value, { placeholder }),
|
|
5610
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronDown, { className: "tw-size-5 tw-text-muted-foreground" }) })
|
|
5611
|
+
]
|
|
5612
|
+
}
|
|
5613
|
+
);
|
|
5614
|
+
};
|
|
5412
5615
|
var isGroup = (itemOrGroup) => "items" in itemOrGroup;
|
|
5413
5616
|
var Select = ({
|
|
5414
5617
|
// root
|
|
@@ -5569,7 +5772,8 @@ function Checkbox({
|
|
|
5569
5772
|
}) {
|
|
5570
5773
|
const fallbackId = react.useId();
|
|
5571
5774
|
const id = idProp?.toString() ?? fallbackId;
|
|
5572
|
-
const
|
|
5775
|
+
const isLegacy = useIsLegacyBrand();
|
|
5776
|
+
const styleVariant = !isLegacy || argo ? "argo" : "default";
|
|
5573
5777
|
const checkboxElement = /* @__PURE__ */ jsxRuntime.jsx(reactCheckbox.Root, { id, ...rest, className: cn(rootVariants2({ variant: styleVariant, className })), children: /* @__PURE__ */ jsxRuntime.jsxs(reactCheckbox.Indicator, { className: cn(indicatorVariants({ variant: styleVariant })), children: [
|
|
5574
5778
|
/* @__PURE__ */ jsxRuntime.jsx(icons_exports.Check, { className: "tw-hidden tw-size-3 tw-stroke-[4px] group-data-[state=checked]:tw-block" }),
|
|
5575
5779
|
/* @__PURE__ */ jsxRuntime.jsx(icons_exports.Minus, { className: "tw-hidden tw-size-3 tw-stroke-[4px] group-data-[state=indeterminate]:tw-block" })
|
|
@@ -5890,77 +6094,81 @@ var ComboboxChips = ({
|
|
|
5890
6094
|
overflow.length
|
|
5891
6095
|
] }) })
|
|
5892
6096
|
] });
|
|
5893
|
-
} });
|
|
5894
|
-
var ComboboxContent = ({
|
|
5895
|
-
ref,
|
|
5896
|
-
align = "start",
|
|
5897
|
-
side = "bottom",
|
|
5898
|
-
sideOffset = 4,
|
|
5899
|
-
alignOffset,
|
|
5900
|
-
anchor,
|
|
5901
|
-
container,
|
|
5902
|
-
className,
|
|
5903
|
-
children,
|
|
5904
|
-
variant
|
|
5905
|
-
...popupProps
|
|
5906
|
-
}) =>
|
|
5907
|
-
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
|
|
5911
|
-
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
5922
|
-
"
|
|
5923
|
-
"
|
|
5924
|
-
|
|
5925
|
-
|
|
5926
|
-
|
|
5927
|
-
|
|
5928
|
-
|
|
5929
|
-
|
|
5930
|
-
|
|
5931
|
-
|
|
5932
|
-
|
|
5933
|
-
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
|
|
5937
|
-
|
|
5938
|
-
|
|
5939
|
-
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
|
|
5945
|
-
|
|
5946
|
-
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
6097
|
+
} });
|
|
6098
|
+
var ComboboxContent = ({
|
|
6099
|
+
ref,
|
|
6100
|
+
align = "start",
|
|
6101
|
+
side = "bottom",
|
|
6102
|
+
sideOffset = 4,
|
|
6103
|
+
alignOffset,
|
|
6104
|
+
anchor,
|
|
6105
|
+
container,
|
|
6106
|
+
className,
|
|
6107
|
+
children,
|
|
6108
|
+
variant,
|
|
6109
|
+
...popupProps
|
|
6110
|
+
}) => {
|
|
6111
|
+
const isLegacy = useIsLegacyBrand();
|
|
6112
|
+
const effectiveVariant = !isLegacy || variant === "argo" ? "argo" : "default";
|
|
6113
|
+
return /* @__PURE__ */ jsxRuntime.jsx(combobox.Combobox.Portal, { container, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6114
|
+
combobox.Combobox.Positioner,
|
|
6115
|
+
{
|
|
6116
|
+
align,
|
|
6117
|
+
side,
|
|
6118
|
+
sideOffset,
|
|
6119
|
+
alignOffset,
|
|
6120
|
+
anchor,
|
|
6121
|
+
className: "tailwindcss-preflight tw-isolate tw-z-[1055]",
|
|
6122
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6123
|
+
combobox.Combobox.Popup,
|
|
6124
|
+
{
|
|
6125
|
+
ref,
|
|
6126
|
+
"data-chips": !!anchor,
|
|
6127
|
+
"data-variant": effectiveVariant,
|
|
6128
|
+
className: cn(
|
|
6129
|
+
"!tw-pointer-events-auto",
|
|
6130
|
+
"tw-group/combobox-content",
|
|
6131
|
+
"tw-relative",
|
|
6132
|
+
"tw-flex tw-flex-col tw-overflow-hidden",
|
|
6133
|
+
// sizing
|
|
6134
|
+
"tw-max-h-[var(--available-height)]",
|
|
6135
|
+
"tw-w-[var(--anchor-width)]",
|
|
6136
|
+
"tw-max-w-[var(--available-width)]",
|
|
6137
|
+
"tw-origin-[var(--transform-origin)]",
|
|
6138
|
+
"data-[chips=true]:tw-min-w-[var(--anchor-width)]",
|
|
6139
|
+
// appearance
|
|
6140
|
+
"tw-rounded-lg",
|
|
6141
|
+
"data-[variant=default]:tw-rounded",
|
|
6142
|
+
"tw-bg-popover",
|
|
6143
|
+
"tw-text-popover-foreground",
|
|
6144
|
+
"tw-shadow-md",
|
|
6145
|
+
"tw-ring-1",
|
|
6146
|
+
"tw-ring-foreground/10",
|
|
6147
|
+
"tw-duration-100",
|
|
6148
|
+
// open animation
|
|
6149
|
+
"data-open:animate-in",
|
|
6150
|
+
"data-open:fade-in-0",
|
|
6151
|
+
"data-open:zoom-in-95",
|
|
6152
|
+
// closed animation
|
|
6153
|
+
"data-closed:animate-out",
|
|
6154
|
+
"data-closed:fade-out-0",
|
|
6155
|
+
"data-closed:zoom-out-95",
|
|
6156
|
+
// position animations
|
|
6157
|
+
"data-[side=bottom]:tw-slide-in-from-top-2",
|
|
6158
|
+
"data-[side=top]:tw-slide-in-from-bottom-2",
|
|
6159
|
+
"data-[side=left]:tw-slide-in-from-right-2",
|
|
6160
|
+
"data-[side=right]:tw-slide-in-from-left-2",
|
|
6161
|
+
"data-[side=inline-start]:tw-slide-in-from-right-2",
|
|
6162
|
+
"data-[side=inline-end]:tw-slide-in-from-left-2",
|
|
6163
|
+
className
|
|
6164
|
+
),
|
|
6165
|
+
...popupProps,
|
|
6166
|
+
children
|
|
6167
|
+
}
|
|
6168
|
+
)
|
|
6169
|
+
}
|
|
6170
|
+
) });
|
|
6171
|
+
};
|
|
5964
6172
|
var ComboboxEmpty = ({
|
|
5965
6173
|
ref,
|
|
5966
6174
|
className,
|
|
@@ -6159,7 +6367,7 @@ var ComboboxSeparator = ({
|
|
|
6159
6367
|
combobox.Combobox.Separator,
|
|
6160
6368
|
{
|
|
6161
6369
|
ref,
|
|
6162
|
-
className: cn("tw-mx-2 tw-my-1 tw-h-px tw-bg-
|
|
6370
|
+
className: cn("tw-mx-2 tw-my-1 tw-h-px tw-bg-border", className),
|
|
6163
6371
|
...props
|
|
6164
6372
|
}
|
|
6165
6373
|
);
|
|
@@ -6193,7 +6401,7 @@ var ComboboxGroupLabel = ({
|
|
|
6193
6401
|
"tw-text-xs",
|
|
6194
6402
|
"tw-font-medium",
|
|
6195
6403
|
"tw-leading-none",
|
|
6196
|
-
"tw-text-
|
|
6404
|
+
"tw-text-muted-foreground",
|
|
6197
6405
|
"group-data-[variant=default]/combobox-content:tw-uppercase",
|
|
6198
6406
|
"group-data-[variant=default]/combobox-content:tw-font-semibold",
|
|
6199
6407
|
"group-data-[variant=default]/combobox-content:tw-tracking-wider",
|
|
@@ -6437,10 +6645,12 @@ var MultiCombobox = ({
|
|
|
6437
6645
|
itemToChipColor,
|
|
6438
6646
|
maxVisible = 3
|
|
6439
6647
|
}) => {
|
|
6648
|
+
const isLegacy = useIsLegacyBrand();
|
|
6440
6649
|
const itemsProp = _itemsProp ?? [];
|
|
6441
6650
|
const valueProp = _valueProp ?? [];
|
|
6442
|
-
const
|
|
6443
|
-
const
|
|
6651
|
+
const renderArgo = !isLegacy || variant === "argo";
|
|
6652
|
+
const contentVariant = renderArgo ? "argo" : "default";
|
|
6653
|
+
const chipVariant = renderArgo ? "pill" : "default";
|
|
6444
6654
|
const allFlatItems = itemsProp.flatMap((item) => isGroupItem(item) ? item.items : item);
|
|
6445
6655
|
const isAllSelected = allFlatItems.length === (valueProp?.length ?? 0);
|
|
6446
6656
|
const defaultFilter3 = combobox.Combobox.useFilter({
|
|
@@ -6555,7 +6765,7 @@ var Textarea = ({
|
|
|
6555
6765
|
containerClassName,
|
|
6556
6766
|
// group props
|
|
6557
6767
|
state = "default",
|
|
6558
|
-
variant
|
|
6768
|
+
variant,
|
|
6559
6769
|
sizing,
|
|
6560
6770
|
focusVariant,
|
|
6561
6771
|
...rest
|
|
@@ -7068,7 +7278,8 @@ var slotVariants = classVarianceAuthority.cva(
|
|
|
7068
7278
|
"tw-justify-center",
|
|
7069
7279
|
"tw-border",
|
|
7070
7280
|
"tw-border-input",
|
|
7071
|
-
|
|
7281
|
+
// muted filled input surface — gray, distinct from white containers; not the app-background token
|
|
7282
|
+
"tw-bg-muted",
|
|
7072
7283
|
"tw-text-foreground",
|
|
7073
7284
|
"tw-font-medium",
|
|
7074
7285
|
"tw-tabular-nums",
|
|
@@ -7763,8 +7974,8 @@ var helpVariants = classVarianceAuthority.cva(["tw-m-0", "tw-text-xs"], {
|
|
|
7763
7974
|
},
|
|
7764
7975
|
variants: {
|
|
7765
7976
|
state: {
|
|
7766
|
-
default: ["tw-text-
|
|
7767
|
-
error: ["tw-text-
|
|
7977
|
+
default: ["tw-text-muted-foreground"],
|
|
7978
|
+
error: ["tw-text-destructive"],
|
|
7768
7979
|
warning: ["tw-text-warning-500"]
|
|
7769
7980
|
}
|
|
7770
7981
|
}
|
|
@@ -7881,6 +8092,8 @@ var AnswerSummary = ({
|
|
|
7881
8092
|
const [isExpanded, setIsExpanded] = react.useState(false);
|
|
7882
8093
|
const toggle = () => setIsExpanded((prev) => !prev);
|
|
7883
8094
|
const count = items.length;
|
|
8095
|
+
const [firstItem] = items;
|
|
8096
|
+
const label = count === 1 && firstItem ? firstItem.question : `${count} questions`;
|
|
7884
8097
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "tw-mt-4 tw-flex tw-flex-col tw-gap-4", "aria-label": SECTION_LABELS[variant], children: [
|
|
7885
8098
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7886
8099
|
CollapsibleStepHeader,
|
|
@@ -7888,7 +8101,7 @@ var AnswerSummary = ({
|
|
|
7888
8101
|
isExpanded,
|
|
7889
8102
|
onToggle: toggle,
|
|
7890
8103
|
variant,
|
|
7891
|
-
label
|
|
8104
|
+
label
|
|
7892
8105
|
}
|
|
7893
8106
|
),
|
|
7894
8107
|
isExpanded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-flex-col tw-gap-4 tw-pl-5", children: items.map(({ question, answer }, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-gap-1", children: [
|
|
@@ -8392,6 +8605,7 @@ var PromptInputSubmit = ({
|
|
|
8392
8605
|
getTooltipText() && /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Content, { placement: "top", variant: "action", children: getTooltipText() })
|
|
8393
8606
|
] });
|
|
8394
8607
|
};
|
|
8608
|
+
var CMDK_HIJACKED_KEYS = /* @__PURE__ */ new Set(["ArrowUp", "ArrowDown", "Home", "End", "Enter"]);
|
|
8395
8609
|
var promptInputVariants = classVarianceAuthority.cva(
|
|
8396
8610
|
[
|
|
8397
8611
|
"tailwindcss-preflight",
|
|
@@ -8463,15 +8677,11 @@ var PromptInput = ({
|
|
|
8463
8677
|
const textareaId = react.useId();
|
|
8464
8678
|
const textareaRef = react.useRef(null);
|
|
8465
8679
|
const [dismissedValue, setDismissedValue] = react.useState(null);
|
|
8680
|
+
if (dismissedValue !== null && value !== dismissedValue) setDismissedValue(null);
|
|
8466
8681
|
const hasCommands = !!commands && commands.length > 0;
|
|
8467
8682
|
const valueLooksLikeSlashCommand = value.startsWith("/") && !/\s/.test(value);
|
|
8468
8683
|
const commandsOpen = hasCommands && valueLooksLikeSlashCommand && value !== dismissedValue;
|
|
8469
8684
|
const slashFilter = commandsOpen ? value.slice(1) : "";
|
|
8470
|
-
react.useEffect(() => {
|
|
8471
|
-
if (dismissedValue !== null && value !== dismissedValue) {
|
|
8472
|
-
setDismissedValue(null);
|
|
8473
|
-
}
|
|
8474
|
-
}, [value, dismissedValue]);
|
|
8475
8685
|
const handleSubmit = () => {
|
|
8476
8686
|
if (isDisabled) return;
|
|
8477
8687
|
if (status === "streaming") onAbort?.();
|
|
@@ -8499,6 +8709,8 @@ var PromptInput = ({
|
|
|
8499
8709
|
if (event.key === "ArrowUp" || event.key === "ArrowDown" || event.key === "Enter") {
|
|
8500
8710
|
return;
|
|
8501
8711
|
}
|
|
8712
|
+
} else if (hasCommands && CMDK_HIJACKED_KEYS.has(event.key)) {
|
|
8713
|
+
event.stopPropagation();
|
|
8502
8714
|
}
|
|
8503
8715
|
if (event.key === "Enter" && !event.shiftKey && !event.ctrlKey && !event.metaKey) {
|
|
8504
8716
|
event.preventDefault();
|
|
@@ -9106,44 +9318,48 @@ var AlertRoot = ({
|
|
|
9106
9318
|
variant,
|
|
9107
9319
|
argo = false,
|
|
9108
9320
|
...rest
|
|
9109
|
-
}) =>
|
|
9110
|
-
|
|
9111
|
-
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
9115
|
-
|
|
9116
|
-
|
|
9117
|
-
"
|
|
9118
|
-
|
|
9119
|
-
|
|
9120
|
-
|
|
9121
|
-
|
|
9122
|
-
|
|
9123
|
-
|
|
9124
|
-
|
|
9125
|
-
|
|
9126
|
-
|
|
9127
|
-
|
|
9128
|
-
|
|
9129
|
-
|
|
9130
|
-
|
|
9131
|
-
|
|
9132
|
-
|
|
9133
|
-
|
|
9134
|
-
|
|
9135
|
-
|
|
9136
|
-
|
|
9137
|
-
|
|
9138
|
-
|
|
9139
|
-
|
|
9140
|
-
|
|
9141
|
-
|
|
9142
|
-
|
|
9143
|
-
|
|
9144
|
-
|
|
9145
|
-
|
|
9146
|
-
)
|
|
9321
|
+
}) => {
|
|
9322
|
+
const isLegacy = useIsLegacyBrand();
|
|
9323
|
+
const renderArgo = !isLegacy || argo;
|
|
9324
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9325
|
+
"div",
|
|
9326
|
+
{
|
|
9327
|
+
...rest,
|
|
9328
|
+
ref,
|
|
9329
|
+
"data-variant": variant,
|
|
9330
|
+
"data-argo": renderArgo,
|
|
9331
|
+
className: cn(
|
|
9332
|
+
"tw-group/alert",
|
|
9333
|
+
// layout
|
|
9334
|
+
"tw-grid",
|
|
9335
|
+
"tw-grid-cols-[0_1fr_auto]",
|
|
9336
|
+
"has-[[data-slot=alert-icon]]:tw-grid-cols-[auto_1fr_auto]",
|
|
9337
|
+
"has-[[data-slot=alert-icon]]:tw-gap-x-2",
|
|
9338
|
+
// fonts
|
|
9339
|
+
"tw-text-sm",
|
|
9340
|
+
"tw-text-neutral-800",
|
|
9341
|
+
"tw-text-left",
|
|
9342
|
+
"tw-p-4",
|
|
9343
|
+
// border
|
|
9344
|
+
"tw-rounded",
|
|
9345
|
+
"data-[argo=true]:tw-rounded-lg",
|
|
9346
|
+
"tw-border",
|
|
9347
|
+
"tw-border-solid",
|
|
9348
|
+
// border variants
|
|
9349
|
+
"data-[variant=info]:tw-bg-secondary-100",
|
|
9350
|
+
"data-[variant=info]:tw-border-secondary-200",
|
|
9351
|
+
"data-[variant=warning]:tw-bg-warning-100",
|
|
9352
|
+
"data-[variant=warning]:tw-border-warning-300",
|
|
9353
|
+
"data-[variant=error]:tw-bg-error-100",
|
|
9354
|
+
"data-[variant=error]:tw-border-error-200",
|
|
9355
|
+
"data-[variant=success]:tw-bg-primary-100",
|
|
9356
|
+
"data-[variant=success]:tw-border-primary-200",
|
|
9357
|
+
className
|
|
9358
|
+
),
|
|
9359
|
+
children
|
|
9360
|
+
}
|
|
9361
|
+
);
|
|
9362
|
+
};
|
|
9147
9363
|
var AlertTitle = ({
|
|
9148
9364
|
ref,
|
|
9149
9365
|
className,
|
|
@@ -9295,6 +9511,7 @@ var ToastDismiss = ({
|
|
|
9295
9511
|
"[&_svg]:tw-m-1",
|
|
9296
9512
|
"tw-text-white",
|
|
9297
9513
|
"group-data-[variant=default]/toast:[&_svg]:tw-text-popover-foreground",
|
|
9514
|
+
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:[&_svg]:tw-text-foreground",
|
|
9298
9515
|
className
|
|
9299
9516
|
),
|
|
9300
9517
|
type: "button",
|
|
@@ -9319,6 +9536,7 @@ var ToastDuration = ({
|
|
|
9319
9536
|
className: cn(
|
|
9320
9537
|
"tw-bg-white/30",
|
|
9321
9538
|
"group-data-[variant=default]/toast:tw-bg-popover-foreground/20",
|
|
9539
|
+
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:tw-bg-foreground/20",
|
|
9322
9540
|
"tw-rounded-bl-lg",
|
|
9323
9541
|
"tw-mx-px",
|
|
9324
9542
|
// positioning
|
|
@@ -9356,6 +9574,7 @@ var ToastTitle = ({
|
|
|
9356
9574
|
"tw-self-center",
|
|
9357
9575
|
"tw-text-white",
|
|
9358
9576
|
"group-data-[variant=default]/toast:tw-text-popover-foreground",
|
|
9577
|
+
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:tw-text-foreground",
|
|
9359
9578
|
"tw-break-words",
|
|
9360
9579
|
"tw-font-medium",
|
|
9361
9580
|
className
|
|
@@ -9415,11 +9634,14 @@ var ToastRoot = ({
|
|
|
9415
9634
|
duration = Infinity,
|
|
9416
9635
|
variant = "info",
|
|
9417
9636
|
loading = false,
|
|
9418
|
-
icon: iconProp
|
|
9637
|
+
icon: iconProp,
|
|
9638
|
+
argo
|
|
9419
9639
|
}) => {
|
|
9640
|
+
const isLegacy = useIsLegacyBrand();
|
|
9641
|
+
const renderArgo = !isLegacy || argo;
|
|
9420
9642
|
const icon = (() => {
|
|
9421
9643
|
if (loading) return /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Loader2, { className: "tw-animate-spin" });
|
|
9422
|
-
if (iconProp) return
|
|
9644
|
+
if (iconProp) return iconProp;
|
|
9423
9645
|
if (variant === "default" || variant === null) return null;
|
|
9424
9646
|
return DEFAULT_VARIANT_ICON[variant];
|
|
9425
9647
|
})();
|
|
@@ -9427,35 +9649,44 @@ var ToastRoot = ({
|
|
|
9427
9649
|
sonner.toast.dismiss(id);
|
|
9428
9650
|
action?.onClick(event);
|
|
9429
9651
|
};
|
|
9430
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9431
|
-
|
|
9432
|
-
|
|
9433
|
-
|
|
9434
|
-
|
|
9435
|
-
|
|
9436
|
-
|
|
9437
|
-
|
|
9438
|
-
|
|
9439
|
-
|
|
9440
|
-
|
|
9441
|
-
|
|
9442
|
-
|
|
9443
|
-
|
|
9444
|
-
|
|
9445
|
-
|
|
9446
|
-
|
|
9447
|
-
|
|
9448
|
-
|
|
9652
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9653
|
+
"div",
|
|
9654
|
+
{
|
|
9655
|
+
"data-variant": variant,
|
|
9656
|
+
"data-argo": renderArgo,
|
|
9657
|
+
className: cn(
|
|
9658
|
+
variants6({ variant }),
|
|
9659
|
+
"data-[variant=default]:data-[argo=true]:tw-bg-background"
|
|
9660
|
+
),
|
|
9661
|
+
children: [
|
|
9662
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9663
|
+
"span",
|
|
9664
|
+
{
|
|
9665
|
+
"data-slot": "toast-icon",
|
|
9666
|
+
className: cn(
|
|
9667
|
+
"tw-inline-flex",
|
|
9668
|
+
"tw-items-center",
|
|
9669
|
+
"tw-justify-center",
|
|
9670
|
+
"tw-self-center",
|
|
9671
|
+
"tw-aspect-square",
|
|
9672
|
+
"tw-size-5",
|
|
9673
|
+
"tw-shrink-0",
|
|
9674
|
+
'[&_svg:not([class*="tw-size-"])]:tw-size-5',
|
|
9675
|
+
"tw-text-white",
|
|
9676
|
+
"group-data-[variant=default]/toast:tw-text-popover-foreground",
|
|
9677
|
+
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:tw-text-foreground"
|
|
9678
|
+
),
|
|
9679
|
+
children: icon
|
|
9680
|
+
}
|
|
9449
9681
|
),
|
|
9450
|
-
children:
|
|
9451
|
-
|
|
9452
|
-
|
|
9453
|
-
|
|
9454
|
-
|
|
9455
|
-
|
|
9456
|
-
|
|
9457
|
-
|
|
9458
|
-
] });
|
|
9682
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToastTitle, { children: title }),
|
|
9683
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(ToastDescription, { children: description }),
|
|
9684
|
+
action && /* @__PURE__ */ jsxRuntime.jsx(ToastAction, { style: action?.actionButtonStyle, onClick: handleActionClick, children: action.label }),
|
|
9685
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToastDismiss, { onClick: () => sonner.toast.dismiss(id) }),
|
|
9686
|
+
duration !== Infinity && /* @__PURE__ */ jsxRuntime.jsx(ToastDuration, { duration })
|
|
9687
|
+
]
|
|
9688
|
+
}
|
|
9689
|
+
);
|
|
9459
9690
|
};
|
|
9460
9691
|
var toast = ({
|
|
9461
9692
|
onAutoClose,
|
|
@@ -9552,20 +9783,20 @@ var Toaster = ({ gap = 12, visibleToasts = 5, ...props }) => (
|
|
|
9552
9783
|
) })
|
|
9553
9784
|
);
|
|
9554
9785
|
var EmptySearchContent = ({ children = "No results found." }) => {
|
|
9555
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-px-0 tw-py-[30px] tw-text-center tw-text-sm tw-text-
|
|
9786
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-px-0 tw-py-[30px] tw-text-center tw-text-sm tw-text-muted-foreground", children });
|
|
9556
9787
|
};
|
|
9557
9788
|
var CardContent = ({ children, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, children });
|
|
9558
9789
|
var CardHeader = ({ children, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, children });
|
|
9559
9790
|
var cardClassnames = classVarianceAuthority.cva(
|
|
9560
|
-
["tw-
|
|
9791
|
+
["tw-flex", "tw-flex-col", "tw-rounded-lg", "tw-gap-4", "tw-bg-surface"],
|
|
9561
9792
|
{
|
|
9562
9793
|
defaultVariants: {
|
|
9563
9794
|
padding: "small"
|
|
9564
9795
|
},
|
|
9565
9796
|
variants: {
|
|
9566
9797
|
bordered: {
|
|
9567
|
-
true: "tw-border tw-border-solid tw-border-neutral-200",
|
|
9568
|
-
false: "tw-shadow-[0_2px_6px_0_rgba(100,135,153,0.13)]"
|
|
9798
|
+
true: "tw-border tw-border-solid tw-border-neutral-200 data-[argo=true]:tw-border-border",
|
|
9799
|
+
false: "tw-shadow-[0_2px_6px_0_rgba(100,135,153,0.13)] data-[argo=true]:tw-shadow-sm"
|
|
9569
9800
|
},
|
|
9570
9801
|
padding: {
|
|
9571
9802
|
none: "tw-p-0",
|
|
@@ -9581,7 +9812,7 @@ var cardTitleClassnames = cn(
|
|
|
9581
9812
|
"tw-leading-6",
|
|
9582
9813
|
"tw-font-medium",
|
|
9583
9814
|
"tw-text-base",
|
|
9584
|
-
"tw-
|
|
9815
|
+
"tw-text-foreground"
|
|
9585
9816
|
);
|
|
9586
9817
|
var CardTitle = ({ children, className, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn(cardTitleClassnames, className), ...rest, children });
|
|
9587
9818
|
var Card = ({
|
|
@@ -9589,8 +9820,21 @@ var Card = ({
|
|
|
9589
9820
|
className,
|
|
9590
9821
|
bordered = false,
|
|
9591
9822
|
padding = "small",
|
|
9823
|
+
argo = false,
|
|
9592
9824
|
...rest
|
|
9593
|
-
}) =>
|
|
9825
|
+
}) => {
|
|
9826
|
+
const isLegacy = useIsLegacyBrand();
|
|
9827
|
+
const renderArgo = !isLegacy || argo;
|
|
9828
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9829
|
+
"div",
|
|
9830
|
+
{
|
|
9831
|
+
...rest,
|
|
9832
|
+
"data-argo": renderArgo,
|
|
9833
|
+
className: cardClassnames({ className, bordered, padding }),
|
|
9834
|
+
children
|
|
9835
|
+
}
|
|
9836
|
+
);
|
|
9837
|
+
};
|
|
9594
9838
|
Card.Header = CardHeader;
|
|
9595
9839
|
Card.Content = CardContent;
|
|
9596
9840
|
Card.Title = CardTitle;
|
|
@@ -9777,7 +10021,7 @@ var ANIMATION_CLASS_NAME = cn(
|
|
|
9777
10021
|
"tw-relative",
|
|
9778
10022
|
"tw-overflow-hidden",
|
|
9779
10023
|
"tw-pointer-events-none",
|
|
9780
|
-
"tw-bg-
|
|
10024
|
+
"tw-bg-muted",
|
|
9781
10025
|
// before
|
|
9782
10026
|
'before:tw-content-[""]',
|
|
9783
10027
|
"before:tw-opacity-100",
|
|
@@ -9845,7 +10089,7 @@ var SkeletonList = ({
|
|
|
9845
10089
|
}
|
|
9846
10090
|
)
|
|
9847
10091
|
] });
|
|
9848
|
-
var DOT_CLASS_NAME = cn("tw-h-1.5", "tw-w-1.5", "tw-rounded-full", "tw-bg-
|
|
10092
|
+
var DOT_CLASS_NAME = cn("tw-h-1.5", "tw-w-1.5", "tw-rounded-full", "tw-bg-muted-foreground");
|
|
9849
10093
|
var DotsLoader = ({ className }) => {
|
|
9850
10094
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9851
10095
|
"div",
|
|
@@ -9909,11 +10153,13 @@ var Collapse = ({
|
|
|
9909
10153
|
);
|
|
9910
10154
|
};
|
|
9911
10155
|
var headerVariants = classVarianceAuthority.cva(
|
|
9912
|
-
"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-
|
|
10156
|
+
"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",
|
|
9913
10157
|
{
|
|
9914
10158
|
variants: {
|
|
9915
10159
|
variant: {
|
|
9916
|
-
default: "tw-bg-
|
|
10160
|
+
default: "tw-bg-muted",
|
|
10161
|
+
// White surface kept literal until a `card` token exists (UT-4396);
|
|
10162
|
+
// `background` is the page base, not an elevated panel surface.
|
|
9917
10163
|
white: "tw-bg-white"
|
|
9918
10164
|
},
|
|
9919
10165
|
isDisabled: {
|
|
@@ -9929,7 +10175,7 @@ var headerVariants = classVarianceAuthority.cva(
|
|
|
9929
10175
|
{
|
|
9930
10176
|
isDisabled: false,
|
|
9931
10177
|
hasEnforcedState: false,
|
|
9932
|
-
class: "tw-cursor-pointer hover:tw-text-
|
|
10178
|
+
class: "tw-cursor-pointer hover:tw-text-primary"
|
|
9933
10179
|
}
|
|
9934
10180
|
],
|
|
9935
10181
|
defaultVariants: {
|
|
@@ -9979,7 +10225,7 @@ var CollapsiblePanel = ({
|
|
|
9979
10225
|
{
|
|
9980
10226
|
open,
|
|
9981
10227
|
className: cn(
|
|
9982
|
-
"tw-rounded !tw-border !tw-border-solid !tw-border-
|
|
10228
|
+
"tw-rounded !tw-border !tw-border-solid !tw-border-border tw-bg-white",
|
|
9983
10229
|
className
|
|
9984
10230
|
),
|
|
9985
10231
|
header: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9993,7 +10239,7 @@ var CollapsiblePanel = ({
|
|
|
9993
10239
|
onKeyUp: handleKeyUp
|
|
9994
10240
|
},
|
|
9995
10241
|
children: [
|
|
9996
|
-
/* @__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-
|
|
10242
|
+
/* @__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 }),
|
|
9997
10243
|
!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") }) })
|
|
9998
10244
|
]
|
|
9999
10245
|
}
|
|
@@ -10027,8 +10273,8 @@ var PanelWithDetails = ({
|
|
|
10027
10273
|
role: "button",
|
|
10028
10274
|
tabIndex: 0,
|
|
10029
10275
|
className: cn(
|
|
10030
|
-
"tw-flex tw-cursor-pointer tw-items-center tw-rounded-sm tw-bg-
|
|
10031
|
-
"hover:tw-text-
|
|
10276
|
+
"tw-flex tw-cursor-pointer tw-items-center tw-rounded-sm tw-bg-muted tw-px-4 tw-py-3 tw-text-sm tw-text-muted-foreground",
|
|
10277
|
+
"hover:tw-text-primary"
|
|
10032
10278
|
),
|
|
10033
10279
|
onClick: () => setIsOpen(!isOpen),
|
|
10034
10280
|
onKeyUp: handleKeyUp,
|
|
@@ -10063,35 +10309,18 @@ var AIGradientsSvg = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "0", h
|
|
|
10063
10309
|
] }) });
|
|
10064
10310
|
|
|
10065
10311
|
// src/components/ThemeProvider/brandToCssVars.ts
|
|
10066
|
-
var hexToRgbTriplet = (hex) => {
|
|
10067
|
-
const match = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(hex.trim());
|
|
10068
|
-
if (!match) return null;
|
|
10069
|
-
let body = match[1];
|
|
10070
|
-
if (body.length === 3) {
|
|
10071
|
-
body = body.split("").map((c) => c + c).join("");
|
|
10072
|
-
}
|
|
10073
|
-
const r2 = parseInt(body.slice(0, 2), 16);
|
|
10074
|
-
const g = parseInt(body.slice(2, 4), 16);
|
|
10075
|
-
const b = parseInt(body.slice(4, 6), 16);
|
|
10076
|
-
return `${r2} ${g} ${b}`;
|
|
10077
|
-
};
|
|
10078
10312
|
var brandToCssVars = (brand) => {
|
|
10079
|
-
const vars = {
|
|
10080
|
-
|
|
10081
|
-
|
|
10082
|
-
|
|
10083
|
-
|
|
10084
|
-
|
|
10085
|
-
|
|
10086
|
-
|
|
10087
|
-
|
|
10088
|
-
|
|
10089
|
-
|
|
10090
|
-
];
|
|
10091
|
-
for (const [name, hex] of colorMap) {
|
|
10092
|
-
const triplet = hexToRgbTriplet(hex);
|
|
10093
|
-
if (triplet !== null) vars[name] = triplet;
|
|
10094
|
-
}
|
|
10313
|
+
const vars = {
|
|
10314
|
+
"--color-background": brand.colors.background,
|
|
10315
|
+
"--color-foreground": brand.colors.foreground,
|
|
10316
|
+
"--color-muted": brand.colors.muted,
|
|
10317
|
+
"--color-muted-foreground": brand.colors.mutedForeground,
|
|
10318
|
+
"--color-border": brand.colors.border,
|
|
10319
|
+
"--color-primary": brand.colors.primary,
|
|
10320
|
+
"--color-primary-foreground": brand.colors.primaryForeground,
|
|
10321
|
+
"--color-destructive": brand.colors.destructive,
|
|
10322
|
+
"--color-destructive-foreground": brand.colors.destructiveForeground
|
|
10323
|
+
};
|
|
10095
10324
|
if (brand.radii) {
|
|
10096
10325
|
vars["--radius-sm"] = brand.radii.sm;
|
|
10097
10326
|
vars["--radius-md"] = brand.radii.md;
|
|
@@ -10099,7 +10328,6 @@ var brandToCssVars = (brand) => {
|
|
|
10099
10328
|
}
|
|
10100
10329
|
return vars;
|
|
10101
10330
|
};
|
|
10102
|
-
var ThemeContext = react.createContext(null);
|
|
10103
10331
|
var ThemeProvider = ({ brand = brandRegistry.keboola, setBrand, children }) => {
|
|
10104
10332
|
react.useEffect(() => {
|
|
10105
10333
|
if (typeof document === "undefined") return;
|
|
@@ -10327,7 +10555,7 @@ var Root25 = ({
|
|
|
10327
10555
|
{
|
|
10328
10556
|
ref,
|
|
10329
10557
|
className: cn(
|
|
10330
|
-
"tw-flex tw-flex-col tw-gap-4 tw-w-full tw-mx-auto
|
|
10558
|
+
"tw-flex tw-flex-col tw-gap-4 tw-w-full tw-mx-auto",
|
|
10331
10559
|
maxWidthClass[maxWidth],
|
|
10332
10560
|
className
|
|
10333
10561
|
),
|
|
@@ -10619,14 +10847,14 @@ var PageToolbar = Object.assign(Root26, {
|
|
|
10619
10847
|
});
|
|
10620
10848
|
var resizableHandleVariants = classVarianceAuthority.cva([
|
|
10621
10849
|
// base styles
|
|
10622
|
-
"tw-bg-
|
|
10850
|
+
"tw-bg-border",
|
|
10623
10851
|
"tw-relative",
|
|
10624
10852
|
"tw-flex",
|
|
10625
10853
|
"tw-w-px",
|
|
10626
10854
|
"tw-items-center",
|
|
10627
10855
|
"tw-justify-center",
|
|
10628
10856
|
// focus styles
|
|
10629
|
-
"focus-visible:tw-ring-
|
|
10857
|
+
"focus-visible:tw-ring-primary",
|
|
10630
10858
|
"focus-visible:tw-ring-1",
|
|
10631
10859
|
"focus-visible:tw-ring-offset-1",
|
|
10632
10860
|
"focus-visible:tw-outline-hidden",
|
|
@@ -10795,8 +11023,8 @@ var SidebarContent = ({
|
|
|
10795
11023
|
"group-last/sidebar-content:after:tw-hidden",
|
|
10796
11024
|
"!tw-box-border",
|
|
10797
11025
|
{
|
|
10798
|
-
'before:tw-absolute before:tw-top-0 before:tw-left-0 before:tw-right-0 before:tw-h-px before:tw-bg-
|
|
10799
|
-
'after:tw-absolute after:tw-bottom-0 after:tw-left-0 after:tw-right-0 after:tw-h-px after:tw-bg-
|
|
11026
|
+
'before:tw-absolute before:tw-top-0 before:tw-left-0 before:tw-right-0 before:tw-h-px before:tw-bg-sidebar-border before:tw-z-10 before:tw-content-[""]': isBottom || isMiddle,
|
|
11027
|
+
'after:tw-absolute after:tw-bottom-0 after:tw-left-0 after:tw-right-0 after:tw-h-px after:tw-bg-sidebar-border after:tw-z-10 after:tw-content-[""]': isTop || isMiddle
|
|
10800
11028
|
}
|
|
10801
11029
|
),
|
|
10802
11030
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10982,12 +11210,8 @@ var SidebarProvider = ({
|
|
|
10982
11210
|
const [isRightDragging, setIsRightDragging] = react.useState(false);
|
|
10983
11211
|
const [leftDragWidth, setLeftDragWidth] = react.useState(null);
|
|
10984
11212
|
const [rightDragWidth, setRightDragWidth] = react.useState(null);
|
|
10985
|
-
|
|
10986
|
-
|
|
10987
|
-
}, [leftWidth, leftDragWidth]);
|
|
10988
|
-
react.useEffect(() => {
|
|
10989
|
-
if (rightDragWidth !== null && rightWidth === rightDragWidth) setRightDragWidth(null);
|
|
10990
|
-
}, [rightWidth, rightDragWidth]);
|
|
11213
|
+
if (leftDragWidth !== null && leftWidth === leftDragWidth) setLeftDragWidth(null);
|
|
11214
|
+
if (rightDragWidth !== null && rightWidth === rightDragWidth) setRightDragWidth(null);
|
|
10991
11215
|
const leftState = useSidebarState({
|
|
10992
11216
|
defaultMode: defaultLeftMode,
|
|
10993
11217
|
mode: leftMode,
|
|
@@ -11218,7 +11442,7 @@ var SidebarGroupLabel = ({
|
|
|
11218
11442
|
"group-data-[state=collapsed]/sidebar:tw-opacity-0",
|
|
11219
11443
|
"tw-items-center",
|
|
11220
11444
|
"tw-flex-1",
|
|
11221
|
-
"tw-text-
|
|
11445
|
+
"tw-text-muted-foreground",
|
|
11222
11446
|
"tw-whitespace-nowrap",
|
|
11223
11447
|
// transition
|
|
11224
11448
|
"tw-transition-opacity",
|
|
@@ -11368,7 +11592,7 @@ var SidebarMenuButton = ({
|
|
|
11368
11592
|
),
|
|
11369
11593
|
tabIndex: 0,
|
|
11370
11594
|
children: [
|
|
11371
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuIcon, { children:
|
|
11595
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx(SidebarMenuIcon, { children: icon }),
|
|
11372
11596
|
/* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slottable, { children })
|
|
11373
11597
|
]
|
|
11374
11598
|
}
|
|
@@ -11567,7 +11791,7 @@ var SidebarMenuCard = ({ children, className, icon, title, ...rest }) => {
|
|
|
11567
11791
|
),
|
|
11568
11792
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-gap-2", children: [
|
|
11569
11793
|
/* @__PURE__ */ jsxRuntime.jsxs(Title3, { children: [
|
|
11570
|
-
/* @__PURE__ */ jsxRuntime.jsx(SidebarMenuIcon, { className: "tw-p-px", children:
|
|
11794
|
+
/* @__PURE__ */ jsxRuntime.jsx(SidebarMenuIcon, { className: "tw-p-px", children: icon }),
|
|
11571
11795
|
title
|
|
11572
11796
|
] }),
|
|
11573
11797
|
/* @__PURE__ */ jsxRuntime.jsx(Content10, { className, children })
|
|
@@ -12332,7 +12556,7 @@ var NavbarMenuButton = ({
|
|
|
12332
12556
|
const Comp = asChild ? reactSlot.Root : "button";
|
|
12333
12557
|
const isSearchVariant = variant === "search";
|
|
12334
12558
|
const isEmphasizedVariant = variant === "emphasized";
|
|
12335
|
-
const adornment = isSearchVariant ? /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Search, {}) :
|
|
12559
|
+
const adornment = isSearchVariant ? /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Search, {}) : icon;
|
|
12336
12560
|
const adornmentVariant = (() => {
|
|
12337
12561
|
if (isSearchVariant || variant === "icon") return "icon-button";
|
|
12338
12562
|
if (isEmphasizedVariant) return "icon-accent-emphasized";
|
|
@@ -12537,15 +12761,22 @@ Breadcrumb.Link = BreadcrumbLink;
|
|
|
12537
12761
|
Breadcrumb.Page = BreadcrumbPage;
|
|
12538
12762
|
Breadcrumb.Separator = BreadcrumbSeparator;
|
|
12539
12763
|
Breadcrumb.Ellipsis = BreadcrumbEllipsis;
|
|
12540
|
-
|
|
12541
|
-
|
|
12542
|
-
|
|
12543
|
-
|
|
12544
|
-
|
|
12545
|
-
|
|
12546
|
-
|
|
12547
|
-
|
|
12548
|
-
}
|
|
12764
|
+
|
|
12765
|
+
// src/components/Tabs/styles.ts
|
|
12766
|
+
var tabsListWrapperClass = "tw-shrink-0 tw-border-0 tw-border-b tw-border-solid tw-border-border";
|
|
12767
|
+
var tabsListClass = "tw-flex tw-gap-8 tw-shrink-0 tw-w-max";
|
|
12768
|
+
var tabsTriggerGroupClass = "tw-group/tab-trigger-group tw-flex tw-shrink-0 tw-items-center";
|
|
12769
|
+
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";
|
|
12770
|
+
var tabsTriggerCompactClass = "tw-text-sm tw-pb-4";
|
|
12771
|
+
var TabsList = ({ className, children, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { orientation: "horizontal", className: tabsListWrapperClass, children: /* @__PURE__ */ jsxRuntime.jsx(RadixTabs__namespace.List, { ...rest, "data-slot": "tabs-list", className: cn(tabsListClass, className), children }) });
|
|
12772
|
+
var TabsTrigger = ({ className, compact = false, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
12773
|
+
RadixTabs__namespace.Trigger,
|
|
12774
|
+
{
|
|
12775
|
+
"data-slot": "tabs-trigger",
|
|
12776
|
+
...rest,
|
|
12777
|
+
className: cn(tabsTriggerClass, compact && tabsTriggerCompactClass, className)
|
|
12778
|
+
}
|
|
12779
|
+
);
|
|
12549
12780
|
var Tabs2 = ({
|
|
12550
12781
|
triggers,
|
|
12551
12782
|
compact = false,
|
|
@@ -12555,66 +12786,56 @@ var Tabs2 = ({
|
|
|
12555
12786
|
rootClassName,
|
|
12556
12787
|
listClassName,
|
|
12557
12788
|
triggerClassName,
|
|
12789
|
+
triggerGroupClassName,
|
|
12558
12790
|
...rest
|
|
12559
|
-
}) =>
|
|
12560
|
-
|
|
12561
|
-
|
|
12562
|
-
|
|
12563
|
-
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
|
|
12567
|
-
|
|
12568
|
-
...
|
|
12569
|
-
|
|
12570
|
-
|
|
12571
|
-
|
|
12572
|
-
|
|
12573
|
-
|
|
12574
|
-
|
|
12575
|
-
|
|
12576
|
-
|
|
12577
|
-
|
|
12578
|
-
|
|
12579
|
-
|
|
12580
|
-
|
|
12581
|
-
|
|
12582
|
-
RadixTabs__namespace.Trigger,
|
|
12583
|
-
{
|
|
12584
|
-
asChild: true,
|
|
12585
|
-
value,
|
|
12586
|
-
className: triggerClasses,
|
|
12587
|
-
...rest2,
|
|
12588
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
12589
|
-
title,
|
|
12590
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12591
|
-
Button,
|
|
12592
|
-
{
|
|
12593
|
-
variant: "inline",
|
|
12594
|
-
size: "icon-3xs",
|
|
12595
|
-
disabled: rest2.disabled,
|
|
12596
|
-
onClick: () => onClose(value),
|
|
12597
|
-
onMouseDown: (e) => e.preventDefault(),
|
|
12598
|
-
className: "!tw-size-8 tw-opacity-0 tw-duration-200 group-hover/tab-trigger:tw-opacity-100",
|
|
12599
|
-
"aria-label": "Close tab",
|
|
12600
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-4" })
|
|
12601
|
-
}
|
|
12602
|
-
)
|
|
12603
|
-
] })
|
|
12604
|
-
},
|
|
12605
|
-
value
|
|
12606
|
-
);
|
|
12791
|
+
}) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12792
|
+
RadixTabs__namespace.Root,
|
|
12793
|
+
{
|
|
12794
|
+
...rest,
|
|
12795
|
+
"data-slot": "tabs-root",
|
|
12796
|
+
className: cn("tw-flex tw-flex-col tw-gap-6", rootClassName),
|
|
12797
|
+
defaultValue: defaultValue ?? triggers[0]?.value,
|
|
12798
|
+
onValueChange,
|
|
12799
|
+
children: [
|
|
12800
|
+
/* @__PURE__ */ jsxRuntime.jsx(TabsList, { className: listClassName, children: triggers.map(({ value, title, onClose, className: callerClassName, ...triggerRest }) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12801
|
+
"div",
|
|
12802
|
+
{
|
|
12803
|
+
className: cn(tabsTriggerGroupClass, triggerGroupClassName),
|
|
12804
|
+
"data-slot": "tabs-trigger-group",
|
|
12805
|
+
children: [
|
|
12806
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12807
|
+
TabsTrigger,
|
|
12808
|
+
{
|
|
12809
|
+
value,
|
|
12810
|
+
compact,
|
|
12811
|
+
...triggerRest,
|
|
12812
|
+
className: cn(triggerClassName, callerClassName),
|
|
12813
|
+
children: title
|
|
12607
12814
|
}
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12613
|
-
|
|
12614
|
-
|
|
12615
|
-
|
|
12616
|
-
|
|
12617
|
-
|
|
12815
|
+
),
|
|
12816
|
+
onClose && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12817
|
+
Button,
|
|
12818
|
+
{
|
|
12819
|
+
type: "button",
|
|
12820
|
+
variant: "inline",
|
|
12821
|
+
size: "icon-3xs",
|
|
12822
|
+
disabled: triggerRest.disabled,
|
|
12823
|
+
onClick: () => onClose(value),
|
|
12824
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
12825
|
+
className: "!tw-size-8 tw-opacity-0 tw-duration-200 focus-visible:tw-opacity-100 group-hover/tab-trigger-group:tw-opacity-100 group-focus-within/tab-trigger-group:tw-opacity-100",
|
|
12826
|
+
"aria-label": typeof title === "string" ? `Close ${title}` : "Close tab",
|
|
12827
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.X, { className: "tw-size-4" })
|
|
12828
|
+
}
|
|
12829
|
+
)
|
|
12830
|
+
]
|
|
12831
|
+
},
|
|
12832
|
+
value
|
|
12833
|
+
)) }),
|
|
12834
|
+
children
|
|
12835
|
+
]
|
|
12836
|
+
}
|
|
12837
|
+
);
|
|
12838
|
+
var TabsContent = (props) => /* @__PURE__ */ jsxRuntime.jsx(RadixTabs__namespace.Content, { "data-slot": "tabs-content", tabIndex: -1, ...props });
|
|
12618
12839
|
var StepperContext = react.createContext({
|
|
12619
12840
|
orientation: "horizontal"
|
|
12620
12841
|
});
|
|
@@ -12869,7 +13090,7 @@ var TableBody = ({
|
|
|
12869
13090
|
{
|
|
12870
13091
|
className: cn(
|
|
12871
13092
|
{
|
|
12872
|
-
"[&_tr]:tw-border-0 [&_tr]:tw-border-b-
|
|
13093
|
+
"[&_tr]:tw-border-0 [&_tr]:tw-border-b-border [&_tr]:tw-border-b [&_tr]:tw-border-solid [&_tr:last-child]:tw-border-0": withBorderSeparator
|
|
12873
13094
|
},
|
|
12874
13095
|
className
|
|
12875
13096
|
),
|
|
@@ -12897,7 +13118,7 @@ var TableHead = ({ className, ...props }) => {
|
|
|
12897
13118
|
"th",
|
|
12898
13119
|
{
|
|
12899
13120
|
className: cn(
|
|
12900
|
-
"tw-px-3 tw-py-2 tw-text-left tw-font-medium tw-whitespace-nowrap [&:has([role=checkbox])]:tw-pr-0 [&>[role=checkbox]]:tw-translate-y-[2px]",
|
|
13121
|
+
"tw-px-3 tw-py-2 tw-text-left tw-font-medium tw-whitespace-nowrap [&:has([role=checkbox])]:tw-pr-0 [&>[role=checkbox]]:tw-translate-y-[2px] focus-within:tw-ring-2 focus-within:tw-ring-primary/50",
|
|
12901
13122
|
className
|
|
12902
13123
|
),
|
|
12903
13124
|
...props
|
|
@@ -12913,7 +13134,7 @@ var TableHeader = ({
|
|
|
12913
13134
|
"thead",
|
|
12914
13135
|
{
|
|
12915
13136
|
className: cn(
|
|
12916
|
-
"tw-sticky tw-top-0 tw-z-10 [&_tr]:tw-bg-
|
|
13137
|
+
"tw-sticky tw-top-0 tw-z-10 [&_tr]:tw-bg-muted [&_tr]:tw-border-b [&_tr]:tw-border-border",
|
|
12917
13138
|
{ "tw-shadow-table": withShadow },
|
|
12918
13139
|
className
|
|
12919
13140
|
),
|
|
@@ -12925,7 +13146,17 @@ var TableRow = ({
|
|
|
12925
13146
|
ref,
|
|
12926
13147
|
className,
|
|
12927
13148
|
...props
|
|
12928
|
-
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
13149
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
13150
|
+
"tr",
|
|
13151
|
+
{
|
|
13152
|
+
ref,
|
|
13153
|
+
className: cn(
|
|
13154
|
+
"hover:tw-bg-muted/50 aria-selected:tw-bg-accent aria-selected:hover:tw-bg-accent",
|
|
13155
|
+
className
|
|
13156
|
+
),
|
|
13157
|
+
...props
|
|
13158
|
+
}
|
|
13159
|
+
);
|
|
12929
13160
|
var Table = ({
|
|
12930
13161
|
borderCollapsed = true,
|
|
12931
13162
|
bordered = false,
|
|
@@ -12938,7 +13169,7 @@ var Table = ({
|
|
|
12938
13169
|
{
|
|
12939
13170
|
className: cn(
|
|
12940
13171
|
"tw-relative tw-w-full",
|
|
12941
|
-
bordered && "tw-overflow-auto tw-rounded-[10px] tw-border tw-border-solid tw-border-
|
|
13172
|
+
bordered && "tw-overflow-auto tw-rounded-[10px] tw-border tw-border-solid tw-border-border",
|
|
12942
13173
|
containerClassName
|
|
12943
13174
|
),
|
|
12944
13175
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -13005,10 +13236,10 @@ var connectorWrapper = classVarianceAuthority.cva(
|
|
|
13005
13236
|
"before:tw-h-full",
|
|
13006
13237
|
"before:group-last/timeline-item:tw-h-[--connector-line-height]",
|
|
13007
13238
|
// Solid line
|
|
13008
|
-
"before:group-data-[variant=solid]/timeline:tw-bg-
|
|
13239
|
+
"before:group-data-[variant=solid]/timeline:tw-bg-border",
|
|
13009
13240
|
// Dashed line using gradient
|
|
13010
13241
|
"before:group-data-[variant=dashed]/timeline:tw-bg-gradient-to-b",
|
|
13011
|
-
"before:group-data-[variant=dashed]/timeline:tw-from-
|
|
13242
|
+
"before:group-data-[variant=dashed]/timeline:tw-from-border",
|
|
13012
13243
|
"before:group-data-[variant=dashed]/timeline:tw-from-50%",
|
|
13013
13244
|
"before:group-data-[variant=dashed]/timeline:tw-to-transparent",
|
|
13014
13245
|
"before:group-data-[variant=dashed]/timeline:tw-to-50%",
|
|
@@ -13042,17 +13273,17 @@ var connector = classVarianceAuthority.cva(
|
|
|
13042
13273
|
variant: {
|
|
13043
13274
|
none: [],
|
|
13044
13275
|
label: [
|
|
13045
|
-
"tw-bg-
|
|
13046
|
-
"tw-text-
|
|
13276
|
+
"tw-bg-muted",
|
|
13277
|
+
"tw-text-muted-foreground",
|
|
13047
13278
|
"tw-rounded",
|
|
13048
13279
|
"tw-p-1.5",
|
|
13049
13280
|
"tw-text-nowrap",
|
|
13050
13281
|
"tw-text-xs"
|
|
13051
13282
|
],
|
|
13052
13283
|
icon: [
|
|
13053
|
-
"tw-bg-
|
|
13284
|
+
"tw-bg-background",
|
|
13054
13285
|
'[&_svg:not([class*="tw-size-"])]:tw-size-4',
|
|
13055
|
-
"[&_svg]:tw-text-
|
|
13286
|
+
"[&_svg]:tw-text-muted-foreground"
|
|
13056
13287
|
],
|
|
13057
13288
|
line: [
|
|
13058
13289
|
"tw-min-w-8",
|
|
@@ -13073,7 +13304,7 @@ var connector = classVarianceAuthority.cva(
|
|
|
13073
13304
|
// l-shape
|
|
13074
13305
|
"before:tw-border-l",
|
|
13075
13306
|
"before:tw-border-b",
|
|
13076
|
-
"before:tw-border-
|
|
13307
|
+
"before:tw-border-border",
|
|
13077
13308
|
"before:tw-rounded-bl",
|
|
13078
13309
|
// Solid or dashed
|
|
13079
13310
|
"before:group-data-[variant=dashed]/timeline:tw-border-dashed",
|
|
@@ -13393,7 +13624,7 @@ var variants11 = classVarianceAuthority.cva(
|
|
|
13393
13624
|
{
|
|
13394
13625
|
variant: "gutter",
|
|
13395
13626
|
diff: "default",
|
|
13396
|
-
className: ["tw-bg-
|
|
13627
|
+
className: ["tw-bg-muted", "tw-text-muted-foreground"]
|
|
13397
13628
|
},
|
|
13398
13629
|
{
|
|
13399
13630
|
variant: "gutter",
|
|
@@ -13408,7 +13639,7 @@ var variants11 = classVarianceAuthority.cva(
|
|
|
13408
13639
|
{
|
|
13409
13640
|
variant: "code",
|
|
13410
13641
|
diff: "default",
|
|
13411
|
-
className: ["tw-bg-
|
|
13642
|
+
className: ["tw-bg-background", "tw-text-foreground"]
|
|
13412
13643
|
},
|
|
13413
13644
|
{
|
|
13414
13645
|
variant: "code",
|
|
@@ -13432,7 +13663,7 @@ var DiffViewTh = ({ variant = "default", children, className, ...props }) => /*
|
|
|
13432
13663
|
{
|
|
13433
13664
|
...props,
|
|
13434
13665
|
className: cn(
|
|
13435
|
-
"tw-bg-
|
|
13666
|
+
"tw-bg-background",
|
|
13436
13667
|
"tw-py-3",
|
|
13437
13668
|
"tw-border-b",
|
|
13438
13669
|
{ "tw-w-14": variant === "gutter" },
|
|
@@ -13653,13 +13884,13 @@ var DiffView = ({
|
|
|
13653
13884
|
{
|
|
13654
13885
|
className: cn(
|
|
13655
13886
|
"tailwindcss-preflight",
|
|
13656
|
-
"tw-bg-
|
|
13887
|
+
"tw-bg-muted",
|
|
13657
13888
|
"tw-border",
|
|
13658
13889
|
"tw-rounded-2xl",
|
|
13659
13890
|
"tw-overflow-auto",
|
|
13660
13891
|
className
|
|
13661
13892
|
),
|
|
13662
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "tw-w-full tw-table-fixed tw-bg-
|
|
13893
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "tw-w-full tw-table-fixed tw-bg-background", children: [
|
|
13663
13894
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { className: "tw-sticky tw-top-0 tw-z-10 tw-shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
13664
13895
|
/* @__PURE__ */ jsxRuntime.jsx(DiffViewTh, { variant: "gutter", children: leftTitleGutter }),
|
|
13665
13896
|
/* @__PURE__ */ jsxRuntime.jsx(DiffViewTh, { children: leftTitle }),
|
|
@@ -13676,8 +13907,8 @@ var DiffView = ({
|
|
|
13676
13907
|
className: cn(
|
|
13677
13908
|
"tw-w-full",
|
|
13678
13909
|
"tw-text-center",
|
|
13679
|
-
"tw-bg-
|
|
13680
|
-
"hover:tw-bg-
|
|
13910
|
+
"tw-bg-muted",
|
|
13911
|
+
"hover:tw-bg-accent",
|
|
13681
13912
|
"tw-underline",
|
|
13682
13913
|
"tw-p-2"
|
|
13683
13914
|
),
|
|
@@ -13857,6 +14088,8 @@ var createDiffHighlightExtension = () => {
|
|
|
13857
14088
|
var updateHighlightedLines = (view, lines, classification) => {
|
|
13858
14089
|
view.dispatch({ effects: setHighlightedLines.of({ lines, classification }) });
|
|
13859
14090
|
};
|
|
14091
|
+
var EMPTY_LINES = /* @__PURE__ */ new Set();
|
|
14092
|
+
var EMPTY_CLASSIFICATION = /* @__PURE__ */ new Map();
|
|
13860
14093
|
var MergePane = ({
|
|
13861
14094
|
value,
|
|
13862
14095
|
highlightedLines,
|
|
@@ -13866,7 +14099,8 @@ var MergePane = ({
|
|
|
13866
14099
|
header,
|
|
13867
14100
|
headerClassName,
|
|
13868
14101
|
className,
|
|
13869
|
-
onScrollDOMReady
|
|
14102
|
+
onScrollDOMReady,
|
|
14103
|
+
deleted = false
|
|
13870
14104
|
}) => {
|
|
13871
14105
|
const editorRef = react.useRef(null);
|
|
13872
14106
|
const extensions = react.useMemo(
|
|
@@ -13875,11 +14109,11 @@ var MergePane = ({
|
|
|
13875
14109
|
view.EditorView.theme({
|
|
13876
14110
|
"&.cm-editor": {
|
|
13877
14111
|
height: "100%",
|
|
13878
|
-
backgroundColor: colors3__default.default.neutral[50],
|
|
14112
|
+
backgroundColor: deleted ? colors3__default.default.error[100] : colors3__default.default.neutral[50],
|
|
13879
14113
|
outline: "none"
|
|
13880
14114
|
},
|
|
13881
14115
|
".cm-gutters": {
|
|
13882
|
-
backgroundColor: colors3__default.default.neutral[100]
|
|
14116
|
+
backgroundColor: deleted ? colors3__default.default.error[200] : colors3__default.default.neutral[100]
|
|
13883
14117
|
},
|
|
13884
14118
|
"*": { lineHeight: `${LINE_HEIGHT_PX}px` },
|
|
13885
14119
|
".cm-lineNumbers .cm-gutterElement": { padding: "0 0 0 25px" }
|
|
@@ -13892,20 +14126,27 @@ var MergePane = ({
|
|
|
13892
14126
|
}
|
|
13893
14127
|
})
|
|
13894
14128
|
],
|
|
13895
|
-
[]
|
|
14129
|
+
[deleted]
|
|
13896
14130
|
);
|
|
13897
14131
|
react.useEffect(() => {
|
|
13898
14132
|
const view = editorRef.current?.view;
|
|
13899
|
-
if (view)
|
|
13900
|
-
|
|
13901
|
-
|
|
13902
|
-
|
|
14133
|
+
if (!view) return;
|
|
14134
|
+
updateHighlightedLines(
|
|
14135
|
+
view,
|
|
14136
|
+
deleted ? EMPTY_LINES : highlightedLines,
|
|
14137
|
+
deleted ? EMPTY_CLASSIFICATION : lineClassification
|
|
14138
|
+
);
|
|
14139
|
+
}, [highlightedLines, lineClassification, deleted]);
|
|
13903
14140
|
const handleCreateEditor = react.useCallback(
|
|
13904
14141
|
(view) => {
|
|
13905
|
-
updateHighlightedLines(
|
|
14142
|
+
updateHighlightedLines(
|
|
14143
|
+
view,
|
|
14144
|
+
deleted ? EMPTY_LINES : highlightedLines,
|
|
14145
|
+
deleted ? EMPTY_CLASSIFICATION : lineClassification
|
|
14146
|
+
);
|
|
13906
14147
|
onScrollDOMReady?.(view.scrollDOM);
|
|
13907
14148
|
},
|
|
13908
|
-
[highlightedLines, lineClassification, onScrollDOMReady]
|
|
14149
|
+
[highlightedLines, lineClassification, onScrollDOMReady, deleted]
|
|
13909
14150
|
);
|
|
13910
14151
|
react.useEffect(() => {
|
|
13911
14152
|
return () => onScrollDOMReady?.(null);
|
|
@@ -13918,22 +14159,42 @@ var MergePane = ({
|
|
|
13918
14159
|
observer.observe(wrapper);
|
|
13919
14160
|
return () => observer.disconnect();
|
|
13920
14161
|
}, []);
|
|
13921
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13922
|
-
|
|
13923
|
-
|
|
13924
|
-
|
|
13925
|
-
|
|
13926
|
-
|
|
13927
|
-
|
|
13928
|
-
|
|
13929
|
-
|
|
13930
|
-
|
|
13931
|
-
|
|
13932
|
-
|
|
13933
|
-
|
|
13934
|
-
|
|
13935
|
-
|
|
13936
|
-
|
|
14162
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14163
|
+
"div",
|
|
14164
|
+
{
|
|
14165
|
+
className: cn(
|
|
14166
|
+
"tw-flex tw-min-w-0 tw-flex-1 tw-flex-col tw-overflow-hidden",
|
|
14167
|
+
className,
|
|
14168
|
+
deleted && "tw-border-error-300"
|
|
14169
|
+
),
|
|
14170
|
+
children: [
|
|
14171
|
+
header && /* @__PURE__ */ jsxRuntime.jsx(
|
|
14172
|
+
"div",
|
|
14173
|
+
{
|
|
14174
|
+
className: cn(
|
|
14175
|
+
"tw-px-4 tw-py-3",
|
|
14176
|
+
deleted ? "tw-border-b tw-border-error-200 tw-bg-error-100" : "tw-bg-background",
|
|
14177
|
+
headerClassName
|
|
14178
|
+
),
|
|
14179
|
+
children: header
|
|
14180
|
+
}
|
|
14181
|
+
),
|
|
14182
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw-flex tw-h-0 tw-flex-1 tw-flex-col [&_>div]:tw-h-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14183
|
+
CodeMirror__default.default,
|
|
14184
|
+
{
|
|
14185
|
+
ref: editorRef,
|
|
14186
|
+
height: "100%",
|
|
14187
|
+
value,
|
|
14188
|
+
onChange,
|
|
14189
|
+
extensions,
|
|
14190
|
+
readOnly,
|
|
14191
|
+
onCreateEditor: handleCreateEditor,
|
|
14192
|
+
basicSetup: { lineNumbers: true, drawSelection: false }
|
|
14193
|
+
}
|
|
14194
|
+
) })
|
|
14195
|
+
]
|
|
14196
|
+
}
|
|
14197
|
+
);
|
|
13937
14198
|
};
|
|
13938
14199
|
var useScrollSync = () => {
|
|
13939
14200
|
const scrollersRef = react.useRef([]);
|
|
@@ -13994,6 +14255,8 @@ var useScrollSync = () => {
|
|
|
13994
14255
|
}, []);
|
|
13995
14256
|
return { registerScroller, registerFollower };
|
|
13996
14257
|
};
|
|
14258
|
+
var EMPTY_LINES2 = /* @__PURE__ */ new Set();
|
|
14259
|
+
var EMPTY_CLASSIFICATION2 = /* @__PURE__ */ new Map();
|
|
13997
14260
|
var MergeEditor = ({
|
|
13998
14261
|
mergeValue,
|
|
13999
14262
|
handleMergeChange,
|
|
@@ -14017,14 +14280,17 @@ var MergeEditor = ({
|
|
|
14017
14280
|
middleClassName,
|
|
14018
14281
|
rightHeader,
|
|
14019
14282
|
className,
|
|
14020
|
-
argo
|
|
14283
|
+
argo,
|
|
14284
|
+
leftDeleted = false,
|
|
14285
|
+
rightDeleted = false
|
|
14021
14286
|
}) => {
|
|
14022
14287
|
const { registerScroller, registerFollower } = useScrollSync();
|
|
14288
|
+
const anySideDeleted = leftDeleted || rightDeleted;
|
|
14023
14289
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14024
14290
|
"div",
|
|
14025
14291
|
{
|
|
14026
14292
|
className: cn(
|
|
14027
|
-
"tw-flex tw-h-full tw-min-h-0 tw-overflow-hidden tw-bg-
|
|
14293
|
+
"tw-flex tw-h-full tw-min-h-0 tw-overflow-hidden tw-bg-background tw-gap-3",
|
|
14028
14294
|
className
|
|
14029
14295
|
),
|
|
14030
14296
|
children: [
|
|
@@ -14036,14 +14302,15 @@ var MergeEditor = ({
|
|
|
14036
14302
|
lineClassification: leftClassification,
|
|
14037
14303
|
readOnly: true,
|
|
14038
14304
|
header: leftHeader,
|
|
14039
|
-
className: "tw-rounded-r-lg tw-border tw-border-
|
|
14040
|
-
onScrollDOMReady: registerScroller(0)
|
|
14305
|
+
className: "tw-rounded-r-lg tw-border tw-border-border",
|
|
14306
|
+
onScrollDOMReady: registerScroller(0),
|
|
14307
|
+
deleted: leftDeleted
|
|
14041
14308
|
}
|
|
14042
14309
|
),
|
|
14043
14310
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14044
14311
|
AcceptControls,
|
|
14045
14312
|
{
|
|
14046
|
-
conflicts: leftConflicts,
|
|
14313
|
+
conflicts: leftDeleted ? [] : leftConflicts,
|
|
14047
14314
|
side: "left",
|
|
14048
14315
|
onAccept: acceptLeft,
|
|
14049
14316
|
onDismiss: dismissLeft,
|
|
@@ -14055,19 +14322,19 @@ var MergeEditor = ({
|
|
|
14055
14322
|
MergePane,
|
|
14056
14323
|
{
|
|
14057
14324
|
value: mergeValue,
|
|
14058
|
-
highlightedLines: mergeHighlightedLines,
|
|
14059
|
-
lineClassification: mergeClassification,
|
|
14325
|
+
highlightedLines: anySideDeleted ? EMPTY_LINES2 : mergeHighlightedLines,
|
|
14326
|
+
lineClassification: anySideDeleted ? EMPTY_CLASSIFICATION2 : mergeClassification,
|
|
14060
14327
|
onChange: handleMergeChange,
|
|
14061
14328
|
header: middleHeader,
|
|
14062
14329
|
headerClassName: middleHeaderClassName,
|
|
14063
|
-
className: cn("tw-border tw-border-
|
|
14330
|
+
className: cn("tw-border tw-border-border tw-rounded-lg", middleClassName),
|
|
14064
14331
|
onScrollDOMReady: registerScroller(1)
|
|
14065
14332
|
}
|
|
14066
14333
|
),
|
|
14067
14334
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14068
14335
|
AcceptControls,
|
|
14069
14336
|
{
|
|
14070
|
-
conflicts: rightConflicts,
|
|
14337
|
+
conflicts: rightDeleted ? [] : rightConflicts,
|
|
14071
14338
|
side: "right",
|
|
14072
14339
|
onAccept: acceptRight,
|
|
14073
14340
|
onDismiss: dismissRight,
|
|
@@ -14083,8 +14350,9 @@ var MergeEditor = ({
|
|
|
14083
14350
|
lineClassification: rightClassification,
|
|
14084
14351
|
readOnly: true,
|
|
14085
14352
|
header: rightHeader,
|
|
14086
|
-
className: "tw-rounded-l-lg tw-border tw-border-
|
|
14087
|
-
onScrollDOMReady: registerScroller(2)
|
|
14353
|
+
className: "tw-rounded-l-lg tw-border tw-border-border",
|
|
14354
|
+
onScrollDOMReady: registerScroller(2),
|
|
14355
|
+
deleted: rightDeleted
|
|
14088
14356
|
}
|
|
14089
14357
|
)
|
|
14090
14358
|
]
|
|
@@ -14092,13 +14360,13 @@ var MergeEditor = ({
|
|
|
14092
14360
|
);
|
|
14093
14361
|
};
|
|
14094
14362
|
var PaneHeader = ({ label, sublabel }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
14095
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw-m-0 tw-text-sm tw-font-medium tw-text-
|
|
14096
|
-
sublabel && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw-m-0 tw-text-xs tw-text-
|
|
14363
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw-m-0 tw-text-sm tw-font-medium tw-text-foreground", children: label }),
|
|
14364
|
+
sublabel && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "tw-m-0 tw-text-xs tw-text-muted-foreground", children: sublabel })
|
|
14097
14365
|
] });
|
|
14098
14366
|
var ConflictStatusIndicator = ({ remainingConflicts, remainingSafeChanges }) => {
|
|
14099
14367
|
const hasConflicts = remainingConflicts > 0;
|
|
14100
14368
|
const allDone = !hasConflicts && remainingSafeChanges === 0;
|
|
14101
|
-
const colorClass = hasConflicts ? "tw-text-warning-500" : allDone ? "tw-text-primary-500" : "tw-text-
|
|
14369
|
+
const colorClass = hasConflicts ? "tw-text-warning-500" : allDone ? "tw-text-primary-500" : "tw-text-muted-foreground";
|
|
14102
14370
|
const parts = [];
|
|
14103
14371
|
if (hasConflicts) {
|
|
14104
14372
|
parts.push(`${remainingConflicts} conflict${remainingConflicts !== 1 ? "s" : ""}`);
|
|
@@ -14918,6 +15186,10 @@ var MIN_SCALE = 0.5;
|
|
|
14918
15186
|
var MAX_SCALE = 3;
|
|
14919
15187
|
var ZOOM_STEP = 0.1;
|
|
14920
15188
|
var ZoomableSvg = ({ html, copyText, className }) => {
|
|
15189
|
+
const safeHtml = react.useMemo(
|
|
15190
|
+
() => DOMPurify__default.default.sanitize(html, { USE_PROFILES: { svg: true, svgFilters: true } }),
|
|
15191
|
+
[html]
|
|
15192
|
+
);
|
|
14921
15193
|
const containerRef = react.useRef(null);
|
|
14922
15194
|
const [scale, setScale] = react.useState(1);
|
|
14923
15195
|
const [translate, setTranslate] = react.useState({ x: 0, y: 0 });
|
|
@@ -15013,7 +15285,7 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
15013
15285
|
isFullscreen && "tw-h-full [&>svg]:tw-h-full"
|
|
15014
15286
|
),
|
|
15015
15287
|
style: { transform: `translate(${translate.x}px, ${translate.y}px) scale(${scale})` },
|
|
15016
|
-
dangerouslySetInnerHTML: { __html:
|
|
15288
|
+
dangerouslySetInnerHTML: { __html: safeHtml }
|
|
15017
15289
|
}
|
|
15018
15290
|
)
|
|
15019
15291
|
}
|
|
@@ -15066,7 +15338,7 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
15066
15338
|
"div",
|
|
15067
15339
|
{
|
|
15068
15340
|
role: "presentation",
|
|
15069
|
-
className: "tw-fixed tw-inset-0 tw-z-[1060] tw-bg-
|
|
15341
|
+
className: "tw-fixed tw-inset-0 tw-z-[1060] tw-bg-muted tw-p-4",
|
|
15070
15342
|
onClick: stopPropagation2,
|
|
15071
15343
|
children: diagramContent
|
|
15072
15344
|
}
|
|
@@ -15076,7 +15348,7 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
15076
15348
|
"div",
|
|
15077
15349
|
{
|
|
15078
15350
|
className: cn(
|
|
15079
|
-
"tw-overflow-hidden tw-rounded-md tw-border tw-border-
|
|
15351
|
+
"tw-overflow-hidden tw-rounded-md tw-border tw-border-border tw-bg-muted",
|
|
15080
15352
|
className
|
|
15081
15353
|
),
|
|
15082
15354
|
children: diagramContent
|
|
@@ -15085,7 +15357,7 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
15085
15357
|
};
|
|
15086
15358
|
var ButtonToolbar = ({ value, children }) => {
|
|
15087
15359
|
if (!value && !children) return null;
|
|
15088
|
-
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-
|
|
15360
|
+
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: [
|
|
15089
15361
|
!!value && /* @__PURE__ */ jsxRuntime.jsx(ClipboardButton, { size: "icon-sm", variant: "invisible", text: value }),
|
|
15090
15362
|
children
|
|
15091
15363
|
] });
|
|
@@ -15239,7 +15511,7 @@ var CodeEditor = ({
|
|
|
15239
15511
|
"div",
|
|
15240
15512
|
{
|
|
15241
15513
|
className: cn(
|
|
15242
|
-
"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-
|
|
15514
|
+
"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",
|
|
15243
15515
|
{ "tw-mt-5": !!renderAdditionalButtons },
|
|
15244
15516
|
className
|
|
15245
15517
|
),
|
|
@@ -15833,26 +16105,6 @@ Object.defineProperty(exports, "Slot", {
|
|
|
15833
16105
|
enumerable: true,
|
|
15834
16106
|
get: function () { return reactSlot.Slot; }
|
|
15835
16107
|
});
|
|
15836
|
-
Object.defineProperty(exports, "defaultFilter", {
|
|
15837
|
-
enumerable: true,
|
|
15838
|
-
get: function () { return cmdk.defaultFilter; }
|
|
15839
|
-
});
|
|
15840
|
-
Object.defineProperty(exports, "useCommandState", {
|
|
15841
|
-
enumerable: true,
|
|
15842
|
-
get: function () { return cmdk.useCommandState; }
|
|
15843
|
-
});
|
|
15844
|
-
Object.defineProperty(exports, "REGEXP_ONLY_CHARS", {
|
|
15845
|
-
enumerable: true,
|
|
15846
|
-
get: function () { return inputOtp.REGEXP_ONLY_CHARS; }
|
|
15847
|
-
});
|
|
15848
|
-
Object.defineProperty(exports, "REGEXP_ONLY_DIGITS", {
|
|
15849
|
-
enumerable: true,
|
|
15850
|
-
get: function () { return inputOtp.REGEXP_ONLY_DIGITS; }
|
|
15851
|
-
});
|
|
15852
|
-
Object.defineProperty(exports, "REGEXP_ONLY_DIGITS_AND_CHARS", {
|
|
15853
|
-
enumerable: true,
|
|
15854
|
-
get: function () { return inputOtp.REGEXP_ONLY_DIGITS_AND_CHARS; }
|
|
15855
|
-
});
|
|
15856
16108
|
Object.defineProperty(exports, "brandSchema", {
|
|
15857
16109
|
enumerable: true,
|
|
15858
16110
|
get: function () { return brandRegistry.brandSchema; }
|
|
@@ -15877,6 +16129,26 @@ Object.defineProperty(exports, "keboolaLegacy", {
|
|
|
15877
16129
|
enumerable: true,
|
|
15878
16130
|
get: function () { return brandRegistry.keboolaLegacy; }
|
|
15879
16131
|
});
|
|
16132
|
+
Object.defineProperty(exports, "defaultFilter", {
|
|
16133
|
+
enumerable: true,
|
|
16134
|
+
get: function () { return cmdk.defaultFilter; }
|
|
16135
|
+
});
|
|
16136
|
+
Object.defineProperty(exports, "useCommandState", {
|
|
16137
|
+
enumerable: true,
|
|
16138
|
+
get: function () { return cmdk.useCommandState; }
|
|
16139
|
+
});
|
|
16140
|
+
Object.defineProperty(exports, "REGEXP_ONLY_CHARS", {
|
|
16141
|
+
enumerable: true,
|
|
16142
|
+
get: function () { return inputOtp.REGEXP_ONLY_CHARS; }
|
|
16143
|
+
});
|
|
16144
|
+
Object.defineProperty(exports, "REGEXP_ONLY_DIGITS", {
|
|
16145
|
+
enumerable: true,
|
|
16146
|
+
get: function () { return inputOtp.REGEXP_ONLY_DIGITS; }
|
|
16147
|
+
});
|
|
16148
|
+
Object.defineProperty(exports, "REGEXP_ONLY_DIGITS_AND_CHARS", {
|
|
16149
|
+
enumerable: true,
|
|
16150
|
+
get: function () { return inputOtp.REGEXP_ONLY_DIGITS_AND_CHARS; }
|
|
16151
|
+
});
|
|
15880
16152
|
exports.Alert = Alert;
|
|
15881
16153
|
exports.AnswerSummary = AnswerSummary;
|
|
15882
16154
|
exports.AppShell = AppShell;
|
|
@@ -16007,13 +16279,13 @@ exports.kbdVariants = kbdVariants;
|
|
|
16007
16279
|
exports.keys = keys;
|
|
16008
16280
|
exports.mergeRefs = mergeRefs;
|
|
16009
16281
|
exports.resolveStorybookBrand = resolveStorybookBrand;
|
|
16010
|
-
exports.setLegacyIconRenderer = setLegacyIconRenderer;
|
|
16011
16282
|
exports.setServerFieldErrors = setServerFieldErrors;
|
|
16012
16283
|
exports.themeToolbarBrands = themeToolbarBrands;
|
|
16013
16284
|
exports.toast = toast;
|
|
16014
16285
|
exports.useAppForm = useAppForm;
|
|
16015
16286
|
exports.useAutosizeInput = useAutosizeInput;
|
|
16016
16287
|
exports.useInputOtpContext = useInputOtpContext;
|
|
16288
|
+
exports.useIsLegacyBrand = useIsLegacyBrand;
|
|
16017
16289
|
exports.useMergeDiff = useMergeDiff;
|
|
16018
16290
|
exports.useNotification = useNotification;
|
|
16019
16291
|
exports.useScrollbarPosition = useScrollbarPosition;
|