@maxsteinwender/sort-ui 1.0.8 → 1.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 +4 -0
- package/dist/index.d.mts +63 -1
- package/dist/index.d.ts +63 -1
- package/dist/index.js +662 -542
- package/dist/index.mjs +661 -541
- package/dist/styles.css +294 -212
- package/dist/tailwind-preset.js +13 -0
- package/dist/tailwind-preset.mjs +13 -0
- package/package.json +4 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React78 = require('react');
|
|
5
5
|
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
6
6
|
var classVarianceAuthority = require('class-variance-authority');
|
|
7
7
|
var clsx = require('clsx');
|
|
@@ -52,7 +52,7 @@ function _interopNamespace(e) {
|
|
|
52
52
|
return Object.freeze(n);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
var
|
|
55
|
+
var React78__namespace = /*#__PURE__*/_interopNamespace(React78);
|
|
56
56
|
var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
|
|
57
57
|
var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
|
|
58
58
|
var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
|
|
@@ -122,11 +122,11 @@ var accordionItemVariants = classVarianceAuthority.cva(
|
|
|
122
122
|
"shadow-card",
|
|
123
123
|
/* inset bottom shadow via combined card token */
|
|
124
124
|
"relative after:pointer-events-none after:absolute after:inset-0 after:rounded-[inherit]",
|
|
125
|
-
"hover:bg-sui-bg-state-secondary-hover"
|
|
125
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover"
|
|
126
126
|
],
|
|
127
127
|
soft: [
|
|
128
128
|
"bg-sui-bg-state-soft rounded-card-sm",
|
|
129
|
-
"hover:bg-sui-bg-state-soft-hover",
|
|
129
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-soft-hover",
|
|
130
130
|
/* always-present border prevents layout shift on open */
|
|
131
131
|
"border border-transparent",
|
|
132
132
|
/* opened → switches to secondary/card appearance */
|
|
@@ -135,11 +135,11 @@ var accordionItemVariants = classVarianceAuthority.cva(
|
|
|
135
135
|
"data-[state=open]:border-sui-border-default",
|
|
136
136
|
"data-[state=open]:shadow-card",
|
|
137
137
|
"data-[state=open]:after:shadow-none",
|
|
138
|
-
"data-[state=open]:hover:bg-sui-bg-state-secondary-hover"
|
|
138
|
+
"data-[state=open]:[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover"
|
|
139
139
|
],
|
|
140
140
|
ghost: [
|
|
141
141
|
"bg-sui-bg-state-ghost rounded-card-sm",
|
|
142
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
142
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
143
143
|
/* always-present border prevents layout shift on open */
|
|
144
144
|
"border border-transparent",
|
|
145
145
|
/* opened → switches to secondary/card appearance */
|
|
@@ -148,11 +148,11 @@ var accordionItemVariants = classVarianceAuthority.cva(
|
|
|
148
148
|
"data-[state=open]:border-sui-border-default",
|
|
149
149
|
"data-[state=open]:shadow-card",
|
|
150
150
|
"data-[state=open]:after:shadow-none",
|
|
151
|
-
"data-[state=open]:hover:bg-sui-bg-state-secondary-hover"
|
|
151
|
+
"data-[state=open]:[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover"
|
|
152
152
|
],
|
|
153
153
|
line: [
|
|
154
154
|
"border-b border-sui-border-default",
|
|
155
|
-
"hover:border-sui-border-strong"
|
|
155
|
+
"[@media(hover:hover)]:hover:border-sui-border-strong"
|
|
156
156
|
]
|
|
157
157
|
}
|
|
158
158
|
},
|
|
@@ -161,7 +161,7 @@ var accordionItemVariants = classVarianceAuthority.cva(
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
);
|
|
164
|
-
var AccordionItem =
|
|
164
|
+
var AccordionItem = React78__namespace.forwardRef((_a, ref) => {
|
|
165
165
|
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
166
166
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
167
167
|
AccordionPrimitive__namespace.Item,
|
|
@@ -172,7 +172,7 @@ var AccordionItem = React77__namespace.forwardRef((_a, ref) => {
|
|
|
172
172
|
);
|
|
173
173
|
});
|
|
174
174
|
AccordionItem.displayName = "AccordionItem";
|
|
175
|
-
var AccordionTrigger =
|
|
175
|
+
var AccordionTrigger = React78__namespace.forwardRef((_a, ref) => {
|
|
176
176
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
177
177
|
return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
178
178
|
AccordionPrimitive__namespace.Trigger,
|
|
@@ -194,7 +194,7 @@ var AccordionTrigger = React77__namespace.forwardRef((_a, ref) => {
|
|
|
194
194
|
) });
|
|
195
195
|
});
|
|
196
196
|
AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
|
|
197
|
-
var AccordionContent =
|
|
197
|
+
var AccordionContent = React78__namespace.forwardRef((_a, ref) => {
|
|
198
198
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
199
199
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
200
200
|
AccordionPrimitive__namespace.Content,
|
|
@@ -239,7 +239,7 @@ var alertVariants = classVarianceAuthority.cva(
|
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
);
|
|
242
|
-
var Alert =
|
|
242
|
+
var Alert = React78__namespace.forwardRef((_a, ref) => {
|
|
243
243
|
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
244
244
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
245
245
|
"div",
|
|
@@ -251,7 +251,7 @@ var Alert = React77__namespace.forwardRef((_a, ref) => {
|
|
|
251
251
|
);
|
|
252
252
|
});
|
|
253
253
|
Alert.displayName = "Alert";
|
|
254
|
-
var AlertTitle =
|
|
254
|
+
var AlertTitle = React78__namespace.forwardRef((_a, ref) => {
|
|
255
255
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
256
256
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
257
257
|
"h5",
|
|
@@ -262,7 +262,7 @@ var AlertTitle = React77__namespace.forwardRef((_a, ref) => {
|
|
|
262
262
|
);
|
|
263
263
|
});
|
|
264
264
|
AlertTitle.displayName = "AlertTitle";
|
|
265
|
-
var AlertDescription =
|
|
265
|
+
var AlertDescription = React78__namespace.forwardRef((_a, ref) => {
|
|
266
266
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
267
267
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
268
268
|
"div",
|
|
@@ -273,6 +273,19 @@ var AlertDescription = React77__namespace.forwardRef((_a, ref) => {
|
|
|
273
273
|
);
|
|
274
274
|
});
|
|
275
275
|
AlertDescription.displayName = "AlertDescription";
|
|
276
|
+
function useDevWarnIconOnlyAriaLabel(isIconOnly, ariaLabel, ariaLabelledBy, componentName) {
|
|
277
|
+
const warnedRef = React78__namespace.useRef(false);
|
|
278
|
+
React78__namespace.useEffect(() => {
|
|
279
|
+
if (process.env.NODE_ENV === "production") return;
|
|
280
|
+
if (warnedRef.current) return;
|
|
281
|
+
if (!isIconOnly) return;
|
|
282
|
+
if (ariaLabel || ariaLabelledBy) return;
|
|
283
|
+
console.warn(
|
|
284
|
+
`[Sort UI] <${componentName}> with iconOnly is missing an aria-label. Screen reader users will have no accessible name for this control. Pass aria-label (or aria-labelledby) describing the action. See Web Interface Guidelines #47.`
|
|
285
|
+
);
|
|
286
|
+
warnedRef.current = true;
|
|
287
|
+
}, [isIconOnly, ariaLabel, ariaLabelledBy, componentName]);
|
|
288
|
+
}
|
|
276
289
|
var buttonVariants = classVarianceAuthority.cva(
|
|
277
290
|
// Sort UI base: font-medium, Remixicon via [&_i], SVG via [&_svg]; shape variant controls border-radius
|
|
278
291
|
// ghost + ghost-muted hover intentionally identical per Sort UI spec
|
|
@@ -392,13 +405,13 @@ var loadingTextColorMap = {
|
|
|
392
405
|
"ghost-muted": "text-sui-text-muted"
|
|
393
406
|
};
|
|
394
407
|
var loadingShadowVariants = /* @__PURE__ */ new Set(["default", "outline", "destructive"]);
|
|
395
|
-
var Button =
|
|
396
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
408
|
+
var Button = React78__namespace.forwardRef(
|
|
397
409
|
(_a, ref) => {
|
|
398
410
|
var _b = _a, { className, variant, size, shape, iconOnly, loading, leadIcon: _leadIcon, tailIcon: _tailIcon, badgeLeft: _badgeLeft, badgeRight: _badgeRight, asChild = false, children, showSeparator: _showSeparator } = _b, props = __objRest(_b, ["className", "variant", "size", "shape", "iconOnly", "loading", "leadIcon", "tailIcon", "badgeLeft", "badgeRight", "asChild", "children", "showSeparator"]);
|
|
399
411
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
400
412
|
const resolvedSize = size != null ? size : "lg";
|
|
401
413
|
const resolvedVariant = variant != null ? variant : "default";
|
|
414
|
+
useDevWarnIconOnlyAriaLabel(iconOnly, props["aria-label"], props["aria-labelledby"], "Button");
|
|
402
415
|
const isLoading = loading && !asChild;
|
|
403
416
|
const hasBadges = !iconOnly && !asChild;
|
|
404
417
|
const badgeColor = badgeColorMap[resolvedVariant];
|
|
@@ -463,7 +476,7 @@ Button.displayName = "Button";
|
|
|
463
476
|
var AlertDialog = AlertDialogPrimitive__namespace.Root;
|
|
464
477
|
var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
|
|
465
478
|
var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
|
|
466
|
-
var AlertDialogOverlay =
|
|
479
|
+
var AlertDialogOverlay = React78__namespace.forwardRef((_a, ref) => {
|
|
467
480
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
468
481
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
469
482
|
AlertDialogPrimitive__namespace.Overlay,
|
|
@@ -478,7 +491,7 @@ var AlertDialogOverlay = React77__namespace.forwardRef((_a, ref) => {
|
|
|
478
491
|
);
|
|
479
492
|
});
|
|
480
493
|
AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
|
|
481
|
-
var AlertDialogContent =
|
|
494
|
+
var AlertDialogContent = React78__namespace.forwardRef((_a, ref) => {
|
|
482
495
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
483
496
|
return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
|
|
484
497
|
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
@@ -529,7 +542,7 @@ var AlertDialogFooter = (_a) => {
|
|
|
529
542
|
);
|
|
530
543
|
};
|
|
531
544
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
532
|
-
var AlertDialogTitle =
|
|
545
|
+
var AlertDialogTitle = React78__namespace.forwardRef((_a, ref) => {
|
|
533
546
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
534
547
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
535
548
|
AlertDialogPrimitive__namespace.Title,
|
|
@@ -540,7 +553,7 @@ var AlertDialogTitle = React77__namespace.forwardRef((_a, ref) => {
|
|
|
540
553
|
);
|
|
541
554
|
});
|
|
542
555
|
AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
|
|
543
|
-
var AlertDialogDescription =
|
|
556
|
+
var AlertDialogDescription = React78__namespace.forwardRef((_a, ref) => {
|
|
544
557
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
545
558
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
546
559
|
AlertDialogPrimitive__namespace.Description,
|
|
@@ -551,7 +564,7 @@ var AlertDialogDescription = React77__namespace.forwardRef((_a, ref) => {
|
|
|
551
564
|
);
|
|
552
565
|
});
|
|
553
566
|
AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
|
|
554
|
-
var AlertDialogAction =
|
|
567
|
+
var AlertDialogAction = React78__namespace.forwardRef((_a, ref) => {
|
|
555
568
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
556
569
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
557
570
|
AlertDialogPrimitive__namespace.Action,
|
|
@@ -562,7 +575,7 @@ var AlertDialogAction = React77__namespace.forwardRef((_a, ref) => {
|
|
|
562
575
|
);
|
|
563
576
|
});
|
|
564
577
|
AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
|
|
565
|
-
var AlertDialogCancel =
|
|
578
|
+
var AlertDialogCancel = React78__namespace.forwardRef((_a, ref) => {
|
|
566
579
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
567
580
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
568
581
|
AlertDialogPrimitive__namespace.Cancel,
|
|
@@ -601,11 +614,11 @@ var awayIconSize = {
|
|
|
601
614
|
"lg": "14px",
|
|
602
615
|
"default": "16px"
|
|
603
616
|
};
|
|
604
|
-
var StatusBadge =
|
|
617
|
+
var StatusBadge = React78__namespace.forwardRef(
|
|
605
618
|
(_a, ref) => {
|
|
606
619
|
var _b = _a, { variant, size = "default", src, className } = _b, props = __objRest(_b, ["variant", "size", "src", "className"]);
|
|
607
|
-
const [imgError, setImgError] =
|
|
608
|
-
|
|
620
|
+
const [imgError, setImgError] = React78__namespace.useState(false);
|
|
621
|
+
React78__namespace.useEffect(() => {
|
|
609
622
|
setImgError(false);
|
|
610
623
|
}, [src]);
|
|
611
624
|
const sizeClass = containerSize[size];
|
|
@@ -818,12 +831,12 @@ function extractInitials(value) {
|
|
|
818
831
|
}
|
|
819
832
|
return trimmed.slice(0, 2).toUpperCase();
|
|
820
833
|
}
|
|
821
|
-
var AvatarContext =
|
|
834
|
+
var AvatarContext = React78__namespace.createContext({
|
|
822
835
|
size: "md",
|
|
823
836
|
shape: "circular",
|
|
824
837
|
color: "gray"
|
|
825
838
|
});
|
|
826
|
-
var Avatar =
|
|
839
|
+
var Avatar = React78__namespace.forwardRef((_a, ref) => {
|
|
827
840
|
var _b = _a, {
|
|
828
841
|
className,
|
|
829
842
|
size = "md",
|
|
@@ -977,7 +990,7 @@ var Avatar = React77__namespace.forwardRef((_a, ref) => {
|
|
|
977
990
|
) });
|
|
978
991
|
});
|
|
979
992
|
Avatar.displayName = "Avatar";
|
|
980
|
-
var AvatarImage =
|
|
993
|
+
var AvatarImage = React78__namespace.forwardRef((_a, ref) => {
|
|
981
994
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
982
995
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
983
996
|
AvatarPrimitive__namespace.Image,
|
|
@@ -988,10 +1001,10 @@ var AvatarImage = React77__namespace.forwardRef((_a, ref) => {
|
|
|
988
1001
|
);
|
|
989
1002
|
});
|
|
990
1003
|
AvatarImage.displayName = "AvatarImage";
|
|
991
|
-
var AvatarFallback =
|
|
1004
|
+
var AvatarFallback = React78__namespace.forwardRef((_a, ref) => {
|
|
992
1005
|
var _b = _a, { className, fallback, children } = _b, props = __objRest(_b, ["className", "fallback", "children"]);
|
|
993
1006
|
var _a2, _b2, _c;
|
|
994
|
-
const { size, shape, color } =
|
|
1007
|
+
const { size, shape, color } = React78__namespace.useContext(AvatarContext);
|
|
995
1008
|
const shapeClass = shape === "rounded" ? "rounded-sm" : "rounded-full";
|
|
996
1009
|
const fontClass = (_a2 = initialsFontSize[size]) != null ? _a2 : "text-sm";
|
|
997
1010
|
const iconClass = (_b2 = iconSize[size]) != null ? _b2 : "text-lg";
|
|
@@ -1025,8 +1038,8 @@ var avatarButtonVariants = classVarianceAuthority.cva(
|
|
|
1025
1038
|
{
|
|
1026
1039
|
variants: {
|
|
1027
1040
|
variant: {
|
|
1028
|
-
default: "bg-sui-bg-state-secondary border border-sui-border-darker shadow-default hover:bg-sui-bg-state-secondary-hover active:bg-sui-bg-state-secondary-press disabled:bg-sui-bg-state-disabled disabled:border-sui-border-default disabled:shadow-none",
|
|
1029
|
-
soft: "bg-sui-bg-state-soft hover:bg-sui-bg-state-soft-hover active:bg-sui-bg-state-soft-press"
|
|
1041
|
+
default: "bg-sui-bg-state-secondary border border-sui-border-darker shadow-default [@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover active:bg-sui-bg-state-secondary-press disabled:bg-sui-bg-state-disabled disabled:border-sui-border-default disabled:shadow-none",
|
|
1042
|
+
soft: "bg-sui-bg-state-soft [@media(hover:hover)]:hover:bg-sui-bg-state-soft-hover active:bg-sui-bg-state-soft-press"
|
|
1030
1043
|
},
|
|
1031
1044
|
size: {
|
|
1032
1045
|
// py-1.5 (6px × 2) + avatar 20px = 32px visible; after:-inset-y-1.5 adds 6px top+bottom → 44px hit area
|
|
@@ -1041,7 +1054,7 @@ var avatarButtonVariants = classVarianceAuthority.cva(
|
|
|
1041
1054
|
}
|
|
1042
1055
|
}
|
|
1043
1056
|
);
|
|
1044
|
-
var AvatarButton =
|
|
1057
|
+
var AvatarButton = React78__namespace.forwardRef(
|
|
1045
1058
|
(_a, ref) => {
|
|
1046
1059
|
var _b = _a, {
|
|
1047
1060
|
className,
|
|
@@ -1135,7 +1148,7 @@ var paddingBySize = {
|
|
|
1135
1148
|
"2xl": "pr-sui-10",
|
|
1136
1149
|
"3xl": "pr-sui-12"
|
|
1137
1150
|
};
|
|
1138
|
-
var AvatarGroup =
|
|
1151
|
+
var AvatarGroup = React78__namespace.forwardRef(
|
|
1139
1152
|
(_a, ref) => {
|
|
1140
1153
|
var _b = _a, { className, size = "md", stacking = "last-on-top", items } = _b, props = __objRest(_b, ["className", "size", "stacking", "items"]);
|
|
1141
1154
|
const isFirstOnTop = stacking === "first-on-top";
|
|
@@ -1177,7 +1190,7 @@ var AvatarGroup = React77__namespace.forwardRef(
|
|
|
1177
1190
|
}
|
|
1178
1191
|
);
|
|
1179
1192
|
AvatarGroup.displayName = "AvatarGroup";
|
|
1180
|
-
var AvatarUpload =
|
|
1193
|
+
var AvatarUpload = React78__namespace.forwardRef(
|
|
1181
1194
|
({
|
|
1182
1195
|
src,
|
|
1183
1196
|
alt = "",
|
|
@@ -1245,8 +1258,8 @@ var controlButtonVariants = classVarianceAuthority.cva(
|
|
|
1245
1258
|
{
|
|
1246
1259
|
variants: {
|
|
1247
1260
|
variant: {
|
|
1248
|
-
default: "text-icon-default-muted bg-transparent hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
|
|
1249
|
-
inverted: "text-icon-inverted-default bg-transparent hover:bg-sui-bg-state-ghost-hover-inverted active:bg-sui-bg-state-ghost-press-inverted"
|
|
1261
|
+
default: "text-icon-default-muted bg-transparent [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
|
|
1262
|
+
inverted: "text-icon-inverted-default bg-transparent [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover-inverted active:bg-sui-bg-state-ghost-press-inverted"
|
|
1250
1263
|
},
|
|
1251
1264
|
size: {
|
|
1252
1265
|
// lg: 24px — meets WCAG 2.5.8 AA minimum (24×24px)
|
|
@@ -1270,7 +1283,7 @@ var controlButtonVariants = classVarianceAuthority.cva(
|
|
|
1270
1283
|
}
|
|
1271
1284
|
}
|
|
1272
1285
|
);
|
|
1273
|
-
var ControlButton =
|
|
1286
|
+
var ControlButton = React78__namespace.forwardRef(
|
|
1274
1287
|
(_a, ref) => {
|
|
1275
1288
|
var _b = _a, {
|
|
1276
1289
|
className,
|
|
@@ -1438,12 +1451,12 @@ function Badge(_a) {
|
|
|
1438
1451
|
})
|
|
1439
1452
|
);
|
|
1440
1453
|
}
|
|
1441
|
-
var Breadcrumb =
|
|
1454
|
+
var Breadcrumb = React78__namespace.forwardRef((_a, ref) => {
|
|
1442
1455
|
var props = __objRest(_a, []);
|
|
1443
1456
|
return /* @__PURE__ */ jsxRuntime.jsx("nav", __spreadValues({ ref, "aria-label": "breadcrumb" }, props));
|
|
1444
1457
|
});
|
|
1445
1458
|
Breadcrumb.displayName = "Breadcrumb";
|
|
1446
|
-
var BreadcrumbList =
|
|
1459
|
+
var BreadcrumbList = React78__namespace.forwardRef((_a, ref) => {
|
|
1447
1460
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1448
1461
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1449
1462
|
"ol",
|
|
@@ -1457,7 +1470,7 @@ var BreadcrumbList = React77__namespace.forwardRef((_a, ref) => {
|
|
|
1457
1470
|
);
|
|
1458
1471
|
});
|
|
1459
1472
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
1460
|
-
var BreadcrumbItem =
|
|
1473
|
+
var BreadcrumbItem = React78__namespace.forwardRef((_a, ref) => {
|
|
1461
1474
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1462
1475
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1463
1476
|
"li",
|
|
@@ -1468,7 +1481,7 @@ var BreadcrumbItem = React77__namespace.forwardRef((_a, ref) => {
|
|
|
1468
1481
|
);
|
|
1469
1482
|
});
|
|
1470
1483
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
1471
|
-
var BreadcrumbLink =
|
|
1484
|
+
var BreadcrumbLink = React78__namespace.forwardRef((_a, ref) => {
|
|
1472
1485
|
var _b = _a, { asChild, className } = _b, props = __objRest(_b, ["asChild", "className"]);
|
|
1473
1486
|
const Comp = asChild ? reactSlot.Slot : "a";
|
|
1474
1487
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1476,14 +1489,15 @@ var BreadcrumbLink = React77__namespace.forwardRef((_a, ref) => {
|
|
|
1476
1489
|
__spreadValues({
|
|
1477
1490
|
ref,
|
|
1478
1491
|
className: cn(
|
|
1479
|
-
|
|
1492
|
+
// Web Interface Guidelines #42 — focus ring via box-shadow (ring), not outline.
|
|
1493
|
+
"rounded-sm transition-colors [@media(hover:hover)]:hover:text-sui-text-default focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-sui-border-highlight",
|
|
1480
1494
|
className
|
|
1481
1495
|
)
|
|
1482
1496
|
}, props)
|
|
1483
1497
|
);
|
|
1484
1498
|
});
|
|
1485
1499
|
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
1486
|
-
var BreadcrumbPage =
|
|
1500
|
+
var BreadcrumbPage = React78__namespace.forwardRef((_a, ref) => {
|
|
1487
1501
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1488
1502
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1489
1503
|
"span",
|
|
@@ -1555,7 +1569,7 @@ function BreadcrumbDivider({ variant }) {
|
|
|
1555
1569
|
variant === "dot" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-1 rounded-full bg-sui-text-muted" })
|
|
1556
1570
|
] });
|
|
1557
1571
|
}
|
|
1558
|
-
var SortBreadcrumb =
|
|
1572
|
+
var SortBreadcrumb = React78__namespace.forwardRef(
|
|
1559
1573
|
({ items, variant = "slash", className }, ref) => {
|
|
1560
1574
|
return /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1561
1575
|
"ol",
|
|
@@ -1566,7 +1580,7 @@ var SortBreadcrumb = React77__namespace.forwardRef(
|
|
|
1566
1580
|
),
|
|
1567
1581
|
children: items.map((item, index) => {
|
|
1568
1582
|
const isLast = index === items.length - 1;
|
|
1569
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1583
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(React78__namespace.Fragment, { children: [
|
|
1570
1584
|
/* @__PURE__ */ jsxRuntime.jsx("li", { className: "inline-flex", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1571
1585
|
SortBreadcrumbItem,
|
|
1572
1586
|
__spreadProps(__spreadValues({}, item), {
|
|
@@ -1602,7 +1616,8 @@ function SortBreadcrumbItem({
|
|
|
1602
1616
|
className: cn(
|
|
1603
1617
|
"inline-flex items-center select-none",
|
|
1604
1618
|
type === "avatar" ? "gap-sui-6" : "gap-sui-4",
|
|
1605
|
-
|
|
1619
|
+
// Web Interface Guidelines #42 — focus ring via box-shadow (ring), not outline.
|
|
1620
|
+
Comp === "a" && "rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default",
|
|
1606
1621
|
className
|
|
1607
1622
|
)
|
|
1608
1623
|
}), isCurrent ? { "aria-current": "page" } : {}), {
|
|
@@ -1657,7 +1672,7 @@ var verticalChildRadius = {
|
|
|
1657
1672
|
xs: "[&>button:first-child]:rounded-t-md [&>button:last-of-type]:rounded-b-md",
|
|
1658
1673
|
"2xs": "[&>button:first-child]:rounded-t-sm [&>button:last-of-type]:rounded-b-sm"
|
|
1659
1674
|
};
|
|
1660
|
-
var ButtonGroup =
|
|
1675
|
+
var ButtonGroup = React78__namespace.forwardRef(
|
|
1661
1676
|
(_a, ref) => {
|
|
1662
1677
|
var _b = _a, { size = "lg", orientation = "horizontal", className, children } = _b, props = __objRest(_b, ["size", "orientation", "className", "children"]);
|
|
1663
1678
|
const isVertical = orientation === "vertical";
|
|
@@ -1676,9 +1691,9 @@ var ButtonGroup = React77__namespace.forwardRef(
|
|
|
1676
1691
|
className
|
|
1677
1692
|
)
|
|
1678
1693
|
}, props), {
|
|
1679
|
-
children:
|
|
1680
|
-
if (
|
|
1681
|
-
return
|
|
1694
|
+
children: React78__namespace.Children.map(children, (child, index) => {
|
|
1695
|
+
if (React78__namespace.isValidElement(child)) {
|
|
1696
|
+
return React78__namespace.cloneElement(
|
|
1682
1697
|
child,
|
|
1683
1698
|
{
|
|
1684
1699
|
showSeparator: index > 0,
|
|
@@ -1697,7 +1712,8 @@ var buttonGroupItemVariants = classVarianceAuthority.cva(
|
|
|
1697
1712
|
// Base: layout, focus ring, icon sizing, transition
|
|
1698
1713
|
[
|
|
1699
1714
|
"relative inline-flex items-center justify-center select-none cursor-pointer transition-colors",
|
|
1700
|
-
|
|
1715
|
+
// Web Interface Guidelines #42 — focus ring via box-shadow (ring), not outline, so it respects border-radius.
|
|
1716
|
+
"focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-sui-border-highlight focus-visible:ring-offset-[1px] focus-visible:z-10",
|
|
1701
1717
|
"[&_i]:pointer-events-none [&_i]:shrink-0 [&_i]:text-md [&_i]:leading-[1] [&_i]:h-4",
|
|
1702
1718
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4"
|
|
1703
1719
|
],
|
|
@@ -1719,7 +1735,7 @@ var buttonGroupItemVariants = classVarianceAuthority.cva(
|
|
|
1719
1735
|
var stateStyles = [
|
|
1720
1736
|
"bg-sui-bg-state-ghost text-sui-text-subtle",
|
|
1721
1737
|
"[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
|
|
1722
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
1738
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
1723
1739
|
"active:bg-sui-bg-state-ghost-press active:text-sui-text-default"
|
|
1724
1740
|
].join(" ");
|
|
1725
1741
|
var disabledStyles = [
|
|
@@ -1747,7 +1763,7 @@ var badgeClasses = {
|
|
|
1747
1763
|
xs: "text-xs font-medium leading-4 py-sui-2",
|
|
1748
1764
|
"2xs": "text-xs font-medium leading-4 py-0"
|
|
1749
1765
|
};
|
|
1750
|
-
var ButtonGroupItem =
|
|
1766
|
+
var ButtonGroupItem = React78__namespace.forwardRef(
|
|
1751
1767
|
(_a, ref) => {
|
|
1752
1768
|
var _b = _a, {
|
|
1753
1769
|
label,
|
|
@@ -1774,6 +1790,7 @@ var ButtonGroupItem = React77__namespace.forwardRef(
|
|
|
1774
1790
|
]);
|
|
1775
1791
|
const s = size != null ? size : "lg";
|
|
1776
1792
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
1793
|
+
useDevWarnIconOnlyAriaLabel(iconOnly, props["aria-label"], props["aria-labelledby"], "ButtonGroupItem");
|
|
1777
1794
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1778
1795
|
Comp,
|
|
1779
1796
|
__spreadProps(__spreadValues({
|
|
@@ -1834,7 +1851,7 @@ var filterButtonVariants = classVarianceAuthority.cva(
|
|
|
1834
1851
|
);
|
|
1835
1852
|
var getVisualStateClasses = (selected) => selected ? "bg-sui-bg-state-secondary border border-solid border-sui-border-darker text-sui-text-muted [&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted shadow-default" : "bg-sui-bg-state-secondary border border-dashed border-sui-border-darker text-sui-text-muted [&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted";
|
|
1836
1853
|
var SUB_BUTTON_FOCUS = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-1 rounded-sm";
|
|
1837
|
-
var FilterButton =
|
|
1854
|
+
var FilterButton = React78__namespace.forwardRef(
|
|
1838
1855
|
(_a, ref) => {
|
|
1839
1856
|
var _b = _a, {
|
|
1840
1857
|
className,
|
|
@@ -1961,7 +1978,7 @@ var FilterButton = React77__namespace.forwardRef(
|
|
|
1961
1978
|
className: cn(
|
|
1962
1979
|
filterButtonVariants({ size, shape }),
|
|
1963
1980
|
getVisualStateClasses(selected),
|
|
1964
|
-
"hover:bg-sui-bg-state-secondary-hover active:bg-sui-bg-state-secondary-press",
|
|
1981
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover active:bg-sui-bg-state-secondary-press",
|
|
1965
1982
|
className
|
|
1966
1983
|
),
|
|
1967
1984
|
ref,
|
|
@@ -2003,9 +2020,9 @@ var linkButtonVariants = classVarianceAuthority.cva(
|
|
|
2003
2020
|
{
|
|
2004
2021
|
variants: {
|
|
2005
2022
|
variant: {
|
|
2006
|
-
default: "text-sui-text-default hover:text-sui-text-muted",
|
|
2007
|
-
muted: "text-sui-text-muted hover:text-sui-text-default",
|
|
2008
|
-
informative: "text-sui-text-informative hover:text-sui-text-informative"
|
|
2023
|
+
default: "text-sui-text-default [@media(hover:hover)]:hover:text-sui-text-muted",
|
|
2024
|
+
muted: "text-sui-text-muted [@media(hover:hover)]:hover:text-sui-text-default",
|
|
2025
|
+
informative: "text-sui-text-informative [@media(hover:hover)]:hover:text-sui-text-informative"
|
|
2009
2026
|
},
|
|
2010
2027
|
size: {
|
|
2011
2028
|
sm: "text-xs leading-4",
|
|
@@ -2024,11 +2041,18 @@ var underlineOffsetMap = {
|
|
|
2024
2041
|
md: "after:bottom-0",
|
|
2025
2042
|
lg: "after:bottom-0"
|
|
2026
2043
|
};
|
|
2027
|
-
var LinkButton =
|
|
2044
|
+
var LinkButton = React78__namespace.forwardRef(
|
|
2028
2045
|
(_a, ref) => {
|
|
2029
2046
|
var _b = _a, { className, variant, size, asChild = false, leadIcon, tailIcon, disabled, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "leadIcon", "tailIcon", "disabled", "children"]);
|
|
2030
2047
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
2031
2048
|
const resolvedSize = size != null ? size : "lg";
|
|
2049
|
+
const isIconOnly = (children == null || children === false || children === "") && Boolean(leadIcon || tailIcon);
|
|
2050
|
+
useDevWarnIconOnlyAriaLabel(
|
|
2051
|
+
isIconOnly,
|
|
2052
|
+
props["aria-label"],
|
|
2053
|
+
props["aria-labelledby"],
|
|
2054
|
+
"LinkButton"
|
|
2055
|
+
);
|
|
2032
2056
|
const iconColor = disabled ? "text-icon-default-disabled" : variant === "informative" ? "text-icon-informative" : "text-icon-default-muted";
|
|
2033
2057
|
const underlineColor = disabled ? "var(--border-darker)" : variant === "informative" ? "var(--border-informative)" : "var(--border-darker)";
|
|
2034
2058
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2040,8 +2064,9 @@ var LinkButton = React77__namespace.forwardRef(
|
|
|
2040
2064
|
// pointer-events-none prevents click; aria-disabled="true" is set below.
|
|
2041
2065
|
disabled && "pointer-events-none text-sui-text-hint",
|
|
2042
2066
|
// Focus ring: encloses the full component (WCAG 2.4.11 AA).
|
|
2067
|
+
// Web Interface Guidelines #42 — box-shadow (ring) respects border-radius, outline did not pre-Safari 16.4.
|
|
2043
2068
|
// focus-visible scopes to keyboard navigation only — no ring on mouse click.
|
|
2044
|
-
"rounded-sm focus-visible:outline focus-visible:
|
|
2069
|
+
"rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--border-informative)]",
|
|
2045
2070
|
className
|
|
2046
2071
|
),
|
|
2047
2072
|
ref,
|
|
@@ -2099,7 +2124,7 @@ var brandMap = {
|
|
|
2099
2124
|
dropbox: { icon: "ri-dropbox-fill", label: "Dropbox", bg: "var(--social-brand-dropbox)" },
|
|
2100
2125
|
github: { icon: "ri-github-fill", label: "Github" }
|
|
2101
2126
|
};
|
|
2102
|
-
var SocialButton =
|
|
2127
|
+
var SocialButton = React78__namespace.forwardRef(
|
|
2103
2128
|
(_a, ref) => {
|
|
2104
2129
|
var _b = _a, { className, variant, shape, brand, iconOnly, asChild = false, children } = _b, props = __objRest(_b, ["className", "variant", "shape", "brand", "iconOnly", "asChild", "children"]);
|
|
2105
2130
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
@@ -2304,8 +2329,8 @@ function CalendarDayButton(_a) {
|
|
|
2304
2329
|
"modifiers"
|
|
2305
2330
|
]);
|
|
2306
2331
|
const defaultClassNames = reactDayPicker.getDefaultClassNames();
|
|
2307
|
-
const ref =
|
|
2308
|
-
|
|
2332
|
+
const ref = React78__namespace.useRef(null);
|
|
2333
|
+
React78__namespace.useEffect(() => {
|
|
2309
2334
|
var _a2;
|
|
2310
2335
|
if (modifiers.focused) (_a2 = ref.current) == null ? void 0 : _a2.focus();
|
|
2311
2336
|
}, [modifiers.focused]);
|
|
@@ -2331,18 +2356,18 @@ function CalendarDayButton(_a) {
|
|
|
2331
2356
|
// Default state
|
|
2332
2357
|
"bg-sui-bg-state-ghost text-sui-text-default",
|
|
2333
2358
|
// Hover
|
|
2334
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
2359
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
2335
2360
|
// Focus
|
|
2336
2361
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-0",
|
|
2337
2362
|
// Disabled
|
|
2338
2363
|
"disabled:pointer-events-none disabled:text-sui-text-hint",
|
|
2339
2364
|
// Selected (single date)
|
|
2340
|
-
"data-[selected-single=true]:bg-sui-bg-state-brand data-[selected-single=true]:text-sui-text-white-default data-[selected-single=true]:hover:bg-sui-bg-state-brand-hover",
|
|
2365
|
+
"data-[selected-single=true]:bg-sui-bg-state-brand data-[selected-single=true]:text-sui-text-white-default data-[selected-single=true]:[@media(hover:hover)]:hover:bg-sui-bg-state-brand-hover",
|
|
2341
2366
|
// Range start & end
|
|
2342
2367
|
"data-[range-start=true]:bg-sui-bg-state-brand data-[range-start=true]:text-sui-text-white-default data-[range-start=true]:rounded-xs",
|
|
2343
2368
|
"data-[range-end=true]:bg-sui-bg-state-brand data-[range-end=true]:text-sui-text-white-default data-[range-end=true]:rounded-xs",
|
|
2344
2369
|
// Range middle
|
|
2345
|
-
"data-[range-middle=true]:bg-sui-bg-state-soft data-[range-middle=true]:text-sui-text-informative data-[range-middle=true]:rounded-none data-[range-middle=true]:hover:bg-sui-bg-state-soft-hover",
|
|
2370
|
+
"data-[range-middle=true]:bg-sui-bg-state-soft data-[range-middle=true]:text-sui-text-informative data-[range-middle=true]:rounded-none data-[range-middle=true]:[@media(hover:hover)]:hover:bg-sui-bg-state-soft-hover",
|
|
2346
2371
|
// Today indicator (red circle)
|
|
2347
2372
|
"data-[today=true]:relative",
|
|
2348
2373
|
// Focus ring on parent
|
|
@@ -2377,20 +2402,30 @@ var cardVariants = classVarianceAuthority.cva(
|
|
|
2377
2402
|
}
|
|
2378
2403
|
}
|
|
2379
2404
|
);
|
|
2380
|
-
var Card =
|
|
2405
|
+
var Card = React78__namespace.forwardRef(
|
|
2381
2406
|
(_a, ref) => {
|
|
2382
|
-
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
2407
|
+
var _b = _a, { className, variant, interactive, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "interactive", "asChild"]);
|
|
2408
|
+
const Comp = asChild ? reactSlot.Slot : "div";
|
|
2383
2409
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2384
|
-
|
|
2410
|
+
Comp,
|
|
2385
2411
|
__spreadValues({
|
|
2386
2412
|
ref,
|
|
2387
|
-
className: cn(
|
|
2413
|
+
className: cn(
|
|
2414
|
+
cardVariants({ variant }),
|
|
2415
|
+
interactive && [
|
|
2416
|
+
"cursor-pointer transition-transform duration-fast",
|
|
2417
|
+
"[@media(hover:hover)]:hover:shadow-modal-sm",
|
|
2418
|
+
"active:scale-press",
|
|
2419
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default"
|
|
2420
|
+
],
|
|
2421
|
+
className
|
|
2422
|
+
)
|
|
2388
2423
|
}, props)
|
|
2389
2424
|
);
|
|
2390
2425
|
}
|
|
2391
2426
|
);
|
|
2392
2427
|
Card.displayName = "Card";
|
|
2393
|
-
var CardHeader =
|
|
2428
|
+
var CardHeader = React78__namespace.forwardRef((_a, ref) => {
|
|
2394
2429
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
2395
2430
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2396
2431
|
"div",
|
|
@@ -2401,7 +2436,7 @@ var CardHeader = React77__namespace.forwardRef((_a, ref) => {
|
|
|
2401
2436
|
);
|
|
2402
2437
|
});
|
|
2403
2438
|
CardHeader.displayName = "CardHeader";
|
|
2404
|
-
var CardTitle =
|
|
2439
|
+
var CardTitle = React78__namespace.forwardRef((_a, ref) => {
|
|
2405
2440
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
2406
2441
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2407
2442
|
"div",
|
|
@@ -2415,7 +2450,7 @@ var CardTitle = React77__namespace.forwardRef((_a, ref) => {
|
|
|
2415
2450
|
);
|
|
2416
2451
|
});
|
|
2417
2452
|
CardTitle.displayName = "CardTitle";
|
|
2418
|
-
var CardDescription =
|
|
2453
|
+
var CardDescription = React78__namespace.forwardRef((_a, ref) => {
|
|
2419
2454
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
2420
2455
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2421
2456
|
"div",
|
|
@@ -2426,12 +2461,12 @@ var CardDescription = React77__namespace.forwardRef((_a, ref) => {
|
|
|
2426
2461
|
);
|
|
2427
2462
|
});
|
|
2428
2463
|
CardDescription.displayName = "CardDescription";
|
|
2429
|
-
var CardContent =
|
|
2464
|
+
var CardContent = React78__namespace.forwardRef((_a, ref) => {
|
|
2430
2465
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
2431
2466
|
return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadValues({ ref, className: cn("p-6 pt-0", className) }, props));
|
|
2432
2467
|
});
|
|
2433
2468
|
CardContent.displayName = "CardContent";
|
|
2434
|
-
var CardFooter =
|
|
2469
|
+
var CardFooter = React78__namespace.forwardRef((_a, ref) => {
|
|
2435
2470
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
2436
2471
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2437
2472
|
"div",
|
|
@@ -2442,7 +2477,7 @@ var CardFooter = React77__namespace.forwardRef((_a, ref) => {
|
|
|
2442
2477
|
);
|
|
2443
2478
|
});
|
|
2444
2479
|
CardFooter.displayName = "CardFooter";
|
|
2445
|
-
var CardCover =
|
|
2480
|
+
var CardCover = React78__namespace.forwardRef(
|
|
2446
2481
|
(_a, ref) => {
|
|
2447
2482
|
var _b = _a, { className, flush = false, aspectRatio = "3/2", style, children } = _b, props = __objRest(_b, ["className", "flush", "aspectRatio", "style", "children"]);
|
|
2448
2483
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2463,17 +2498,17 @@ var CardCover = React77__namespace.forwardRef(
|
|
|
2463
2498
|
);
|
|
2464
2499
|
CardCover.displayName = "CardCover";
|
|
2465
2500
|
var THEMES = { light: "", dark: ".dark" };
|
|
2466
|
-
var ChartContext =
|
|
2501
|
+
var ChartContext = React78__namespace.createContext(null);
|
|
2467
2502
|
function useChart() {
|
|
2468
|
-
const context =
|
|
2503
|
+
const context = React78__namespace.useContext(ChartContext);
|
|
2469
2504
|
if (!context) {
|
|
2470
2505
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
2471
2506
|
}
|
|
2472
2507
|
return context;
|
|
2473
2508
|
}
|
|
2474
|
-
var ChartContainer =
|
|
2509
|
+
var ChartContainer = React78__namespace.forwardRef((_a, ref) => {
|
|
2475
2510
|
var _b = _a, { id, className, children, config } = _b, props = __objRest(_b, ["id", "className", "children", "config"]);
|
|
2476
|
-
const uniqueId =
|
|
2511
|
+
const uniqueId = React78__namespace.useId();
|
|
2477
2512
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
2478
2513
|
return /* @__PURE__ */ jsxRuntime.jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2479
2514
|
"div",
|
|
@@ -2520,7 +2555,7 @@ ${colorConfig.map(([key, itemConfig]) => {
|
|
|
2520
2555
|
);
|
|
2521
2556
|
};
|
|
2522
2557
|
var ChartTooltip = RechartsPrimitive__namespace.Tooltip;
|
|
2523
|
-
var ChartTooltipContent =
|
|
2558
|
+
var ChartTooltipContent = React78__namespace.forwardRef(
|
|
2524
2559
|
({
|
|
2525
2560
|
active,
|
|
2526
2561
|
payload,
|
|
@@ -2537,7 +2572,7 @@ var ChartTooltipContent = React77__namespace.forwardRef(
|
|
|
2537
2572
|
labelKey
|
|
2538
2573
|
}, ref) => {
|
|
2539
2574
|
const { config } = useChart();
|
|
2540
|
-
const tooltipLabel =
|
|
2575
|
+
const tooltipLabel = React78__namespace.useMemo(() => {
|
|
2541
2576
|
var _a;
|
|
2542
2577
|
if (hideLabel || !(payload == null ? void 0 : payload.length)) {
|
|
2543
2578
|
return null;
|
|
@@ -2634,7 +2669,7 @@ var ChartTooltipContent = React77__namespace.forwardRef(
|
|
|
2634
2669
|
);
|
|
2635
2670
|
ChartTooltipContent.displayName = "ChartTooltip";
|
|
2636
2671
|
var ChartLegend = RechartsPrimitive__namespace.Legend;
|
|
2637
|
-
var ChartLegendContent =
|
|
2672
|
+
var ChartLegendContent = React78__namespace.forwardRef(
|
|
2638
2673
|
({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
|
|
2639
2674
|
const { config } = useChart();
|
|
2640
2675
|
if (!(payload == null ? void 0 : payload.length)) {
|
|
@@ -2710,12 +2745,12 @@ var checkboxVariants = classVarianceAuthority.cva(
|
|
|
2710
2745
|
"data-[state=indeterminate]:bg-sui-bg-checkbox-active",
|
|
2711
2746
|
"data-[state=indeterminate]:border-sui-bg-checkbox-active",
|
|
2712
2747
|
// Hover unchecked: stronger border
|
|
2713
|
-
"hover:data-[state=unchecked]:border-sui-border-strong",
|
|
2748
|
+
"[@media(hover:hover)]:hover:data-[state=unchecked]:border-sui-border-strong",
|
|
2714
2749
|
// Hover checked/indeterminate: hover bg + matching border
|
|
2715
|
-
"hover:data-[state=checked]:bg-sui-bg-checkbox-active-hover",
|
|
2716
|
-
"hover:data-[state=checked]:border-sui-bg-checkbox-active-hover",
|
|
2717
|
-
"hover:data-[state=indeterminate]:bg-sui-bg-checkbox-active-hover",
|
|
2718
|
-
"hover:data-[state=indeterminate]:border-sui-bg-checkbox-active-hover",
|
|
2750
|
+
"[@media(hover:hover)]:hover:data-[state=checked]:bg-sui-bg-checkbox-active-hover",
|
|
2751
|
+
"[@media(hover:hover)]:hover:data-[state=checked]:border-sui-bg-checkbox-active-hover",
|
|
2752
|
+
"[@media(hover:hover)]:hover:data-[state=indeterminate]:bg-sui-bg-checkbox-active-hover",
|
|
2753
|
+
"[@media(hover:hover)]:hover:data-[state=indeterminate]:border-sui-bg-checkbox-active-hover",
|
|
2719
2754
|
// Invalid (aria-invalid) — compound selectors for specificity over data-[state] rules
|
|
2720
2755
|
"aria-[invalid=true]:data-[state=unchecked]:border-sui-border-destructive",
|
|
2721
2756
|
"aria-[invalid=true]:data-[state=checked]:border-sui-border-destructive",
|
|
@@ -2753,13 +2788,14 @@ var checkboxVariants = classVarianceAuthority.cva(
|
|
|
2753
2788
|
}
|
|
2754
2789
|
}
|
|
2755
2790
|
);
|
|
2756
|
-
var Checkbox =
|
|
2757
|
-
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
2791
|
+
var Checkbox = React78__namespace.forwardRef((_a, ref) => {
|
|
2792
|
+
var _b = _a, { className, variant, checked, indeterminate } = _b, props = __objRest(_b, ["className", "variant", "checked", "indeterminate"]);
|
|
2758
2793
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2759
2794
|
CheckboxPrimitive__namespace.Root,
|
|
2760
2795
|
__spreadProps(__spreadValues({
|
|
2761
2796
|
ref,
|
|
2762
|
-
className: cn(checkboxVariants({ variant, className }))
|
|
2797
|
+
className: cn(checkboxVariants({ variant, className })),
|
|
2798
|
+
checked: indeterminate ? "indeterminate" : checked
|
|
2763
2799
|
}, props), {
|
|
2764
2800
|
children: [
|
|
2765
2801
|
/* @__PURE__ */ jsxRuntime.jsxs(CheckboxPrimitive__namespace.Indicator, { className: "flex items-center justify-center", children: [
|
|
@@ -2874,7 +2910,7 @@ var checkboxCardVariants = classVarianceAuthority.cva(
|
|
|
2874
2910
|
}
|
|
2875
2911
|
}
|
|
2876
2912
|
);
|
|
2877
|
-
var CheckboxCard =
|
|
2913
|
+
var CheckboxCard = React78__namespace.forwardRef(
|
|
2878
2914
|
({
|
|
2879
2915
|
title,
|
|
2880
2916
|
description,
|
|
@@ -2888,7 +2924,7 @@ var CheckboxCard = React77__namespace.forwardRef(
|
|
|
2888
2924
|
disabled = false,
|
|
2889
2925
|
className
|
|
2890
2926
|
}, ref) => {
|
|
2891
|
-
const generatedId =
|
|
2927
|
+
const generatedId = React78__namespace.useId();
|
|
2892
2928
|
const checkboxId = `checkbox-card-${generatedId}`;
|
|
2893
2929
|
const titleId = `checkbox-card-title-${generatedId}`;
|
|
2894
2930
|
const descriptionId = `checkbox-card-desc-${generatedId}`;
|
|
@@ -2984,10 +3020,10 @@ var CheckboxCard = React77__namespace.forwardRef(
|
|
|
2984
3020
|
}
|
|
2985
3021
|
);
|
|
2986
3022
|
CheckboxCard.displayName = "CheckboxCard";
|
|
2987
|
-
var CheckboxList =
|
|
3023
|
+
var CheckboxList = React78__namespace.forwardRef(
|
|
2988
3024
|
(_a, ref) => {
|
|
2989
3025
|
var _b = _a, { className, divider = true, children } = _b, props = __objRest(_b, ["className", "divider", "children"]);
|
|
2990
|
-
const items =
|
|
3026
|
+
const items = React78__namespace.Children.toArray(children);
|
|
2991
3027
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2992
3028
|
"div",
|
|
2993
3029
|
__spreadProps(__spreadValues({
|
|
@@ -3029,7 +3065,7 @@ var checkboxWithTextVariants = classVarianceAuthority.cva(
|
|
|
3029
3065
|
}
|
|
3030
3066
|
}
|
|
3031
3067
|
);
|
|
3032
|
-
var CheckboxWithText =
|
|
3068
|
+
var CheckboxWithText = React78__namespace.forwardRef(
|
|
3033
3069
|
({
|
|
3034
3070
|
label,
|
|
3035
3071
|
description,
|
|
@@ -3042,7 +3078,7 @@ var CheckboxWithText = React77__namespace.forwardRef(
|
|
|
3042
3078
|
className,
|
|
3043
3079
|
id
|
|
3044
3080
|
}, ref) => {
|
|
3045
|
-
const generatedId =
|
|
3081
|
+
const generatedId = React78__namespace.useId();
|
|
3046
3082
|
const checkboxId = id || generatedId;
|
|
3047
3083
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3048
3084
|
"div",
|
|
@@ -3190,7 +3226,7 @@ var labelClasses2 = {
|
|
|
3190
3226
|
md: "text-sm font-medium leading-5",
|
|
3191
3227
|
sm: "text-xs font-medium leading-4"
|
|
3192
3228
|
};
|
|
3193
|
-
var Chip =
|
|
3229
|
+
var Chip = React78__namespace.forwardRef(
|
|
3194
3230
|
(_a, ref) => {
|
|
3195
3231
|
var _b = _a, {
|
|
3196
3232
|
label,
|
|
@@ -3219,7 +3255,7 @@ var Chip = React77__namespace.forwardRef(
|
|
|
3219
3255
|
"className",
|
|
3220
3256
|
"onClick"
|
|
3221
3257
|
]);
|
|
3222
|
-
const [internalSelected, setInternalSelected] =
|
|
3258
|
+
const [internalSelected, setInternalSelected] = React78__namespace.useState(false);
|
|
3223
3259
|
const isControlled = controlledSelected !== void 0;
|
|
3224
3260
|
const selected = isControlled ? controlledSelected : internalSelected;
|
|
3225
3261
|
const handleClick = (e) => {
|
|
@@ -3317,7 +3353,7 @@ var badgeStyles = [
|
|
|
3317
3353
|
"bg-sui-bg-state-soft border border-sui-border-darker rounded-xs",
|
|
3318
3354
|
"text-sui-text-subtle text-xs font-medium leading-4"
|
|
3319
3355
|
].join(" ");
|
|
3320
|
-
var TooltipContent =
|
|
3356
|
+
var TooltipContent = React78__namespace.forwardRef((_a, ref) => {
|
|
3321
3357
|
var _b = _a, { className, variant = "default", weight = "subtle", shortcut, sideOffset = 4, children } = _b, props = __objRest(_b, ["className", "variant", "weight", "shortcut", "sideOffset", "children"]);
|
|
3322
3358
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3323
3359
|
TooltipPrimitive__namespace.Content,
|
|
@@ -3353,7 +3389,7 @@ var underlineTabsListVariants = classVarianceAuthority.cva(
|
|
|
3353
3389
|
}
|
|
3354
3390
|
}
|
|
3355
3391
|
);
|
|
3356
|
-
var UnderlineTabsList =
|
|
3392
|
+
var UnderlineTabsList = React78__namespace.forwardRef((_a, ref) => {
|
|
3357
3393
|
var _b = _a, { className, layout, size } = _b, props = __objRest(_b, ["className", "layout", "size"]);
|
|
3358
3394
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3359
3395
|
TabsPrimitive4__namespace.List,
|
|
@@ -3377,8 +3413,8 @@ var underlineTabItemVariants = classVarianceAuthority.cva(
|
|
|
3377
3413
|
"[&_i]:text-icon-default-muted [&_i]:pointer-events-none [&_i]:shrink-0 [&_i]:text-md [&_i]:leading-none",
|
|
3378
3414
|
"[&_svg]:text-icon-default-muted [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4",
|
|
3379
3415
|
// Hover
|
|
3380
|
-
"hover:text-sui-text-subtle hover:border-sui-border-darker",
|
|
3381
|
-
"hover:[&_i]:text-icon-default-subtle hover:[&_svg]:text-icon-default-subtle",
|
|
3416
|
+
"[@media(hover:hover)]:hover:text-sui-text-subtle [@media(hover:hover)]:hover:border-sui-border-darker",
|
|
3417
|
+
"[@media(hover:hover)]:hover:[&_i]:text-icon-default-subtle [@media(hover:hover)]:hover:[&_svg]:text-icon-default-subtle",
|
|
3382
3418
|
// Active (Radix data attribute)
|
|
3383
3419
|
"data-[state=active]:text-sui-text-default data-[state=active]:border-sui-border-accent",
|
|
3384
3420
|
"data-[state=active]:[&_i]:text-icon-default data-[state=active]:[&_svg]:text-icon-default",
|
|
@@ -3400,7 +3436,7 @@ var underlineTabItemVariants = classVarianceAuthority.cva(
|
|
|
3400
3436
|
}
|
|
3401
3437
|
}
|
|
3402
3438
|
);
|
|
3403
|
-
var UnderlineTabItem =
|
|
3439
|
+
var UnderlineTabItem = React78__namespace.forwardRef(
|
|
3404
3440
|
(_a, ref) => {
|
|
3405
3441
|
var _b = _a, {
|
|
3406
3442
|
className,
|
|
@@ -3438,7 +3474,7 @@ var UnderlineTabItem = React77__namespace.forwardRef(
|
|
|
3438
3474
|
);
|
|
3439
3475
|
UnderlineTabItem.displayName = "UnderlineTabItem";
|
|
3440
3476
|
var DEFAULT_LANGUAGES = ["React", "JavaScript", "TypeScript", "Next.js"];
|
|
3441
|
-
var CodeBlock =
|
|
3477
|
+
var CodeBlock = React78__namespace.forwardRef(
|
|
3442
3478
|
(_a, ref) => {
|
|
3443
3479
|
var _b = _a, {
|
|
3444
3480
|
className,
|
|
@@ -3468,10 +3504,10 @@ var CodeBlock = React77__namespace.forwardRef(
|
|
|
3468
3504
|
"showLineNumbers"
|
|
3469
3505
|
]);
|
|
3470
3506
|
var _a2, _b2, _c, _d, _e, _f;
|
|
3471
|
-
const [activeTab, setActiveTab] =
|
|
3472
|
-
const [copied, setCopied] =
|
|
3507
|
+
const [activeTab, setActiveTab] = React78__namespace.useState((_b2 = (_a2 = tabs == null ? void 0 : tabs[0]) == null ? void 0 : _a2.label) != null ? _b2 : "");
|
|
3508
|
+
const [copied, setCopied] = React78__namespace.useState(false);
|
|
3473
3509
|
const activeCode = variant === "advanced" ? (_f = (_e = (_c = tabs == null ? void 0 : tabs.find((t) => t.label === activeTab)) == null ? void 0 : _c.code) != null ? _e : (_d = tabs == null ? void 0 : tabs[0]) == null ? void 0 : _d.code) != null ? _f : "" : code;
|
|
3474
|
-
const handleCopy =
|
|
3510
|
+
const handleCopy = React78__namespace.useCallback(() => {
|
|
3475
3511
|
if (onCopy) {
|
|
3476
3512
|
onCopy();
|
|
3477
3513
|
} else {
|
|
@@ -3662,7 +3698,7 @@ var Dialog = DialogPrimitive__namespace.Root;
|
|
|
3662
3698
|
var DialogTrigger = DialogPrimitive__namespace.Trigger;
|
|
3663
3699
|
var DialogPortal = DialogPrimitive__namespace.Portal;
|
|
3664
3700
|
var DialogClose = DialogPrimitive__namespace.Close;
|
|
3665
|
-
var DialogOverlay =
|
|
3701
|
+
var DialogOverlay = React78__namespace.forwardRef((_a, ref) => {
|
|
3666
3702
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3667
3703
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3668
3704
|
DialogPrimitive__namespace.Overlay,
|
|
@@ -3676,7 +3712,7 @@ var DialogOverlay = React77__namespace.forwardRef((_a, ref) => {
|
|
|
3676
3712
|
);
|
|
3677
3713
|
});
|
|
3678
3714
|
DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
|
|
3679
|
-
var DialogContent =
|
|
3715
|
+
var DialogContent = React78__namespace.forwardRef((_a, ref) => {
|
|
3680
3716
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
3681
3717
|
return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
|
|
3682
3718
|
/* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
|
|
@@ -3691,7 +3727,7 @@ var DialogContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
3691
3727
|
}, props), {
|
|
3692
3728
|
children: [
|
|
3693
3729
|
children,
|
|
3694
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-sui-bg-default transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-sui-bg-state-ghost-hover data-[state=open]:text-sui-text-muted", children: [
|
|
3730
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-sui-bg-default transition-opacity [@media(hover:hover)]:hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-sui-bg-state-ghost-hover data-[state=open]:text-sui-text-muted", children: [
|
|
3695
3731
|
/* @__PURE__ */ jsxRuntime.jsx("i", { className: "ri-close-line text-base", "aria-hidden": true }),
|
|
3696
3732
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
3697
3733
|
] })
|
|
@@ -3735,7 +3771,7 @@ var DialogFooter = (_a) => {
|
|
|
3735
3771
|
);
|
|
3736
3772
|
};
|
|
3737
3773
|
DialogFooter.displayName = "DialogFooter";
|
|
3738
|
-
var DialogTitle =
|
|
3774
|
+
var DialogTitle = React78__namespace.forwardRef((_a, ref) => {
|
|
3739
3775
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3740
3776
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3741
3777
|
DialogPrimitive__namespace.Title,
|
|
@@ -3749,7 +3785,7 @@ var DialogTitle = React77__namespace.forwardRef((_a, ref) => {
|
|
|
3749
3785
|
);
|
|
3750
3786
|
});
|
|
3751
3787
|
DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
|
|
3752
|
-
var DialogDescription =
|
|
3788
|
+
var DialogDescription = React78__namespace.forwardRef((_a, ref) => {
|
|
3753
3789
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3754
3790
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3755
3791
|
DialogPrimitive__namespace.Description,
|
|
@@ -3760,7 +3796,7 @@ var DialogDescription = React77__namespace.forwardRef((_a, ref) => {
|
|
|
3760
3796
|
);
|
|
3761
3797
|
});
|
|
3762
3798
|
DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
|
|
3763
|
-
var Command =
|
|
3799
|
+
var Command = React78__namespace.forwardRef((_a, ref) => {
|
|
3764
3800
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3765
3801
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3766
3802
|
cmdk.Command,
|
|
@@ -3778,7 +3814,7 @@ var CommandDialog = (_a) => {
|
|
|
3778
3814
|
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
|
|
3779
3815
|
return /* @__PURE__ */ jsxRuntime.jsx(Dialog, __spreadProps(__spreadValues({}, props), { children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "overflow-hidden p-0 shadow-card max-w-[560px]", children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-sui-text-hint [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_i]:h-4 [&_[cmdk-input-wrapper]_i]:w-4 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_i]:h-4 [&_[cmdk-item]_i]:w-4", children }) }) }));
|
|
3780
3816
|
};
|
|
3781
|
-
var CommandInput =
|
|
3817
|
+
var CommandInput = React78__namespace.forwardRef((_a, ref) => {
|
|
3782
3818
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3783
3819
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b border-sui-border-default px-3", "cmdk-input-wrapper": "", children: [
|
|
3784
3820
|
/* @__PURE__ */ jsxRuntime.jsx("i", { className: "ri-search-line mr-2 shrink-0 text-icon-default-muted" }),
|
|
@@ -3795,7 +3831,7 @@ var CommandInput = React77__namespace.forwardRef((_a, ref) => {
|
|
|
3795
3831
|
] });
|
|
3796
3832
|
});
|
|
3797
3833
|
CommandInput.displayName = cmdk.Command.Input.displayName;
|
|
3798
|
-
var CommandList =
|
|
3834
|
+
var CommandList = React78__namespace.forwardRef((_a, ref) => {
|
|
3799
3835
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3800
3836
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3801
3837
|
cmdk.Command.List,
|
|
@@ -3806,7 +3842,7 @@ var CommandList = React77__namespace.forwardRef((_a, ref) => {
|
|
|
3806
3842
|
);
|
|
3807
3843
|
});
|
|
3808
3844
|
CommandList.displayName = cmdk.Command.List.displayName;
|
|
3809
|
-
var CommandEmpty =
|
|
3845
|
+
var CommandEmpty = React78__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3810
3846
|
cmdk.Command.Empty,
|
|
3811
3847
|
__spreadValues({
|
|
3812
3848
|
ref,
|
|
@@ -3814,7 +3850,7 @@ var CommandEmpty = React77__namespace.forwardRef((props, ref) => /* @__PURE__ */
|
|
|
3814
3850
|
}, props)
|
|
3815
3851
|
));
|
|
3816
3852
|
CommandEmpty.displayName = cmdk.Command.Empty.displayName;
|
|
3817
|
-
var CommandGroup =
|
|
3853
|
+
var CommandGroup = React78__namespace.forwardRef((_a, ref) => {
|
|
3818
3854
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3819
3855
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3820
3856
|
cmdk.Command.Group,
|
|
@@ -3828,7 +3864,7 @@ var CommandGroup = React77__namespace.forwardRef((_a, ref) => {
|
|
|
3828
3864
|
);
|
|
3829
3865
|
});
|
|
3830
3866
|
CommandGroup.displayName = cmdk.Command.Group.displayName;
|
|
3831
|
-
var CommandSeparator =
|
|
3867
|
+
var CommandSeparator = React78__namespace.forwardRef((_a, ref) => {
|
|
3832
3868
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3833
3869
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3834
3870
|
cmdk.Command.Separator,
|
|
@@ -3839,7 +3875,7 @@ var CommandSeparator = React77__namespace.forwardRef((_a, ref) => {
|
|
|
3839
3875
|
);
|
|
3840
3876
|
});
|
|
3841
3877
|
CommandSeparator.displayName = cmdk.Command.Separator.displayName;
|
|
3842
|
-
var CommandItem =
|
|
3878
|
+
var CommandItem = React78__namespace.forwardRef((_a, ref) => {
|
|
3843
3879
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3844
3880
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3845
3881
|
cmdk.Command.Item,
|
|
@@ -3902,7 +3938,7 @@ var sliderHandleVariants = classVarianceAuthority.cva(
|
|
|
3902
3938
|
}
|
|
3903
3939
|
}
|
|
3904
3940
|
);
|
|
3905
|
-
var SliderHandle =
|
|
3941
|
+
var SliderHandle = React78__namespace.forwardRef(
|
|
3906
3942
|
(_a, ref) => {
|
|
3907
3943
|
var _b = _a, { className, state, value, showTooltip = false } = _b, props = __objRest(_b, ["className", "state", "value", "showTooltip"]);
|
|
3908
3944
|
const isDisabled = state === "disabled";
|
|
@@ -3965,7 +4001,7 @@ function buildHistogramPath(data, width, height) {
|
|
|
3965
4001
|
path += ` L ${width} ${height} Z`;
|
|
3966
4002
|
return path;
|
|
3967
4003
|
}
|
|
3968
|
-
var DataRangeSlider =
|
|
4004
|
+
var DataRangeSlider = React78__namespace.forwardRef(
|
|
3969
4005
|
(_a, ref) => {
|
|
3970
4006
|
var _b = _a, {
|
|
3971
4007
|
className,
|
|
@@ -3996,15 +4032,18 @@ var DataRangeSlider = React77__namespace.forwardRef(
|
|
|
3996
4032
|
"formatValue",
|
|
3997
4033
|
"onValueChange"
|
|
3998
4034
|
]);
|
|
3999
|
-
const trackRef =
|
|
4000
|
-
const [draggingHandle, setDraggingHandle] =
|
|
4001
|
-
const [focusedHandle, setFocusedHandle] =
|
|
4002
|
-
const clipId =
|
|
4035
|
+
const trackRef = React78__namespace.useRef(null);
|
|
4036
|
+
const [draggingHandle, setDraggingHandle] = React78__namespace.useState(null);
|
|
4037
|
+
const [focusedHandle, setFocusedHandle] = React78__namespace.useState(null);
|
|
4038
|
+
const clipId = React78__namespace.useId();
|
|
4003
4039
|
const [rangeMin, rangeMax] = value;
|
|
4004
4040
|
const pctMin = percent(rangeMin, min, max);
|
|
4005
4041
|
const pctMax = percent(rangeMax, min, max);
|
|
4006
|
-
const fmt = (
|
|
4007
|
-
|
|
4042
|
+
const fmt = React78__namespace.useCallback(
|
|
4043
|
+
(v) => formatValue ? formatValue(v) : `${v}`,
|
|
4044
|
+
[formatValue]
|
|
4045
|
+
);
|
|
4046
|
+
const getValueFromPointer = React78__namespace.useCallback(
|
|
4008
4047
|
(clientX) => {
|
|
4009
4048
|
const track = trackRef.current;
|
|
4010
4049
|
if (!track) return 0;
|
|
@@ -4015,7 +4054,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
|
|
|
4015
4054
|
},
|
|
4016
4055
|
[min, max, step]
|
|
4017
4056
|
);
|
|
4018
|
-
const closestHandle =
|
|
4057
|
+
const closestHandle = React78__namespace.useCallback(
|
|
4019
4058
|
(pointerValue) => {
|
|
4020
4059
|
const distMin = Math.abs(pointerValue - rangeMin);
|
|
4021
4060
|
const distMax = Math.abs(pointerValue - rangeMax);
|
|
@@ -4023,7 +4062,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
|
|
|
4023
4062
|
},
|
|
4024
4063
|
[rangeMin, rangeMax]
|
|
4025
4064
|
);
|
|
4026
|
-
const updateValue =
|
|
4065
|
+
const updateValue = React78__namespace.useCallback(
|
|
4027
4066
|
(handle, newVal) => {
|
|
4028
4067
|
if (handle === 0) {
|
|
4029
4068
|
const clamped = clamp(newVal, min, rangeMax);
|
|
@@ -4035,7 +4074,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
|
|
|
4035
4074
|
},
|
|
4036
4075
|
[min, max, rangeMin, rangeMax, onValueChange]
|
|
4037
4076
|
);
|
|
4038
|
-
const handlePointerDown =
|
|
4077
|
+
const handlePointerDown = React78__namespace.useCallback(
|
|
4039
4078
|
(e) => {
|
|
4040
4079
|
if (disabled) return;
|
|
4041
4080
|
e.preventDefault();
|
|
@@ -4047,7 +4086,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
|
|
|
4047
4086
|
},
|
|
4048
4087
|
[disabled, getValueFromPointer, closestHandle, updateValue]
|
|
4049
4088
|
);
|
|
4050
|
-
const handlePointerMove =
|
|
4089
|
+
const handlePointerMove = React78__namespace.useCallback(
|
|
4051
4090
|
(e) => {
|
|
4052
4091
|
if (draggingHandle === null || disabled) return;
|
|
4053
4092
|
const newVal = getValueFromPointer(e.clientX);
|
|
@@ -4055,10 +4094,10 @@ var DataRangeSlider = React77__namespace.forwardRef(
|
|
|
4055
4094
|
},
|
|
4056
4095
|
[draggingHandle, disabled, getValueFromPointer, updateValue]
|
|
4057
4096
|
);
|
|
4058
|
-
const handlePointerUp =
|
|
4097
|
+
const handlePointerUp = React78__namespace.useCallback(() => {
|
|
4059
4098
|
setDraggingHandle(null);
|
|
4060
4099
|
}, []);
|
|
4061
|
-
const makeKeyHandler =
|
|
4100
|
+
const makeKeyHandler = React78__namespace.useCallback(
|
|
4062
4101
|
(handle) => (e) => {
|
|
4063
4102
|
if (disabled) return;
|
|
4064
4103
|
const currentVal = handle === 0 ? rangeMin : rangeMax;
|
|
@@ -4086,7 +4125,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
|
|
|
4086
4125
|
},
|
|
4087
4126
|
[disabled, rangeMin, rangeMax, step, min, max, updateValue]
|
|
4088
4127
|
);
|
|
4089
|
-
const tickLabels =
|
|
4128
|
+
const tickLabels = React78__namespace.useMemo(() => {
|
|
4090
4129
|
if (pointLabels) return pointLabels;
|
|
4091
4130
|
const labels = [];
|
|
4092
4131
|
for (let i = 0; i < pointCount; i++) {
|
|
@@ -4097,7 +4136,7 @@ var DataRangeSlider = React77__namespace.forwardRef(
|
|
|
4097
4136
|
}, [pointLabels, pointCount, min, max, fmt]);
|
|
4098
4137
|
const chartWidth = 320;
|
|
4099
4138
|
const chartHeight = 32;
|
|
4100
|
-
const histogramPath =
|
|
4139
|
+
const histogramPath = React78__namespace.useMemo(
|
|
4101
4140
|
() => buildHistogramPath(data, chartWidth, chartHeight),
|
|
4102
4141
|
[data]
|
|
4103
4142
|
);
|
|
@@ -4244,7 +4283,7 @@ DataRangeSlider.displayName = "DataRangeSlider";
|
|
|
4244
4283
|
var labelVariants = classVarianceAuthority.cva(
|
|
4245
4284
|
"text-sm font-medium leading-5 text-sui-text-default"
|
|
4246
4285
|
);
|
|
4247
|
-
var Label =
|
|
4286
|
+
var Label = React78__namespace.forwardRef((_a, ref) => {
|
|
4248
4287
|
var _b = _a, { className, required, supportText, tailIcon, children } = _b, props = __objRest(_b, ["className", "required", "supportText", "tailIcon", "children"]);
|
|
4249
4288
|
const hasTail = !!(supportText || tailIcon);
|
|
4250
4289
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -4305,7 +4344,7 @@ var inputContainerVariants = classVarianceAuthority.cva(
|
|
|
4305
4344
|
}
|
|
4306
4345
|
}
|
|
4307
4346
|
);
|
|
4308
|
-
var InputField =
|
|
4347
|
+
var InputField = React78__namespace.forwardRef(
|
|
4309
4348
|
(_a, ref) => {
|
|
4310
4349
|
var _b = _a, {
|
|
4311
4350
|
className,
|
|
@@ -4330,7 +4369,9 @@ var InputField = React77__namespace.forwardRef(
|
|
|
4330
4369
|
tailAddon,
|
|
4331
4370
|
inputClassName,
|
|
4332
4371
|
disabled,
|
|
4333
|
-
id
|
|
4372
|
+
id,
|
|
4373
|
+
spellCheck,
|
|
4374
|
+
autoComplete
|
|
4334
4375
|
} = _b, props = __objRest(_b, [
|
|
4335
4376
|
"className",
|
|
4336
4377
|
"inputStyle",
|
|
@@ -4354,14 +4395,29 @@ var InputField = React77__namespace.forwardRef(
|
|
|
4354
4395
|
"tailAddon",
|
|
4355
4396
|
"inputClassName",
|
|
4356
4397
|
"disabled",
|
|
4357
|
-
"id"
|
|
4398
|
+
"id",
|
|
4399
|
+
"spellCheck",
|
|
4400
|
+
"autoComplete"
|
|
4358
4401
|
]);
|
|
4359
|
-
const generatedId =
|
|
4402
|
+
const generatedId = React78__namespace.useId();
|
|
4360
4403
|
const inputId = id || generatedId;
|
|
4361
4404
|
const captionId = `${inputId}-caption`;
|
|
4362
4405
|
const hasError = !!error;
|
|
4363
4406
|
const helperText = hasError ? error : caption;
|
|
4364
4407
|
const hasInlineTags = !!(tags && tags.length > 0 && !hasError && !disabled);
|
|
4408
|
+
const innerRef = React78__namespace.useRef(null);
|
|
4409
|
+
React78__namespace.useImperativeHandle(ref, () => innerRef.current, []);
|
|
4410
|
+
const focusInputOnDecorationClick = (e) => {
|
|
4411
|
+
var _a2;
|
|
4412
|
+
if (disabled) return;
|
|
4413
|
+
const target = e.target;
|
|
4414
|
+
if (target === innerRef.current) return;
|
|
4415
|
+
if (target.closest('button, a, input, textarea, select, [role="button"]')) return;
|
|
4416
|
+
e.preventDefault();
|
|
4417
|
+
(_a2 = innerRef.current) == null ? void 0 : _a2.focus();
|
|
4418
|
+
};
|
|
4419
|
+
const resolvedSpellCheck = spellCheck != null ? spellCheck : false;
|
|
4420
|
+
const resolvedAutoComplete = autoComplete != null ? autoComplete : "off";
|
|
4365
4421
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col gap-2", className), children: [
|
|
4366
4422
|
label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4367
4423
|
Label,
|
|
@@ -4376,6 +4432,7 @@ var InputField = React77__namespace.forwardRef(
|
|
|
4376
4432
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4377
4433
|
"div",
|
|
4378
4434
|
{
|
|
4435
|
+
onPointerDown: focusInputOnDecorationClick,
|
|
4379
4436
|
className: cn(
|
|
4380
4437
|
inputContainerVariants({ inputStyle }),
|
|
4381
4438
|
// Inline tags: let content determine height; standard: fix height to prevent inflation
|
|
@@ -4428,13 +4485,15 @@ var InputField = React77__namespace.forwardRef(
|
|
|
4428
4485
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4429
4486
|
"input",
|
|
4430
4487
|
__spreadValues({
|
|
4431
|
-
ref,
|
|
4488
|
+
ref: innerRef,
|
|
4432
4489
|
id: inputId,
|
|
4433
4490
|
disabled,
|
|
4434
4491
|
required,
|
|
4492
|
+
spellCheck: resolvedSpellCheck,
|
|
4493
|
+
autoComplete: resolvedAutoComplete,
|
|
4435
4494
|
"aria-invalid": hasError || void 0,
|
|
4436
4495
|
"aria-describedby": helperText ? captionId : void 0,
|
|
4437
|
-
className: cn("flex-1 min-w-0 bg-transparent px-1 text-sm leading-5 outline-none text-sui-text-default placeholder:text-sui-text-hint", inputClassName)
|
|
4496
|
+
className: cn("flex-1 min-w-0 bg-transparent px-1 text-base md:text-sm leading-5 outline-none text-sui-text-default placeholder:text-sui-text-hint", inputClassName)
|
|
4438
4497
|
}, props)
|
|
4439
4498
|
)
|
|
4440
4499
|
] }),
|
|
@@ -4468,14 +4527,17 @@ var InputField = React77__namespace.forwardRef(
|
|
|
4468
4527
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4469
4528
|
"input",
|
|
4470
4529
|
__spreadValues({
|
|
4471
|
-
ref,
|
|
4530
|
+
ref: innerRef,
|
|
4472
4531
|
id: inputId,
|
|
4473
4532
|
disabled,
|
|
4474
4533
|
required,
|
|
4534
|
+
spellCheck: resolvedSpellCheck,
|
|
4535
|
+
autoComplete: resolvedAutoComplete,
|
|
4475
4536
|
"aria-invalid": hasError || void 0,
|
|
4476
4537
|
"aria-describedby": helperText ? captionId : void 0,
|
|
4477
4538
|
className: cn(
|
|
4478
|
-
|
|
4539
|
+
// #29 16px on touch (prevents iOS zoom), 14px on md+
|
|
4540
|
+
"flex-1 min-w-0 bg-transparent px-1 text-base md:text-sm leading-5 outline-none",
|
|
4479
4541
|
"text-sui-text-default",
|
|
4480
4542
|
"placeholder:text-sui-text-muted",
|
|
4481
4543
|
disabled && "text-sui-text-hint placeholder:text-sui-text-hint cursor-not-allowed",
|
|
@@ -4536,7 +4598,7 @@ var InputField = React77__namespace.forwardRef(
|
|
|
4536
4598
|
}
|
|
4537
4599
|
);
|
|
4538
4600
|
InputField.displayName = "InputField";
|
|
4539
|
-
var DataRangeSliderInput =
|
|
4601
|
+
var DataRangeSliderInput = React78__namespace.forwardRef(
|
|
4540
4602
|
(_a, ref) => {
|
|
4541
4603
|
var _b = _a, {
|
|
4542
4604
|
className,
|
|
@@ -4656,7 +4718,7 @@ var DataRangeSliderInput = React77__namespace.forwardRef(
|
|
|
4656
4718
|
DataRangeSliderInput.displayName = "DataRangeSliderInput";
|
|
4657
4719
|
var Popover = PopoverPrimitive__namespace.Root;
|
|
4658
4720
|
var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
|
|
4659
|
-
var PopoverContent =
|
|
4721
|
+
var PopoverContent = React78__namespace.forwardRef((_a, ref) => {
|
|
4660
4722
|
var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
|
|
4661
4723
|
return /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4662
4724
|
PopoverPrimitive__namespace.Content,
|
|
@@ -4679,7 +4741,7 @@ function DatePicker({
|
|
|
4679
4741
|
className,
|
|
4680
4742
|
disabled
|
|
4681
4743
|
}) {
|
|
4682
|
-
const [open, setOpen] =
|
|
4744
|
+
const [open, setOpen] = React78__namespace.useState(false);
|
|
4683
4745
|
return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
4684
4746
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4685
4747
|
Button,
|
|
@@ -4720,7 +4782,7 @@ function DateRangePicker({
|
|
|
4720
4782
|
className,
|
|
4721
4783
|
disabled
|
|
4722
4784
|
}) {
|
|
4723
|
-
const [open, setOpen] =
|
|
4785
|
+
const [open, setOpen] = React78__namespace.useState(false);
|
|
4724
4786
|
return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
4725
4787
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4726
4788
|
Button,
|
|
@@ -4771,7 +4833,7 @@ function DatePickerWithPresets({
|
|
|
4771
4833
|
className,
|
|
4772
4834
|
disabled
|
|
4773
4835
|
}) {
|
|
4774
|
-
const [open, setOpen] =
|
|
4836
|
+
const [open, setOpen] = React78__namespace.useState(false);
|
|
4775
4837
|
return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
4776
4838
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4777
4839
|
Button,
|
|
@@ -4804,7 +4866,7 @@ function DatePickerWithPresets({
|
|
|
4804
4866
|
className: cn(
|
|
4805
4867
|
"w-[150px] rounded-xs px-2 py-1 text-left text-sm font-medium transition-colors",
|
|
4806
4868
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight",
|
|
4807
|
-
isSelected ? "bg-sui-bg-state-brand text-sui-text-white-default" : "bg-sui-bg-state-ghost text-sui-text-muted hover:bg-sui-bg-state-ghost-hover"
|
|
4869
|
+
isSelected ? "bg-sui-bg-state-brand text-sui-text-white-default" : "bg-sui-bg-state-ghost text-sui-text-muted [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover"
|
|
4808
4870
|
),
|
|
4809
4871
|
children: preset.label
|
|
4810
4872
|
},
|
|
@@ -4892,7 +4954,7 @@ function RequirementItem({ label, met }) {
|
|
|
4892
4954
|
)
|
|
4893
4955
|
] });
|
|
4894
4956
|
}
|
|
4895
|
-
var InputCaption =
|
|
4957
|
+
var InputCaption = React78__namespace.forwardRef(
|
|
4896
4958
|
(_a, ref) => {
|
|
4897
4959
|
var _b = _a, {
|
|
4898
4960
|
variant = "default",
|
|
@@ -4983,9 +5045,9 @@ var InputCaption = React77__namespace.forwardRef(
|
|
|
4983
5045
|
className
|
|
4984
5046
|
)
|
|
4985
5047
|
}, props), {
|
|
4986
|
-
children:
|
|
4987
|
-
if (!
|
|
4988
|
-
return
|
|
5048
|
+
children: React78__namespace.Children.map(children, (child) => {
|
|
5049
|
+
if (!React78__namespace.isValidElement(child)) return child;
|
|
5050
|
+
return React78__namespace.cloneElement(child, {
|
|
4989
5051
|
className: cn(
|
|
4990
5052
|
"flex-1",
|
|
4991
5053
|
child.props.className
|
|
@@ -5086,43 +5148,49 @@ function DateSegment({
|
|
|
5086
5148
|
const handleFocus = (e) => {
|
|
5087
5149
|
e.target.select();
|
|
5088
5150
|
};
|
|
5089
|
-
return
|
|
5090
|
-
|
|
5091
|
-
|
|
5092
|
-
|
|
5093
|
-
|
|
5094
|
-
|
|
5095
|
-
|
|
5096
|
-
|
|
5097
|
-
|
|
5098
|
-
|
|
5099
|
-
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5104
|
-
|
|
5105
|
-
|
|
5106
|
-
|
|
5107
|
-
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5151
|
+
return (
|
|
5152
|
+
// Web Interface Guidelines #4 spellcheck/autocomplete off, #29 16px on touch,
|
|
5153
|
+
// #28 hover only on pointer devices (avoid sticky hover after tap on touch).
|
|
5154
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5155
|
+
"input",
|
|
5156
|
+
{
|
|
5157
|
+
ref: segmentRef,
|
|
5158
|
+
id,
|
|
5159
|
+
type: "text",
|
|
5160
|
+
inputMode: "numeric",
|
|
5161
|
+
spellCheck: false,
|
|
5162
|
+
autoComplete: "off",
|
|
5163
|
+
maxLength,
|
|
5164
|
+
size: maxLength,
|
|
5165
|
+
placeholder,
|
|
5166
|
+
value,
|
|
5167
|
+
disabled,
|
|
5168
|
+
onChange: handleChange,
|
|
5169
|
+
onKeyDown: handleKeyDown,
|
|
5170
|
+
onFocus: handleFocus,
|
|
5171
|
+
"aria-label": placeholder === "dd" ? "Day" : placeholder === "mm" ? "Month" : "Year",
|
|
5172
|
+
className: cn(
|
|
5173
|
+
// Layout — min-w-0 prevents browser input minimum width
|
|
5174
|
+
"min-w-0 shrink-0 rounded-xs px-1 text-center",
|
|
5175
|
+
// Explicit widths — enough room for text + px-1 padding
|
|
5176
|
+
maxLength === 4 ? "w-12" : "w-8",
|
|
5177
|
+
// Typography — 16px on touch (prevents iOS zoom on focus), 14px on md+
|
|
5178
|
+
"text-base md:text-sm font-normal leading-5 tabular-nums",
|
|
5179
|
+
// Background
|
|
5180
|
+
"bg-sui-bg-state-ghost",
|
|
5181
|
+
// Text colors
|
|
5182
|
+
value ? "text-sui-text-default" : "text-sui-text-muted",
|
|
5183
|
+
// Hover (pointer devices only — no sticky hover after tap)
|
|
5184
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
5185
|
+
// Focus
|
|
5186
|
+
"focus:bg-sui-bg-state-ghost-hover focus:outline-none",
|
|
5187
|
+
// Disabled
|
|
5188
|
+
"disabled:pointer-events-none disabled:text-sui-text-hint disabled:bg-transparent",
|
|
5189
|
+
// Placeholder
|
|
5190
|
+
"placeholder:text-sui-text-muted disabled:placeholder:text-sui-text-hint"
|
|
5191
|
+
)
|
|
5192
|
+
}
|
|
5193
|
+
)
|
|
5126
5194
|
);
|
|
5127
5195
|
}
|
|
5128
5196
|
function DateSegmentGroup({
|
|
@@ -5255,38 +5323,38 @@ function DatePickerInput({
|
|
|
5255
5323
|
disabled = false,
|
|
5256
5324
|
className
|
|
5257
5325
|
}) {
|
|
5258
|
-
const [calendarOpen, setCalendarOpen] =
|
|
5326
|
+
const [calendarOpen, setCalendarOpen] = React78__namespace.useState(false);
|
|
5259
5327
|
const hasError = !!error;
|
|
5260
5328
|
const helperText = hasError ? error : caption;
|
|
5261
5329
|
const singleSegments = dateToSegments(date);
|
|
5262
|
-
const [singleDay, setSingleDay] =
|
|
5263
|
-
const [singleMonth, setSingleMonth] =
|
|
5264
|
-
const [singleYear, setSingleYear] =
|
|
5330
|
+
const [singleDay, setSingleDay] = React78__namespace.useState(singleSegments.day);
|
|
5331
|
+
const [singleMonth, setSingleMonth] = React78__namespace.useState(singleSegments.month);
|
|
5332
|
+
const [singleYear, setSingleYear] = React78__namespace.useState(singleSegments.year);
|
|
5265
5333
|
const startSegments = dateToSegments(dateRange == null ? void 0 : dateRange.from);
|
|
5266
5334
|
const endSegments = dateToSegments(dateRange == null ? void 0 : dateRange.to);
|
|
5267
|
-
const [startDay, setStartDay] =
|
|
5268
|
-
const [startMonth, setStartMonth] =
|
|
5269
|
-
const [startYear, setStartYear] =
|
|
5270
|
-
const [endDay, setEndDay] =
|
|
5271
|
-
const [endMonth, setEndMonth] =
|
|
5272
|
-
const [endYear, setEndYear] =
|
|
5273
|
-
const singleDayRef =
|
|
5274
|
-
const singleMonthRef =
|
|
5275
|
-
const singleYearRef =
|
|
5276
|
-
const startDayRef =
|
|
5277
|
-
const startMonthRef =
|
|
5278
|
-
const startYearRef =
|
|
5279
|
-
const endDayRef =
|
|
5280
|
-
const endMonthRef =
|
|
5281
|
-
const endYearRef =
|
|
5282
|
-
const calendarIconRef =
|
|
5283
|
-
|
|
5335
|
+
const [startDay, setStartDay] = React78__namespace.useState(startSegments.day);
|
|
5336
|
+
const [startMonth, setStartMonth] = React78__namespace.useState(startSegments.month);
|
|
5337
|
+
const [startYear, setStartYear] = React78__namespace.useState(startSegments.year);
|
|
5338
|
+
const [endDay, setEndDay] = React78__namespace.useState(endSegments.day);
|
|
5339
|
+
const [endMonth, setEndMonth] = React78__namespace.useState(endSegments.month);
|
|
5340
|
+
const [endYear, setEndYear] = React78__namespace.useState(endSegments.year);
|
|
5341
|
+
const singleDayRef = React78__namespace.useRef(null);
|
|
5342
|
+
const singleMonthRef = React78__namespace.useRef(null);
|
|
5343
|
+
const singleYearRef = React78__namespace.useRef(null);
|
|
5344
|
+
const startDayRef = React78__namespace.useRef(null);
|
|
5345
|
+
const startMonthRef = React78__namespace.useRef(null);
|
|
5346
|
+
const startYearRef = React78__namespace.useRef(null);
|
|
5347
|
+
const endDayRef = React78__namespace.useRef(null);
|
|
5348
|
+
const endMonthRef = React78__namespace.useRef(null);
|
|
5349
|
+
const endYearRef = React78__namespace.useRef(null);
|
|
5350
|
+
const calendarIconRef = React78__namespace.useRef(null);
|
|
5351
|
+
React78__namespace.useEffect(() => {
|
|
5284
5352
|
const s = dateToSegments(date);
|
|
5285
5353
|
setSingleDay(s.day);
|
|
5286
5354
|
setSingleMonth(s.month);
|
|
5287
5355
|
setSingleYear(s.year);
|
|
5288
5356
|
}, [date]);
|
|
5289
|
-
|
|
5357
|
+
React78__namespace.useEffect(() => {
|
|
5290
5358
|
const s = dateToSegments(dateRange == null ? void 0 : dateRange.from);
|
|
5291
5359
|
setStartDay(s.day);
|
|
5292
5360
|
setStartMonth(s.month);
|
|
@@ -5296,7 +5364,7 @@ function DatePickerInput({
|
|
|
5296
5364
|
setEndMonth(e.month);
|
|
5297
5365
|
setEndYear(e.year);
|
|
5298
5366
|
}, [dateRange]);
|
|
5299
|
-
const handleSingleSegmentChange =
|
|
5367
|
+
const handleSingleSegmentChange = React78__namespace.useCallback(
|
|
5300
5368
|
(day, month, year) => {
|
|
5301
5369
|
const d = segmentsToDate(day, month, year);
|
|
5302
5370
|
if (day.length === 2 && month.length === 2 && year.length === 4) {
|
|
@@ -5307,7 +5375,7 @@ function DatePickerInput({
|
|
|
5307
5375
|
},
|
|
5308
5376
|
[onDateChange]
|
|
5309
5377
|
);
|
|
5310
|
-
const handleRangeSegmentChange =
|
|
5378
|
+
const handleRangeSegmentChange = React78__namespace.useCallback(
|
|
5311
5379
|
(sd, sm, sy, ed, em, ey) => {
|
|
5312
5380
|
const from = segmentsToDate(sd, sm, sy);
|
|
5313
5381
|
const to = segmentsToDate(ed, em, ey);
|
|
@@ -5382,7 +5450,7 @@ function DatePickerInput({
|
|
|
5382
5450
|
setCalendarOpen(false);
|
|
5383
5451
|
}
|
|
5384
5452
|
};
|
|
5385
|
-
const inputId =
|
|
5453
|
+
const inputId = React78__namespace.useId();
|
|
5386
5454
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col gap-2", className), children: [
|
|
5387
5455
|
label && /* @__PURE__ */ jsxRuntime.jsx(Label, { htmlFor: inputId, children: label }),
|
|
5388
5456
|
/* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: calendarOpen, onOpenChange: setCalendarOpen, children: [
|
|
@@ -5496,7 +5564,7 @@ function DatePickerInput({
|
|
|
5496
5564
|
"flex shrink-0 items-center justify-center size-5 mr-2",
|
|
5497
5565
|
"rounded-xs transition-colors",
|
|
5498
5566
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight",
|
|
5499
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
5567
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
5500
5568
|
"disabled:pointer-events-none"
|
|
5501
5569
|
),
|
|
5502
5570
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -5568,7 +5636,7 @@ var lineVariants = classVarianceAuthority.cva("h-px min-w-0 flex-1 border-t bord
|
|
|
5568
5636
|
lineStyle: "solid"
|
|
5569
5637
|
}
|
|
5570
5638
|
});
|
|
5571
|
-
var Divider =
|
|
5639
|
+
var Divider = React78__namespace.forwardRef(
|
|
5572
5640
|
(_a, ref) => {
|
|
5573
5641
|
var _b = _a, {
|
|
5574
5642
|
className,
|
|
@@ -5626,7 +5694,7 @@ var Divider = React77__namespace.forwardRef(
|
|
|
5626
5694
|
"shadow-default",
|
|
5627
5695
|
"relative overflow-hidden",
|
|
5628
5696
|
"transition-colors duration-150",
|
|
5629
|
-
"hover:bg-sui-bg-state-secondary-hover",
|
|
5697
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover",
|
|
5630
5698
|
"active:bg-sui-bg-state-secondary-press",
|
|
5631
5699
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default"
|
|
5632
5700
|
),
|
|
@@ -5643,7 +5711,7 @@ var Divider = React77__namespace.forwardRef(
|
|
|
5643
5711
|
}
|
|
5644
5712
|
);
|
|
5645
5713
|
Divider.displayName = "Divider";
|
|
5646
|
-
var MenuSearchInput =
|
|
5714
|
+
var MenuSearchInput = React78__namespace.forwardRef(
|
|
5647
5715
|
(_a, ref) => {
|
|
5648
5716
|
var _b = _a, {
|
|
5649
5717
|
className,
|
|
@@ -5664,44 +5732,45 @@ var MenuSearchInput = React77__namespace.forwardRef(
|
|
|
5664
5732
|
"defaultValue",
|
|
5665
5733
|
"id"
|
|
5666
5734
|
]);
|
|
5667
|
-
|
|
5735
|
+
var _a2, _b2;
|
|
5736
|
+
const internalRef = React78__namespace.useRef(null);
|
|
5668
5737
|
const inputRef = ref || internalRef;
|
|
5669
|
-
const [internalValue, setInternalValue] =
|
|
5738
|
+
const [internalValue, setInternalValue] = React78__namespace.useState(
|
|
5670
5739
|
defaultValue || ""
|
|
5671
5740
|
);
|
|
5672
5741
|
const isControlled = value !== void 0;
|
|
5673
5742
|
const currentValue = isControlled ? String(value) : internalValue;
|
|
5674
5743
|
const hasValue = currentValue.length > 0;
|
|
5675
|
-
const generatedId =
|
|
5744
|
+
const generatedId = React78__namespace.useId();
|
|
5676
5745
|
const inputId = id || generatedId;
|
|
5677
5746
|
const handleChange = (e) => {
|
|
5678
|
-
var
|
|
5747
|
+
var _a3;
|
|
5679
5748
|
if (!isControlled) {
|
|
5680
5749
|
setInternalValue(e.target.value);
|
|
5681
5750
|
}
|
|
5682
|
-
(
|
|
5751
|
+
(_a3 = props.onChange) == null ? void 0 : _a3.call(props, e);
|
|
5683
5752
|
};
|
|
5684
5753
|
const handleClear = () => {
|
|
5685
|
-
var
|
|
5754
|
+
var _a3;
|
|
5686
5755
|
if (!isControlled) {
|
|
5687
5756
|
setInternalValue("");
|
|
5688
5757
|
}
|
|
5689
5758
|
onClear == null ? void 0 : onClear();
|
|
5690
5759
|
if (inputRef && "current" in inputRef) {
|
|
5691
|
-
(
|
|
5760
|
+
(_a3 = inputRef.current) == null ? void 0 : _a3.focus();
|
|
5692
5761
|
}
|
|
5693
5762
|
};
|
|
5694
|
-
const [isFocused, setIsFocused] =
|
|
5763
|
+
const [isFocused, setIsFocused] = React78__namespace.useState(false);
|
|
5695
5764
|
const showShortcut = !!shortcutKey && !hasValue && !isFocused && !disabled;
|
|
5696
5765
|
const handleFocus = (e) => {
|
|
5697
|
-
var
|
|
5766
|
+
var _a3;
|
|
5698
5767
|
setIsFocused(true);
|
|
5699
|
-
(
|
|
5768
|
+
(_a3 = props.onFocus) == null ? void 0 : _a3.call(props, e);
|
|
5700
5769
|
};
|
|
5701
5770
|
const handleBlur = (e) => {
|
|
5702
|
-
var
|
|
5771
|
+
var _a3;
|
|
5703
5772
|
setIsFocused(false);
|
|
5704
|
-
(
|
|
5773
|
+
(_a3 = props.onBlur) == null ? void 0 : _a3.call(props, e);
|
|
5705
5774
|
};
|
|
5706
5775
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5707
5776
|
"div",
|
|
@@ -5744,13 +5813,15 @@ var MenuSearchInput = React77__namespace.forwardRef(
|
|
|
5744
5813
|
type: "search",
|
|
5745
5814
|
role: "searchbox",
|
|
5746
5815
|
disabled,
|
|
5816
|
+
spellCheck: (_a2 = props.spellCheck) != null ? _a2 : false,
|
|
5817
|
+
autoComplete: (_b2 = props.autoComplete) != null ? _b2 : "off",
|
|
5747
5818
|
value: isControlled ? value : internalValue,
|
|
5748
5819
|
onChange: handleChange,
|
|
5749
5820
|
onFocus: handleFocus,
|
|
5750
5821
|
onBlur: handleBlur,
|
|
5751
5822
|
"aria-label": props["aria-label"] || "Search menu",
|
|
5752
5823
|
className: cn(
|
|
5753
|
-
"flex-1 min-w-0 bg-transparent px-1 text-sm leading-5 outline-none",
|
|
5824
|
+
"flex-1 min-w-0 bg-transparent px-1 text-base md:text-sm leading-5 outline-none",
|
|
5754
5825
|
"font-normal",
|
|
5755
5826
|
"text-sui-text-default",
|
|
5756
5827
|
"placeholder:text-sui-text-hint",
|
|
@@ -5782,7 +5853,7 @@ var MenuSearchInput = React77__namespace.forwardRef(
|
|
|
5782
5853
|
"flex size-5 shrink-0 items-center justify-center",
|
|
5783
5854
|
"rounded-xs transition-colors",
|
|
5784
5855
|
"text-icon-default-muted",
|
|
5785
|
-
"hover:text-icon-default-subtle",
|
|
5856
|
+
"[@media(hover:hover)]:hover:text-icon-default-subtle",
|
|
5786
5857
|
"active:text-icon-default",
|
|
5787
5858
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight"
|
|
5788
5859
|
),
|
|
@@ -5803,7 +5874,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
|
|
|
5803
5874
|
var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
|
|
5804
5875
|
var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
|
|
5805
5876
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
|
|
5806
|
-
var DropdownMenuSubTrigger =
|
|
5877
|
+
var DropdownMenuSubTrigger = React78__namespace.forwardRef((_a, ref) => {
|
|
5807
5878
|
var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
|
|
5808
5879
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5809
5880
|
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
@@ -5827,7 +5898,7 @@ var DropdownMenuSubTrigger = React77__namespace.forwardRef((_a, ref) => {
|
|
|
5827
5898
|
);
|
|
5828
5899
|
});
|
|
5829
5900
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
|
|
5830
|
-
var DropdownMenuSubContent =
|
|
5901
|
+
var DropdownMenuSubContent = React78__namespace.forwardRef((_a, ref) => {
|
|
5831
5902
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5832
5903
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5833
5904
|
DropdownMenuPrimitive__namespace.SubContent,
|
|
@@ -5842,7 +5913,7 @@ var DropdownMenuSubContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
5842
5913
|
);
|
|
5843
5914
|
});
|
|
5844
5915
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
|
|
5845
|
-
var DropdownMenuContent =
|
|
5916
|
+
var DropdownMenuContent = React78__namespace.forwardRef((_a, ref) => {
|
|
5846
5917
|
var _b = _a, { className, sideOffset = 4, search, searchValue, onSearchChange, onSearchClear, searchPlaceholder = "Search", children } = _b, props = __objRest(_b, ["className", "sideOffset", "search", "searchValue", "onSearchChange", "onSearchClear", "searchPlaceholder", "children"]);
|
|
5847
5918
|
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5848
5919
|
DropdownMenuPrimitive__namespace.Content,
|
|
@@ -5880,7 +5951,7 @@ var DropdownMenuContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
5880
5951
|
) });
|
|
5881
5952
|
});
|
|
5882
5953
|
DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
|
|
5883
|
-
var DropdownMenuItem =
|
|
5954
|
+
var DropdownMenuItem = React78__namespace.forwardRef((_a, ref) => {
|
|
5884
5955
|
var _b = _a, { className, inset, variant = "default" } = _b, props = __objRest(_b, ["className", "inset", "variant"]);
|
|
5885
5956
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5886
5957
|
DropdownMenuPrimitive__namespace.Item,
|
|
@@ -5901,7 +5972,7 @@ var DropdownMenuItem = React77__namespace.forwardRef((_a, ref) => {
|
|
|
5901
5972
|
);
|
|
5902
5973
|
});
|
|
5903
5974
|
DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
|
|
5904
|
-
var DropdownMenuCheckboxItem =
|
|
5975
|
+
var DropdownMenuCheckboxItem = React78__namespace.forwardRef((_a, ref) => {
|
|
5905
5976
|
var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
|
|
5906
5977
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5907
5978
|
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
@@ -5923,7 +5994,7 @@ var DropdownMenuCheckboxItem = React77__namespace.forwardRef((_a, ref) => {
|
|
|
5923
5994
|
);
|
|
5924
5995
|
});
|
|
5925
5996
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
|
|
5926
|
-
var DropdownMenuRadioItem =
|
|
5997
|
+
var DropdownMenuRadioItem = React78__namespace.forwardRef((_a, ref) => {
|
|
5927
5998
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
5928
5999
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5929
6000
|
DropdownMenuPrimitive__namespace.RadioItem,
|
|
@@ -5944,7 +6015,7 @@ var DropdownMenuRadioItem = React77__namespace.forwardRef((_a, ref) => {
|
|
|
5944
6015
|
);
|
|
5945
6016
|
});
|
|
5946
6017
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
|
|
5947
|
-
var DropdownMenuLabel =
|
|
6018
|
+
var DropdownMenuLabel = React78__namespace.forwardRef((_a, ref) => {
|
|
5948
6019
|
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
|
5949
6020
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5950
6021
|
DropdownMenuPrimitive__namespace.Label,
|
|
@@ -5959,7 +6030,7 @@ var DropdownMenuLabel = React77__namespace.forwardRef((_a, ref) => {
|
|
|
5959
6030
|
);
|
|
5960
6031
|
});
|
|
5961
6032
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
|
|
5962
|
-
var DropdownMenuSeparator =
|
|
6033
|
+
var DropdownMenuSeparator = React78__namespace.forwardRef((_a, ref) => {
|
|
5963
6034
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5964
6035
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5965
6036
|
DropdownMenuPrimitive__namespace.Separator,
|
|
@@ -5988,7 +6059,7 @@ var DropdownMenuShortcut = (_a) => {
|
|
|
5988
6059
|
);
|
|
5989
6060
|
};
|
|
5990
6061
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
5991
|
-
var DropdownMenuCaption =
|
|
6062
|
+
var DropdownMenuCaption = React78__namespace.forwardRef((_a, ref) => {
|
|
5992
6063
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5993
6064
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5994
6065
|
"p",
|
|
@@ -6003,7 +6074,7 @@ var DropdownMenuCaption = React77__namespace.forwardRef((_a, ref) => {
|
|
|
6003
6074
|
);
|
|
6004
6075
|
});
|
|
6005
6076
|
DropdownMenuCaption.displayName = "DropdownMenuCaption";
|
|
6006
|
-
var DropdownMenuUserbar =
|
|
6077
|
+
var DropdownMenuUserbar = React78__namespace.forwardRef((_a, ref) => {
|
|
6007
6078
|
var _b = _a, { className, name, email, avatar, badge } = _b, props = __objRest(_b, ["className", "name", "email", "avatar", "badge"]);
|
|
6008
6079
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6009
6080
|
"div",
|
|
@@ -6028,7 +6099,7 @@ var DropdownMenuUserbar = React77__namespace.forwardRef((_a, ref) => {
|
|
|
6028
6099
|
);
|
|
6029
6100
|
});
|
|
6030
6101
|
DropdownMenuUserbar.displayName = "DropdownMenuUserbar";
|
|
6031
|
-
var DropdownMenuLargeItem =
|
|
6102
|
+
var DropdownMenuLargeItem = React78__namespace.forwardRef((_a, ref) => {
|
|
6032
6103
|
var _b = _a, { className, label, caption, icon, badge, tailIcon } = _b, props = __objRest(_b, ["className", "label", "caption", "icon", "badge", "tailIcon"]);
|
|
6033
6104
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6034
6105
|
DropdownMenuPrimitive__namespace.Item,
|
|
@@ -6069,7 +6140,7 @@ var emptyStateVariants = classVarianceAuthority.cva(
|
|
|
6069
6140
|
}
|
|
6070
6141
|
}
|
|
6071
6142
|
);
|
|
6072
|
-
var EmptyState =
|
|
6143
|
+
var EmptyState = React78__namespace.forwardRef(
|
|
6073
6144
|
(_a, ref) => {
|
|
6074
6145
|
var _b = _a, {
|
|
6075
6146
|
className,
|
|
@@ -6127,14 +6198,15 @@ var EmptyState = React77__namespace.forwardRef(
|
|
|
6127
6198
|
EmptyState.displayName = "EmptyState";
|
|
6128
6199
|
function EmptyStateText({
|
|
6129
6200
|
title,
|
|
6130
|
-
description
|
|
6201
|
+
description,
|
|
6202
|
+
titleAs: TitleTag = "h3"
|
|
6131
6203
|
}) {
|
|
6132
6204
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-1 text-center w-full", children: [
|
|
6133
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6205
|
+
/* @__PURE__ */ jsxRuntime.jsx(TitleTag, { className: "text-sm font-medium leading-5 text-sui-text-subtle w-full m-0", children: title }),
|
|
6134
6206
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs leading-4 text-sui-text-muted w-full", children: description })
|
|
6135
6207
|
] });
|
|
6136
6208
|
}
|
|
6137
|
-
var FileUploadArea =
|
|
6209
|
+
var FileUploadArea = React78__namespace.forwardRef(
|
|
6138
6210
|
(_a, ref) => {
|
|
6139
6211
|
var _b = _a, {
|
|
6140
6212
|
className,
|
|
@@ -6159,8 +6231,8 @@ var FileUploadArea = React77__namespace.forwardRef(
|
|
|
6159
6231
|
"onDrop",
|
|
6160
6232
|
"onDragOver"
|
|
6161
6233
|
]);
|
|
6162
|
-
const [isDragOver, setIsDragOver] =
|
|
6163
|
-
const handleDragOver =
|
|
6234
|
+
const [isDragOver, setIsDragOver] = React78__namespace.useState(false);
|
|
6235
|
+
const handleDragOver = React78__namespace.useCallback(
|
|
6164
6236
|
(e) => {
|
|
6165
6237
|
if (disabled) return;
|
|
6166
6238
|
e.preventDefault();
|
|
@@ -6169,10 +6241,10 @@ var FileUploadArea = React77__namespace.forwardRef(
|
|
|
6169
6241
|
},
|
|
6170
6242
|
[disabled, onDragOver]
|
|
6171
6243
|
);
|
|
6172
|
-
const handleDragLeave =
|
|
6244
|
+
const handleDragLeave = React78__namespace.useCallback(() => {
|
|
6173
6245
|
setIsDragOver(false);
|
|
6174
6246
|
}, []);
|
|
6175
|
-
const handleDrop =
|
|
6247
|
+
const handleDrop = React78__namespace.useCallback(
|
|
6176
6248
|
(e) => {
|
|
6177
6249
|
if (disabled) return;
|
|
6178
6250
|
e.preventDefault();
|
|
@@ -6181,11 +6253,11 @@ var FileUploadArea = React77__namespace.forwardRef(
|
|
|
6181
6253
|
},
|
|
6182
6254
|
[disabled, onDrop]
|
|
6183
6255
|
);
|
|
6184
|
-
const handleClick =
|
|
6256
|
+
const handleClick = React78__namespace.useCallback(() => {
|
|
6185
6257
|
if (disabled) return;
|
|
6186
6258
|
onClick == null ? void 0 : onClick();
|
|
6187
6259
|
}, [disabled, onClick]);
|
|
6188
|
-
const handleKeyDown =
|
|
6260
|
+
const handleKeyDown = React78__namespace.useCallback(
|
|
6189
6261
|
(e) => {
|
|
6190
6262
|
if (disabled) return;
|
|
6191
6263
|
if (e.key === "Enter" || e.key === " ") {
|
|
@@ -6214,7 +6286,7 @@ var FileUploadArea = React77__namespace.forwardRef(
|
|
|
6214
6286
|
// Focus
|
|
6215
6287
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default",
|
|
6216
6288
|
// Hover (not disabled)
|
|
6217
|
-
!disabled && "hover:bg-sui-bg-state-secondary-hover cursor-pointer",
|
|
6289
|
+
!disabled && "[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover cursor-pointer",
|
|
6218
6290
|
// Drag-over state
|
|
6219
6291
|
!disabled && isDragOver && "bg-sui-bg-state-secondary-hover",
|
|
6220
6292
|
// Disabled
|
|
@@ -6301,7 +6373,7 @@ var progressBarVariants = classVarianceAuthority.cva(
|
|
|
6301
6373
|
}
|
|
6302
6374
|
);
|
|
6303
6375
|
var SEGMENT_COUNT = 10;
|
|
6304
|
-
var ProgressBar =
|
|
6376
|
+
var ProgressBar = React78__namespace.forwardRef(
|
|
6305
6377
|
(_a, ref) => {
|
|
6306
6378
|
var _b = _a, {
|
|
6307
6379
|
className,
|
|
@@ -6323,7 +6395,7 @@ var ProgressBar = React77__namespace.forwardRef(
|
|
|
6323
6395
|
const clampedValue = Math.min(100, Math.max(0, value != null ? value : 0));
|
|
6324
6396
|
const displayPercentage = `${Math.round(clampedValue)}%`;
|
|
6325
6397
|
const filledSegments = Math.round(clampedValue / 100 * SEGMENT_COUNT);
|
|
6326
|
-
const generatedId =
|
|
6398
|
+
const generatedId = React78__namespace.useId();
|
|
6327
6399
|
const labelId = `${generatedId}-label`;
|
|
6328
6400
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6329
6401
|
"div",
|
|
@@ -6341,7 +6413,7 @@ var ProgressBar = React77__namespace.forwardRef(
|
|
|
6341
6413
|
children: labelText
|
|
6342
6414
|
}
|
|
6343
6415
|
) }),
|
|
6344
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-normal leading-5 text-sui-text-muted", children: displayPercentage }) })
|
|
6416
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-normal leading-5 tabular-nums text-sui-text-muted", children: displayPercentage }) })
|
|
6345
6417
|
] }),
|
|
6346
6418
|
variant === "dashed" ? (
|
|
6347
6419
|
/* Dashed variant: 10 individual segments */
|
|
@@ -6409,7 +6481,7 @@ var statusLabel = {
|
|
|
6409
6481
|
uploading: "Uploading...",
|
|
6410
6482
|
failed: "Error"
|
|
6411
6483
|
};
|
|
6412
|
-
var FileUploadCard =
|
|
6484
|
+
var FileUploadCard = React78__namespace.forwardRef(
|
|
6413
6485
|
(_a, ref) => {
|
|
6414
6486
|
var _b = _a, {
|
|
6415
6487
|
className,
|
|
@@ -6621,7 +6693,7 @@ var lineColorMap = {
|
|
|
6621
6693
|
warning: "bg-sui-bg-basic-orange-accent",
|
|
6622
6694
|
error: "bg-sui-bg-basic-red-accent"
|
|
6623
6695
|
};
|
|
6624
|
-
var InlineTips =
|
|
6696
|
+
var InlineTips = React78__namespace.forwardRef(
|
|
6625
6697
|
(_a, ref) => {
|
|
6626
6698
|
var _b = _a, {
|
|
6627
6699
|
className,
|
|
@@ -6723,7 +6795,7 @@ function validateFile(file, accept, maxSize) {
|
|
|
6723
6795
|
}
|
|
6724
6796
|
return null;
|
|
6725
6797
|
}
|
|
6726
|
-
var FileUpload =
|
|
6798
|
+
var FileUpload = React78__namespace.forwardRef(
|
|
6727
6799
|
({
|
|
6728
6800
|
files = [],
|
|
6729
6801
|
onFilesAdded,
|
|
@@ -6744,37 +6816,55 @@ var FileUpload = React77__namespace.forwardRef(
|
|
|
6744
6816
|
icon,
|
|
6745
6817
|
className
|
|
6746
6818
|
}, ref) => {
|
|
6747
|
-
const inputRef =
|
|
6748
|
-
const [errors, setErrors] =
|
|
6749
|
-
const
|
|
6750
|
-
|
|
6819
|
+
const inputRef = React78__namespace.useRef(null);
|
|
6820
|
+
const [errors, setErrors] = React78__namespace.useState([]);
|
|
6821
|
+
const [thumbnails, setThumbnails] = React78__namespace.useState(
|
|
6822
|
+
{}
|
|
6823
|
+
);
|
|
6824
|
+
const thumbnailsRef = React78__namespace.useRef(thumbnails);
|
|
6825
|
+
React78__namespace.useEffect(() => {
|
|
6826
|
+
thumbnailsRef.current = thumbnails;
|
|
6827
|
+
}, [thumbnails]);
|
|
6828
|
+
React78__namespace.useEffect(() => {
|
|
6751
6829
|
if (!autoPreview) return;
|
|
6752
|
-
|
|
6753
|
-
|
|
6754
|
-
|
|
6755
|
-
|
|
6756
|
-
if (
|
|
6830
|
+
setThumbnails((prev) => {
|
|
6831
|
+
let next = prev;
|
|
6832
|
+
let changed = false;
|
|
6833
|
+
for (const f of files) {
|
|
6834
|
+
if (!f.thumbnail && !next[f.id]) {
|
|
6835
|
+
const url = generateThumbnail(f.file);
|
|
6836
|
+
if (url) {
|
|
6837
|
+
if (!changed) {
|
|
6838
|
+
next = __spreadValues({}, prev);
|
|
6839
|
+
changed = true;
|
|
6840
|
+
}
|
|
6841
|
+
next[f.id] = url;
|
|
6842
|
+
}
|
|
6843
|
+
}
|
|
6757
6844
|
}
|
|
6758
|
-
|
|
6759
|
-
|
|
6760
|
-
|
|
6761
|
-
|
|
6762
|
-
|
|
6763
|
-
|
|
6845
|
+
const currentIds = new Set(files.map((f) => f.id));
|
|
6846
|
+
for (const id of Object.keys(prev)) {
|
|
6847
|
+
if (!currentIds.has(id)) {
|
|
6848
|
+
URL.revokeObjectURL(prev[id]);
|
|
6849
|
+
if (!changed) {
|
|
6850
|
+
next = __spreadValues({}, prev);
|
|
6851
|
+
changed = true;
|
|
6852
|
+
}
|
|
6853
|
+
delete next[id];
|
|
6854
|
+
}
|
|
6764
6855
|
}
|
|
6765
|
-
|
|
6856
|
+
return changed ? next : prev;
|
|
6857
|
+
});
|
|
6766
6858
|
}, [files, autoPreview]);
|
|
6767
|
-
|
|
6768
|
-
const cache = thumbnailCache.current;
|
|
6859
|
+
React78__namespace.useEffect(() => {
|
|
6769
6860
|
return () => {
|
|
6770
|
-
for (const url of
|
|
6861
|
+
for (const url of Object.values(thumbnailsRef.current)) {
|
|
6771
6862
|
URL.revokeObjectURL(url);
|
|
6772
6863
|
}
|
|
6773
|
-
cache.clear();
|
|
6774
6864
|
};
|
|
6775
6865
|
}, []);
|
|
6776
6866
|
const resolvedDescription = description != null ? description : generateDescription(accept, maxSize, maxFiles);
|
|
6777
|
-
const processFiles =
|
|
6867
|
+
const processFiles = React78__namespace.useCallback(
|
|
6778
6868
|
(fileList) => {
|
|
6779
6869
|
const newFiles = Array.from(fileList);
|
|
6780
6870
|
const validationErrors = [];
|
|
@@ -6802,11 +6892,11 @@ var FileUpload = React77__namespace.forwardRef(
|
|
|
6802
6892
|
},
|
|
6803
6893
|
[files.length, maxFiles, accept, maxSize, onFilesAdded]
|
|
6804
6894
|
);
|
|
6805
|
-
const handleClick =
|
|
6895
|
+
const handleClick = React78__namespace.useCallback(() => {
|
|
6806
6896
|
var _a;
|
|
6807
6897
|
(_a = inputRef.current) == null ? void 0 : _a.click();
|
|
6808
6898
|
}, []);
|
|
6809
|
-
const handleInputChange =
|
|
6899
|
+
const handleInputChange = React78__namespace.useCallback(
|
|
6810
6900
|
(e) => {
|
|
6811
6901
|
if (e.target.files && e.target.files.length > 0) {
|
|
6812
6902
|
processFiles(e.target.files);
|
|
@@ -6815,7 +6905,7 @@ var FileUpload = React77__namespace.forwardRef(
|
|
|
6815
6905
|
},
|
|
6816
6906
|
[processFiles]
|
|
6817
6907
|
);
|
|
6818
|
-
const handleDrop =
|
|
6908
|
+
const handleDrop = React78__namespace.useCallback(
|
|
6819
6909
|
(e) => {
|
|
6820
6910
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
6821
6911
|
processFiles(e.dataTransfer.files);
|
|
@@ -6823,10 +6913,10 @@ var FileUpload = React77__namespace.forwardRef(
|
|
|
6823
6913
|
},
|
|
6824
6914
|
[processFiles]
|
|
6825
6915
|
);
|
|
6826
|
-
const dismissError =
|
|
6916
|
+
const dismissError = React78__namespace.useCallback((index) => {
|
|
6827
6917
|
setErrors((prev) => prev.filter((_, i) => i !== index));
|
|
6828
6918
|
}, []);
|
|
6829
|
-
const handlePaste =
|
|
6919
|
+
const handlePaste = React78__namespace.useCallback(
|
|
6830
6920
|
(e) => {
|
|
6831
6921
|
var _a;
|
|
6832
6922
|
if (disabled || !pasteEnabled) return;
|
|
@@ -6847,7 +6937,7 @@ var FileUpload = React77__namespace.forwardRef(
|
|
|
6847
6937
|
},
|
|
6848
6938
|
[disabled, pasteEnabled, processFiles]
|
|
6849
6939
|
);
|
|
6850
|
-
const handleCancel =
|
|
6940
|
+
const handleCancel = React78__namespace.useCallback(
|
|
6851
6941
|
(id) => {
|
|
6852
6942
|
const uploadFile = files.find((f) => f.id === id);
|
|
6853
6943
|
if (uploadFile == null ? void 0 : uploadFile.abortController) {
|
|
@@ -6923,7 +7013,7 @@ var FileUpload = React77__namespace.forwardRef(
|
|
|
6923
7013
|
fileSize: formatBytes(uploadFile.file.size),
|
|
6924
7014
|
state: uploadFile.state,
|
|
6925
7015
|
size: cardSize,
|
|
6926
|
-
thumbnail: (_a = uploadFile.thumbnail) != null ? _a : autoPreview ?
|
|
7016
|
+
thumbnail: (_a = uploadFile.thumbnail) != null ? _a : autoPreview ? thumbnails[uploadFile.id] : void 0,
|
|
6927
7017
|
progress: uploadFile.progress,
|
|
6928
7018
|
onRemove: uploadFile.state === "uploading" && onCancel ? () => handleCancel(uploadFile.id) : onRemove ? () => onRemove(uploadFile.id) : void 0,
|
|
6929
7019
|
onRetry: uploadFile.state === "failed" && onRetry ? () => onRetry(uploadFile.id) : void 0,
|
|
@@ -6964,7 +7054,7 @@ var ariaSortMap = {
|
|
|
6964
7054
|
desc: "descending",
|
|
6965
7055
|
none: "none"
|
|
6966
7056
|
};
|
|
6967
|
-
var GridTableHeaderItem =
|
|
7057
|
+
var GridTableHeaderItem = React78__namespace.forwardRef(
|
|
6968
7058
|
(_a, ref) => {
|
|
6969
7059
|
var _b = _a, {
|
|
6970
7060
|
className,
|
|
@@ -7066,7 +7156,7 @@ var gridTableRowVariants = classVarianceAuthority.cva(
|
|
|
7066
7156
|
}
|
|
7067
7157
|
}
|
|
7068
7158
|
);
|
|
7069
|
-
var GridTableRow =
|
|
7159
|
+
var GridTableRow = React78__namespace.forwardRef(
|
|
7070
7160
|
(_a, ref) => {
|
|
7071
7161
|
var _b = _a, { className, variant = "default", children } = _b, props = __objRest(_b, ["className", "variant", "children"]);
|
|
7072
7162
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7082,7 +7172,7 @@ var GridTableRow = React77__namespace.forwardRef(
|
|
|
7082
7172
|
}
|
|
7083
7173
|
);
|
|
7084
7174
|
GridTableRow.displayName = "GridTableRow";
|
|
7085
|
-
var GridTableCell =
|
|
7175
|
+
var GridTableCell = React78__namespace.forwardRef(
|
|
7086
7176
|
(_a, ref) => {
|
|
7087
7177
|
var _b = _a, { className, bordered = true, children } = _b, props = __objRest(_b, ["className", "bordered", "children"]);
|
|
7088
7178
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7126,7 +7216,7 @@ var gridTableSlotItemVariants = classVarianceAuthority.cva(
|
|
|
7126
7216
|
}
|
|
7127
7217
|
}
|
|
7128
7218
|
);
|
|
7129
|
-
var GridTableSlotItem =
|
|
7219
|
+
var GridTableSlotItem = React78__namespace.forwardRef(
|
|
7130
7220
|
(_a, ref) => {
|
|
7131
7221
|
var _b = _a, {
|
|
7132
7222
|
className,
|
|
@@ -7237,7 +7327,8 @@ var GridTableSlotItem = React77__namespace.forwardRef(
|
|
|
7237
7327
|
);
|
|
7238
7328
|
GridTableSlotItem.displayName = "GridTableSlotItem";
|
|
7239
7329
|
var stepperNumberVariants = classVarianceAuthority.cva(
|
|
7240
|
-
|
|
7330
|
+
// tabular-nums keeps step counter from jiggling between numbers (Web Interface Guidelines #19)
|
|
7331
|
+
"relative flex items-center justify-center overflow-hidden rounded-full border border-sui-border-darker font-semibold tabular-nums shadow-default transition-colors duration-200",
|
|
7241
7332
|
{
|
|
7242
7333
|
variants: {
|
|
7243
7334
|
size: {
|
|
@@ -7273,7 +7364,7 @@ var stepperNumberVariants = classVarianceAuthority.cva(
|
|
|
7273
7364
|
}
|
|
7274
7365
|
}
|
|
7275
7366
|
);
|
|
7276
|
-
var StepperNumber =
|
|
7367
|
+
var StepperNumber = React78__namespace.forwardRef(
|
|
7277
7368
|
(_a, ref) => {
|
|
7278
7369
|
var _b = _a, { className, size, color, number = "1" } = _b, props = __objRest(_b, ["className", "size", "color", "number"]);
|
|
7279
7370
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -7312,7 +7403,7 @@ var stepperIconVariants = classVarianceAuthority.cva(
|
|
|
7312
7403
|
}
|
|
7313
7404
|
}
|
|
7314
7405
|
);
|
|
7315
|
-
var StepperIcon =
|
|
7406
|
+
var StepperIcon = React78__namespace.forwardRef(
|
|
7316
7407
|
(_a, ref) => {
|
|
7317
7408
|
var _b = _a, { className, variant = "dot-large", icon } = _b, props = __objRest(_b, ["className", "variant", "icon"]);
|
|
7318
7409
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -7366,7 +7457,7 @@ function ConnectorLine({ success }) {
|
|
|
7366
7457
|
}
|
|
7367
7458
|
);
|
|
7368
7459
|
}
|
|
7369
|
-
var HorizontalStepperItem =
|
|
7460
|
+
var HorizontalStepperItem = React78__namespace.forwardRef(
|
|
7370
7461
|
(_a, ref) => {
|
|
7371
7462
|
var _b = _a, {
|
|
7372
7463
|
className,
|
|
@@ -7491,7 +7582,7 @@ var HorizontalStepperItem = React77__namespace.forwardRef(
|
|
|
7491
7582
|
}
|
|
7492
7583
|
);
|
|
7493
7584
|
HorizontalStepperItem.displayName = "HorizontalStepperItem";
|
|
7494
|
-
var HorizontalStepper =
|
|
7585
|
+
var HorizontalStepper = React78__namespace.forwardRef(
|
|
7495
7586
|
(_a, ref) => {
|
|
7496
7587
|
var _b = _a, {
|
|
7497
7588
|
className,
|
|
@@ -7566,13 +7657,15 @@ var HorizontalStepper = React77__namespace.forwardRef(
|
|
|
7566
7657
|
}
|
|
7567
7658
|
);
|
|
7568
7659
|
HorizontalStepper.displayName = "HorizontalStepper";
|
|
7569
|
-
var Input =
|
|
7660
|
+
var Input = React78__namespace.forwardRef(
|
|
7570
7661
|
(_a, ref) => {
|
|
7571
|
-
var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
|
|
7662
|
+
var _b = _a, { className, type, spellCheck, autoComplete } = _b, props = __objRest(_b, ["className", "type", "spellCheck", "autoComplete"]);
|
|
7572
7663
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7573
7664
|
"input",
|
|
7574
7665
|
__spreadValues({
|
|
7575
7666
|
type,
|
|
7667
|
+
spellCheck: spellCheck != null ? spellCheck : false,
|
|
7668
|
+
autoComplete: autoComplete != null ? autoComplete : "off",
|
|
7576
7669
|
className: cn(
|
|
7577
7670
|
"flex h-10 w-full rounded-md border border-sui-border-darker bg-sui-bg-input px-3 py-2 text-base ring-offset-sui-bg-default file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-sui-text-default placeholder:text-sui-text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:text-sui-text-hint disabled:pointer-events-none md:text-sm",
|
|
7578
7671
|
className
|
|
@@ -7604,7 +7697,7 @@ var inputButtonVariants = classVarianceAuthority.cva(
|
|
|
7604
7697
|
inputButtonStyle: {
|
|
7605
7698
|
default: [
|
|
7606
7699
|
"bg-sui-bg-state-ghost",
|
|
7607
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
7700
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
7608
7701
|
"active:bg-sui-bg-state-ghost-press",
|
|
7609
7702
|
"text-sui-text-default",
|
|
7610
7703
|
"[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
|
|
@@ -7613,10 +7706,10 @@ var inputButtonVariants = classVarianceAuthority.cva(
|
|
|
7613
7706
|
],
|
|
7614
7707
|
muted: [
|
|
7615
7708
|
"bg-sui-bg-state-ghost",
|
|
7616
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
7709
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
7617
7710
|
"active:bg-sui-bg-state-ghost-press",
|
|
7618
7711
|
"text-sui-text-muted",
|
|
7619
|
-
"hover:text-sui-text-default",
|
|
7712
|
+
"[@media(hover:hover)]:hover:text-sui-text-default",
|
|
7620
7713
|
"[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
|
|
7621
7714
|
"disabled:text-sui-text-hint",
|
|
7622
7715
|
"[&:disabled_i]:text-icon-default-disabled [&:disabled_svg]:text-icon-default-disabled"
|
|
@@ -7624,7 +7717,7 @@ var inputButtonVariants = classVarianceAuthority.cva(
|
|
|
7624
7717
|
inline: [
|
|
7625
7718
|
"bg-transparent",
|
|
7626
7719
|
"text-sui-text-muted",
|
|
7627
|
-
"hover:text-sui-text-default",
|
|
7720
|
+
"[@media(hover:hover)]:hover:text-sui-text-default",
|
|
7628
7721
|
"[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
|
|
7629
7722
|
"disabled:text-sui-text-hint",
|
|
7630
7723
|
"[&:disabled_i]:text-icon-default-disabled [&:disabled_svg]:text-icon-default-disabled"
|
|
@@ -7656,8 +7749,8 @@ var inputButtonVariants = classVarianceAuthority.cva(
|
|
|
7656
7749
|
}
|
|
7657
7750
|
}
|
|
7658
7751
|
);
|
|
7659
|
-
var iconOnlyHoverClasses = "hover:[&_i]:text-icon-default-subtle hover:[&_svg]:text-icon-default-subtle active:[&_i]:text-icon-default-subtle active:[&_svg]:text-icon-default-subtle";
|
|
7660
|
-
var InputButton =
|
|
7752
|
+
var iconOnlyHoverClasses = "[@media(hover:hover)]:hover:[&_i]:text-icon-default-subtle [@media(hover:hover)]:hover:[&_svg]:text-icon-default-subtle active:[&_i]:text-icon-default-subtle active:[&_svg]:text-icon-default-subtle";
|
|
7753
|
+
var InputButton = React78__namespace.forwardRef(
|
|
7661
7754
|
(_a, ref) => {
|
|
7662
7755
|
var _b = _a, {
|
|
7663
7756
|
className,
|
|
@@ -7692,9 +7785,7 @@ var InputButton = React77__namespace.forwardRef(
|
|
|
7692
7785
|
const isIconOnly = variant === "icon-only";
|
|
7693
7786
|
const isShortcut = variant === "shortcut";
|
|
7694
7787
|
const isTags = variant === "tags";
|
|
7695
|
-
|
|
7696
|
-
console.warn("InputButton: icon-only variant requires an `aria-label` for accessibility.");
|
|
7697
|
-
}
|
|
7788
|
+
useDevWarnIconOnlyAriaLabel(isIconOnly, props["aria-label"], props["aria-labelledby"], "InputButton");
|
|
7698
7789
|
const a11yProps = {};
|
|
7699
7790
|
if (isShortcut && shortcutKey && !props["aria-keyshortcuts"]) {
|
|
7700
7791
|
a11yProps["aria-keyshortcuts"] = shortcutKey;
|
|
@@ -7791,7 +7882,7 @@ var InputButton = React77__namespace.forwardRef(
|
|
|
7791
7882
|
}
|
|
7792
7883
|
);
|
|
7793
7884
|
InputButton.displayName = "InputButton";
|
|
7794
|
-
var InputStepper =
|
|
7885
|
+
var InputStepper = React78__namespace.forwardRef(
|
|
7795
7886
|
({ onIncrement, onDecrement, disabled, className }, ref) => {
|
|
7796
7887
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7797
7888
|
"div",
|
|
@@ -7812,7 +7903,7 @@ var InputStepper = React77__namespace.forwardRef(
|
|
|
7812
7903
|
className: cn(
|
|
7813
7904
|
"flex flex-1 w-full min-h-0 items-center justify-center",
|
|
7814
7905
|
"transition-colors",
|
|
7815
|
-
"hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
|
|
7906
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
|
|
7816
7907
|
"focus-visible:outline-none focus-visible:bg-sui-bg-state-ghost-hover",
|
|
7817
7908
|
"disabled:pointer-events-none",
|
|
7818
7909
|
disabled ? "[&_i]:text-icon-default-disabled [&_svg]:text-icon-default-disabled" : "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted"
|
|
@@ -7834,7 +7925,7 @@ var InputStepper = React77__namespace.forwardRef(
|
|
|
7834
7925
|
className: cn(
|
|
7835
7926
|
"flex flex-1 w-full min-h-0 items-center justify-center",
|
|
7836
7927
|
"transition-colors",
|
|
7837
|
-
"hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
|
|
7928
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press",
|
|
7838
7929
|
"focus-visible:outline-none focus-visible:bg-sui-bg-state-ghost-hover",
|
|
7839
7930
|
"disabled:pointer-events-none",
|
|
7840
7931
|
disabled ? "[&_i]:text-icon-default-disabled [&_svg]:text-icon-default-disabled" : "[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted"
|
|
@@ -7848,7 +7939,7 @@ var InputStepper = React77__namespace.forwardRef(
|
|
|
7848
7939
|
}
|
|
7849
7940
|
);
|
|
7850
7941
|
InputStepper.displayName = "InputStepper";
|
|
7851
|
-
var NavigationMenu =
|
|
7942
|
+
var NavigationMenu = React78__namespace.forwardRef((_a, ref) => {
|
|
7852
7943
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
7853
7944
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7854
7945
|
NavigationMenuPrimitive__namespace.Root,
|
|
@@ -7867,7 +7958,7 @@ var NavigationMenu = React77__namespace.forwardRef((_a, ref) => {
|
|
|
7867
7958
|
);
|
|
7868
7959
|
});
|
|
7869
7960
|
NavigationMenu.displayName = NavigationMenuPrimitive__namespace.Root.displayName;
|
|
7870
|
-
var NavigationMenuList =
|
|
7961
|
+
var NavigationMenuList = React78__namespace.forwardRef((_a, ref) => {
|
|
7871
7962
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7872
7963
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7873
7964
|
NavigationMenuPrimitive__namespace.List,
|
|
@@ -7883,9 +7974,9 @@ var NavigationMenuList = React77__namespace.forwardRef((_a, ref) => {
|
|
|
7883
7974
|
NavigationMenuList.displayName = NavigationMenuPrimitive__namespace.List.displayName;
|
|
7884
7975
|
var NavigationMenuItem = NavigationMenuPrimitive__namespace.Item;
|
|
7885
7976
|
var navigationMenuTriggerStyle = classVarianceAuthority.cva(
|
|
7886
|
-
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-4 py-2 text-sm font-medium text-sui-text-default transition-colors hover:bg-sui-bg-state-ghost-hover hover:text-sui-text-default focus:bg-sui-bg-state-ghost-hover focus:text-sui-text-default focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default disabled:text-sui-text-hint disabled:pointer-events-none data-[state=open]:text-sui-text-default data-[state=open]:bg-sui-bg-state-ghost-hover"
|
|
7977
|
+
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-transparent px-4 py-2 text-sm font-medium text-sui-text-default transition-colors [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover [@media(hover:hover)]:hover:text-sui-text-default focus:bg-sui-bg-state-ghost-hover focus:text-sui-text-default focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 focus-visible:ring-offset-sui-bg-default disabled:text-sui-text-hint disabled:pointer-events-none data-[state=open]:text-sui-text-default data-[state=open]:bg-sui-bg-state-ghost-hover"
|
|
7887
7978
|
);
|
|
7888
|
-
var NavigationMenuTrigger =
|
|
7979
|
+
var NavigationMenuTrigger = React78__namespace.forwardRef((_a, ref) => {
|
|
7889
7980
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
7890
7981
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7891
7982
|
NavigationMenuPrimitive__namespace.Trigger,
|
|
@@ -7908,7 +7999,7 @@ var NavigationMenuTrigger = React77__namespace.forwardRef((_a, ref) => {
|
|
|
7908
7999
|
);
|
|
7909
8000
|
});
|
|
7910
8001
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive__namespace.Trigger.displayName;
|
|
7911
|
-
var NavigationMenuContent =
|
|
8002
|
+
var NavigationMenuContent = React78__namespace.forwardRef((_a, ref) => {
|
|
7912
8003
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7913
8004
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7914
8005
|
NavigationMenuPrimitive__namespace.Content,
|
|
@@ -7923,7 +8014,7 @@ var NavigationMenuContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
7923
8014
|
});
|
|
7924
8015
|
NavigationMenuContent.displayName = NavigationMenuPrimitive__namespace.Content.displayName;
|
|
7925
8016
|
var NavigationMenuLink = NavigationMenuPrimitive__namespace.Link;
|
|
7926
|
-
var NavigationMenuViewport =
|
|
8017
|
+
var NavigationMenuViewport = React78__namespace.forwardRef((_a, ref) => {
|
|
7927
8018
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7928
8019
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7929
8020
|
NavigationMenuPrimitive__namespace.Viewport,
|
|
@@ -7937,7 +8028,7 @@ var NavigationMenuViewport = React77__namespace.forwardRef((_a, ref) => {
|
|
|
7937
8028
|
) });
|
|
7938
8029
|
});
|
|
7939
8030
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive__namespace.Viewport.displayName;
|
|
7940
|
-
var NavigationMenuIndicator =
|
|
8031
|
+
var NavigationMenuIndicator = React78__namespace.forwardRef((_a, ref) => {
|
|
7941
8032
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7942
8033
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7943
8034
|
NavigationMenuPrimitive__namespace.Indicator,
|
|
@@ -7970,8 +8061,8 @@ var pageItemVariants = classVarianceAuthority.cva(
|
|
|
7970
8061
|
"inline-flex items-center justify-center",
|
|
7971
8062
|
"size-8 min-h-8 min-w-8",
|
|
7972
8063
|
"rounded-sm overflow-clip cursor-pointer",
|
|
7973
|
-
// Typography
|
|
7974
|
-
"font-sans font-medium text-sm leading-5 text-center whitespace-nowrap",
|
|
8064
|
+
// Typography — tabular-nums keeps page numbers from jiggling as values change (Web Interface Guidelines #19)
|
|
8065
|
+
"font-sans font-medium text-sm leading-5 text-center whitespace-nowrap tabular-nums",
|
|
7975
8066
|
// Default state
|
|
7976
8067
|
"bg-sui-bg-state-ghost text-sui-text-hint",
|
|
7977
8068
|
// Hover state
|
|
@@ -8008,7 +8099,7 @@ var activeDotClasses = [
|
|
|
8008
8099
|
"bg-sui-bg-basic-blue-accent",
|
|
8009
8100
|
"[@media(hover:hover)]:hover:bg-sui-bg-basic-blue-accent"
|
|
8010
8101
|
].join(" ");
|
|
8011
|
-
var PageItem =
|
|
8102
|
+
var PageItem = React78__namespace.forwardRef(
|
|
8012
8103
|
(_a, ref) => {
|
|
8013
8104
|
var _b = _a, { className, variant = "default", active = false, label = "0", disabled, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "active", "label", "disabled", "asChild"]);
|
|
8014
8105
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
@@ -8043,7 +8134,7 @@ var Pagination = (_a) => {
|
|
|
8043
8134
|
);
|
|
8044
8135
|
};
|
|
8045
8136
|
Pagination.displayName = "Pagination";
|
|
8046
|
-
var PaginationContent =
|
|
8137
|
+
var PaginationContent = React78__namespace.forwardRef((_a, ref) => {
|
|
8047
8138
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
8048
8139
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8049
8140
|
"ul",
|
|
@@ -8054,7 +8145,7 @@ var PaginationContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
8054
8145
|
);
|
|
8055
8146
|
});
|
|
8056
8147
|
PaginationContent.displayName = "PaginationContent";
|
|
8057
|
-
var PaginationItem =
|
|
8148
|
+
var PaginationItem = React78__namespace.forwardRef((_a, ref) => {
|
|
8058
8149
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
8059
8150
|
return /* @__PURE__ */ jsxRuntime.jsx("li", __spreadValues({ ref, className: cn("", className) }, props));
|
|
8060
8151
|
});
|
|
@@ -8175,7 +8266,7 @@ function getPageRange(currentPage, totalPages, maxVisible) {
|
|
|
8175
8266
|
}
|
|
8176
8267
|
return pages;
|
|
8177
8268
|
}
|
|
8178
|
-
var Paginator =
|
|
8269
|
+
var Paginator = React78__namespace.forwardRef(
|
|
8179
8270
|
(_a, ref) => {
|
|
8180
8271
|
var _b = _a, {
|
|
8181
8272
|
className,
|
|
@@ -8355,7 +8446,7 @@ var Paginator = React77__namespace.forwardRef(
|
|
|
8355
8446
|
}
|
|
8356
8447
|
);
|
|
8357
8448
|
Paginator.displayName = "Paginator";
|
|
8358
|
-
var Progress =
|
|
8449
|
+
var Progress = React78__namespace.forwardRef((_a, ref) => {
|
|
8359
8450
|
var _b = _a, { className, value } = _b, props = __objRest(_b, ["className", "value"]);
|
|
8360
8451
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8361
8452
|
ProgressPrimitive2__namespace.Root,
|
|
@@ -8405,7 +8496,7 @@ var arcStrokeVarMap = {
|
|
|
8405
8496
|
success: "var(--text-success)",
|
|
8406
8497
|
failed: "var(--text-destructive)"
|
|
8407
8498
|
};
|
|
8408
|
-
var RadialProgressBar =
|
|
8499
|
+
var RadialProgressBar = React78__namespace.forwardRef(
|
|
8409
8500
|
(_a, ref) => {
|
|
8410
8501
|
var _b = _a, {
|
|
8411
8502
|
className,
|
|
@@ -8507,7 +8598,8 @@ var RadialProgressBar = React77__namespace.forwardRef(
|
|
|
8507
8598
|
{
|
|
8508
8599
|
"aria-hidden": "true",
|
|
8509
8600
|
className: cn(
|
|
8510
|
-
|
|
8601
|
+
// tabular-nums keeps percentage from jiggling as value changes (Web Interface Guidelines #19)
|
|
8602
|
+
"absolute text-sm font-medium leading-5 tabular-nums text-center select-none",
|
|
8511
8603
|
textVariantMap[variant != null ? variant : "default"],
|
|
8512
8604
|
isHalf ? "bottom-0" : ""
|
|
8513
8605
|
),
|
|
@@ -8524,7 +8616,7 @@ var RadialProgressBar = React77__namespace.forwardRef(
|
|
|
8524
8616
|
}
|
|
8525
8617
|
);
|
|
8526
8618
|
RadialProgressBar.displayName = "RadialProgressBar";
|
|
8527
|
-
var RadioGroup2 =
|
|
8619
|
+
var RadioGroup2 = React78__namespace.forwardRef((_a, ref) => {
|
|
8528
8620
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
8529
8621
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8530
8622
|
RadioGroupPrimitive__namespace.Root,
|
|
@@ -8551,10 +8643,10 @@ var radioButtonVariants = classVarianceAuthority.cva(
|
|
|
8551
8643
|
"data-[state=checked]:bg-sui-bg-checkbox-active",
|
|
8552
8644
|
"data-[state=checked]:border-sui-bg-checkbox-active",
|
|
8553
8645
|
// Hover unchecked: stronger border
|
|
8554
|
-
"hover:data-[state=unchecked]:border-sui-border-strong",
|
|
8646
|
+
"[@media(hover:hover)]:hover:data-[state=unchecked]:border-sui-border-strong",
|
|
8555
8647
|
// Hover checked: hover bg + matching border
|
|
8556
|
-
"hover:data-[state=checked]:bg-sui-bg-checkbox-active-hover",
|
|
8557
|
-
"hover:data-[state=checked]:border-sui-bg-checkbox-active-hover",
|
|
8648
|
+
"[@media(hover:hover)]:hover:data-[state=checked]:bg-sui-bg-checkbox-active-hover",
|
|
8649
|
+
"[@media(hover:hover)]:hover:data-[state=checked]:border-sui-bg-checkbox-active-hover",
|
|
8558
8650
|
// Focus ring (Figma: 1px accent-inverted + 3px highlight)
|
|
8559
8651
|
"focus-visible:outline-none",
|
|
8560
8652
|
"focus-visible:shadow-misc-focus",
|
|
@@ -8584,7 +8676,7 @@ var radioButtonVariants = classVarianceAuthority.cva(
|
|
|
8584
8676
|
}
|
|
8585
8677
|
}
|
|
8586
8678
|
);
|
|
8587
|
-
var RadioButton =
|
|
8679
|
+
var RadioButton = React78__namespace.forwardRef((_a, ref) => {
|
|
8588
8680
|
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
8589
8681
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8590
8682
|
RadioGroupPrimitive__namespace.Item,
|
|
@@ -8624,7 +8716,7 @@ var RadioButton = React77__namespace.forwardRef((_a, ref) => {
|
|
|
8624
8716
|
);
|
|
8625
8717
|
});
|
|
8626
8718
|
RadioButton.displayName = "RadioButton";
|
|
8627
|
-
var RadioCardGroup =
|
|
8719
|
+
var RadioCardGroup = React78__namespace.forwardRef((_a, ref) => {
|
|
8628
8720
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
8629
8721
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8630
8722
|
RadioGroupPrimitive__namespace.Root,
|
|
@@ -8673,7 +8765,7 @@ var radioButtonCardVariants = classVarianceAuthority.cva(
|
|
|
8673
8765
|
}
|
|
8674
8766
|
}
|
|
8675
8767
|
);
|
|
8676
|
-
var RadioButtonCard =
|
|
8768
|
+
var RadioButtonCard = React78__namespace.forwardRef(
|
|
8677
8769
|
({
|
|
8678
8770
|
title,
|
|
8679
8771
|
description,
|
|
@@ -8687,7 +8779,7 @@ var RadioButtonCard = React77__namespace.forwardRef(
|
|
|
8687
8779
|
disabled = false,
|
|
8688
8780
|
className
|
|
8689
8781
|
}, ref) => {
|
|
8690
|
-
const generatedId =
|
|
8782
|
+
const generatedId = React78__namespace.useId();
|
|
8691
8783
|
const titleId = `radio-card-title-${generatedId}`;
|
|
8692
8784
|
const descriptionId = `radio-card-desc-${generatedId}`;
|
|
8693
8785
|
const isHorizontal = layout === "horizontal";
|
|
@@ -8795,9 +8887,9 @@ var RadioButtonCard = React77__namespace.forwardRef(
|
|
|
8795
8887
|
}
|
|
8796
8888
|
);
|
|
8797
8889
|
RadioButtonCard.displayName = "RadioButtonCard";
|
|
8798
|
-
var RadioButtonList =
|
|
8890
|
+
var RadioButtonList = React78__namespace.forwardRef(
|
|
8799
8891
|
({ className, divider = true, value, defaultValue, onValueChange, disabled, children }, ref) => {
|
|
8800
|
-
const items =
|
|
8892
|
+
const items = React78__namespace.Children.toArray(children);
|
|
8801
8893
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8802
8894
|
RadioGroup2,
|
|
8803
8895
|
{
|
|
@@ -8841,7 +8933,7 @@ var radioButtonWithTextVariants = classVarianceAuthority.cva(
|
|
|
8841
8933
|
}
|
|
8842
8934
|
}
|
|
8843
8935
|
);
|
|
8844
|
-
var RadioButtonWithText =
|
|
8936
|
+
var RadioButtonWithText = React78__namespace.forwardRef(
|
|
8845
8937
|
({
|
|
8846
8938
|
label,
|
|
8847
8939
|
description,
|
|
@@ -8852,7 +8944,7 @@ var RadioButtonWithText = React77__namespace.forwardRef(
|
|
|
8852
8944
|
className,
|
|
8853
8945
|
id
|
|
8854
8946
|
}, ref) => {
|
|
8855
|
-
const generatedId =
|
|
8947
|
+
const generatedId = React78__namespace.useId();
|
|
8856
8948
|
const radioId = id || generatedId;
|
|
8857
8949
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8858
8950
|
"div",
|
|
@@ -8907,7 +8999,7 @@ var RadioButtonWithText = React77__namespace.forwardRef(
|
|
|
8907
8999
|
}
|
|
8908
9000
|
);
|
|
8909
9001
|
RadioButtonWithText.displayName = "RadioButtonWithText";
|
|
8910
|
-
var ScrollArea =
|
|
9002
|
+
var ScrollArea = React78__namespace.forwardRef((_a, ref) => {
|
|
8911
9003
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
8912
9004
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8913
9005
|
ScrollAreaPrimitive__namespace.Root,
|
|
@@ -8924,7 +9016,7 @@ var ScrollArea = React77__namespace.forwardRef((_a, ref) => {
|
|
|
8924
9016
|
);
|
|
8925
9017
|
});
|
|
8926
9018
|
ScrollArea.displayName = ScrollAreaPrimitive__namespace.Root.displayName;
|
|
8927
|
-
var ScrollBar =
|
|
9019
|
+
var ScrollBar = React78__namespace.forwardRef((_a, ref) => {
|
|
8928
9020
|
var _b = _a, { className, orientation = "vertical" } = _b, props = __objRest(_b, ["className", "orientation"]);
|
|
8929
9021
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8930
9022
|
ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
|
|
@@ -8946,7 +9038,7 @@ ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displ
|
|
|
8946
9038
|
var Select = SelectPrimitive__namespace.Root;
|
|
8947
9039
|
var SelectGroup = SelectPrimitive__namespace.Group;
|
|
8948
9040
|
var SelectValue = SelectPrimitive__namespace.Value;
|
|
8949
|
-
var SelectTrigger =
|
|
9041
|
+
var SelectTrigger = React78__namespace.forwardRef((_a, ref) => {
|
|
8950
9042
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
8951
9043
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8952
9044
|
SelectPrimitive__namespace.Trigger,
|
|
@@ -8969,7 +9061,7 @@ var SelectTrigger = React77__namespace.forwardRef((_a, ref) => {
|
|
|
8969
9061
|
);
|
|
8970
9062
|
});
|
|
8971
9063
|
SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
|
|
8972
|
-
var SelectScrollUpButton =
|
|
9064
|
+
var SelectScrollUpButton = React78__namespace.forwardRef((_a, ref) => {
|
|
8973
9065
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
8974
9066
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8975
9067
|
SelectPrimitive__namespace.ScrollUpButton,
|
|
@@ -8985,7 +9077,7 @@ var SelectScrollUpButton = React77__namespace.forwardRef((_a, ref) => {
|
|
|
8985
9077
|
);
|
|
8986
9078
|
});
|
|
8987
9079
|
SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
|
|
8988
|
-
var SelectScrollDownButton =
|
|
9080
|
+
var SelectScrollDownButton = React78__namespace.forwardRef((_a, ref) => {
|
|
8989
9081
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
8990
9082
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8991
9083
|
SelectPrimitive__namespace.ScrollDownButton,
|
|
@@ -9001,7 +9093,7 @@ var SelectScrollDownButton = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9001
9093
|
);
|
|
9002
9094
|
});
|
|
9003
9095
|
SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
|
|
9004
|
-
var SelectContent =
|
|
9096
|
+
var SelectContent = React78__namespace.forwardRef((_a, ref) => {
|
|
9005
9097
|
var _b = _a, { className, children, position = "popper" } = _b, props = __objRest(_b, ["className", "children", "position"]);
|
|
9006
9098
|
return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9007
9099
|
SelectPrimitive__namespace.Content,
|
|
@@ -9034,7 +9126,7 @@ var SelectContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9034
9126
|
) });
|
|
9035
9127
|
});
|
|
9036
9128
|
SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
|
|
9037
|
-
var SelectLabel =
|
|
9129
|
+
var SelectLabel = React78__namespace.forwardRef((_a, ref) => {
|
|
9038
9130
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
9039
9131
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9040
9132
|
SelectPrimitive__namespace.Label,
|
|
@@ -9048,7 +9140,7 @@ var SelectLabel = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9048
9140
|
);
|
|
9049
9141
|
});
|
|
9050
9142
|
SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
|
|
9051
|
-
var SelectItem =
|
|
9143
|
+
var SelectItem = React78__namespace.forwardRef((_a, ref) => {
|
|
9052
9144
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
9053
9145
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9054
9146
|
SelectPrimitive__namespace.Item,
|
|
@@ -9073,7 +9165,7 @@ var SelectItem = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9073
9165
|
);
|
|
9074
9166
|
});
|
|
9075
9167
|
SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
|
|
9076
|
-
var SelectSeparator =
|
|
9168
|
+
var SelectSeparator = React78__namespace.forwardRef((_a, ref) => {
|
|
9077
9169
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
9078
9170
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9079
9171
|
SelectPrimitive__namespace.Separator,
|
|
@@ -9084,7 +9176,7 @@ var SelectSeparator = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9084
9176
|
);
|
|
9085
9177
|
});
|
|
9086
9178
|
SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
|
|
9087
|
-
var SelectMenu =
|
|
9179
|
+
var SelectMenu = React78__namespace.forwardRef(
|
|
9088
9180
|
(_a, ref) => {
|
|
9089
9181
|
var _b = _a, {
|
|
9090
9182
|
className,
|
|
@@ -9115,19 +9207,19 @@ var SelectMenu = React77__namespace.forwardRef(
|
|
|
9115
9207
|
]);
|
|
9116
9208
|
var _a2;
|
|
9117
9209
|
const indicator = selectType === "checkbox" ? "checkbox" : selectType === "radio" ? "radio" : selectType === "default" ? "checkmark" : "none";
|
|
9118
|
-
const hasChildren =
|
|
9119
|
-
const generatedId =
|
|
9210
|
+
const hasChildren = React78__namespace.Children.count(children) > 0;
|
|
9211
|
+
const generatedId = React78__namespace.useId();
|
|
9120
9212
|
const listId = `${generatedId}-list`;
|
|
9121
|
-
const listRef =
|
|
9122
|
-
const [activeIndex, setActiveIndex] =
|
|
9213
|
+
const listRef = React78__namespace.useRef(null);
|
|
9214
|
+
const [activeIndex, setActiveIndex] = React78__namespace.useState(-1);
|
|
9123
9215
|
const activeItemId = activeIndex >= 0 ? `${listId}-item-${activeIndex}` : void 0;
|
|
9124
|
-
const getItems =
|
|
9216
|
+
const getItems = React78__namespace.useCallback(() => {
|
|
9125
9217
|
if (!listRef.current) return [];
|
|
9126
9218
|
return Array.from(
|
|
9127
9219
|
listRef.current.querySelectorAll('[role="option"]')
|
|
9128
9220
|
);
|
|
9129
9221
|
}, []);
|
|
9130
|
-
const handleKeyDown =
|
|
9222
|
+
const handleKeyDown = React78__namespace.useCallback(
|
|
9131
9223
|
(e) => {
|
|
9132
9224
|
var _a3;
|
|
9133
9225
|
const items = getItems();
|
|
@@ -9210,8 +9302,8 @@ var SelectMenu = React77__namespace.forwardRef(
|
|
|
9210
9302
|
"focus-visible:outline-none"
|
|
9211
9303
|
),
|
|
9212
9304
|
style: listMaxHeight ? { maxHeight: listMaxHeight } : void 0,
|
|
9213
|
-
children: hasChildren ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col px-1", role: "presentation", children:
|
|
9214
|
-
if (
|
|
9305
|
+
children: hasChildren ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col px-1", role: "presentation", children: React78__namespace.Children.map(children, (child, index) => {
|
|
9306
|
+
if (React78__namespace.isValidElement(child) && child.type.displayName === "SelectMenuItem") {
|
|
9215
9307
|
const itemProps = child.props;
|
|
9216
9308
|
const overrides = {};
|
|
9217
9309
|
if (indicator !== "none" && itemProps.indicator === void 0) {
|
|
@@ -9228,7 +9320,7 @@ var SelectMenu = React77__namespace.forwardRef(
|
|
|
9228
9320
|
overrides["data-active"] = "true";
|
|
9229
9321
|
}
|
|
9230
9322
|
if (Object.keys(overrides).length > 0) {
|
|
9231
|
-
return
|
|
9323
|
+
return React78__namespace.cloneElement(
|
|
9232
9324
|
child,
|
|
9233
9325
|
overrides
|
|
9234
9326
|
);
|
|
@@ -9253,7 +9345,7 @@ var SelectMenu = React77__namespace.forwardRef(
|
|
|
9253
9345
|
}
|
|
9254
9346
|
);
|
|
9255
9347
|
SelectMenu.displayName = "SelectMenu";
|
|
9256
|
-
var SelectMenuFooterButton =
|
|
9348
|
+
var SelectMenuFooterButton = React78__namespace.forwardRef((_a, ref) => {
|
|
9257
9349
|
var _b = _a, { className, icon = "ri-add-line", children = "Add new", disabled } = _b, props = __objRest(_b, ["className", "icon", "children", "disabled"]);
|
|
9258
9350
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9259
9351
|
"button",
|
|
@@ -9267,7 +9359,7 @@ var SelectMenuFooterButton = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9267
9359
|
"px-2.5 py-2",
|
|
9268
9360
|
// Colors
|
|
9269
9361
|
"bg-sui-bg-state-ghost",
|
|
9270
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
9362
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
9271
9363
|
"active:bg-sui-bg-state-ghost-press",
|
|
9272
9364
|
"text-sm font-medium leading-5 text-sui-text-default",
|
|
9273
9365
|
"[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
|
|
@@ -9296,7 +9388,7 @@ var SelectMenuFooterButton = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9296
9388
|
);
|
|
9297
9389
|
});
|
|
9298
9390
|
SelectMenuFooterButton.displayName = "SelectMenuFooterButton";
|
|
9299
|
-
var SelectInput =
|
|
9391
|
+
var SelectInput = React78__namespace.forwardRef(
|
|
9300
9392
|
({
|
|
9301
9393
|
label,
|
|
9302
9394
|
required,
|
|
@@ -9328,10 +9420,10 @@ var SelectInput = React77__namespace.forwardRef(
|
|
|
9328
9420
|
footer,
|
|
9329
9421
|
className
|
|
9330
9422
|
}, ref) => {
|
|
9331
|
-
const [internalOpen, setInternalOpen] =
|
|
9423
|
+
const [internalOpen, setInternalOpen] = React78__namespace.useState(false);
|
|
9332
9424
|
const isControlled = controlledOpen !== void 0;
|
|
9333
9425
|
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
9334
|
-
const handleOpenChange =
|
|
9426
|
+
const handleOpenChange = React78__namespace.useCallback(
|
|
9335
9427
|
(next) => {
|
|
9336
9428
|
if (disabled) return;
|
|
9337
9429
|
if (!isControlled) setInternalOpen(next);
|
|
@@ -9339,7 +9431,7 @@ var SelectInput = React77__namespace.forwardRef(
|
|
|
9339
9431
|
},
|
|
9340
9432
|
[disabled, isControlled, onOpenChange]
|
|
9341
9433
|
);
|
|
9342
|
-
const generatedId =
|
|
9434
|
+
const generatedId = React78__namespace.useId();
|
|
9343
9435
|
const hasError = !!error;
|
|
9344
9436
|
const helperText = hasError ? error : caption;
|
|
9345
9437
|
const hasTags = tags && tags.length > 0;
|
|
@@ -9366,7 +9458,6 @@ var SelectInput = React77__namespace.forwardRef(
|
|
|
9366
9458
|
"aria-expanded": isOpen,
|
|
9367
9459
|
"aria-haspopup": "listbox",
|
|
9368
9460
|
"aria-controls": `${generatedId}-listbox`,
|
|
9369
|
-
"aria-multiselectable": multiSelect || void 0,
|
|
9370
9461
|
"aria-invalid": hasError || void 0,
|
|
9371
9462
|
"aria-describedby": helperText ? `${generatedId}-caption` : void 0,
|
|
9372
9463
|
disabled,
|
|
@@ -9384,8 +9475,8 @@ var SelectInput = React77__namespace.forwardRef(
|
|
|
9384
9475
|
// Padding
|
|
9385
9476
|
"px-2",
|
|
9386
9477
|
// Hover
|
|
9387
|
-
!isSoft && "hover:border-sui-border-strong",
|
|
9388
|
-
isSoft && "hover:bg-sui-bg-input-soft",
|
|
9478
|
+
!isSoft && "[@media(hover:hover)]:hover:border-sui-border-strong",
|
|
9479
|
+
isSoft && "[@media(hover:hover)]:hover:bg-sui-bg-input-soft",
|
|
9389
9480
|
// Focus / Open
|
|
9390
9481
|
"data-[state=open]:bg-sui-bg-input data-[state=open]:shadow-input-focus",
|
|
9391
9482
|
"focus-visible:outline-none focus-visible:shadow-input-focus",
|
|
@@ -9396,7 +9487,7 @@ var SelectInput = React77__namespace.forwardRef(
|
|
|
9396
9487
|
hasError && "data-[state=open]:shadow-destructive-focus",
|
|
9397
9488
|
// Disabled
|
|
9398
9489
|
disabled && "bg-sui-bg-input-disabled shadow-none cursor-not-allowed",
|
|
9399
|
-
disabled && !isSoft && "border-sui-border-default hover:border-sui-border-default",
|
|
9490
|
+
disabled && !isSoft && "border-sui-border-default [@media(hover:hover)]:hover:border-sui-border-default",
|
|
9400
9491
|
disabled && isSoft && "border-sui-border-default"
|
|
9401
9492
|
),
|
|
9402
9493
|
children: [
|
|
@@ -9419,7 +9510,7 @@ var SelectInput = React77__namespace.forwardRef(
|
|
|
9419
9510
|
children: leadIcon
|
|
9420
9511
|
}
|
|
9421
9512
|
) : null,
|
|
9422
|
-
hasTags ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden", children: tags.map((tag, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9513
|
+
hasTags ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden", children: tags.map((tag, i) => /* @__PURE__ */ jsxRuntime.jsxs(React78__namespace.Fragment, { children: [
|
|
9423
9514
|
i > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
9424
9515
|
"span",
|
|
9425
9516
|
{
|
|
@@ -9482,6 +9573,8 @@ var SelectInput = React77__namespace.forwardRef(
|
|
|
9482
9573
|
PopoverPrimitive__namespace.Content,
|
|
9483
9574
|
__spreadProps(__spreadValues({
|
|
9484
9575
|
id: `${generatedId}-listbox`,
|
|
9576
|
+
role: "listbox",
|
|
9577
|
+
"aria-multiselectable": multiSelect || void 0,
|
|
9485
9578
|
align: "start",
|
|
9486
9579
|
sideOffset: 6,
|
|
9487
9580
|
className: cn(
|
|
@@ -9534,7 +9627,7 @@ var SelectInput = React77__namespace.forwardRef(
|
|
|
9534
9627
|
}
|
|
9535
9628
|
);
|
|
9536
9629
|
SelectInput.displayName = "SelectInput";
|
|
9537
|
-
var SelectMenuItem =
|
|
9630
|
+
var SelectMenuItem = React78__namespace.forwardRef(
|
|
9538
9631
|
(_a, ref) => {
|
|
9539
9632
|
var _b = _a, {
|
|
9540
9633
|
className,
|
|
@@ -9570,7 +9663,7 @@ var SelectMenuItem = React77__namespace.forwardRef(
|
|
|
9570
9663
|
// Layout
|
|
9571
9664
|
"group relative flex w-full cursor-default select-none items-center gap-1.5 rounded-xs p-1.5 text-sm outline-none transition-colors",
|
|
9572
9665
|
// Hover / Active (keyboard navigation)
|
|
9573
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
9666
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
9574
9667
|
"data-[active=true]:bg-sui-bg-state-ghost-hover",
|
|
9575
9668
|
// Focus
|
|
9576
9669
|
"focus-visible:bg-sui-bg-state-ghost-hover focus-visible:outline-none",
|
|
@@ -9698,7 +9791,7 @@ var SelectMenuItem = React77__namespace.forwardRef(
|
|
|
9698
9791
|
}
|
|
9699
9792
|
);
|
|
9700
9793
|
SelectMenuItem.displayName = "SelectMenuItem";
|
|
9701
|
-
var SelectMenuLabel =
|
|
9794
|
+
var SelectMenuLabel = React78__namespace.forwardRef(
|
|
9702
9795
|
(_a, ref) => {
|
|
9703
9796
|
var _b = _a, { className, caption, children } = _b, props = __objRest(_b, ["className", "caption", "children"]);
|
|
9704
9797
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -9720,7 +9813,7 @@ var SelectMenuLabel = React77__namespace.forwardRef(
|
|
|
9720
9813
|
}
|
|
9721
9814
|
);
|
|
9722
9815
|
SelectMenuLabel.displayName = "SelectMenuLabel";
|
|
9723
|
-
var SelectMenuDescription =
|
|
9816
|
+
var SelectMenuDescription = React78__namespace.forwardRef((_a, ref) => {
|
|
9724
9817
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
9725
9818
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9726
9819
|
"p",
|
|
@@ -9734,7 +9827,7 @@ var SelectMenuDescription = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9734
9827
|
);
|
|
9735
9828
|
});
|
|
9736
9829
|
SelectMenuDescription.displayName = "SelectMenuDescription";
|
|
9737
|
-
var SelectMenuSeparator =
|
|
9830
|
+
var SelectMenuSeparator = React78__namespace.forwardRef((_a, ref) => {
|
|
9738
9831
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
9739
9832
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9740
9833
|
"div",
|
|
@@ -9746,7 +9839,7 @@ var SelectMenuSeparator = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9746
9839
|
);
|
|
9747
9840
|
});
|
|
9748
9841
|
SelectMenuSeparator.displayName = "SelectMenuSeparator";
|
|
9749
|
-
var SelectMenuLargeItem =
|
|
9842
|
+
var SelectMenuLargeItem = React78__namespace.forwardRef(
|
|
9750
9843
|
(_a, ref) => {
|
|
9751
9844
|
var _b = _a, {
|
|
9752
9845
|
className,
|
|
@@ -9776,7 +9869,7 @@ var SelectMenuLargeItem = React77__namespace.forwardRef(
|
|
|
9776
9869
|
disabled,
|
|
9777
9870
|
className: cn(
|
|
9778
9871
|
"group relative flex w-full cursor-default select-none items-center rounded-xs px-2 py-1.5 outline-none transition-colors",
|
|
9779
|
-
"hover:bg-sui-bg-state-ghost-hover",
|
|
9872
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover",
|
|
9780
9873
|
"focus-visible:bg-sui-bg-state-ghost-hover focus-visible:outline-none",
|
|
9781
9874
|
"disabled:pointer-events-none",
|
|
9782
9875
|
className
|
|
@@ -9842,7 +9935,7 @@ var SelectMenuLargeItem = React77__namespace.forwardRef(
|
|
|
9842
9935
|
}
|
|
9843
9936
|
);
|
|
9844
9937
|
SelectMenuLargeItem.displayName = "SelectMenuLargeItem";
|
|
9845
|
-
var Separator3 =
|
|
9938
|
+
var Separator3 = React78__namespace.forwardRef(
|
|
9846
9939
|
(_a, ref) => {
|
|
9847
9940
|
var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
|
|
9848
9941
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -9865,7 +9958,7 @@ var Sheet = DialogPrimitive__namespace.Root;
|
|
|
9865
9958
|
var SheetTrigger = DialogPrimitive__namespace.Trigger;
|
|
9866
9959
|
var SheetClose = DialogPrimitive__namespace.Close;
|
|
9867
9960
|
var SheetPortal = DialogPrimitive__namespace.Portal;
|
|
9868
|
-
var SheetOverlay =
|
|
9961
|
+
var SheetOverlay = React78__namespace.forwardRef((_a, ref) => {
|
|
9869
9962
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
9870
9963
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9871
9964
|
DialogPrimitive__namespace.Overlay,
|
|
@@ -9896,7 +9989,7 @@ var sheetVariants = classVarianceAuthority.cva(
|
|
|
9896
9989
|
}
|
|
9897
9990
|
}
|
|
9898
9991
|
);
|
|
9899
|
-
var SheetContent =
|
|
9992
|
+
var SheetContent = React78__namespace.forwardRef((_a, ref) => {
|
|
9900
9993
|
var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
|
|
9901
9994
|
return /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
|
|
9902
9995
|
/* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
|
|
@@ -9908,7 +10001,7 @@ var SheetContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9908
10001
|
}, props), {
|
|
9909
10002
|
children: [
|
|
9910
10003
|
children,
|
|
9911
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-sui-bg-default transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-sui-bg-state-ghost-hover", children: [
|
|
10004
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-sui-bg-default transition-opacity [@media(hover:hover)]:hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-sui-bg-state-ghost-hover", children: [
|
|
9912
10005
|
/* @__PURE__ */ jsxRuntime.jsx("i", { className: "ri-close-line text-base", "aria-hidden": true }),
|
|
9913
10006
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
9914
10007
|
] })
|
|
@@ -9952,7 +10045,7 @@ var SheetFooter = (_a) => {
|
|
|
9952
10045
|
);
|
|
9953
10046
|
};
|
|
9954
10047
|
SheetFooter.displayName = "SheetFooter";
|
|
9955
|
-
var SheetTitle =
|
|
10048
|
+
var SheetTitle = React78__namespace.forwardRef((_a, ref) => {
|
|
9956
10049
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
9957
10050
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9958
10051
|
DialogPrimitive__namespace.Title,
|
|
@@ -9963,7 +10056,7 @@ var SheetTitle = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9963
10056
|
);
|
|
9964
10057
|
});
|
|
9965
10058
|
SheetTitle.displayName = DialogPrimitive__namespace.Title.displayName;
|
|
9966
|
-
var SheetDescription =
|
|
10059
|
+
var SheetDescription = React78__namespace.forwardRef((_a, ref) => {
|
|
9967
10060
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
9968
10061
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9969
10062
|
DialogPrimitive__namespace.Description,
|
|
@@ -9976,8 +10069,8 @@ var SheetDescription = React77__namespace.forwardRef((_a, ref) => {
|
|
|
9976
10069
|
SheetDescription.displayName = DialogPrimitive__namespace.Description.displayName;
|
|
9977
10070
|
var MOBILE_BREAKPOINT = 768;
|
|
9978
10071
|
function useIsMobile() {
|
|
9979
|
-
const [isMobile, setIsMobile] =
|
|
9980
|
-
|
|
10072
|
+
const [isMobile, setIsMobile] = React78__namespace.useState(void 0);
|
|
10073
|
+
React78__namespace.useEffect(() => {
|
|
9981
10074
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
9982
10075
|
const onChange = () => {
|
|
9983
10076
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -10007,15 +10100,15 @@ var SIDEBAR_WIDTH = "16rem";
|
|
|
10007
10100
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
10008
10101
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
10009
10102
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
10010
|
-
var SidebarContext =
|
|
10103
|
+
var SidebarContext = React78__namespace.createContext(null);
|
|
10011
10104
|
function useSidebar() {
|
|
10012
|
-
const context =
|
|
10105
|
+
const context = React78__namespace.useContext(SidebarContext);
|
|
10013
10106
|
if (!context) {
|
|
10014
10107
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
10015
10108
|
}
|
|
10016
10109
|
return context;
|
|
10017
10110
|
}
|
|
10018
|
-
var SidebarProvider =
|
|
10111
|
+
var SidebarProvider = React78__namespace.forwardRef(
|
|
10019
10112
|
(_a, ref) => {
|
|
10020
10113
|
var _b = _a, {
|
|
10021
10114
|
defaultOpen = true,
|
|
@@ -10033,10 +10126,10 @@ var SidebarProvider = React77__namespace.forwardRef(
|
|
|
10033
10126
|
"children"
|
|
10034
10127
|
]);
|
|
10035
10128
|
const isMobile = useIsMobile();
|
|
10036
|
-
const [openMobile, setOpenMobile] =
|
|
10037
|
-
const [_open, _setOpen] =
|
|
10129
|
+
const [openMobile, setOpenMobile] = React78__namespace.useState(false);
|
|
10130
|
+
const [_open, _setOpen] = React78__namespace.useState(defaultOpen);
|
|
10038
10131
|
const open = openProp != null ? openProp : _open;
|
|
10039
|
-
const setOpen =
|
|
10132
|
+
const setOpen = React78__namespace.useCallback(
|
|
10040
10133
|
(value) => {
|
|
10041
10134
|
const openState = typeof value === "function" ? value(open) : value;
|
|
10042
10135
|
if (setOpenProp) {
|
|
@@ -10048,10 +10141,10 @@ var SidebarProvider = React77__namespace.forwardRef(
|
|
|
10048
10141
|
},
|
|
10049
10142
|
[setOpenProp, open]
|
|
10050
10143
|
);
|
|
10051
|
-
const toggleSidebar =
|
|
10144
|
+
const toggleSidebar = React78__namespace.useCallback(() => {
|
|
10052
10145
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
10053
10146
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
10054
|
-
|
|
10147
|
+
React78__namespace.useEffect(() => {
|
|
10055
10148
|
const handleKeyDown = (event) => {
|
|
10056
10149
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
10057
10150
|
event.preventDefault();
|
|
@@ -10062,7 +10155,7 @@ var SidebarProvider = React77__namespace.forwardRef(
|
|
|
10062
10155
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
10063
10156
|
}, [toggleSidebar]);
|
|
10064
10157
|
const state = open ? "expanded" : "collapsed";
|
|
10065
|
-
const contextValue =
|
|
10158
|
+
const contextValue = React78__namespace.useMemo(
|
|
10066
10159
|
() => ({
|
|
10067
10160
|
state,
|
|
10068
10161
|
open,
|
|
@@ -10093,7 +10186,7 @@ var SidebarProvider = React77__namespace.forwardRef(
|
|
|
10093
10186
|
}
|
|
10094
10187
|
);
|
|
10095
10188
|
SidebarProvider.displayName = "SidebarProvider";
|
|
10096
|
-
var Sidebar =
|
|
10189
|
+
var Sidebar = React78__namespace.forwardRef(
|
|
10097
10190
|
(_a, ref) => {
|
|
10098
10191
|
var _b = _a, {
|
|
10099
10192
|
side = "left",
|
|
@@ -10192,7 +10285,7 @@ var Sidebar = React77__namespace.forwardRef(
|
|
|
10192
10285
|
}
|
|
10193
10286
|
);
|
|
10194
10287
|
Sidebar.displayName = "Sidebar";
|
|
10195
|
-
var SidebarTrigger =
|
|
10288
|
+
var SidebarTrigger = React78__namespace.forwardRef((_a, ref) => {
|
|
10196
10289
|
var _b = _a, { className, onClick } = _b, props = __objRest(_b, ["className", "onClick"]);
|
|
10197
10290
|
const { toggleSidebar } = useSidebar();
|
|
10198
10291
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -10217,7 +10310,7 @@ var SidebarTrigger = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10217
10310
|
);
|
|
10218
10311
|
});
|
|
10219
10312
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
10220
|
-
var SidebarRail =
|
|
10313
|
+
var SidebarRail = React78__namespace.forwardRef((_a, ref) => {
|
|
10221
10314
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10222
10315
|
const { toggleSidebar } = useSidebar();
|
|
10223
10316
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10230,10 +10323,10 @@ var SidebarRail = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10230
10323
|
onClick: toggleSidebar,
|
|
10231
10324
|
title: "Toggle Sidebar",
|
|
10232
10325
|
className: cn(
|
|
10233
|
-
"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
|
|
10326
|
+
"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] [@media(hover:hover)]:hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
|
|
10234
10327
|
"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",
|
|
10235
10328
|
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
10236
|
-
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar",
|
|
10329
|
+
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:[@media(hover:hover)]:hover:bg-sidebar",
|
|
10237
10330
|
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
10238
10331
|
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
10239
10332
|
className
|
|
@@ -10242,7 +10335,7 @@ var SidebarRail = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10242
10335
|
);
|
|
10243
10336
|
});
|
|
10244
10337
|
SidebarRail.displayName = "SidebarRail";
|
|
10245
|
-
var SidebarInset =
|
|
10338
|
+
var SidebarInset = React78__namespace.forwardRef((_a, ref) => {
|
|
10246
10339
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10247
10340
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10248
10341
|
"main",
|
|
@@ -10257,7 +10350,7 @@ var SidebarInset = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10257
10350
|
);
|
|
10258
10351
|
});
|
|
10259
10352
|
SidebarInset.displayName = "SidebarInset";
|
|
10260
|
-
var SidebarInput =
|
|
10353
|
+
var SidebarInput = React78__namespace.forwardRef((_a, ref) => {
|
|
10261
10354
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10262
10355
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10263
10356
|
Input,
|
|
@@ -10272,7 +10365,7 @@ var SidebarInput = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10272
10365
|
);
|
|
10273
10366
|
});
|
|
10274
10367
|
SidebarInput.displayName = "SidebarInput";
|
|
10275
|
-
var SidebarHeader =
|
|
10368
|
+
var SidebarHeader = React78__namespace.forwardRef((_a, ref) => {
|
|
10276
10369
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10277
10370
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10278
10371
|
"div",
|
|
@@ -10284,7 +10377,7 @@ var SidebarHeader = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10284
10377
|
);
|
|
10285
10378
|
});
|
|
10286
10379
|
SidebarHeader.displayName = "SidebarHeader";
|
|
10287
|
-
var SidebarFooter =
|
|
10380
|
+
var SidebarFooter = React78__namespace.forwardRef((_a, ref) => {
|
|
10288
10381
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10289
10382
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10290
10383
|
"div",
|
|
@@ -10296,7 +10389,7 @@ var SidebarFooter = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10296
10389
|
);
|
|
10297
10390
|
});
|
|
10298
10391
|
SidebarFooter.displayName = "SidebarFooter";
|
|
10299
|
-
var SidebarSeparator =
|
|
10392
|
+
var SidebarSeparator = React78__namespace.forwardRef((_a, ref) => {
|
|
10300
10393
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10301
10394
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10302
10395
|
Separator3,
|
|
@@ -10308,7 +10401,7 @@ var SidebarSeparator = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10308
10401
|
);
|
|
10309
10402
|
});
|
|
10310
10403
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
10311
|
-
var SidebarContent =
|
|
10404
|
+
var SidebarContent = React78__namespace.forwardRef((_a, ref) => {
|
|
10312
10405
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10313
10406
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10314
10407
|
"div",
|
|
@@ -10323,7 +10416,7 @@ var SidebarContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10323
10416
|
);
|
|
10324
10417
|
});
|
|
10325
10418
|
SidebarContent.displayName = "SidebarContent";
|
|
10326
|
-
var SidebarGroup =
|
|
10419
|
+
var SidebarGroup = React78__namespace.forwardRef((_a, ref) => {
|
|
10327
10420
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10328
10421
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10329
10422
|
"div",
|
|
@@ -10335,7 +10428,7 @@ var SidebarGroup = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10335
10428
|
);
|
|
10336
10429
|
});
|
|
10337
10430
|
SidebarGroup.displayName = "SidebarGroup";
|
|
10338
|
-
var SidebarGroupLabel =
|
|
10431
|
+
var SidebarGroupLabel = React78__namespace.forwardRef((_a, ref) => {
|
|
10339
10432
|
var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
|
|
10340
10433
|
const Comp = asChild ? reactSlot.Slot : "div";
|
|
10341
10434
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10352,7 +10445,7 @@ var SidebarGroupLabel = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10352
10445
|
);
|
|
10353
10446
|
});
|
|
10354
10447
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
10355
|
-
var SidebarGroupAction =
|
|
10448
|
+
var SidebarGroupAction = React78__namespace.forwardRef((_a, ref) => {
|
|
10356
10449
|
var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
|
|
10357
10450
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
10358
10451
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10361,7 +10454,7 @@ var SidebarGroupAction = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10361
10454
|
ref,
|
|
10362
10455
|
"data-sidebar": "group-action",
|
|
10363
10456
|
className: cn(
|
|
10364
|
-
"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
10457
|
+
"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
10365
10458
|
// Increases the hit area of the button on mobile.
|
|
10366
10459
|
"after:absolute after:-inset-2 after:md:hidden",
|
|
10367
10460
|
"group-data-[collapsible=icon]:hidden",
|
|
@@ -10371,7 +10464,7 @@ var SidebarGroupAction = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10371
10464
|
);
|
|
10372
10465
|
});
|
|
10373
10466
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
10374
|
-
var SidebarGroupContent =
|
|
10467
|
+
var SidebarGroupContent = React78__namespace.forwardRef((_a, ref) => {
|
|
10375
10468
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10376
10469
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10377
10470
|
"div",
|
|
@@ -10383,7 +10476,7 @@ var SidebarGroupContent = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10383
10476
|
);
|
|
10384
10477
|
});
|
|
10385
10478
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
10386
|
-
var SidebarMenu =
|
|
10479
|
+
var SidebarMenu = React78__namespace.forwardRef((_a, ref) => {
|
|
10387
10480
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10388
10481
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10389
10482
|
"ul",
|
|
@@ -10395,7 +10488,7 @@ var SidebarMenu = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10395
10488
|
);
|
|
10396
10489
|
});
|
|
10397
10490
|
SidebarMenu.displayName = "SidebarMenu";
|
|
10398
|
-
var SidebarMenuItem =
|
|
10491
|
+
var SidebarMenuItem = React78__namespace.forwardRef((_a, ref) => {
|
|
10399
10492
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10400
10493
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10401
10494
|
"li",
|
|
@@ -10408,12 +10501,12 @@ var SidebarMenuItem = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10408
10501
|
});
|
|
10409
10502
|
SidebarMenuItem.displayName = "SidebarMenuItem";
|
|
10410
10503
|
var sidebarMenuButtonVariants = classVarianceAuthority.cva(
|
|
10411
|
-
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
10504
|
+
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:[@media(hover:hover)]:hover:bg-sidebar-accent data-[state=open]:[@media(hover:hover)]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
10412
10505
|
{
|
|
10413
10506
|
variants: {
|
|
10414
10507
|
variant: {
|
|
10415
|
-
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
10416
|
-
outline: "bg-sui-bg-default shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
|
10508
|
+
default: "[@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground",
|
|
10509
|
+
outline: "bg-sui-bg-default shadow-[0_0_0_1px_hsl(var(--sidebar-border))] [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground [@media(hover:hover)]:hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
|
10417
10510
|
},
|
|
10418
10511
|
size: {
|
|
10419
10512
|
default: "h-8 text-sm",
|
|
@@ -10427,7 +10520,7 @@ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
|
|
|
10427
10520
|
}
|
|
10428
10521
|
}
|
|
10429
10522
|
);
|
|
10430
|
-
var SidebarMenuButton =
|
|
10523
|
+
var SidebarMenuButton = React78__namespace.forwardRef(
|
|
10431
10524
|
(_a, ref) => {
|
|
10432
10525
|
var _b = _a, {
|
|
10433
10526
|
asChild = false,
|
|
@@ -10478,7 +10571,7 @@ var SidebarMenuButton = React77__namespace.forwardRef(
|
|
|
10478
10571
|
}
|
|
10479
10572
|
);
|
|
10480
10573
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
10481
|
-
var SidebarMenuAction =
|
|
10574
|
+
var SidebarMenuAction = React78__namespace.forwardRef((_a, ref) => {
|
|
10482
10575
|
var _b = _a, { className, asChild = false, showOnHover = false } = _b, props = __objRest(_b, ["className", "asChild", "showOnHover"]);
|
|
10483
10576
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
10484
10577
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10487,7 +10580,7 @@ var SidebarMenuAction = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10487
10580
|
ref,
|
|
10488
10581
|
"data-sidebar": "menu-action",
|
|
10489
10582
|
className: cn(
|
|
10490
|
-
"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
|
|
10583
|
+
"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
|
|
10491
10584
|
// Increases the hit area of the button on mobile.
|
|
10492
10585
|
"after:absolute after:-inset-2 after:md:hidden",
|
|
10493
10586
|
"peer-data-[size=sm]/menu-button:top-1",
|
|
@@ -10501,7 +10594,7 @@ var SidebarMenuAction = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10501
10594
|
);
|
|
10502
10595
|
});
|
|
10503
10596
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
10504
|
-
var SidebarMenuBadge =
|
|
10597
|
+
var SidebarMenuBadge = React78__namespace.forwardRef((_a, ref) => {
|
|
10505
10598
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10506
10599
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10507
10600
|
"div",
|
|
@@ -10521,11 +10614,13 @@ var SidebarMenuBadge = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10521
10614
|
);
|
|
10522
10615
|
});
|
|
10523
10616
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
10524
|
-
var SidebarMenuSkeleton =
|
|
10617
|
+
var SidebarMenuSkeleton = React78__namespace.forwardRef((_a, ref) => {
|
|
10525
10618
|
var _b = _a, { className, showIcon = false } = _b, props = __objRest(_b, ["className", "showIcon"]);
|
|
10526
|
-
const
|
|
10527
|
-
|
|
10528
|
-
|
|
10619
|
+
const id = React78__namespace.useId();
|
|
10620
|
+
const width = React78__namespace.useMemo(() => {
|
|
10621
|
+
const hash = id.split("").reduce((a, c) => a + c.charCodeAt(0), 0);
|
|
10622
|
+
return `${hash % 40 + 50}%`;
|
|
10623
|
+
}, [id]);
|
|
10529
10624
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10530
10625
|
"div",
|
|
10531
10626
|
__spreadProps(__spreadValues({
|
|
@@ -10556,7 +10651,7 @@ var SidebarMenuSkeleton = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10556
10651
|
);
|
|
10557
10652
|
});
|
|
10558
10653
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
10559
|
-
var SidebarMenuSub =
|
|
10654
|
+
var SidebarMenuSub = React78__namespace.forwardRef((_a, ref) => {
|
|
10560
10655
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10561
10656
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10562
10657
|
"ul",
|
|
@@ -10572,12 +10667,12 @@ var SidebarMenuSub = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10572
10667
|
);
|
|
10573
10668
|
});
|
|
10574
10669
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
10575
|
-
var SidebarMenuSubItem =
|
|
10670
|
+
var SidebarMenuSubItem = React78__namespace.forwardRef((_a, ref) => {
|
|
10576
10671
|
var props = __objRest(_a, []);
|
|
10577
10672
|
return /* @__PURE__ */ jsxRuntime.jsx("li", __spreadValues({ ref }, props));
|
|
10578
10673
|
});
|
|
10579
10674
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
10580
|
-
var SidebarMenuSubButton =
|
|
10675
|
+
var SidebarMenuSubButton = React78__namespace.forwardRef((_a, ref) => {
|
|
10581
10676
|
var _b = _a, { asChild = false, size = "md", isActive, className } = _b, props = __objRest(_b, ["asChild", "size", "isActive", "className"]);
|
|
10582
10677
|
const Comp = asChild ? reactSlot.Slot : "a";
|
|
10583
10678
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10588,7 +10683,7 @@ var SidebarMenuSubButton = React77__namespace.forwardRef((_a, ref) => {
|
|
|
10588
10683
|
"data-size": size,
|
|
10589
10684
|
"data-active": isActive,
|
|
10590
10685
|
className: cn(
|
|
10591
|
-
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
|
10686
|
+
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring [@media(hover:hover)]:hover:bg-sidebar-accent [@media(hover:hover)]:hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
|
10592
10687
|
"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
|
|
10593
10688
|
size === "sm" && "text-xs",
|
|
10594
10689
|
size === "md" && "text-sm",
|
|
@@ -10617,7 +10712,7 @@ var sidebarCardVariants = classVarianceAuthority.cva(
|
|
|
10617
10712
|
}
|
|
10618
10713
|
}
|
|
10619
10714
|
);
|
|
10620
|
-
var SidebarCard =
|
|
10715
|
+
var SidebarCard = React78__namespace.forwardRef(
|
|
10621
10716
|
(_a, ref) => {
|
|
10622
10717
|
var _b = _a, { className, variant, children } = _b, props = __objRest(_b, ["className", "variant", "children"]);
|
|
10623
10718
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10656,7 +10751,7 @@ var sidebarMenuItemVariants = classVarianceAuthority.cva("", {
|
|
|
10656
10751
|
variant: "default"
|
|
10657
10752
|
}
|
|
10658
10753
|
});
|
|
10659
|
-
var SidebarMenuItem2 =
|
|
10754
|
+
var SidebarMenuItem2 = React78__namespace.forwardRef(
|
|
10660
10755
|
(_a, ref) => {
|
|
10661
10756
|
var _b = _a, {
|
|
10662
10757
|
className,
|
|
@@ -10852,7 +10947,7 @@ function percent2(value, min, max) {
|
|
|
10852
10947
|
if (max === min) return 0;
|
|
10853
10948
|
return (value - min) / (max - min) * 100;
|
|
10854
10949
|
}
|
|
10855
|
-
var Slider =
|
|
10950
|
+
var Slider = React78__namespace.forwardRef(
|
|
10856
10951
|
(_a, ref) => {
|
|
10857
10952
|
var _b = _a, {
|
|
10858
10953
|
className,
|
|
@@ -10885,12 +10980,12 @@ var Slider = React77__namespace.forwardRef(
|
|
|
10885
10980
|
"formatValue",
|
|
10886
10981
|
"onValueChange"
|
|
10887
10982
|
]);
|
|
10888
|
-
const trackRef =
|
|
10889
|
-
const [isDragging, setIsDragging] =
|
|
10890
|
-
const [isFocused, setIsFocused] =
|
|
10983
|
+
const trackRef = React78__namespace.useRef(null);
|
|
10984
|
+
const [isDragging, setIsDragging] = React78__namespace.useState(false);
|
|
10985
|
+
const [isFocused, setIsFocused] = React78__namespace.useState(false);
|
|
10891
10986
|
const pct = percent2(value, min, max);
|
|
10892
10987
|
const displayValue = formatValue ? formatValue(value) : `${value}`;
|
|
10893
|
-
const getValueFromPointer =
|
|
10988
|
+
const getValueFromPointer = React78__namespace.useCallback(
|
|
10894
10989
|
(clientX) => {
|
|
10895
10990
|
const track = trackRef.current;
|
|
10896
10991
|
if (!track) return 0;
|
|
@@ -10901,7 +10996,7 @@ var Slider = React77__namespace.forwardRef(
|
|
|
10901
10996
|
},
|
|
10902
10997
|
[min, max, step]
|
|
10903
10998
|
);
|
|
10904
|
-
const handlePointerDown =
|
|
10999
|
+
const handlePointerDown = React78__namespace.useCallback(
|
|
10905
11000
|
(e) => {
|
|
10906
11001
|
if (disabled) return;
|
|
10907
11002
|
e.preventDefault();
|
|
@@ -10912,7 +11007,7 @@ var Slider = React77__namespace.forwardRef(
|
|
|
10912
11007
|
},
|
|
10913
11008
|
[disabled, getValueFromPointer, onValueChange, value]
|
|
10914
11009
|
);
|
|
10915
|
-
const handlePointerMove =
|
|
11010
|
+
const handlePointerMove = React78__namespace.useCallback(
|
|
10916
11011
|
(e) => {
|
|
10917
11012
|
if (!isDragging || disabled) return;
|
|
10918
11013
|
const newValue = getValueFromPointer(e.clientX);
|
|
@@ -10920,10 +11015,10 @@ var Slider = React77__namespace.forwardRef(
|
|
|
10920
11015
|
},
|
|
10921
11016
|
[isDragging, disabled, getValueFromPointer, onValueChange, value]
|
|
10922
11017
|
);
|
|
10923
|
-
const handlePointerUp =
|
|
11018
|
+
const handlePointerUp = React78__namespace.useCallback(() => {
|
|
10924
11019
|
setIsDragging(false);
|
|
10925
11020
|
}, []);
|
|
10926
|
-
const handleKeyDown =
|
|
11021
|
+
const handleKeyDown = React78__namespace.useCallback(
|
|
10927
11022
|
(e) => {
|
|
10928
11023
|
if (disabled) return;
|
|
10929
11024
|
let newValue = value;
|
|
@@ -10950,7 +11045,7 @@ var Slider = React77__namespace.forwardRef(
|
|
|
10950
11045
|
},
|
|
10951
11046
|
[disabled, value, step, min, max, onValueChange]
|
|
10952
11047
|
);
|
|
10953
|
-
const tickLabels =
|
|
11048
|
+
const tickLabels = React78__namespace.useMemo(() => {
|
|
10954
11049
|
if (pointLabels) return pointLabels;
|
|
10955
11050
|
const count2 = pointCount;
|
|
10956
11051
|
const labels = [];
|
|
@@ -11044,7 +11139,7 @@ Slider.displayName = "Slider";
|
|
|
11044
11139
|
function clamp3(value, min, max) {
|
|
11045
11140
|
return Math.min(Math.max(value, min), max);
|
|
11046
11141
|
}
|
|
11047
|
-
var SliderInput =
|
|
11142
|
+
var SliderInput = React78__namespace.forwardRef(
|
|
11048
11143
|
(_a, ref) => {
|
|
11049
11144
|
var _b = _a, {
|
|
11050
11145
|
className,
|
|
@@ -11067,8 +11162,8 @@ var SliderInput = React77__namespace.forwardRef(
|
|
|
11067
11162
|
"formatValue",
|
|
11068
11163
|
"onValueChange"
|
|
11069
11164
|
]);
|
|
11070
|
-
const [internalValue, setInternalValue] =
|
|
11071
|
-
|
|
11165
|
+
const [internalValue, setInternalValue] = React78__namespace.useState(value);
|
|
11166
|
+
React78__namespace.useEffect(() => {
|
|
11072
11167
|
setInternalValue(value);
|
|
11073
11168
|
}, [value]);
|
|
11074
11169
|
const commit = (newVal) => {
|
|
@@ -11175,7 +11270,7 @@ function percent3(value, min, max) {
|
|
|
11175
11270
|
if (max === min) return 0;
|
|
11176
11271
|
return (value - min) / (max - min) * 100;
|
|
11177
11272
|
}
|
|
11178
|
-
var SliderRange =
|
|
11273
|
+
var SliderRange = React78__namespace.forwardRef(
|
|
11179
11274
|
(_a, ref) => {
|
|
11180
11275
|
var _b = _a, {
|
|
11181
11276
|
className,
|
|
@@ -11208,15 +11303,15 @@ var SliderRange = React77__namespace.forwardRef(
|
|
|
11208
11303
|
"formatValue",
|
|
11209
11304
|
"onValueChange"
|
|
11210
11305
|
]);
|
|
11211
|
-
const trackRef =
|
|
11212
|
-
const [draggingHandle, setDraggingHandle] =
|
|
11213
|
-
const [focusedHandle, setFocusedHandle] =
|
|
11306
|
+
const trackRef = React78__namespace.useRef(null);
|
|
11307
|
+
const [draggingHandle, setDraggingHandle] = React78__namespace.useState(null);
|
|
11308
|
+
const [focusedHandle, setFocusedHandle] = React78__namespace.useState(null);
|
|
11214
11309
|
const [rangeMin, rangeMax] = value;
|
|
11215
11310
|
const pctMin = percent3(rangeMin, min, max);
|
|
11216
11311
|
const pctMax = percent3(rangeMax, min, max);
|
|
11217
11312
|
const fmt = (v) => formatValue ? formatValue(v) : `${v}`;
|
|
11218
11313
|
const displayValue = `${fmt(rangeMin)} \u2013 ${fmt(rangeMax)}`;
|
|
11219
|
-
const getValueFromPointer =
|
|
11314
|
+
const getValueFromPointer = React78__namespace.useCallback(
|
|
11220
11315
|
(clientX) => {
|
|
11221
11316
|
const track = trackRef.current;
|
|
11222
11317
|
if (!track) return 0;
|
|
@@ -11227,7 +11322,7 @@ var SliderRange = React77__namespace.forwardRef(
|
|
|
11227
11322
|
},
|
|
11228
11323
|
[min, max, step]
|
|
11229
11324
|
);
|
|
11230
|
-
const closestHandle =
|
|
11325
|
+
const closestHandle = React78__namespace.useCallback(
|
|
11231
11326
|
(pointerValue) => {
|
|
11232
11327
|
const distMin = Math.abs(pointerValue - rangeMin);
|
|
11233
11328
|
const distMax = Math.abs(pointerValue - rangeMax);
|
|
@@ -11235,7 +11330,7 @@ var SliderRange = React77__namespace.forwardRef(
|
|
|
11235
11330
|
},
|
|
11236
11331
|
[rangeMin, rangeMax]
|
|
11237
11332
|
);
|
|
11238
|
-
const updateValue =
|
|
11333
|
+
const updateValue = React78__namespace.useCallback(
|
|
11239
11334
|
(handle, newVal) => {
|
|
11240
11335
|
if (handle === 0) {
|
|
11241
11336
|
const clamped = clamp4(newVal, min, rangeMax);
|
|
@@ -11247,7 +11342,7 @@ var SliderRange = React77__namespace.forwardRef(
|
|
|
11247
11342
|
},
|
|
11248
11343
|
[min, max, rangeMin, rangeMax, onValueChange]
|
|
11249
11344
|
);
|
|
11250
|
-
const handlePointerDown =
|
|
11345
|
+
const handlePointerDown = React78__namespace.useCallback(
|
|
11251
11346
|
(e) => {
|
|
11252
11347
|
if (disabled) return;
|
|
11253
11348
|
e.preventDefault();
|
|
@@ -11259,7 +11354,7 @@ var SliderRange = React77__namespace.forwardRef(
|
|
|
11259
11354
|
},
|
|
11260
11355
|
[disabled, getValueFromPointer, closestHandle, updateValue]
|
|
11261
11356
|
);
|
|
11262
|
-
const handlePointerMove =
|
|
11357
|
+
const handlePointerMove = React78__namespace.useCallback(
|
|
11263
11358
|
(e) => {
|
|
11264
11359
|
if (draggingHandle === null || disabled) return;
|
|
11265
11360
|
const newVal = getValueFromPointer(e.clientX);
|
|
@@ -11267,10 +11362,10 @@ var SliderRange = React77__namespace.forwardRef(
|
|
|
11267
11362
|
},
|
|
11268
11363
|
[draggingHandle, disabled, getValueFromPointer, updateValue]
|
|
11269
11364
|
);
|
|
11270
|
-
const handlePointerUp =
|
|
11365
|
+
const handlePointerUp = React78__namespace.useCallback(() => {
|
|
11271
11366
|
setDraggingHandle(null);
|
|
11272
11367
|
}, []);
|
|
11273
|
-
const makeKeyHandler =
|
|
11368
|
+
const makeKeyHandler = React78__namespace.useCallback(
|
|
11274
11369
|
(handle) => (e) => {
|
|
11275
11370
|
if (disabled) return;
|
|
11276
11371
|
const currentVal = handle === 0 ? rangeMin : rangeMax;
|
|
@@ -11298,7 +11393,7 @@ var SliderRange = React77__namespace.forwardRef(
|
|
|
11298
11393
|
},
|
|
11299
11394
|
[disabled, rangeMin, rangeMax, step, min, max, updateValue]
|
|
11300
11395
|
);
|
|
11301
|
-
const tickLabels =
|
|
11396
|
+
const tickLabels = React78__namespace.useMemo(() => {
|
|
11302
11397
|
if (pointLabels) return pointLabels;
|
|
11303
11398
|
const labels = [];
|
|
11304
11399
|
for (let i = 0; i < pointCount; i++) {
|
|
@@ -11415,7 +11510,7 @@ var SliderRange = React77__namespace.forwardRef(
|
|
|
11415
11510
|
}
|
|
11416
11511
|
);
|
|
11417
11512
|
SliderRange.displayName = "SliderRange";
|
|
11418
|
-
var SliderRangeInput =
|
|
11513
|
+
var SliderRangeInput = React78__namespace.forwardRef(
|
|
11419
11514
|
(_a, ref) => {
|
|
11420
11515
|
var _b = _a, {
|
|
11421
11516
|
className,
|
|
@@ -11557,7 +11652,7 @@ var Toaster = (_a) => {
|
|
|
11557
11652
|
);
|
|
11558
11653
|
};
|
|
11559
11654
|
var ToastProvider = ToastPrimitives__namespace.Provider;
|
|
11560
|
-
var ToastViewport =
|
|
11655
|
+
var ToastViewport = React78__namespace.forwardRef((_a, ref) => {
|
|
11561
11656
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11562
11657
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11563
11658
|
ToastPrimitives__namespace.Viewport,
|
|
@@ -11585,7 +11680,7 @@ var toastVariants = classVarianceAuthority.cva(
|
|
|
11585
11680
|
}
|
|
11586
11681
|
}
|
|
11587
11682
|
);
|
|
11588
|
-
var Toast =
|
|
11683
|
+
var Toast = React78__namespace.forwardRef((_a, ref) => {
|
|
11589
11684
|
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
11590
11685
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11591
11686
|
ToastPrimitives__namespace.Root,
|
|
@@ -11596,28 +11691,28 @@ var Toast = React77__namespace.forwardRef((_a, ref) => {
|
|
|
11596
11691
|
);
|
|
11597
11692
|
});
|
|
11598
11693
|
Toast.displayName = ToastPrimitives__namespace.Root.displayName;
|
|
11599
|
-
var ToastAction =
|
|
11694
|
+
var ToastAction = React78__namespace.forwardRef((_a, ref) => {
|
|
11600
11695
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11601
11696
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11602
11697
|
ToastPrimitives__namespace.Action,
|
|
11603
11698
|
__spreadValues({
|
|
11604
11699
|
ref,
|
|
11605
11700
|
className: cn(
|
|
11606
|
-
"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-sui-bg-default transition-colors hover:bg-sui-bg-state-ghost-hover focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:text-sui-text-hint disabled:pointer-events-none group-[.destructive]:border-sui-border-default/40 group-[.destructive]:hover:border-sui-bg-state-destructive/30 group-[.destructive]:hover:bg-sui-bg-state-destructive group-[.destructive]:hover:text-sui-text-white-default group-[.destructive]:focus:ring-sui-border-highlight",
|
|
11701
|
+
"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-sui-bg-default transition-colors [@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover focus:outline-none focus:ring-2 focus:ring-sui-border-highlight focus:ring-offset-2 disabled:text-sui-text-hint disabled:pointer-events-none group-[.destructive]:border-sui-border-default/40 group-[.destructive]:[@media(hover:hover)]:hover:border-sui-bg-state-destructive/30 group-[.destructive]:[@media(hover:hover)]:hover:bg-sui-bg-state-destructive group-[.destructive]:[@media(hover:hover)]:hover:text-sui-text-white-default group-[.destructive]:focus:ring-sui-border-highlight",
|
|
11607
11702
|
className
|
|
11608
11703
|
)
|
|
11609
11704
|
}, props)
|
|
11610
11705
|
);
|
|
11611
11706
|
});
|
|
11612
11707
|
ToastAction.displayName = ToastPrimitives__namespace.Action.displayName;
|
|
11613
|
-
var ToastClose =
|
|
11708
|
+
var ToastClose = React78__namespace.forwardRef((_a, ref) => {
|
|
11614
11709
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11615
11710
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11616
11711
|
ToastPrimitives__namespace.Close,
|
|
11617
11712
|
__spreadProps(__spreadValues({
|
|
11618
11713
|
ref,
|
|
11619
11714
|
className: cn(
|
|
11620
|
-
"absolute right-2 top-2 rounded-md p-1 text-sui-text-default/50 opacity-0 transition-opacity hover:text-sui-text-default focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-sui-text-white-default/70 group-[.destructive]:hover:text-sui-text-white-default group-[.destructive]:focus:ring-sui-border-highlight group-[.destructive]:focus:ring-offset-sui-bg-state-destructive",
|
|
11715
|
+
"absolute right-2 top-2 rounded-md p-1 text-sui-text-default/50 opacity-0 transition-opacity [@media(hover:hover)]:hover:text-sui-text-default focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-sui-text-white-default/70 group-[.destructive]:[@media(hover:hover)]:hover:text-sui-text-white-default group-[.destructive]:focus:ring-sui-border-highlight group-[.destructive]:focus:ring-offset-sui-bg-state-destructive",
|
|
11621
11716
|
className
|
|
11622
11717
|
),
|
|
11623
11718
|
"toast-close": ""
|
|
@@ -11627,7 +11722,7 @@ var ToastClose = React77__namespace.forwardRef((_a, ref) => {
|
|
|
11627
11722
|
);
|
|
11628
11723
|
});
|
|
11629
11724
|
ToastClose.displayName = ToastPrimitives__namespace.Close.displayName;
|
|
11630
|
-
var ToastTitle =
|
|
11725
|
+
var ToastTitle = React78__namespace.forwardRef((_a, ref) => {
|
|
11631
11726
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11632
11727
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11633
11728
|
ToastPrimitives__namespace.Title,
|
|
@@ -11638,7 +11733,7 @@ var ToastTitle = React77__namespace.forwardRef((_a, ref) => {
|
|
|
11638
11733
|
);
|
|
11639
11734
|
});
|
|
11640
11735
|
ToastTitle.displayName = ToastPrimitives__namespace.Title.displayName;
|
|
11641
|
-
var ToastDescription =
|
|
11736
|
+
var ToastDescription = React78__namespace.forwardRef((_a, ref) => {
|
|
11642
11737
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11643
11738
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11644
11739
|
ToastPrimitives__namespace.Description,
|
|
@@ -11743,8 +11838,8 @@ function toast(_a) {
|
|
|
11743
11838
|
};
|
|
11744
11839
|
}
|
|
11745
11840
|
function useToast() {
|
|
11746
|
-
const [state, setState] =
|
|
11747
|
-
|
|
11841
|
+
const [state, setState] = React78__namespace.useState(memoryState);
|
|
11842
|
+
React78__namespace.useEffect(() => {
|
|
11748
11843
|
listeners.push(setState);
|
|
11749
11844
|
return () => {
|
|
11750
11845
|
const index = listeners.indexOf(setState);
|
|
@@ -11775,7 +11870,7 @@ function Toaster2() {
|
|
|
11775
11870
|
/* @__PURE__ */ jsxRuntime.jsx(ToastViewport, {})
|
|
11776
11871
|
] });
|
|
11777
11872
|
}
|
|
11778
|
-
var Switch =
|
|
11873
|
+
var Switch = React78__namespace.forwardRef((_a, ref) => {
|
|
11779
11874
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11780
11875
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11781
11876
|
SwitchPrimitives__namespace.Root,
|
|
@@ -11787,10 +11882,10 @@ var Switch = React77__namespace.forwardRef((_a, ref) => {
|
|
|
11787
11882
|
"transition-colors duration-150",
|
|
11788
11883
|
// Unchecked track
|
|
11789
11884
|
"data-[state=unchecked]:bg-sui-bg-switch-default",
|
|
11790
|
-
"data-[state=unchecked]:hover:bg-sui-bg-switch-default-hover",
|
|
11885
|
+
"data-[state=unchecked]:[@media(hover:hover)]:hover:bg-sui-bg-switch-default-hover",
|
|
11791
11886
|
// Checked track
|
|
11792
11887
|
"data-[state=checked]:bg-sui-bg-switch-active",
|
|
11793
|
-
"data-[state=checked]:hover:bg-sui-bg-switch-active-hover",
|
|
11888
|
+
"data-[state=checked]:[@media(hover:hover)]:hover:bg-sui-bg-switch-active-hover",
|
|
11794
11889
|
// Focus: 1px accent-inverted + 3px highlight (matching Figma box-shadow ring)
|
|
11795
11890
|
"focus-visible:outline-none",
|
|
11796
11891
|
"focus-visible:shadow-misc-focus",
|
|
@@ -11827,10 +11922,10 @@ var Switch = React77__namespace.forwardRef((_a, ref) => {
|
|
|
11827
11922
|
);
|
|
11828
11923
|
});
|
|
11829
11924
|
Switch.displayName = "Switch";
|
|
11830
|
-
var SwitchList =
|
|
11925
|
+
var SwitchList = React78__namespace.forwardRef(
|
|
11831
11926
|
(_a, ref) => {
|
|
11832
11927
|
var _b = _a, { className, divider = true, children } = _b, props = __objRest(_b, ["className", "divider", "children"]);
|
|
11833
|
-
const items =
|
|
11928
|
+
const items = React78__namespace.Children.toArray(children);
|
|
11834
11929
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11835
11930
|
"div",
|
|
11836
11931
|
__spreadProps(__spreadValues({
|
|
@@ -11858,7 +11953,7 @@ var SwitchList = React77__namespace.forwardRef(
|
|
|
11858
11953
|
}
|
|
11859
11954
|
);
|
|
11860
11955
|
SwitchList.displayName = "SwitchList";
|
|
11861
|
-
var SwitchWithText =
|
|
11956
|
+
var SwitchWithText = React78__namespace.forwardRef(
|
|
11862
11957
|
(_a, ref) => {
|
|
11863
11958
|
var _b = _a, {
|
|
11864
11959
|
className,
|
|
@@ -11875,7 +11970,7 @@ var SwitchWithText = React77__namespace.forwardRef(
|
|
|
11875
11970
|
"disabled",
|
|
11876
11971
|
"id"
|
|
11877
11972
|
]);
|
|
11878
|
-
const generatedId =
|
|
11973
|
+
const generatedId = React78__namespace.useId();
|
|
11879
11974
|
const switchId = id || generatedId;
|
|
11880
11975
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11881
11976
|
"div",
|
|
@@ -11932,7 +12027,7 @@ var SwitchWithText = React77__namespace.forwardRef(
|
|
|
11932
12027
|
}
|
|
11933
12028
|
);
|
|
11934
12029
|
SwitchWithText.displayName = "SwitchWithText";
|
|
11935
|
-
var Table =
|
|
12030
|
+
var Table = React78__namespace.forwardRef((_a, ref) => {
|
|
11936
12031
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11937
12032
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11938
12033
|
"table",
|
|
@@ -11943,12 +12038,12 @@ var Table = React77__namespace.forwardRef((_a, ref) => {
|
|
|
11943
12038
|
) });
|
|
11944
12039
|
});
|
|
11945
12040
|
Table.displayName = "Table";
|
|
11946
|
-
var TableHeader =
|
|
12041
|
+
var TableHeader = React78__namespace.forwardRef((_a, ref) => {
|
|
11947
12042
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11948
12043
|
return /* @__PURE__ */ jsxRuntime.jsx("thead", __spreadValues({ ref, className: cn("[&_tr]:border-b [&_tr]:border-sui-border-default", className) }, props));
|
|
11949
12044
|
});
|
|
11950
12045
|
TableHeader.displayName = "TableHeader";
|
|
11951
|
-
var TableBody =
|
|
12046
|
+
var TableBody = React78__namespace.forwardRef((_a, ref) => {
|
|
11952
12047
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11953
12048
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11954
12049
|
"tbody",
|
|
@@ -11959,7 +12054,7 @@ var TableBody = React77__namespace.forwardRef((_a, ref) => {
|
|
|
11959
12054
|
);
|
|
11960
12055
|
});
|
|
11961
12056
|
TableBody.displayName = "TableBody";
|
|
11962
|
-
var TableFooter =
|
|
12057
|
+
var TableFooter = React78__namespace.forwardRef((_a, ref) => {
|
|
11963
12058
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11964
12059
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11965
12060
|
"tfoot",
|
|
@@ -11973,21 +12068,21 @@ var TableFooter = React77__namespace.forwardRef((_a, ref) => {
|
|
|
11973
12068
|
);
|
|
11974
12069
|
});
|
|
11975
12070
|
TableFooter.displayName = "TableFooter";
|
|
11976
|
-
var TableRow =
|
|
12071
|
+
var TableRow = React78__namespace.forwardRef((_a, ref) => {
|
|
11977
12072
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11978
12073
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11979
12074
|
"tr",
|
|
11980
12075
|
__spreadValues({
|
|
11981
12076
|
ref,
|
|
11982
12077
|
className: cn(
|
|
11983
|
-
"border-b border-sui-border-default transition-colors hover:bg-sui-bg-basic-gray-alpha-2 data-[state=selected]:bg-sui-bg-basic-gray-alpha-4",
|
|
12078
|
+
"border-b border-sui-border-default transition-colors [@media(hover:hover)]:hover:bg-sui-bg-basic-gray-alpha-2 data-[state=selected]:bg-sui-bg-basic-gray-alpha-4",
|
|
11984
12079
|
className
|
|
11985
12080
|
)
|
|
11986
12081
|
}, props)
|
|
11987
12082
|
);
|
|
11988
12083
|
});
|
|
11989
12084
|
TableRow.displayName = "TableRow";
|
|
11990
|
-
var TableHead =
|
|
12085
|
+
var TableHead = React78__namespace.forwardRef((_a, ref) => {
|
|
11991
12086
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
11992
12087
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11993
12088
|
"th",
|
|
@@ -12001,7 +12096,7 @@ var TableHead = React77__namespace.forwardRef((_a, ref) => {
|
|
|
12001
12096
|
);
|
|
12002
12097
|
});
|
|
12003
12098
|
TableHead.displayName = "TableHead";
|
|
12004
|
-
var TableCell =
|
|
12099
|
+
var TableCell = React78__namespace.forwardRef((_a, ref) => {
|
|
12005
12100
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
12006
12101
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12007
12102
|
"td",
|
|
@@ -12012,7 +12107,7 @@ var TableCell = React77__namespace.forwardRef((_a, ref) => {
|
|
|
12012
12107
|
);
|
|
12013
12108
|
});
|
|
12014
12109
|
TableCell.displayName = "TableCell";
|
|
12015
|
-
var TableCaption =
|
|
12110
|
+
var TableCaption = React78__namespace.forwardRef((_a, ref) => {
|
|
12016
12111
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
12017
12112
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12018
12113
|
"caption",
|
|
@@ -12048,7 +12143,7 @@ var ariaSortMap2 = {
|
|
|
12048
12143
|
desc: "descending",
|
|
12049
12144
|
none: "none"
|
|
12050
12145
|
};
|
|
12051
|
-
var TableHeaderItem =
|
|
12146
|
+
var TableHeaderItem = React78__namespace.forwardRef(
|
|
12052
12147
|
(_a, ref) => {
|
|
12053
12148
|
var _b = _a, {
|
|
12054
12149
|
className,
|
|
@@ -12109,7 +12204,7 @@ var TableHeaderItem = React77__namespace.forwardRef(
|
|
|
12109
12204
|
resizable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12110
12205
|
"div",
|
|
12111
12206
|
{
|
|
12112
|
-
className: "absolute right-0 top-0 h-full w-1 cursor-col-resize opacity-0 transition-opacity hover:opacity-100 hover:bg-sui-border-highlight z-10",
|
|
12207
|
+
className: "absolute right-0 top-0 h-full w-1 cursor-col-resize opacity-0 transition-opacity [@media(hover:hover)]:hover:opacity-100 [@media(hover:hover)]:hover:bg-sui-border-highlight z-10",
|
|
12113
12208
|
onPointerDown: (e) => {
|
|
12114
12209
|
e.stopPropagation();
|
|
12115
12210
|
onResizeStart == null ? void 0 : onResizeStart(e);
|
|
@@ -12164,7 +12259,7 @@ var tableItemVariants = classVarianceAuthority.cva("flex items-center px-2", {
|
|
|
12164
12259
|
size: "lg"
|
|
12165
12260
|
}
|
|
12166
12261
|
});
|
|
12167
|
-
var TableItem =
|
|
12262
|
+
var TableItem = React78__namespace.forwardRef(
|
|
12168
12263
|
(_a, ref) => {
|
|
12169
12264
|
var _b = _a, {
|
|
12170
12265
|
className,
|
|
@@ -12248,7 +12343,7 @@ var TableItem = React77__namespace.forwardRef(
|
|
|
12248
12343
|
}
|
|
12249
12344
|
);
|
|
12250
12345
|
TableItem.displayName = "TableItem";
|
|
12251
|
-
var TablePagination =
|
|
12346
|
+
var TablePagination = React78__namespace.forwardRef(
|
|
12252
12347
|
(_a, ref) => {
|
|
12253
12348
|
var _b = _a, {
|
|
12254
12349
|
className,
|
|
@@ -12283,7 +12378,7 @@ var TablePagination = React77__namespace.forwardRef(
|
|
|
12283
12378
|
)
|
|
12284
12379
|
}, props), {
|
|
12285
12380
|
children: paginatorVariant === "numbered" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
12286
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-normal leading-5 text-sui-text-muted whitespace-nowrap", children: [
|
|
12381
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-normal leading-5 tabular-nums text-sui-text-muted whitespace-nowrap", children: [
|
|
12287
12382
|
startResult,
|
|
12288
12383
|
"\u2013",
|
|
12289
12384
|
endResult,
|
|
@@ -12325,7 +12420,7 @@ var tableRowSortVariants = classVarianceAuthority.cva(
|
|
|
12325
12420
|
variants: {
|
|
12326
12421
|
variant: {
|
|
12327
12422
|
header: "border-t",
|
|
12328
|
-
default: "hover:bg-sui-bg-basic-gray-alpha-2",
|
|
12423
|
+
default: "[@media(hover:hover)]:hover:bg-sui-bg-basic-gray-alpha-2",
|
|
12329
12424
|
hover: "bg-sui-bg-basic-gray-alpha-2",
|
|
12330
12425
|
selected: "bg-sui-bg-basic-gray-alpha-4"
|
|
12331
12426
|
}
|
|
@@ -12335,7 +12430,7 @@ var tableRowSortVariants = classVarianceAuthority.cva(
|
|
|
12335
12430
|
}
|
|
12336
12431
|
}
|
|
12337
12432
|
);
|
|
12338
|
-
var TableRowSort =
|
|
12433
|
+
var TableRowSort = React78__namespace.forwardRef(
|
|
12339
12434
|
(_a, ref) => {
|
|
12340
12435
|
var _b = _a, { className, variant = "default", striped, sticky, children } = _b, props = __objRest(_b, ["className", "variant", "striped", "sticky", "children"]);
|
|
12341
12436
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -12358,7 +12453,7 @@ var TableRowSort = React77__namespace.forwardRef(
|
|
|
12358
12453
|
TableRowSort.displayName = "TableRowSort";
|
|
12359
12454
|
var textWidths = ["w-20", "w-28", "w-24", "w-32", "w-16", "w-26", "w-22", "w-30"];
|
|
12360
12455
|
var skeletonBg = "bg-sui-bg-basic-gray-alpha-4";
|
|
12361
|
-
var TableSkeletonRow =
|
|
12456
|
+
var TableSkeletonRow = React78__namespace.forwardRef(
|
|
12362
12457
|
(_a, ref) => {
|
|
12363
12458
|
var _b = _a, { className, columns, rowCount = 5, size = "sm" } = _b, props = __objRest(_b, ["className", "columns", "rowCount", "size"]);
|
|
12364
12459
|
return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({ ref, className, "aria-hidden": "true" }, props), { children: Array.from({ length: rowCount }, (_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableRowSort, { variant: "default", children: columns.map((col, colIdx) => {
|
|
@@ -12408,12 +12503,12 @@ var tabListVariants = classVarianceAuthority.cva(
|
|
|
12408
12503
|
}
|
|
12409
12504
|
}
|
|
12410
12505
|
);
|
|
12411
|
-
var TabList =
|
|
12506
|
+
var TabList = React78__namespace.forwardRef((_a, ref) => {
|
|
12412
12507
|
var _b = _a, { className, variant = "pill", shape = "pill", layout, children } = _b, props = __objRest(_b, ["className", "variant", "shape", "layout", "children"]);
|
|
12413
12508
|
const childShape = variant === "segmented" && shape === "rounded" ? "rounded" : shape;
|
|
12414
12509
|
const childRadiusOverride = variant === "segmented" && shape === "rounded" ? "rounded-sm" : void 0;
|
|
12415
|
-
const enhancedChildren =
|
|
12416
|
-
if (!
|
|
12510
|
+
const enhancedChildren = React78__namespace.Children.map(children, (child) => {
|
|
12511
|
+
if (!React78__namespace.isValidElement(child)) return child;
|
|
12417
12512
|
const extraProps = {
|
|
12418
12513
|
shape: childShape
|
|
12419
12514
|
};
|
|
@@ -12421,7 +12516,7 @@ var TabList = React77__namespace.forwardRef((_a, ref) => {
|
|
|
12421
12516
|
const existingClassName = child.props.className;
|
|
12422
12517
|
extraProps.className = cn(existingClassName, childRadiusOverride);
|
|
12423
12518
|
}
|
|
12424
|
-
return
|
|
12519
|
+
return React78__namespace.cloneElement(child, extraProps);
|
|
12425
12520
|
});
|
|
12426
12521
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12427
12522
|
TabsPrimitive4__namespace.List,
|
|
@@ -12451,8 +12546,8 @@ var tabItemVariants = classVarianceAuthority.cva(
|
|
|
12451
12546
|
// Icon colors default
|
|
12452
12547
|
"[&_i]:text-icon-default-muted [&_svg]:text-icon-default-muted",
|
|
12453
12548
|
// Hover state
|
|
12454
|
-
"hover:bg-sui-bg-state-ghost-hover hover:text-sui-text-default",
|
|
12455
|
-
"hover:[&_i]:text-icon-default-subtle hover:[&_svg]:text-icon-default-subtle",
|
|
12549
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover [@media(hover:hover)]:hover:text-sui-text-default",
|
|
12550
|
+
"[@media(hover:hover)]:hover:[&_i]:text-icon-default-subtle [@media(hover:hover)]:hover:[&_svg]:text-icon-default-subtle",
|
|
12456
12551
|
// Active/selected state (Radix data attribute)
|
|
12457
12552
|
// Border simulated via inset box-shadow (spread:1) to match Figma and avoid height increase
|
|
12458
12553
|
"data-[state=active]:bg-sui-bg-state-secondary",
|
|
@@ -12483,7 +12578,7 @@ var tabItemVariants = classVarianceAuthority.cva(
|
|
|
12483
12578
|
}
|
|
12484
12579
|
}
|
|
12485
12580
|
);
|
|
12486
|
-
var TabItem =
|
|
12581
|
+
var TabItem = React78__namespace.forwardRef((_a, ref) => {
|
|
12487
12582
|
var _b = _a, { className, shape, size } = _b, props = __objRest(_b, ["className", "shape", "size"]);
|
|
12488
12583
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12489
12584
|
TabsPrimitive4__namespace.Trigger,
|
|
@@ -12495,7 +12590,7 @@ var TabItem = React77__namespace.forwardRef((_a, ref) => {
|
|
|
12495
12590
|
});
|
|
12496
12591
|
TabItem.displayName = "TabItem";
|
|
12497
12592
|
var Tabs = TabsPrimitive4__namespace.Root;
|
|
12498
|
-
var TabsList =
|
|
12593
|
+
var TabsList = React78__namespace.forwardRef((_a, ref) => {
|
|
12499
12594
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
12500
12595
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12501
12596
|
TabsPrimitive4__namespace.List,
|
|
@@ -12509,7 +12604,7 @@ var TabsList = React77__namespace.forwardRef((_a, ref) => {
|
|
|
12509
12604
|
);
|
|
12510
12605
|
});
|
|
12511
12606
|
TabsList.displayName = TabsPrimitive4__namespace.List.displayName;
|
|
12512
|
-
var TabsTrigger =
|
|
12607
|
+
var TabsTrigger = React78__namespace.forwardRef((_a, ref) => {
|
|
12513
12608
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
12514
12609
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12515
12610
|
TabsPrimitive4__namespace.Trigger,
|
|
@@ -12523,7 +12618,7 @@ var TabsTrigger = React77__namespace.forwardRef((_a, ref) => {
|
|
|
12523
12618
|
);
|
|
12524
12619
|
});
|
|
12525
12620
|
TabsTrigger.displayName = TabsPrimitive4__namespace.Trigger.displayName;
|
|
12526
|
-
var TabsContent =
|
|
12621
|
+
var TabsContent = React78__namespace.forwardRef((_a, ref) => {
|
|
12527
12622
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
12528
12623
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12529
12624
|
TabsPrimitive4__namespace.Content,
|
|
@@ -12567,7 +12662,7 @@ var textAreaContainerVariants = classVarianceAuthority.cva(
|
|
|
12567
12662
|
}
|
|
12568
12663
|
}
|
|
12569
12664
|
);
|
|
12570
|
-
var TextAreaField =
|
|
12665
|
+
var TextAreaField = React78__namespace.forwardRef(
|
|
12571
12666
|
(_a, ref) => {
|
|
12572
12667
|
var _b = _a, {
|
|
12573
12668
|
className,
|
|
@@ -12589,7 +12684,9 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12589
12684
|
id,
|
|
12590
12685
|
value,
|
|
12591
12686
|
defaultValue,
|
|
12592
|
-
onChange
|
|
12687
|
+
onChange,
|
|
12688
|
+
spellCheck,
|
|
12689
|
+
autoComplete
|
|
12593
12690
|
} = _b, props = __objRest(_b, [
|
|
12594
12691
|
"className",
|
|
12595
12692
|
"inputStyle",
|
|
@@ -12610,9 +12707,11 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12610
12707
|
"id",
|
|
12611
12708
|
"value",
|
|
12612
12709
|
"defaultValue",
|
|
12613
|
-
"onChange"
|
|
12710
|
+
"onChange",
|
|
12711
|
+
"spellCheck",
|
|
12712
|
+
"autoComplete"
|
|
12614
12713
|
]);
|
|
12615
|
-
const generatedId =
|
|
12714
|
+
const generatedId = React78__namespace.useId();
|
|
12616
12715
|
const textAreaId = id || generatedId;
|
|
12617
12716
|
const captionId = `${textAreaId}-caption`;
|
|
12618
12717
|
const charCountId = `${textAreaId}-charcount`;
|
|
@@ -12620,17 +12719,30 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12620
12719
|
const helperText = hasError ? error : caption;
|
|
12621
12720
|
const hasActionBar = !!(leadActions || tailActions);
|
|
12622
12721
|
const showCount = !!(showCharCount && maxLength);
|
|
12722
|
+
const innerRef = React78__namespace.useRef(null);
|
|
12723
|
+
React78__namespace.useImperativeHandle(ref, () => innerRef.current, []);
|
|
12724
|
+
const focusTextareaOnDecorationClick = (e) => {
|
|
12725
|
+
var _a2;
|
|
12726
|
+
if (disabled) return;
|
|
12727
|
+
const target = e.target;
|
|
12728
|
+
if (target === innerRef.current) return;
|
|
12729
|
+
if (target.closest('button, a, input, textarea, select, [role="button"], [role="toolbar"]')) return;
|
|
12730
|
+
e.preventDefault();
|
|
12731
|
+
(_a2 = innerRef.current) == null ? void 0 : _a2.focus();
|
|
12732
|
+
};
|
|
12733
|
+
const resolvedSpellCheck = spellCheck != null ? spellCheck : false;
|
|
12734
|
+
const resolvedAutoComplete = autoComplete != null ? autoComplete : "off";
|
|
12623
12735
|
const isResizable = !!(resizable && !compact && !bottomToolbar && !hasActionBar);
|
|
12624
12736
|
const describedByIds = [
|
|
12625
12737
|
helperText ? captionId : null,
|
|
12626
12738
|
showCount ? charCountId : null
|
|
12627
12739
|
].filter(Boolean).join(" ") || void 0;
|
|
12628
|
-
const [charCount, setCharCount] =
|
|
12740
|
+
const [charCount, setCharCount] = React78__namespace.useState(() => {
|
|
12629
12741
|
if (value !== void 0) return String(value).length;
|
|
12630
12742
|
if (defaultValue !== void 0) return String(defaultValue).length;
|
|
12631
12743
|
return 0;
|
|
12632
12744
|
});
|
|
12633
|
-
|
|
12745
|
+
React78__namespace.useEffect(() => {
|
|
12634
12746
|
if (value !== void 0) {
|
|
12635
12747
|
setCharCount(String(value).length);
|
|
12636
12748
|
}
|
|
@@ -12653,6 +12765,7 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12653
12765
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12654
12766
|
"div",
|
|
12655
12767
|
{
|
|
12768
|
+
onPointerDown: focusTextareaOnDecorationClick,
|
|
12656
12769
|
className: cn(
|
|
12657
12770
|
textAreaContainerVariants({ inputStyle }),
|
|
12658
12771
|
// overflow-clip clips rounded corners on children; disable when resizable
|
|
@@ -12683,11 +12796,13 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12683
12796
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12684
12797
|
"textarea",
|
|
12685
12798
|
__spreadValues({
|
|
12686
|
-
ref,
|
|
12799
|
+
ref: innerRef,
|
|
12687
12800
|
id: textAreaId,
|
|
12688
12801
|
rows: 1,
|
|
12689
12802
|
disabled,
|
|
12690
12803
|
required,
|
|
12804
|
+
spellCheck: resolvedSpellCheck,
|
|
12805
|
+
autoComplete: resolvedAutoComplete,
|
|
12691
12806
|
maxLength,
|
|
12692
12807
|
value,
|
|
12693
12808
|
defaultValue,
|
|
@@ -12696,7 +12811,8 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12696
12811
|
"aria-describedby": describedByIds,
|
|
12697
12812
|
className: cn(
|
|
12698
12813
|
"flex-1 min-w-0 resize-none overflow-hidden bg-transparent outline-none",
|
|
12699
|
-
|
|
12814
|
+
// #29 16px on touch (prevents iOS zoom), 14px on md+
|
|
12815
|
+
"text-base md:text-sm leading-5",
|
|
12700
12816
|
"text-sui-text-default",
|
|
12701
12817
|
"placeholder:text-sui-text-muted",
|
|
12702
12818
|
disabled && "text-sui-text-hint placeholder:text-sui-text-hint cursor-not-allowed"
|
|
@@ -12720,10 +12836,12 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12720
12836
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12721
12837
|
"textarea",
|
|
12722
12838
|
__spreadValues({
|
|
12723
|
-
ref,
|
|
12839
|
+
ref: innerRef,
|
|
12724
12840
|
id: textAreaId,
|
|
12725
12841
|
disabled,
|
|
12726
12842
|
required,
|
|
12843
|
+
spellCheck: resolvedSpellCheck,
|
|
12844
|
+
autoComplete: resolvedAutoComplete,
|
|
12727
12845
|
maxLength,
|
|
12728
12846
|
value,
|
|
12729
12847
|
defaultValue,
|
|
@@ -12732,7 +12850,8 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12732
12850
|
"aria-describedby": describedByIds,
|
|
12733
12851
|
className: cn(
|
|
12734
12852
|
"min-h-[60px] w-full bg-transparent outline-none",
|
|
12735
|
-
|
|
12853
|
+
// #29 16px on touch (prevents iOS zoom), 14px on md+
|
|
12854
|
+
"text-base md:text-sm leading-5",
|
|
12736
12855
|
"text-sui-text-default",
|
|
12737
12856
|
"placeholder:text-sui-text-muted",
|
|
12738
12857
|
isResizable ? "resize-y overflow-y-auto pr-3 pb-3" : "flex-1 resize-none overflow-hidden",
|
|
@@ -12809,11 +12928,12 @@ var TextAreaField = React77__namespace.forwardRef(
|
|
|
12809
12928
|
}
|
|
12810
12929
|
);
|
|
12811
12930
|
TextAreaField.displayName = "TextAreaField";
|
|
12812
|
-
var Textarea =
|
|
12813
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
12931
|
+
var Textarea = React78__namespace.forwardRef((_a, ref) => {
|
|
12932
|
+
var _b = _a, { className, spellCheck } = _b, props = __objRest(_b, ["className", "spellCheck"]);
|
|
12814
12933
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12815
12934
|
"textarea",
|
|
12816
12935
|
__spreadValues({
|
|
12936
|
+
spellCheck: spellCheck != null ? spellCheck : false,
|
|
12817
12937
|
className: cn(
|
|
12818
12938
|
"flex min-h-[80px] w-full rounded-md border border-sui-border-darker bg-sui-bg-input px-3 py-2 text-base ring-offset-sui-bg-default placeholder:text-sui-text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sui-border-highlight focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:text-sui-text-hint disabled:pointer-events-none md:text-sm",
|
|
12819
12939
|
className
|
|
@@ -12837,13 +12957,13 @@ var toggleVariants = classVarianceAuthority.cva(
|
|
|
12837
12957
|
variant: {
|
|
12838
12958
|
default: [
|
|
12839
12959
|
"bg-sui-bg-state-ghost text-sui-text-muted [&_svg]:text-icon-default-muted [&_i]:text-icon-default-muted",
|
|
12840
|
-
"hover:bg-sui-bg-state-ghost-hover hover:text-sui-text-subtle",
|
|
12960
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover [@media(hover:hover)]:hover:text-sui-text-subtle",
|
|
12841
12961
|
"active:bg-sui-bg-state-ghost-press",
|
|
12842
12962
|
"data-[state=on]:bg-sui-bg-badge-blue data-[state=on]:text-sui-bg-basic-blue-strong data-[state=on]:[&_svg]:text-sui-bg-basic-blue-strong data-[state=on]:[&_i]:text-sui-bg-basic-blue-strong"
|
|
12843
12963
|
].join(" "),
|
|
12844
12964
|
outline: [
|
|
12845
12965
|
"bg-sui-bg-state-secondary border border-sui-border-darker text-sui-text-muted [&_svg]:text-icon-default-muted [&_i]:text-icon-default-muted shadow-default",
|
|
12846
|
-
"hover:bg-sui-bg-state-secondary-hover hover:text-sui-text-subtle",
|
|
12966
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-secondary-hover [@media(hover:hover)]:hover:text-sui-text-subtle",
|
|
12847
12967
|
"active:bg-sui-bg-state-secondary-press",
|
|
12848
12968
|
"data-[state=on]:bg-sui-bg-badge-blue data-[state=on]:border-sui-border-blue data-[state=on]:text-sui-bg-basic-blue-strong data-[state=on]:[&_svg]:text-sui-bg-basic-blue-strong data-[state=on]:[&_i]:text-sui-bg-basic-blue-strong"
|
|
12849
12969
|
].join(" ")
|
|
@@ -12861,7 +12981,7 @@ var toggleVariants = classVarianceAuthority.cva(
|
|
|
12861
12981
|
}
|
|
12862
12982
|
}
|
|
12863
12983
|
);
|
|
12864
|
-
var Toggle =
|
|
12984
|
+
var Toggle = React78__namespace.forwardRef((_a, ref) => {
|
|
12865
12985
|
var _b = _a, { className, variant, size } = _b, props = __objRest(_b, ["className", "variant", "size"]);
|
|
12866
12986
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12867
12987
|
TogglePrimitive__namespace.Root,
|
|
@@ -12873,7 +12993,7 @@ var Toggle = React77__namespace.forwardRef((_a, ref) => {
|
|
|
12873
12993
|
});
|
|
12874
12994
|
Toggle.displayName = TogglePrimitive__namespace.Root.displayName;
|
|
12875
12995
|
function useMergedRef(...refs) {
|
|
12876
|
-
return
|
|
12996
|
+
return React78__namespace.useCallback((node) => {
|
|
12877
12997
|
refs.forEach((ref) => {
|
|
12878
12998
|
if (typeof ref === "function") ref(node);
|
|
12879
12999
|
else if (ref && "current" in ref)
|
|
@@ -12902,13 +13022,13 @@ var chipSizeMap = {
|
|
|
12902
13022
|
xs: "sm",
|
|
12903
13023
|
"2xs": "sm"
|
|
12904
13024
|
};
|
|
12905
|
-
var ToggleGroupContext =
|
|
13025
|
+
var ToggleGroupContext = React78__namespace.createContext(null);
|
|
12906
13026
|
function useToggleGroup() {
|
|
12907
|
-
const ctx =
|
|
13027
|
+
const ctx = React78__namespace.useContext(ToggleGroupContext);
|
|
12908
13028
|
if (!ctx) throw new Error("ToggleGroupItem must be used within a ToggleGroup");
|
|
12909
13029
|
return ctx;
|
|
12910
13030
|
}
|
|
12911
|
-
var ToggleGroup =
|
|
13031
|
+
var ToggleGroup = React78__namespace.forwardRef(
|
|
12912
13032
|
(props, ref) => {
|
|
12913
13033
|
const {
|
|
12914
13034
|
type,
|
|
@@ -12923,16 +13043,16 @@ var ToggleGroup = React77__namespace.forwardRef(
|
|
|
12923
13043
|
const controlledValue = "value" in props ? props.value : void 0;
|
|
12924
13044
|
const defaultValue = "defaultValue" in props ? props.defaultValue : void 0;
|
|
12925
13045
|
const onValueChange = "onValueChange" in props ? props.onValueChange : void 0;
|
|
12926
|
-
const [internalValue, setInternalValue] =
|
|
13046
|
+
const [internalValue, setInternalValue] = React78__namespace.useState(
|
|
12927
13047
|
defaultValue
|
|
12928
13048
|
);
|
|
12929
13049
|
const isControlled = controlledValue !== void 0;
|
|
12930
13050
|
const value = isControlled ? controlledValue : internalValue;
|
|
12931
|
-
const [rovingFocusValue, setRovingFocusValue] =
|
|
12932
|
-
const itemRefs =
|
|
12933
|
-
const itemValues =
|
|
12934
|
-
const [, notifyRegistration] =
|
|
12935
|
-
const isActive =
|
|
13051
|
+
const [rovingFocusValue, setRovingFocusValue] = React78__namespace.useState(null);
|
|
13052
|
+
const itemRefs = React78__namespace.useRef(/* @__PURE__ */ new Map());
|
|
13053
|
+
const itemValues = React78__namespace.useRef([]);
|
|
13054
|
+
const [, notifyRegistration] = React78__namespace.useReducer((x) => x + 1, 0);
|
|
13055
|
+
const isActive = React78__namespace.useCallback(
|
|
12936
13056
|
(itemValue) => {
|
|
12937
13057
|
if (type === "single") return value === itemValue;
|
|
12938
13058
|
if (type === "multiple" && Array.isArray(value)) return value.includes(itemValue);
|
|
@@ -12940,7 +13060,7 @@ var ToggleGroup = React77__namespace.forwardRef(
|
|
|
12940
13060
|
},
|
|
12941
13061
|
[type, value]
|
|
12942
13062
|
);
|
|
12943
|
-
const toggle =
|
|
13063
|
+
const toggle = React78__namespace.useCallback(
|
|
12944
13064
|
(itemValue) => {
|
|
12945
13065
|
if (type === "single") {
|
|
12946
13066
|
const newValue = value === itemValue ? void 0 : itemValue;
|
|
@@ -12984,7 +13104,7 @@ var ToggleGroup = React77__namespace.forwardRef(
|
|
|
12984
13104
|
}
|
|
12985
13105
|
);
|
|
12986
13106
|
ToggleGroup.displayName = "ToggleGroup";
|
|
12987
|
-
var ToggleGroupItem =
|
|
13107
|
+
var ToggleGroupItem = React78__namespace.forwardRef(
|
|
12988
13108
|
(_a, ref) => {
|
|
12989
13109
|
var _b = _a, {
|
|
12990
13110
|
value: itemValue,
|
|
@@ -13019,9 +13139,9 @@ var ToggleGroupItem = React77__namespace.forwardRef(
|
|
|
13019
13139
|
const disabled = ctx.disabled || itemDisabled;
|
|
13020
13140
|
const resolvedSize = bgSize != null ? bgSize : "lg";
|
|
13021
13141
|
const chipSize = chipSizeMap[resolvedSize];
|
|
13022
|
-
const internalRef =
|
|
13142
|
+
const internalRef = React78__namespace.useRef(null);
|
|
13023
13143
|
const mergedRef = useMergedRef(ref, internalRef);
|
|
13024
|
-
|
|
13144
|
+
React78__namespace.useEffect(() => {
|
|
13025
13145
|
const el = internalRef.current;
|
|
13026
13146
|
if (!el) return;
|
|
13027
13147
|
ctx.itemRefs.current.set(itemValue, el);
|
|
@@ -13151,11 +13271,11 @@ var ToggleGroupItem = React77__namespace.forwardRef(
|
|
|
13151
13271
|
className: cn(
|
|
13152
13272
|
"inline-flex items-center justify-center select-none transition-colors rounded-none",
|
|
13153
13273
|
"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
13154
|
-
|
|
13155
|
-
"focus-visible:ring-
|
|
13274
|
+
// Web Interface Guidelines #42 — focus ring via box-shadow (ring), not outline.
|
|
13275
|
+
"focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-sui-border-highlight focus-visible:ring-offset-[1px] focus-visible:z-10",
|
|
13156
13276
|
// Ghost-like unselected state
|
|
13157
13277
|
"bg-sui-bg-state-ghost text-sui-text-muted [&_svg]:text-icon-default-muted",
|
|
13158
|
-
"hover:bg-sui-bg-state-ghost-hover hover:text-sui-text-subtle hover:[&_svg]:text-icon-default-subtle",
|
|
13278
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover [@media(hover:hover)]:hover:text-sui-text-subtle [@media(hover:hover)]:hover:[&_svg]:text-icon-default-subtle",
|
|
13159
13279
|
"active:bg-sui-bg-state-ghost-press",
|
|
13160
13280
|
// Selected state
|
|
13161
13281
|
active && "bg-sui-bg-badge-blue text-sui-bg-basic-blue-strong [&_svg]:text-sui-bg-basic-blue-strong",
|
|
@@ -13189,9 +13309,9 @@ var ToggleGroupItem = React77__namespace.forwardRef(
|
|
|
13189
13309
|
"aria-label": ariaLabel,
|
|
13190
13310
|
className: cn(
|
|
13191
13311
|
"rounded-none transition-all duration-200",
|
|
13192
|
-
//
|
|
13193
|
-
|
|
13194
|
-
"focus-visible:ring-
|
|
13312
|
+
// Web Interface Guidelines #42 — focus ring via box-shadow (ring), respects radius.
|
|
13313
|
+
// Overrides Chip's ring with z-10 so it sits above adjacent items.
|
|
13314
|
+
"focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-sui-border-highlight focus-visible:ring-offset-[1px] focus-visible:z-10",
|
|
13195
13315
|
iconOnly ? iconOnlySizeOverrides[resolvedSize] : sizeOverrides[resolvedSize],
|
|
13196
13316
|
showSeparator && "border-l border-l-sui-border-darker",
|
|
13197
13317
|
className
|
|
@@ -13212,12 +13332,12 @@ var userbarVariants = classVarianceAuthority.cva(
|
|
|
13212
13332
|
default: [
|
|
13213
13333
|
"w-full gap-3 p-3",
|
|
13214
13334
|
"bg-sui-bg-state-ghost border-b border-sui-border-default",
|
|
13215
|
-
"hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press"
|
|
13335
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press"
|
|
13216
13336
|
],
|
|
13217
13337
|
compact: [
|
|
13218
13338
|
"gap-2 p-1 rounded-md",
|
|
13219
13339
|
"bg-sui-bg-state-ghost",
|
|
13220
|
-
"hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press"
|
|
13340
|
+
"[@media(hover:hover)]:hover:bg-sui-bg-state-ghost-hover active:bg-sui-bg-state-ghost-press"
|
|
13221
13341
|
],
|
|
13222
13342
|
contained: [
|
|
13223
13343
|
"w-full p-3",
|
|
@@ -13238,7 +13358,7 @@ var containedInnerVariants = classVarianceAuthority.cva(
|
|
|
13238
13358
|
"group-hover:bg-sui-bg-state-secondary-hover group-active:bg-sui-bg-state-secondary-press"
|
|
13239
13359
|
]
|
|
13240
13360
|
);
|
|
13241
|
-
var Userbar =
|
|
13361
|
+
var Userbar = React78__namespace.forwardRef(
|
|
13242
13362
|
(_a, ref) => {
|
|
13243
13363
|
var _b = _a, {
|
|
13244
13364
|
className,
|
|
@@ -13347,7 +13467,7 @@ var Userbar = React77__namespace.forwardRef(
|
|
|
13347
13467
|
}
|
|
13348
13468
|
);
|
|
13349
13469
|
Userbar.displayName = "Userbar";
|
|
13350
|
-
var VerticalStepperItem =
|
|
13470
|
+
var VerticalStepperItem = React78__namespace.forwardRef(
|
|
13351
13471
|
(_a, ref) => {
|
|
13352
13472
|
var _b = _a, {
|
|
13353
13473
|
className,
|
|
@@ -13483,7 +13603,7 @@ var VerticalStepperItem = React77__namespace.forwardRef(
|
|
|
13483
13603
|
}
|
|
13484
13604
|
);
|
|
13485
13605
|
VerticalStepperItem.displayName = "VerticalStepperItem";
|
|
13486
|
-
var VerticalStepper =
|
|
13606
|
+
var VerticalStepper = React78__namespace.forwardRef(
|
|
13487
13607
|
(_a, ref) => {
|
|
13488
13608
|
var _b = _a, {
|
|
13489
13609
|
className,
|