@snksergio/design-system 0.32.1 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/chunks/{input-BjUSWce3.cjs → input-CizzMZ20.cjs} +3 -3
- package/dist-lib/chunks/{input-BjUSWce3.cjs.map → input-CizzMZ20.cjs.map} +1 -1
- package/dist-lib/chunks/{input-DCDU4i4S.mjs → input-Cym0k4ZI.mjs} +2 -2
- package/dist-lib/chunks/{input-DCDU4i4S.mjs.map → input-Cym0k4ZI.mjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-C_3V6uG6.cjs → kpi-delta-DrSJPMCY.cjs} +8 -8
- package/dist-lib/chunks/{kpi-delta-C_3V6uG6.cjs.map → kpi-delta-DrSJPMCY.cjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-DpYuDY4h.mjs → kpi-delta-FhfuIg27.mjs} +2 -2
- package/dist-lib/chunks/{kpi-delta-DpYuDY4h.mjs.map → kpi-delta-FhfuIg27.mjs.map} +1 -1
- package/dist-lib/chunks/{page-header-D0rpU0yn.cjs → page-header-BMzUloFi.cjs} +4 -4
- package/dist-lib/chunks/{page-header-D0rpU0yn.cjs.map → page-header-BMzUloFi.cjs.map} +1 -1
- package/dist-lib/chunks/{page-header-B6XJyIMz.mjs → page-header-Buh6YlQM.mjs} +2 -2
- package/dist-lib/chunks/{page-header-B6XJyIMz.mjs.map → page-header-Buh6YlQM.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-8FiBxwcI.mjs → panel-Cdl0GPVE.mjs} +3 -3
- package/dist-lib/chunks/{panel-8FiBxwcI.mjs.map → panel-Cdl0GPVE.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-BOrETqXz.cjs → panel-DlyaLunw.cjs} +401 -401
- package/dist-lib/chunks/{panel-BOrETqXz.cjs.map → panel-DlyaLunw.cjs.map} +1 -1
- package/dist-lib/chunks/{app-shell-Cyh8AUJT.cjs → useTheme-D4alxxGV.cjs} +70 -4
- package/dist-lib/chunks/useTheme-D4alxxGV.cjs.map +1 -0
- package/dist-lib/chunks/{app-shell-78w0pYdP.mjs → useTheme-DF2xbSdI.mjs} +107 -41
- package/dist-lib/chunks/useTheme-DF2xbSdI.mjs.map +1 -0
- package/dist-lib/index.cjs +224 -154
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.mjs +110 -40
- package/dist-lib/index.mjs.map +1 -1
- package/dist-lib/preview/chat.cjs +54 -55
- package/dist-lib/preview/chat.cjs.map +1 -1
- package/dist-lib/preview/chat.mjs +2 -3
- package/dist-lib/preview/chat.mjs.map +1 -1
- package/dist-lib/preview/clientes.cjs +28 -29
- package/dist-lib/preview/clientes.cjs.map +1 -1
- package/dist-lib/preview/clientes.mjs +4 -5
- package/dist-lib/preview/clientes.mjs.map +1 -1
- package/dist-lib/preview/dashboard.cjs +24 -25
- package/dist-lib/preview/dashboard.cjs.map +1 -1
- package/dist-lib/preview/dashboard.mjs +3 -4
- package/dist-lib/preview/dashboard.mjs.map +1 -1
- package/dist-lib/src/components/index.d.ts +4 -0
- package/dist-lib/src/components/index.d.ts.map +1 -1
- package/dist-lib/src/components/ui/AppShell/app-shell.d.ts +3 -2
- package/dist-lib/src/components/ui/AppShell/app-shell.d.ts.map +1 -1
- package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts +21 -4
- package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts.map +1 -1
- package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts +13 -3
- package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts.map +1 -1
- package/dist-lib/src/hooks/useBrand.d.ts +49 -16
- package/dist-lib/src/hooks/useBrand.d.ts.map +1 -1
- package/dist-lib/theme/brand-blue.css +6 -3
- package/dist-lib/theme/brand-green.css +6 -3
- package/dist-lib/theme/brand-pay.css +6 -3
- package/dist-lib/theme/brand-vibrant.css +6 -3
- package/dist-lib/theme.css +5 -2
- package/package.json +4 -2
- package/dist-lib/chunks/app-shell-78w0pYdP.mjs.map +0 -1
- package/dist-lib/chunks/app-shell-Cyh8AUJT.cjs.map +0 -1
- package/dist-lib/chunks/useTheme-BUPLZBMs.mjs +0 -66
- package/dist-lib/chunks/useTheme-BUPLZBMs.mjs.map +0 -1
- package/dist-lib/chunks/useTheme-Dee4mo-A.cjs +0 -65
- package/dist-lib/chunks/useTheme-Dee4mo-A.cjs.map +0 -1
|
@@ -7,11 +7,11 @@ const React = require("react");
|
|
|
7
7
|
const core = require("@dnd-kit/core");
|
|
8
8
|
const sortable = require("@dnd-kit/sortable");
|
|
9
9
|
const reactVirtual = require("@tanstack/react-virtual");
|
|
10
|
-
const
|
|
10
|
+
const useTheme = require("./useTheme-D4alxxGV.cjs");
|
|
11
11
|
const lucideReact = require("lucide-react");
|
|
12
12
|
const CheckboxPrimitive = require("@radix-ui/react-checkbox");
|
|
13
13
|
const SwitchPrimitives = require("@radix-ui/react-switch");
|
|
14
|
-
const input = require("./input-
|
|
14
|
+
const input = require("./input-CizzMZ20.cjs");
|
|
15
15
|
const AlertDialogPrimitive = require("@radix-ui/react-alert-dialog");
|
|
16
16
|
const SelectPrimitive = require("@radix-ui/react-select");
|
|
17
17
|
const ReactDOM = require("react-dom");
|
|
@@ -47,7 +47,7 @@ const AlertDialogOverlay = React__namespace.forwardRef(({ className, ...props },
|
|
|
47
47
|
AlertDialogPrimitive__namespace.Overlay,
|
|
48
48
|
{
|
|
49
49
|
ref: ref2,
|
|
50
|
-
className:
|
|
50
|
+
className: useTheme.cn(
|
|
51
51
|
"fixed inset-0 z-50 bg-black/30 supports-[backdrop-filter]:backdrop-blur-sm",
|
|
52
52
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
53
53
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
@@ -63,7 +63,7 @@ const AlertDialogContent = React__namespace.forwardRef(({ className, ...props },
|
|
|
63
63
|
AlertDialogPrimitive__namespace.Content,
|
|
64
64
|
{
|
|
65
65
|
ref: ref2,
|
|
66
|
-
className:
|
|
66
|
+
className: useTheme.cn(
|
|
67
67
|
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] sm:max-w-[420px]",
|
|
68
68
|
"translate-x-[-50%] translate-y-[-50%]",
|
|
69
69
|
"rounded-radius-2xl bg-bg-surface text-fg-default",
|
|
@@ -85,7 +85,7 @@ const AlertDialogHeader = ({
|
|
|
85
85
|
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
86
86
|
"div",
|
|
87
87
|
{
|
|
88
|
-
className:
|
|
88
|
+
className: useTheme.cn(
|
|
89
89
|
"flex flex-col items-center text-center gap-gp-lg",
|
|
90
90
|
"px-pad-4xl pt-[32px] pb-pad-3xl",
|
|
91
91
|
className
|
|
@@ -103,7 +103,7 @@ const AlertDialogFooter = ({
|
|
|
103
103
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
104
104
|
"div",
|
|
105
105
|
{
|
|
106
|
-
className:
|
|
106
|
+
className: useTheme.cn(
|
|
107
107
|
"flex flex-col-reverse items-stretch gap-gp-md sm:flex-row",
|
|
108
108
|
"px-pad-3xl pb-pad-3xl",
|
|
109
109
|
className
|
|
@@ -117,7 +117,7 @@ const AlertDialogTitle = React__namespace.forwardRef(({ className, ...props }, r
|
|
|
117
117
|
AlertDialogPrimitive__namespace.Title,
|
|
118
118
|
{
|
|
119
119
|
ref: ref2,
|
|
120
|
-
className:
|
|
120
|
+
className: useTheme.cn(
|
|
121
121
|
"text-body-xl font-bold tracking-[-0.01em] text-fg-default leading-tight",
|
|
122
122
|
className
|
|
123
123
|
),
|
|
@@ -129,7 +129,7 @@ const AlertDialogDescription = React__namespace.forwardRef(({ className, ...prop
|
|
|
129
129
|
AlertDialogPrimitive__namespace.Description,
|
|
130
130
|
{
|
|
131
131
|
ref: ref2,
|
|
132
|
-
className:
|
|
132
|
+
className: useTheme.cn(
|
|
133
133
|
"text-body-sm font-normal leading-[1.5] text-fg-muted max-w-[340px]",
|
|
134
134
|
className
|
|
135
135
|
),
|
|
@@ -139,7 +139,7 @@ const AlertDialogDescription = React__namespace.forwardRef(({ className, ...prop
|
|
|
139
139
|
AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
|
|
140
140
|
const AlertDialogAction = AlertDialogPrimitive__namespace.Action;
|
|
141
141
|
const AlertDialogCancel = AlertDialogPrimitive__namespace.Cancel;
|
|
142
|
-
const alertModalIcon =
|
|
142
|
+
const alertModalIcon = useTheme.tv({
|
|
143
143
|
base: [
|
|
144
144
|
"inline-flex items-center justify-center",
|
|
145
145
|
"size-[56px] shrink-0 rounded-radius-full",
|
|
@@ -212,7 +212,7 @@ function AlertModal({
|
|
|
212
212
|
] }),
|
|
213
213
|
/* @__PURE__ */ jsxRuntime.jsxs(AlertDialogFooter, { children: [
|
|
214
214
|
!hideCancel && /* @__PURE__ */ jsxRuntime.jsx(AlertDialogCancel, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
215
|
-
|
|
215
|
+
useTheme.Button,
|
|
216
216
|
{
|
|
217
217
|
type: "button",
|
|
218
218
|
color: "secondary",
|
|
@@ -224,7 +224,7 @@ function AlertModal({
|
|
|
224
224
|
}
|
|
225
225
|
) }),
|
|
226
226
|
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogAction, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
227
|
-
|
|
227
|
+
useTheme.Button,
|
|
228
228
|
{
|
|
229
229
|
type: "button",
|
|
230
230
|
color: TONE_BUTTON_COLOR[tone],
|
|
@@ -273,7 +273,7 @@ function getContrastTextColor(bgColor) {
|
|
|
273
273
|
const blackContrast = contrastRatio(0, bgLum);
|
|
274
274
|
return whiteContrast >= blackContrast ? "white" : "black";
|
|
275
275
|
}
|
|
276
|
-
const avatarVariants =
|
|
276
|
+
const avatarVariants = useTheme.tv({
|
|
277
277
|
base: [
|
|
278
278
|
"inline-flex items-center justify-center",
|
|
279
279
|
"shrink-0",
|
|
@@ -345,14 +345,14 @@ const Avatar = React.forwardRef(
|
|
|
345
345
|
}
|
|
346
346
|
);
|
|
347
347
|
Avatar.displayName = "Avatar";
|
|
348
|
-
const buttonGroupVariants =
|
|
348
|
+
const buttonGroupVariants = useTheme.tv({
|
|
349
349
|
base: [
|
|
350
350
|
"inline-flex items-stretch",
|
|
351
351
|
// Permite focus ring de cada filho aparecer (z-index relativo no slot focused).
|
|
352
352
|
"isolate"
|
|
353
353
|
]
|
|
354
354
|
});
|
|
355
|
-
const buttonGroupSlot =
|
|
355
|
+
const buttonGroupSlot = useTheme.tv({
|
|
356
356
|
variants: {
|
|
357
357
|
position: {
|
|
358
358
|
// Primary: arredondado só na esquerda; direita reta pra "encostar" no chevron
|
|
@@ -363,7 +363,7 @@ const buttonGroupSlot = appShell.tv({
|
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
});
|
|
366
|
-
const buttonGroupChevronSize =
|
|
366
|
+
const buttonGroupChevronSize = useTheme.tv({
|
|
367
367
|
variants: {
|
|
368
368
|
size: {
|
|
369
369
|
"2xs": "size-form-xs px-0",
|
|
@@ -385,7 +385,7 @@ const ButtonGroupRoot = React.forwardRef(
|
|
|
385
385
|
{
|
|
386
386
|
ref: ref2,
|
|
387
387
|
role: "group",
|
|
388
|
-
className:
|
|
388
|
+
className: useTheme.cn(buttonGroupVariants(), className),
|
|
389
389
|
children
|
|
390
390
|
}
|
|
391
391
|
) });
|
|
@@ -396,11 +396,11 @@ const ButtonGroupPrimary = React.forwardRef(
|
|
|
396
396
|
const ctx = React.useContext(ButtonGroupContext);
|
|
397
397
|
const merged = mergeWithContext(ctx, props);
|
|
398
398
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
399
|
-
|
|
399
|
+
useTheme.Button,
|
|
400
400
|
{
|
|
401
401
|
ref: ref2,
|
|
402
402
|
...merged,
|
|
403
|
-
className:
|
|
403
|
+
className: useTheme.cn(buttonGroupSlot({ position: "primary" }), className)
|
|
404
404
|
}
|
|
405
405
|
);
|
|
406
406
|
}
|
|
@@ -411,11 +411,11 @@ const ButtonGroupChevron = React.forwardRef(
|
|
|
411
411
|
const merged = mergeWithContext(ctx, props);
|
|
412
412
|
const effectiveSize = merged.size ?? "md";
|
|
413
413
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
414
|
-
|
|
414
|
+
useTheme.Button,
|
|
415
415
|
{
|
|
416
416
|
ref: ref2,
|
|
417
417
|
...merged,
|
|
418
|
-
className:
|
|
418
|
+
className: useTheme.cn(
|
|
419
419
|
buttonGroupSlot({ position: "chevron" }),
|
|
420
420
|
buttonGroupChevronSize({ size: effectiveSize }),
|
|
421
421
|
// Anula gap do Button (não tem children) + reset svg size pra default 14px
|
|
@@ -445,7 +445,7 @@ const Checkbox = React__namespace.forwardRef(({ className, ...props }, ref2) =>
|
|
|
445
445
|
CheckboxPrimitive__namespace.Root,
|
|
446
446
|
{
|
|
447
447
|
ref: ref2,
|
|
448
|
-
className:
|
|
448
|
+
className: useTheme.cn(
|
|
449
449
|
"peer relative flex size-4 shrink-0 items-center justify-center cursor-pointer",
|
|
450
450
|
"rounded-radius-xs",
|
|
451
451
|
"bg-bg-input dark:bg-bg-muted",
|
|
@@ -462,17 +462,17 @@ const Checkbox = React__namespace.forwardRef(({ className, ...props }, ref2) =>
|
|
|
462
462
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
463
463
|
CheckboxPrimitive__namespace.Indicator,
|
|
464
464
|
{
|
|
465
|
-
className:
|
|
465
|
+
className: useTheme.cn("grid place-content-center text-fg-on-brand"),
|
|
466
466
|
children: props.checked === "indeterminate" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "size-3", strokeWidth: 3 }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3", strokeWidth: 3 })
|
|
467
467
|
}
|
|
468
468
|
)
|
|
469
469
|
}
|
|
470
470
|
));
|
|
471
471
|
Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
|
|
472
|
-
const formFieldRoot =
|
|
472
|
+
const formFieldRoot = useTheme.tv({
|
|
473
473
|
base: "flex flex-col gap-[7px] w-full"
|
|
474
474
|
});
|
|
475
|
-
const formFieldLabel =
|
|
475
|
+
const formFieldLabel = useTheme.tv({
|
|
476
476
|
base: [
|
|
477
477
|
"text-body-sm font-semibold tracking-[0.01em] leading-none",
|
|
478
478
|
"text-fg-default dark:text-fg-muted",
|
|
@@ -484,10 +484,10 @@ const formFieldLabel = appShell.tv({
|
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
486
|
});
|
|
487
|
-
const formFieldRequired =
|
|
487
|
+
const formFieldRequired = useTheme.tv({
|
|
488
488
|
base: "ml-[2px] text-fg-danger"
|
|
489
489
|
});
|
|
490
|
-
const formFieldMessage =
|
|
490
|
+
const formFieldMessage = useTheme.tv({
|
|
491
491
|
base: "text-caption-sm leading-snug",
|
|
492
492
|
variants: {
|
|
493
493
|
state: {
|
|
@@ -527,7 +527,7 @@ function FormField({
|
|
|
527
527
|
message = successMessage;
|
|
528
528
|
messageState = "success";
|
|
529
529
|
}
|
|
530
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
530
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: useTheme.cn(formFieldRoot(), className), children: [
|
|
531
531
|
label && !hideLabel && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
532
532
|
"label",
|
|
533
533
|
{
|
|
@@ -552,9 +552,9 @@ function FormField({
|
|
|
552
552
|
}
|
|
553
553
|
function renderAddon(content, key) {
|
|
554
554
|
if (typeof content === "string") {
|
|
555
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
555
|
+
return /* @__PURE__ */ jsxRuntime.jsx(useTheme.InputGroupAddon, { align: key === "start" ? "inline-start" : "inline-end", children: /* @__PURE__ */ jsxRuntime.jsx(useTheme.InputGroupText, { children: content }) }, key);
|
|
556
556
|
}
|
|
557
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
557
|
+
return /* @__PURE__ */ jsxRuntime.jsx(useTheme.InputGroupAddon, { align: key === "start" ? "inline-start" : "inline-end", children: content }, key);
|
|
558
558
|
}
|
|
559
559
|
const FormFieldInput = React.forwardRef(
|
|
560
560
|
({
|
|
@@ -586,9 +586,9 @@ const FormFieldInput = React.forwardRef(
|
|
|
586
586
|
className,
|
|
587
587
|
id,
|
|
588
588
|
disabled: inputProps.disabled,
|
|
589
|
-
children: ({ id: fieldId, state: fieldState }) => hasAddon ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
589
|
+
children: ({ id: fieldId, state: fieldState }) => hasAddon ? /* @__PURE__ */ jsxRuntime.jsxs(useTheme.InputGroup, { state: fieldState, size: size ?? void 0, children: [
|
|
590
590
|
startAddon !== void 0 && renderAddon(startAddon, "start"),
|
|
591
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
591
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.InputGroupInput, { ref: ref2, id: fieldId, ...inputHtmlProps }),
|
|
592
592
|
endAddon !== void 0 && renderAddon(endAddon, "end")
|
|
593
593
|
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
594
594
|
input.Input,
|
|
@@ -636,7 +636,7 @@ const Textarea = React__namespace.forwardRef(
|
|
|
636
636
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
637
637
|
"textarea",
|
|
638
638
|
{
|
|
639
|
-
className:
|
|
639
|
+
className: useTheme.cn(textareaVariants({ state }), className),
|
|
640
640
|
ref: ref2,
|
|
641
641
|
...props
|
|
642
642
|
}
|
|
@@ -688,7 +688,7 @@ const SelectTrigger = React__namespace.forwardRef(({ className, children, state
|
|
|
688
688
|
SelectPrimitive__namespace.Trigger,
|
|
689
689
|
{
|
|
690
690
|
ref: ref2,
|
|
691
|
-
className:
|
|
691
|
+
className: useTheme.cn(
|
|
692
692
|
"flex min-h-form-lg w-full items-center justify-between gap-gp-md",
|
|
693
693
|
"rounded-radius-lg px-pad-xl",
|
|
694
694
|
"bg-bg-input dark:bg-bg-muted",
|
|
@@ -717,7 +717,7 @@ const SelectScrollUpButton = React__namespace.forwardRef(({ className, ...props
|
|
|
717
717
|
SelectPrimitive__namespace.ScrollUpButton,
|
|
718
718
|
{
|
|
719
719
|
ref: ref2,
|
|
720
|
-
className:
|
|
720
|
+
className: useTheme.cn(
|
|
721
721
|
"flex cursor-default items-center justify-center py-pad-xs",
|
|
722
722
|
className
|
|
723
723
|
),
|
|
@@ -730,7 +730,7 @@ const SelectScrollDownButton = React__namespace.forwardRef(({ className, ...prop
|
|
|
730
730
|
SelectPrimitive__namespace.ScrollDownButton,
|
|
731
731
|
{
|
|
732
732
|
ref: ref2,
|
|
733
|
-
className:
|
|
733
|
+
className: useTheme.cn(
|
|
734
734
|
"flex cursor-default items-center justify-center py-pad-xs",
|
|
735
735
|
className
|
|
736
736
|
),
|
|
@@ -743,7 +743,7 @@ const SelectContent = React__namespace.forwardRef(({ className, children, positi
|
|
|
743
743
|
SelectPrimitive__namespace.Content,
|
|
744
744
|
{
|
|
745
745
|
ref: ref2,
|
|
746
|
-
className:
|
|
746
|
+
className: useTheme.cn(
|
|
747
747
|
"relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden",
|
|
748
748
|
"rounded-[12px] bg-bg-dropdown border border-border-default shadow-sh-lg outline-float",
|
|
749
749
|
"before:pointer-events-none before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150",
|
|
@@ -761,7 +761,7 @@ const SelectContent = React__namespace.forwardRef(({ className, children, positi
|
|
|
761
761
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
762
762
|
SelectPrimitive__namespace.Viewport,
|
|
763
763
|
{
|
|
764
|
-
className:
|
|
764
|
+
className: useTheme.cn(
|
|
765
765
|
"p-pad-sm",
|
|
766
766
|
position2 === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
|
767
767
|
),
|
|
@@ -777,7 +777,7 @@ const SelectLabel = React__namespace.forwardRef(({ className, ...props }, ref2)
|
|
|
777
777
|
SelectPrimitive__namespace.Label,
|
|
778
778
|
{
|
|
779
779
|
ref: ref2,
|
|
780
|
-
className:
|
|
780
|
+
className: useTheme.cn("py-pad-sm pl-8 pr-2 text-body-md font-medium text-fg-muted", className),
|
|
781
781
|
...props
|
|
782
782
|
}
|
|
783
783
|
));
|
|
@@ -786,7 +786,7 @@ const SelectItem = React__namespace.forwardRef(({ className, children, ...props
|
|
|
786
786
|
SelectPrimitive__namespace.Item,
|
|
787
787
|
{
|
|
788
788
|
ref: ref2,
|
|
789
|
-
className:
|
|
789
|
+
className: useTheme.cn(
|
|
790
790
|
"relative flex w-full cursor-default select-none items-center gap-pad-md",
|
|
791
791
|
"rounded-radius-sm py-pad-md pl-8 pr-pad-lg",
|
|
792
792
|
"text-body-sm font-medium text-fg-muted",
|
|
@@ -809,7 +809,7 @@ const SelectSeparator = React__namespace.forwardRef(({ className, ...props }, re
|
|
|
809
809
|
SelectPrimitive__namespace.Separator,
|
|
810
810
|
{
|
|
811
811
|
ref: ref2,
|
|
812
|
-
className:
|
|
812
|
+
className: useTheme.cn("-mx-1 my-1 h-px bg-border", className),
|
|
813
813
|
...props
|
|
814
814
|
}
|
|
815
815
|
));
|
|
@@ -906,7 +906,7 @@ const FormFieldCheckbox = React.forwardRef(
|
|
|
906
906
|
message = successMessage;
|
|
907
907
|
messageState = "success";
|
|
908
908
|
}
|
|
909
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
909
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: useTheme.cn(formFieldRoot(), "gap-[5px]", className), children: [
|
|
910
910
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-gp-md", children: [
|
|
911
911
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
912
912
|
Checkbox,
|
|
@@ -921,7 +921,7 @@ const FormFieldCheckbox = React.forwardRef(
|
|
|
921
921
|
"label",
|
|
922
922
|
{
|
|
923
923
|
htmlFor: id,
|
|
924
|
-
className:
|
|
924
|
+
className: useTheme.cn(formFieldLabel({ disabled }), "cursor-pointer"),
|
|
925
925
|
children: [
|
|
926
926
|
label,
|
|
927
927
|
required2 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: formFieldRequired(), "aria-hidden": "true", children: "*" })
|
|
@@ -932,7 +932,7 @@ const FormFieldCheckbox = React.forwardRef(
|
|
|
932
932
|
message && /* @__PURE__ */ jsxRuntime.jsx(
|
|
933
933
|
"p",
|
|
934
934
|
{
|
|
935
|
-
className:
|
|
935
|
+
className: useTheme.cn(formFieldMessage({ state: messageState }), "pl-[26px]"),
|
|
936
936
|
role: messageState === "error" ? "alert" : void 0,
|
|
937
937
|
children: message
|
|
938
938
|
}
|
|
@@ -944,7 +944,7 @@ FormFieldCheckbox.displayName = "FormFieldCheckbox";
|
|
|
944
944
|
const Switch = React__namespace.forwardRef(({ className, ...props }, ref2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
945
945
|
SwitchPrimitives__namespace.Root,
|
|
946
946
|
{
|
|
947
|
-
className:
|
|
947
|
+
className: useTheme.cn(
|
|
948
948
|
"peer relative inline-flex h-[24px] w-[42px] shrink-0 cursor-pointer items-center",
|
|
949
949
|
"rounded-radius-full",
|
|
950
950
|
"transition-[background-color,box-shadow] duration-150 outline-none",
|
|
@@ -959,7 +959,7 @@ const Switch = React__namespace.forwardRef(({ className, ...props }, ref2) => /*
|
|
|
959
959
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
960
960
|
SwitchPrimitives__namespace.Thumb,
|
|
961
961
|
{
|
|
962
|
-
className:
|
|
962
|
+
className: useTheme.cn(
|
|
963
963
|
"pointer-events-none block size-[20px] rounded-radius-full bg-white",
|
|
964
964
|
"shadow-[0_1px_2px_rgba(0,0,0,0.10)]",
|
|
965
965
|
"transition-transform duration-[180ms] ease-[cubic-bezier(0.4,0,0.2,1)]",
|
|
@@ -1005,14 +1005,14 @@ const FormFieldSwitch = React.forwardRef(
|
|
|
1005
1005
|
"label",
|
|
1006
1006
|
{
|
|
1007
1007
|
htmlFor: id,
|
|
1008
|
-
className:
|
|
1008
|
+
className: useTheme.cn(formFieldLabel({ disabled }), "cursor-pointer flex-1"),
|
|
1009
1009
|
children: [
|
|
1010
1010
|
label,
|
|
1011
1011
|
required2 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: formFieldRequired(), "aria-hidden": "true", children: "*" })
|
|
1012
1012
|
]
|
|
1013
1013
|
}
|
|
1014
1014
|
);
|
|
1015
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1015
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: useTheme.cn(formFieldRoot(), "gap-[5px]", className), children: [
|
|
1016
1016
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-gp-md", children: switchPosition === "start" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1017
1017
|
switchEl,
|
|
1018
1018
|
labelEl
|
|
@@ -1032,7 +1032,7 @@ const FormFieldSwitch = React.forwardRef(
|
|
|
1032
1032
|
}
|
|
1033
1033
|
);
|
|
1034
1034
|
FormFieldSwitch.displayName = "FormFieldSwitch";
|
|
1035
|
-
const comboboxStyles =
|
|
1035
|
+
const comboboxStyles = useTheme.tv({
|
|
1036
1036
|
slots: {
|
|
1037
1037
|
trigger: [
|
|
1038
1038
|
"flex min-h-form-lg w-full items-center justify-between gap-gp-md",
|
|
@@ -1088,8 +1088,8 @@ const Combobox = React.forwardRef(
|
|
|
1088
1088
|
};
|
|
1089
1089
|
const styles2 = comboboxStyles();
|
|
1090
1090
|
const selected = options.find((o) => o.value === value);
|
|
1091
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1092
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1091
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange: setOpen, children: [
|
|
1092
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1093
1093
|
"button",
|
|
1094
1094
|
{
|
|
1095
1095
|
ref: ref2,
|
|
@@ -1108,18 +1108,18 @@ const Combobox = React.forwardRef(
|
|
|
1108
1108
|
}
|
|
1109
1109
|
) }),
|
|
1110
1110
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1111
|
-
|
|
1111
|
+
useTheme.PopoverContent,
|
|
1112
1112
|
{
|
|
1113
1113
|
align,
|
|
1114
1114
|
className: styles2.content({ className: contentClassName }),
|
|
1115
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1116
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1117
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1118
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1119
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1115
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Command, { children: [
|
|
1116
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.CommandInput, { placeholder: searchPlaceholder }),
|
|
1117
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useTheme.CommandList, { children: [
|
|
1118
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.CommandEmpty, { children: emptyMessage }),
|
|
1119
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.CommandGroup, { children: options.map((option) => {
|
|
1120
1120
|
const isSelected = option.value === value;
|
|
1121
1121
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1122
|
-
|
|
1122
|
+
useTheme.CommandItem,
|
|
1123
1123
|
{
|
|
1124
1124
|
value: option.label,
|
|
1125
1125
|
keywords: [option.value, ...option.keywords ?? []],
|
|
@@ -1127,7 +1127,7 @@ const Combobox = React.forwardRef(
|
|
|
1127
1127
|
onValueChange?.(option.value);
|
|
1128
1128
|
setOpen(false);
|
|
1129
1129
|
},
|
|
1130
|
-
className:
|
|
1130
|
+
className: useTheme.cn(
|
|
1131
1131
|
isSelected && "text-fg-default font-medium [&_svg]:text-fg-brand"
|
|
1132
1132
|
),
|
|
1133
1133
|
children: [
|
|
@@ -1146,7 +1146,7 @@ const Combobox = React.forwardRef(
|
|
|
1146
1146
|
}
|
|
1147
1147
|
);
|
|
1148
1148
|
Combobox.displayName = "Combobox";
|
|
1149
|
-
const tableStyles =
|
|
1149
|
+
const tableStyles = useTheme.tv({
|
|
1150
1150
|
slots: {
|
|
1151
1151
|
/* Root grid container. Aplica container-type pra container queries.
|
|
1152
1152
|
flex flex-col: scroll child usa flex-1 min-h-0 pra esticar quando há altura forçada
|
|
@@ -1520,7 +1520,7 @@ function Table({
|
|
|
1520
1520
|
"aria-label": ariaLabel,
|
|
1521
1521
|
"data-density": density,
|
|
1522
1522
|
"data-resizing-col": resizingField ?? void 0,
|
|
1523
|
-
className:
|
|
1523
|
+
className: useTheme.cn(styles$4.root(), className),
|
|
1524
1524
|
style: cardCss,
|
|
1525
1525
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: scrollRef, className: styles$4.scroll(), children })
|
|
1526
1526
|
}
|
|
@@ -1541,7 +1541,7 @@ function TableHead({
|
|
|
1541
1541
|
...rootProps,
|
|
1542
1542
|
role: "rowgroup",
|
|
1543
1543
|
"data-scrolled": isScrolled ? "true" : void 0,
|
|
1544
|
-
className:
|
|
1544
|
+
className: useTheme.cn(tableStyles({ sticky }).head(), className),
|
|
1545
1545
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { role: "row", className: "flex w-full", children })
|
|
1546
1546
|
}
|
|
1547
1547
|
);
|
|
@@ -1564,7 +1564,7 @@ function TableBody({
|
|
|
1564
1564
|
{
|
|
1565
1565
|
...rootProps,
|
|
1566
1566
|
role: "rowgroup",
|
|
1567
|
-
className:
|
|
1567
|
+
className: useTheme.cn(
|
|
1568
1568
|
styles$4.body(),
|
|
1569
1569
|
virtualized && "!block",
|
|
1570
1570
|
className
|
|
@@ -1600,7 +1600,7 @@ const TableRow = React.forwardRef(function TableRow2({
|
|
|
1600
1600
|
"data-focused": focused || void 0,
|
|
1601
1601
|
"data-highlighted": solidPinned || void 0,
|
|
1602
1602
|
tabIndex: focused ? 0 : -1,
|
|
1603
|
-
className:
|
|
1603
|
+
className: useTheme.cn(
|
|
1604
1604
|
"group/row",
|
|
1605
1605
|
tableStyles({ selected: highlighted, clickable: isClickable, density }).row(),
|
|
1606
1606
|
// Focus visual — bg tinted (match checkbox selected) + borda brand interna.
|
|
@@ -1651,7 +1651,7 @@ const TableCell = React.forwardRef(function TableCell2({
|
|
|
1651
1651
|
"data-purpose": purpose,
|
|
1652
1652
|
"data-resize-active": isResizingThisCol ? "true" : void 0,
|
|
1653
1653
|
title: tooltip,
|
|
1654
|
-
className:
|
|
1654
|
+
className: useTheme.cn(
|
|
1655
1655
|
tableStyles({ pinned, align, ellipsis, density, cellBorders, purpose }).cell(),
|
|
1656
1656
|
// Linha brand 2px alinhada com o centro do resize handle do header (~2px do edge)
|
|
1657
1657
|
isResizingThisCol && "relative after:absolute after:right-[2px] after:top-0 after:bottom-0 after:w-[2px] after:bg-bg-brand after:pointer-events-none",
|
|
@@ -1734,7 +1734,7 @@ const TableHeadCell = React.forwardRef(function TableHeadCell2({
|
|
|
1734
1734
|
"data-sort": sortDirection ?? void 0,
|
|
1735
1735
|
"data-field": field,
|
|
1736
1736
|
"data-purpose": purpose,
|
|
1737
|
-
className:
|
|
1737
|
+
className: useTheme.cn(
|
|
1738
1738
|
"group/headcell",
|
|
1739
1739
|
tableStyles({ pinned, align, sortable: sortable2, density, cellBorders, purpose }).headCell(),
|
|
1740
1740
|
className
|
|
@@ -1746,11 +1746,11 @@ const TableHeadCell = React.forwardRef(function TableHeadCell2({
|
|
|
1746
1746
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1747
1747
|
"span",
|
|
1748
1748
|
{
|
|
1749
|
-
className:
|
|
1749
|
+
className: useTheme.cn(
|
|
1750
1750
|
"flex-1 min-w-0",
|
|
1751
1751
|
// Coluna de seleção (checkbox) centraliza por padrão — sem precisar
|
|
1752
1752
|
// de align="center" no consumer (alinha com o purpose="selection").
|
|
1753
|
-
align === "center" || purpose === "selection" ? "flex items-center justify-center" : align === "right" ?
|
|
1753
|
+
align === "center" || purpose === "selection" ? "flex items-center justify-center" : align === "right" ? useTheme.cn(
|
|
1754
1754
|
"truncate text-right",
|
|
1755
1755
|
// Reserva espaço pro headRightStack APENAS quando sort está
|
|
1756
1756
|
// ATIVO (sort badge + indicator visíveis permanentemente).
|
|
@@ -1826,7 +1826,7 @@ function TableCardRow({
|
|
|
1826
1826
|
role: "article",
|
|
1827
1827
|
"aria-selected": selected || void 0,
|
|
1828
1828
|
"data-state": dataState,
|
|
1829
|
-
className:
|
|
1829
|
+
className: useTheme.cn(
|
|
1830
1830
|
tableStyles({ selected: highlighted, clickable: isClickable }).cardWrap(),
|
|
1831
1831
|
className
|
|
1832
1832
|
),
|
|
@@ -1883,14 +1883,14 @@ function useColumnWidths(columns) {
|
|
|
1883
1883
|
}
|
|
1884
1884
|
const SELECTION_COLUMN_WIDTH = 56;
|
|
1885
1885
|
const TABLE_HEADER_HEIGHT = 42;
|
|
1886
|
-
const toolbarRoot =
|
|
1886
|
+
const toolbarRoot = useTheme.tv({
|
|
1887
1887
|
base: [
|
|
1888
1888
|
"flex items-center justify-between flex-wrap",
|
|
1889
1889
|
"gap-gp-md md:gap-gp-2xl"
|
|
1890
1890
|
// 8px → 16px
|
|
1891
1891
|
]
|
|
1892
1892
|
});
|
|
1893
|
-
const toolbarLeft =
|
|
1893
|
+
const toolbarLeft = useTheme.tv({
|
|
1894
1894
|
base: [
|
|
1895
1895
|
"flex flex-1 items-center flex-wrap min-w-0",
|
|
1896
1896
|
"gap-gp-sm md:gap-[10px]",
|
|
@@ -1902,7 +1902,7 @@ const toolbarLeft = appShell.tv({
|
|
|
1902
1902
|
"max-md:hidden"
|
|
1903
1903
|
]
|
|
1904
1904
|
});
|
|
1905
|
-
const toolbarActions =
|
|
1905
|
+
const toolbarActions = useTheme.tv({
|
|
1906
1906
|
base: [
|
|
1907
1907
|
"flex items-center flex-wrap shrink-0",
|
|
1908
1908
|
"gap-gp-sm md:gap-gp-md",
|
|
@@ -1913,10 +1913,10 @@ const toolbarActions = appShell.tv({
|
|
|
1913
1913
|
"max-md:w-full max-md:flex-1"
|
|
1914
1914
|
]
|
|
1915
1915
|
});
|
|
1916
|
-
const toolbarDivider =
|
|
1916
|
+
const toolbarDivider = useTheme.tv({
|
|
1917
1917
|
base: "w-[1px] h-[24px] bg-border-default shrink-0 mx-[6px] self-center"
|
|
1918
1918
|
});
|
|
1919
|
-
const toolbarSearch =
|
|
1919
|
+
const toolbarSearch = useTheme.tv({
|
|
1920
1920
|
base: [
|
|
1921
1921
|
"relative flex items-center gap-gp-md cursor-text",
|
|
1922
1922
|
"h-form-lg px-[14px] rounded-radius-lg",
|
|
@@ -1940,21 +1940,21 @@ const toolbarSearch = appShell.tv({
|
|
|
1940
1940
|
},
|
|
1941
1941
|
defaultVariants: { expanded: false }
|
|
1942
1942
|
});
|
|
1943
|
-
const toolbarSearchInput =
|
|
1943
|
+
const toolbarSearchInput = useTheme.tv({
|
|
1944
1944
|
base: [
|
|
1945
1945
|
"flex-1 min-w-0 bg-transparent border-0 outline-none",
|
|
1946
1946
|
"text-body-sm font-normal text-fg-default",
|
|
1947
1947
|
"placeholder:text-fg-muted"
|
|
1948
1948
|
]
|
|
1949
1949
|
});
|
|
1950
|
-
const toolbarToolDot =
|
|
1950
|
+
const toolbarToolDot = useTheme.tv({
|
|
1951
1951
|
base: [
|
|
1952
1952
|
"absolute -top-[4px] -right-[4px] z-[2] pointer-events-none",
|
|
1953
1953
|
"size-[13px] rounded-radius-full",
|
|
1954
1954
|
"bg-bg-brand border-2 border-bg-canvas"
|
|
1955
1955
|
]
|
|
1956
1956
|
});
|
|
1957
|
-
const toolbarSegmented =
|
|
1957
|
+
const toolbarSegmented = useTheme.tv({
|
|
1958
1958
|
base: [
|
|
1959
1959
|
"items-center gap-[2px] p-[3px]",
|
|
1960
1960
|
"bg-bg-muted rounded-radius-lg",
|
|
@@ -1968,7 +1968,7 @@ const toolbarSegmented = appShell.tv({
|
|
|
1968
1968
|
},
|
|
1969
1969
|
defaultVariants: { fluid: false }
|
|
1970
1970
|
});
|
|
1971
|
-
const toolbarSegmentedButton =
|
|
1971
|
+
const toolbarSegmentedButton = useTheme.tv({
|
|
1972
1972
|
base: [
|
|
1973
1973
|
"grid place-items-center",
|
|
1974
1974
|
"h-[34px] min-w-[36px] px-pad-md",
|
|
@@ -1992,7 +1992,7 @@ const toolbarSegmentedButton = appShell.tv({
|
|
|
1992
1992
|
},
|
|
1993
1993
|
defaultVariants: { isActive: false, fluid: false }
|
|
1994
1994
|
});
|
|
1995
|
-
const toolbarTabs =
|
|
1995
|
+
const toolbarTabs = useTheme.tv({
|
|
1996
1996
|
base: [
|
|
1997
1997
|
"items-center gap-[2px] p-[3px]",
|
|
1998
1998
|
"bg-bg-muted rounded-radius-lg",
|
|
@@ -2007,7 +2007,7 @@ const toolbarTabs = appShell.tv({
|
|
|
2007
2007
|
},
|
|
2008
2008
|
defaultVariants: { fluid: false }
|
|
2009
2009
|
});
|
|
2010
|
-
const toolbarTabWrap =
|
|
2010
|
+
const toolbarTabWrap = useTheme.tv({
|
|
2011
2011
|
base: [
|
|
2012
2012
|
"relative inline-flex items-center",
|
|
2013
2013
|
"rounded-radius-md",
|
|
@@ -2025,7 +2025,7 @@ const toolbarTabWrap = appShell.tv({
|
|
|
2025
2025
|
},
|
|
2026
2026
|
defaultVariants: { isActive: false, fluid: false }
|
|
2027
2027
|
});
|
|
2028
|
-
const toolbarTabButton =
|
|
2028
|
+
const toolbarTabButton = useTheme.tv({
|
|
2029
2029
|
base: [
|
|
2030
2030
|
"inline-flex items-center gap-gp-sm h-[34px] px-[14px]",
|
|
2031
2031
|
"rounded-radius-md border-0 bg-transparent cursor-pointer outline-none",
|
|
@@ -2046,7 +2046,7 @@ const toolbarTabButton = appShell.tv({
|
|
|
2046
2046
|
},
|
|
2047
2047
|
defaultVariants: { isActive: false, fluid: false }
|
|
2048
2048
|
});
|
|
2049
|
-
const toolbarTabClose =
|
|
2049
|
+
const toolbarTabClose = useTheme.tv({
|
|
2050
2050
|
base: [
|
|
2051
2051
|
"grid place-items-center size-[18px] -ml-[18px]",
|
|
2052
2052
|
"rounded-radius-full border-0 bg-transparent text-fg-muted cursor-pointer",
|
|
@@ -2057,7 +2057,7 @@ const toolbarTabClose = appShell.tv({
|
|
|
2057
2057
|
"[&_svg]:size-[11px]"
|
|
2058
2058
|
]
|
|
2059
2059
|
});
|
|
2060
|
-
const toolbarApplied =
|
|
2060
|
+
const toolbarApplied = useTheme.tv({
|
|
2061
2061
|
// Mobile: scroll horizontal (flex-nowrap + overflow-x-auto) em vez de quebrar
|
|
2062
2062
|
// os chips em várias linhas e empurrar a tabela pra baixo. Scrollbar oculta.
|
|
2063
2063
|
// sm+: volta ao flex-wrap normal.
|
|
@@ -2080,7 +2080,7 @@ const toolbarApplied = appShell.tv({
|
|
|
2080
2080
|
separator: true
|
|
2081
2081
|
}
|
|
2082
2082
|
});
|
|
2083
|
-
const toolbarAppliedChip =
|
|
2083
|
+
const toolbarAppliedChip = useTheme.tv({
|
|
2084
2084
|
base: [
|
|
2085
2085
|
"inline-flex items-center gap-gp-md",
|
|
2086
2086
|
"h-form-md pl-pad-sm pr-pad-lg",
|
|
@@ -2100,7 +2100,7 @@ const toolbarAppliedChip = appShell.tv({
|
|
|
2100
2100
|
}
|
|
2101
2101
|
}
|
|
2102
2102
|
});
|
|
2103
|
-
const toolbarAppliedChipRemove =
|
|
2103
|
+
const toolbarAppliedChipRemove = useTheme.tv({
|
|
2104
2104
|
base: [
|
|
2105
2105
|
"grid place-items-center size-[18px] shrink-0",
|
|
2106
2106
|
"rounded-radius-full border-0 bg-transparent text-fg-subtle cursor-pointer outline-none",
|
|
@@ -2110,13 +2110,13 @@ const toolbarAppliedChipRemove = appShell.tv({
|
|
|
2110
2110
|
"[&_svg]:size-[14px]"
|
|
2111
2111
|
]
|
|
2112
2112
|
});
|
|
2113
|
-
const toolbarAppliedChipName =
|
|
2113
|
+
const toolbarAppliedChipName = useTheme.tv({
|
|
2114
2114
|
base: "font-semibold text-fg-default"
|
|
2115
2115
|
});
|
|
2116
|
-
const toolbarAppliedChipOp =
|
|
2116
|
+
const toolbarAppliedChipOp = useTheme.tv({
|
|
2117
2117
|
base: "text-fg-muted text-caption-sm"
|
|
2118
2118
|
});
|
|
2119
|
-
const toolbarAppliedChipValue =
|
|
2119
|
+
const toolbarAppliedChipValue = useTheme.tv({
|
|
2120
2120
|
base: [
|
|
2121
2121
|
"inline-flex items-center h-[22px] px-pad-md",
|
|
2122
2122
|
"rounded-radius-sm",
|
|
@@ -2124,7 +2124,7 @@ const toolbarAppliedChipValue = appShell.tv({
|
|
|
2124
2124
|
"text-body-xs font-medium text-fg-default"
|
|
2125
2125
|
]
|
|
2126
2126
|
});
|
|
2127
|
-
const toolbarAppliedClearLink =
|
|
2127
|
+
const toolbarAppliedClearLink = useTheme.tv({
|
|
2128
2128
|
base: [
|
|
2129
2129
|
"ml-pad-sm text-body-xs font-medium text-fg-brand cursor-pointer outline-none",
|
|
2130
2130
|
"bg-transparent border-0 p-0",
|
|
@@ -2134,14 +2134,14 @@ const toolbarAppliedClearLink = appShell.tv({
|
|
|
2134
2134
|
"disabled:opacity-50 disabled:pointer-events-none"
|
|
2135
2135
|
]
|
|
2136
2136
|
});
|
|
2137
|
-
const bulkBarRoot =
|
|
2137
|
+
const bulkBarRoot = useTheme.tv({
|
|
2138
2138
|
base: [
|
|
2139
2139
|
"flex items-center flex-wrap gap-gp-xl",
|
|
2140
2140
|
"py-[10px] px-[14px] rounded-radius-xl",
|
|
2141
2141
|
"bg-bg-brand-subtle border border-border-brand text-fg-brand"
|
|
2142
2142
|
]
|
|
2143
2143
|
});
|
|
2144
|
-
const bulkBarCount =
|
|
2144
|
+
const bulkBarCount = useTheme.tv({
|
|
2145
2145
|
base: [
|
|
2146
2146
|
"inline-flex items-center gap-gp-md shrink-0",
|
|
2147
2147
|
"text-body-sm font-semibold",
|
|
@@ -2149,13 +2149,13 @@ const bulkBarCount = appShell.tv({
|
|
|
2149
2149
|
"[&_svg]:size-[14px]"
|
|
2150
2150
|
]
|
|
2151
2151
|
});
|
|
2152
|
-
const bulkBarActions =
|
|
2152
|
+
const bulkBarActions = useTheme.tv({
|
|
2153
2153
|
base: [
|
|
2154
2154
|
"flex items-center flex-wrap gap-gp-sm flex-1 min-w-0",
|
|
2155
2155
|
"[&>*]:shrink-0"
|
|
2156
2156
|
]
|
|
2157
2157
|
});
|
|
2158
|
-
const bulkBarClear =
|
|
2158
|
+
const bulkBarClear = useTheme.tv({
|
|
2159
2159
|
base: [
|
|
2160
2160
|
"shrink-0 ml-auto",
|
|
2161
2161
|
"bg-transparent border-0 p-0 cursor-pointer outline-none",
|
|
@@ -2171,7 +2171,7 @@ function ToolbarDivider({ className, ...props }) {
|
|
|
2171
2171
|
"span",
|
|
2172
2172
|
{
|
|
2173
2173
|
"aria-hidden": "true",
|
|
2174
|
-
className:
|
|
2174
|
+
className: useTheme.cn(toolbarDivider(), className),
|
|
2175
2175
|
...props
|
|
2176
2176
|
}
|
|
2177
2177
|
);
|
|
@@ -2190,9 +2190,9 @@ function TableToolbar({
|
|
|
2190
2190
|
className
|
|
2191
2191
|
}) {
|
|
2192
2192
|
if (bulkBar) {
|
|
2193
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2193
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn("w-full", className), children: bulkBar });
|
|
2194
2194
|
}
|
|
2195
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2195
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: useTheme.cn(toolbarRoot(), className), children: [
|
|
2196
2196
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: toolbarLeft(), children: [
|
|
2197
2197
|
viewToggle,
|
|
2198
2198
|
viewToggle && savedViews && /* @__PURE__ */ jsxRuntime.jsx(ToolbarDivider, {}),
|
|
@@ -2221,7 +2221,7 @@ const ToolbarSearch = React.forwardRef(
|
|
|
2221
2221
|
}, ref2) => {
|
|
2222
2222
|
const hasValue = Boolean(value);
|
|
2223
2223
|
const expanded = autoExpand ? hasValue : false;
|
|
2224
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className:
|
|
2224
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: useTheme.cn(toolbarSearch({ expanded }), wrapperClassName), children: [
|
|
2225
2225
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { strokeWidth: 1.8, "aria-hidden": "true" }),
|
|
2226
2226
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2227
2227
|
"input",
|
|
@@ -2231,7 +2231,7 @@ const ToolbarSearch = React.forwardRef(
|
|
|
2231
2231
|
value,
|
|
2232
2232
|
placeholder: placeholder2,
|
|
2233
2233
|
"aria-label": ariaLabel,
|
|
2234
|
-
className:
|
|
2234
|
+
className: useTheme.cn(toolbarSearchInput(), className),
|
|
2235
2235
|
...inputProps
|
|
2236
2236
|
}
|
|
2237
2237
|
)
|
|
@@ -2252,7 +2252,7 @@ function ToolbarSegmented({
|
|
|
2252
2252
|
{
|
|
2253
2253
|
role: "radiogroup",
|
|
2254
2254
|
"aria-label": ariaLabel,
|
|
2255
|
-
className:
|
|
2255
|
+
className: useTheme.cn(toolbarSegmented({ fluid }), className),
|
|
2256
2256
|
children: items.map((item) => {
|
|
2257
2257
|
const isActive2 = item.value === value;
|
|
2258
2258
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2289,13 +2289,13 @@ function ToolbarTabs({
|
|
|
2289
2289
|
{
|
|
2290
2290
|
role: "tablist",
|
|
2291
2291
|
"aria-label": ariaLabel,
|
|
2292
|
-
className:
|
|
2292
|
+
className: useTheme.cn(toolbarTabs({ fluid }), className),
|
|
2293
2293
|
children: tabs.map((tab2) => {
|
|
2294
2294
|
const isActive2 = tab2.id === activeId;
|
|
2295
2295
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2296
2296
|
"div",
|
|
2297
2297
|
{
|
|
2298
|
-
className:
|
|
2298
|
+
className: useTheme.cn("group/wrap", toolbarTabWrap({ isActive: isActive2, fluid })),
|
|
2299
2299
|
children: [
|
|
2300
2300
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2301
2301
|
"button",
|
|
@@ -2340,14 +2340,14 @@ const ToolbarToolButton = React.forwardRef(
|
|
|
2340
2340
|
}, ref2) => {
|
|
2341
2341
|
const iconOnly = !label;
|
|
2342
2342
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2343
|
-
|
|
2343
|
+
useTheme.Button,
|
|
2344
2344
|
{
|
|
2345
2345
|
ref: ref2,
|
|
2346
2346
|
color: isActive2 ? "primary" : "secondary",
|
|
2347
2347
|
variant: isActive2 ? "soft" : "outline",
|
|
2348
2348
|
size: iconOnly ? "icon-md" : "md",
|
|
2349
2349
|
iconLeft: iconOnly ? void 0 : icon,
|
|
2350
|
-
className:
|
|
2350
|
+
className: useTheme.cn(
|
|
2351
2351
|
"relative",
|
|
2352
2352
|
// Active: Button primary soft não tem border — adicionamos brand
|
|
2353
2353
|
isActive2 && "border-border-brand hover:border-border-brand",
|
|
@@ -2364,13 +2364,13 @@ const ToolbarToolButton = React.forwardRef(
|
|
|
2364
2364
|
);
|
|
2365
2365
|
ToolbarToolButton.displayName = "ToolbarToolButton";
|
|
2366
2366
|
const ToolbarSaveButton = React.forwardRef(({ className, isOpen, children, ...rest }, ref2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2367
|
-
|
|
2367
|
+
useTheme.Button,
|
|
2368
2368
|
{
|
|
2369
2369
|
ref: ref2,
|
|
2370
2370
|
color: "secondary",
|
|
2371
2371
|
variant: "ghost",
|
|
2372
2372
|
size: "icon-md",
|
|
2373
|
-
className:
|
|
2373
|
+
className: useTheme.cn(
|
|
2374
2374
|
isOpen && "bg-bg-muted text-fg-default",
|
|
2375
2375
|
className
|
|
2376
2376
|
),
|
|
@@ -2409,7 +2409,7 @@ function ToolbarApplied({
|
|
|
2409
2409
|
}) {
|
|
2410
2410
|
if (filters.length === 0) return null;
|
|
2411
2411
|
const resolveOp = (op) => opLabels?.[op] ?? DEFAULT_OP_LABELS[op] ?? String(op);
|
|
2412
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2412
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: useTheme.cn(toolbarApplied({ separator }), className), children: [
|
|
2413
2413
|
filters.map((f) => {
|
|
2414
2414
|
const isPendingOpen = pendingOpenId === f.id;
|
|
2415
2415
|
const defaultChip = /* @__PURE__ */ jsxRuntime.jsxs("span", { className: toolbarAppliedChip({ interactive: !!renderChip }), children: [
|
|
@@ -2442,21 +2442,21 @@ function ToolbarApplied({
|
|
|
2442
2442
|
{
|
|
2443
2443
|
type: "button",
|
|
2444
2444
|
onClick: onClearAll,
|
|
2445
|
-
className:
|
|
2445
|
+
className: useTheme.cn(toolbarAppliedClearLink(), "shrink-0"),
|
|
2446
2446
|
children: clearLabel
|
|
2447
2447
|
}
|
|
2448
2448
|
)
|
|
2449
2449
|
] });
|
|
2450
2450
|
}
|
|
2451
2451
|
function MenuItem({ item, idx }) {
|
|
2452
|
-
if (item.separator) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2452
|
+
if (item.separator) return /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {});
|
|
2453
2453
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2454
|
-
|
|
2454
|
+
useTheme.DropdownMenuItem,
|
|
2455
2455
|
{
|
|
2456
2456
|
variant: item.destructive ? "destructive" : "default",
|
|
2457
2457
|
disabled: item.disabled,
|
|
2458
2458
|
onSelect: () => item.onClick?.(),
|
|
2459
|
-
className:
|
|
2459
|
+
className: useTheme.cn(item.active && "bg-bg-brand-subtle text-fg-brand"),
|
|
2460
2460
|
children: [
|
|
2461
2461
|
item.icon,
|
|
2462
2462
|
item.label
|
|
@@ -2469,7 +2469,7 @@ function ActionInput({
|
|
|
2469
2469
|
action,
|
|
2470
2470
|
className
|
|
2471
2471
|
}) {
|
|
2472
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className:
|
|
2472
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: useTheme.cn(toolbarSearch(), className), children: [
|
|
2473
2473
|
action.icon,
|
|
2474
2474
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2475
2475
|
"input",
|
|
@@ -2498,8 +2498,8 @@ function InlineAction({ action }) {
|
|
|
2498
2498
|
);
|
|
2499
2499
|
}
|
|
2500
2500
|
if (action.kind === "dropdown") {
|
|
2501
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2502
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2501
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { children: [
|
|
2502
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2503
2503
|
ToolbarToolButton,
|
|
2504
2504
|
{
|
|
2505
2505
|
icon: action.icon,
|
|
@@ -2509,7 +2509,7 @@ function InlineAction({ action }) {
|
|
|
2509
2509
|
] })
|
|
2510
2510
|
}
|
|
2511
2511
|
) }),
|
|
2512
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2512
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuContent, { align: "end", sideOffset: 4, children: action.items.map((it, i) => /* @__PURE__ */ jsxRuntime.jsx(MenuItem, { item: it, idx: i }, i)) })
|
|
2513
2513
|
] });
|
|
2514
2514
|
}
|
|
2515
2515
|
return /* @__PURE__ */ jsxRuntime.jsx(ActionInput, { action });
|
|
@@ -2523,10 +2523,10 @@ function ToolbarActions({
|
|
|
2523
2523
|
return null;
|
|
2524
2524
|
}
|
|
2525
2525
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2526
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2526
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: useTheme.cn("hidden items-center gap-gp-sm md:flex", className), children: [
|
|
2527
2527
|
actions.map((a) => /* @__PURE__ */ jsxRuntime.jsx(InlineAction, { action: a }, a.id)),
|
|
2528
|
-
extraItems && extraItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2529
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2528
|
+
extraItems && extraItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { children: [
|
|
2529
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2530
2530
|
ToolbarToolButton,
|
|
2531
2531
|
{
|
|
2532
2532
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, {}),
|
|
@@ -2534,11 +2534,11 @@ function ToolbarActions({
|
|
|
2534
2534
|
title: "Mais ações"
|
|
2535
2535
|
}
|
|
2536
2536
|
) }),
|
|
2537
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2537
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuContent, { align: "end", sideOffset: 4, children: extraItems.map((it, i) => /* @__PURE__ */ jsxRuntime.jsx(MenuItem, { item: it, idx: i }, i)) })
|
|
2538
2538
|
] })
|
|
2539
2539
|
] }),
|
|
2540
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex md:hidden", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2541
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2540
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex md:hidden", children: /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { children: [
|
|
2541
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2542
2542
|
ToolbarToolButton,
|
|
2543
2543
|
{
|
|
2544
2544
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, {}),
|
|
@@ -2547,7 +2547,7 @@ function ToolbarActions({
|
|
|
2547
2547
|
}
|
|
2548
2548
|
) }),
|
|
2549
2549
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2550
|
-
|
|
2550
|
+
useTheme.DropdownMenuContent,
|
|
2551
2551
|
{
|
|
2552
2552
|
align: "end",
|
|
2553
2553
|
sideOffset: 4,
|
|
@@ -2572,17 +2572,17 @@ function ToolbarActions({
|
|
|
2572
2572
|
}
|
|
2573
2573
|
if (a.kind === "dropdown") {
|
|
2574
2574
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2575
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2575
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuLabel, { children: a.label }),
|
|
2576
2576
|
a.items.map((it, i) => /* @__PURE__ */ jsxRuntime.jsx(MenuItem, { item: it, idx: i }, i))
|
|
2577
2577
|
] }, a.id);
|
|
2578
2578
|
}
|
|
2579
2579
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-pad-md py-pad-sm", children: [
|
|
2580
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2580
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuLabel, { className: "px-0 pb-pad-sm", children: a.label }),
|
|
2581
2581
|
/* @__PURE__ */ jsxRuntime.jsx(ActionInput, { action: a, className: "w-full" })
|
|
2582
2582
|
] }, a.id);
|
|
2583
2583
|
}),
|
|
2584
2584
|
extraItems && extraItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2585
|
-
actions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2585
|
+
actions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {}),
|
|
2586
2586
|
extraItems.map((it, i) => /* @__PURE__ */ jsxRuntime.jsx(MenuItem, { item: it, idx: i }, `x${i}`))
|
|
2587
2587
|
] })
|
|
2588
2588
|
]
|
|
@@ -2624,7 +2624,7 @@ function BulkActionsBar({
|
|
|
2624
2624
|
{
|
|
2625
2625
|
role: "toolbar",
|
|
2626
2626
|
"aria-label": "Ações em massa",
|
|
2627
|
-
className:
|
|
2627
|
+
className: useTheme.cn(bulkBarRoot(), className),
|
|
2628
2628
|
children: [
|
|
2629
2629
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: bulkBarCount(), children: [
|
|
2630
2630
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { strokeWidth: 2.4 }),
|
|
@@ -2647,7 +2647,7 @@ function BulkActionButton({
|
|
|
2647
2647
|
}) {
|
|
2648
2648
|
const darkOverrides = variant === "danger" ? "border border-border-danger-muted" : "dark:bg-transparent dark:shadow-sh-none";
|
|
2649
2649
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2650
|
-
|
|
2650
|
+
useTheme.Button,
|
|
2651
2651
|
{
|
|
2652
2652
|
color: variant === "danger" ? "critical" : "primary",
|
|
2653
2653
|
variant: variant === "danger" ? "soft" : "outline",
|
|
@@ -2656,7 +2656,7 @@ function BulkActionButton({
|
|
|
2656
2656
|
iconLeft: icon,
|
|
2657
2657
|
onClick,
|
|
2658
2658
|
disabled,
|
|
2659
|
-
className:
|
|
2659
|
+
className: useTheme.cn(darkOverrides, className),
|
|
2660
2660
|
...rest,
|
|
2661
2661
|
children
|
|
2662
2662
|
}
|
|
@@ -2671,10 +2671,10 @@ function MoreMenu({
|
|
|
2671
2671
|
sideOffset = 6,
|
|
2672
2672
|
className
|
|
2673
2673
|
}) {
|
|
2674
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2675
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2674
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { open, onOpenChange, children: [
|
|
2675
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { asChild: true, children: trigger }),
|
|
2676
2676
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2677
|
-
|
|
2677
|
+
useTheme.DropdownMenuContent,
|
|
2678
2678
|
{
|
|
2679
2679
|
align,
|
|
2680
2680
|
sideOffset,
|
|
@@ -2764,7 +2764,7 @@ function ColsPanel({
|
|
|
2764
2764
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2765
2765
|
"div",
|
|
2766
2766
|
{
|
|
2767
|
-
className:
|
|
2767
|
+
className: useTheme.cn(
|
|
2768
2768
|
"flex-1 min-h-0 overflow-y-auto p-[6px] flex flex-col gap-[2px]",
|
|
2769
2769
|
"[scrollbar-width:thin] [scrollbar-color:var(--color-border-default)_transparent]",
|
|
2770
2770
|
"[&::-webkit-scrollbar]:w-[6px]",
|
|
@@ -2787,7 +2787,7 @@ function ColsPanel({
|
|
|
2787
2787
|
onDragOver: (e) => handleDragOver(e, index),
|
|
2788
2788
|
onDrop: (e) => handleDrop(e, index),
|
|
2789
2789
|
onDragEnd: handleDragEnd,
|
|
2790
|
-
className:
|
|
2790
|
+
className: useTheme.cn(
|
|
2791
2791
|
"group/row flex items-center gap-gp-lg px-pad-md py-[4px] rounded-radius-md",
|
|
2792
2792
|
"transition-[opacity,box-shadow] duration-150",
|
|
2793
2793
|
"hover:bg-bg-muted",
|
|
@@ -2834,7 +2834,7 @@ function ColsPanel({
|
|
|
2834
2834
|
"aria-pressed": isPinned,
|
|
2835
2835
|
"aria-label": typeof col.label === "string" ? isPinned ? `Desfixar ${col.label}` : `Fixar ${col.label}` : void 0,
|
|
2836
2836
|
title: isPinned ? "Desfixar coluna" : "Fixar coluna",
|
|
2837
|
-
className:
|
|
2837
|
+
className: useTheme.cn(
|
|
2838
2838
|
"grid place-items-center size-[28px] shrink-0",
|
|
2839
2839
|
"rounded-radius-md bg-transparent text-fg-muted",
|
|
2840
2840
|
"transition-[opacity,background-color,color] duration-150",
|
|
@@ -2883,13 +2883,13 @@ function ColsPopover({
|
|
|
2883
2883
|
className,
|
|
2884
2884
|
...panel
|
|
2885
2885
|
}) {
|
|
2886
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2887
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2886
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange, children: [
|
|
2887
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: trigger }),
|
|
2888
2888
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2889
|
-
|
|
2889
|
+
useTheme.PopoverContent,
|
|
2890
2890
|
{
|
|
2891
2891
|
align,
|
|
2892
|
-
className:
|
|
2892
|
+
className: useTheme.cn(
|
|
2893
2893
|
"w-[320px] max-w-[calc(100vw-32px)] max-h-[min(480px,calc(100vh-80px))] p-0 flex flex-col min-h-0 overflow-hidden",
|
|
2894
2894
|
className
|
|
2895
2895
|
),
|
|
@@ -2938,7 +2938,7 @@ function SortPanel({
|
|
|
2938
2938
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2939
2939
|
"div",
|
|
2940
2940
|
{
|
|
2941
|
-
className:
|
|
2941
|
+
className: useTheme.cn(
|
|
2942
2942
|
"flex-1 min-h-0 overflow-y-auto",
|
|
2943
2943
|
"[scrollbar-width:thin] [scrollbar-color:var(--color-border-default)_transparent]",
|
|
2944
2944
|
"[&::-webkit-scrollbar]:w-[6px]",
|
|
@@ -2960,7 +2960,7 @@ function SortPanel({
|
|
|
2960
2960
|
{
|
|
2961
2961
|
type: "button",
|
|
2962
2962
|
onClick: () => toggleDir(i),
|
|
2963
|
-
className:
|
|
2963
|
+
className: useTheme.cn(
|
|
2964
2964
|
"inline-flex items-center gap-gp-xs h-[22px] px-pad-md shrink-0",
|
|
2965
2965
|
"rounded-radius-sm bg-bg-muted text-fg-default text-caption-sm font-medium",
|
|
2966
2966
|
"outline-none cursor-pointer",
|
|
@@ -2980,7 +2980,7 @@ function SortPanel({
|
|
|
2980
2980
|
type: "button",
|
|
2981
2981
|
onClick: () => remove(i),
|
|
2982
2982
|
"aria-label": "Remover critério",
|
|
2983
|
-
className:
|
|
2983
|
+
className: useTheme.cn(
|
|
2984
2984
|
"grid place-items-center size-[22px] shrink-0",
|
|
2985
2985
|
"rounded-radius-sm bg-transparent text-fg-muted",
|
|
2986
2986
|
"outline-none cursor-pointer",
|
|
@@ -3007,7 +3007,7 @@ function SortPanel({
|
|
|
3007
3007
|
{
|
|
3008
3008
|
type: "button",
|
|
3009
3009
|
onClick: () => addSort(col.key),
|
|
3010
|
-
className:
|
|
3010
|
+
className: useTheme.cn(
|
|
3011
3011
|
"group/add flex items-center gap-gp-md w-full",
|
|
3012
3012
|
"px-pad-md py-pad-sm rounded-radius-md",
|
|
3013
3013
|
"bg-transparent border-0 cursor-pointer outline-none text-left",
|
|
@@ -3052,13 +3052,13 @@ function SortPopover({
|
|
|
3052
3052
|
className,
|
|
3053
3053
|
...panel
|
|
3054
3054
|
}) {
|
|
3055
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3056
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3055
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange, children: [
|
|
3056
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: trigger }),
|
|
3057
3057
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3058
|
-
|
|
3058
|
+
useTheme.PopoverContent,
|
|
3059
3059
|
{
|
|
3060
3060
|
align,
|
|
3061
|
-
className:
|
|
3061
|
+
className: useTheme.cn(
|
|
3062
3062
|
"w-[300px] max-w-[calc(100vw-32px)] max-h-[min(480px,calc(100vh-80px))] p-0 flex flex-col min-h-0 overflow-hidden",
|
|
3063
3063
|
className
|
|
3064
3064
|
),
|
|
@@ -3101,15 +3101,15 @@ function ViewsPopover({
|
|
|
3101
3101
|
return name.includes(q) || author.includes(q);
|
|
3102
3102
|
});
|
|
3103
3103
|
}, [views, tab2, search, myOwnerKey, hideTabs]);
|
|
3104
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3105
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3104
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange, children: [
|
|
3105
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: trigger }),
|
|
3106
3106
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3107
|
-
|
|
3107
|
+
useTheme.PopoverContent,
|
|
3108
3108
|
{
|
|
3109
3109
|
align,
|
|
3110
3110
|
role: "dialog",
|
|
3111
3111
|
"aria-label": "Visualizações",
|
|
3112
|
-
className:
|
|
3112
|
+
className: useTheme.cn(
|
|
3113
3113
|
"w-[280px] max-w-[calc(100vw-32px)] max-h-[min(480px,calc(100vh-80px))] p-0 flex flex-col min-h-0 overflow-hidden",
|
|
3114
3114
|
className
|
|
3115
3115
|
),
|
|
@@ -3127,7 +3127,7 @@ function ViewsPopover({
|
|
|
3127
3127
|
role: "tab",
|
|
3128
3128
|
"aria-selected": tab2 === "all",
|
|
3129
3129
|
onClick: () => setTab("all"),
|
|
3130
|
-
className:
|
|
3130
|
+
className: useTheme.cn(
|
|
3131
3131
|
"flex-1 h-form-sm px-pad-lg rounded-radius-sm",
|
|
3132
3132
|
"text-body-xs font-medium cursor-pointer outline-none focus-visible:shadow-sh-ring",
|
|
3133
3133
|
"transition-[background-color,color,box-shadow] duration-150",
|
|
@@ -3143,7 +3143,7 @@ function ViewsPopover({
|
|
|
3143
3143
|
role: "tab",
|
|
3144
3144
|
"aria-selected": tab2 === "mine",
|
|
3145
3145
|
onClick: () => setTab("mine"),
|
|
3146
|
-
className:
|
|
3146
|
+
className: useTheme.cn(
|
|
3147
3147
|
"flex-1 h-form-sm px-pad-lg rounded-radius-sm",
|
|
3148
3148
|
"text-body-xs font-medium cursor-pointer outline-none focus-visible:shadow-sh-ring",
|
|
3149
3149
|
"transition-[background-color,color,box-shadow] duration-150",
|
|
@@ -3180,7 +3180,7 @@ function ViewsPopover({
|
|
|
3180
3180
|
"div",
|
|
3181
3181
|
{
|
|
3182
3182
|
role: "list",
|
|
3183
|
-
className:
|
|
3183
|
+
className: useTheme.cn(
|
|
3184
3184
|
"flex-1 min-h-0 overflow-y-auto p-pad-md flex flex-col gap-[2px]",
|
|
3185
3185
|
"[scrollbar-width:thin] [scrollbar-color:var(--color-border-default)_transparent]",
|
|
3186
3186
|
"[&::-webkit-scrollbar]:w-[6px]",
|
|
@@ -3194,7 +3194,7 @@ function ViewsPopover({
|
|
|
3194
3194
|
"div",
|
|
3195
3195
|
{
|
|
3196
3196
|
role: "listitem",
|
|
3197
|
-
className:
|
|
3197
|
+
className: useTheme.cn(
|
|
3198
3198
|
"group/view flex items-stretch gap-[2px] rounded-radius-md",
|
|
3199
3199
|
isActive2 && "bg-bg-brand-subtle"
|
|
3200
3200
|
),
|
|
@@ -3204,7 +3204,7 @@ function ViewsPopover({
|
|
|
3204
3204
|
{
|
|
3205
3205
|
type: "button",
|
|
3206
3206
|
onClick: () => onApply?.(view),
|
|
3207
|
-
className:
|
|
3207
|
+
className: useTheme.cn(
|
|
3208
3208
|
"flex-1 flex items-center gap-gp-md min-w-0",
|
|
3209
3209
|
"px-pad-md py-pad-sm rounded-radius-md",
|
|
3210
3210
|
"bg-transparent border-0 cursor-pointer outline-none text-left",
|
|
@@ -3215,7 +3215,7 @@ function ViewsPopover({
|
|
|
3215
3215
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3216
3216
|
"span",
|
|
3217
3217
|
{
|
|
3218
|
-
className:
|
|
3218
|
+
className: useTheme.cn(
|
|
3219
3219
|
"flex-1 text-body-sm font-normal truncate",
|
|
3220
3220
|
isActive2 ? "font-semibold" : "font-medium"
|
|
3221
3221
|
),
|
|
@@ -3236,7 +3236,7 @@ function ViewsPopover({
|
|
|
3236
3236
|
onClick: () => onDelete(view.id),
|
|
3237
3237
|
"aria-label": typeof view.name === "string" ? `Excluir ${view.name}` : "Excluir",
|
|
3238
3238
|
title: "Excluir",
|
|
3239
|
-
className:
|
|
3239
|
+
className: useTheme.cn(
|
|
3240
3240
|
"grid place-items-center size-[28px] shrink-0 self-center",
|
|
3241
3241
|
"mr-pad-sm",
|
|
3242
3242
|
// respiro da borda direita (= sandbox)
|
|
@@ -3263,7 +3263,7 @@ function ViewsPopover({
|
|
|
3263
3263
|
{
|
|
3264
3264
|
type: "button",
|
|
3265
3265
|
onClick: onCreate,
|
|
3266
|
-
className:
|
|
3266
|
+
className: useTheme.cn(
|
|
3267
3267
|
"flex items-center justify-center gap-gp-sm w-full",
|
|
3268
3268
|
"h-form-md px-pad-xl rounded-radius-lg",
|
|
3269
3269
|
"bg-bg-surface dark:bg-bg-muted",
|
|
@@ -3287,7 +3287,7 @@ function ViewsPopover({
|
|
|
3287
3287
|
)
|
|
3288
3288
|
] });
|
|
3289
3289
|
}
|
|
3290
|
-
const dialog =
|
|
3290
|
+
const dialog = useTheme.tv({
|
|
3291
3291
|
base: [
|
|
3292
3292
|
// Override do DialogContent default (grid + p-pad-4xl + rounded-radius-base + shadow-sh-xl)
|
|
3293
3293
|
"!gap-0 !p-0",
|
|
@@ -3301,7 +3301,7 @@ const dialog = appShell.tv({
|
|
|
3301
3301
|
"flex flex-col overflow-hidden"
|
|
3302
3302
|
]
|
|
3303
3303
|
});
|
|
3304
|
-
const closeBtn =
|
|
3304
|
+
const closeBtn = useTheme.tv({
|
|
3305
3305
|
base: [
|
|
3306
3306
|
"absolute top-[14px] right-[14px] z-[1]",
|
|
3307
3307
|
"grid place-items-center size-[28px]",
|
|
@@ -3313,7 +3313,7 @@ const closeBtn = appShell.tv({
|
|
|
3313
3313
|
"dark:hover:bg-bg-muted-hover"
|
|
3314
3314
|
]
|
|
3315
3315
|
});
|
|
3316
|
-
const head =
|
|
3316
|
+
const head = useTheme.tv({
|
|
3317
3317
|
base: [
|
|
3318
3318
|
"flex items-center gap-[14px]",
|
|
3319
3319
|
// sandbox 14px (não tem na escala)
|
|
@@ -3322,7 +3322,7 @@ const head = appShell.tv({
|
|
|
3322
3322
|
"border-b border-border-default"
|
|
3323
3323
|
]
|
|
3324
3324
|
});
|
|
3325
|
-
const headIcon =
|
|
3325
|
+
const headIcon = useTheme.tv({
|
|
3326
3326
|
base: [
|
|
3327
3327
|
"shrink-0 grid place-items-center size-form-lg",
|
|
3328
3328
|
// 40×40 — sandbox
|
|
@@ -3331,7 +3331,7 @@ const headIcon = appShell.tv({
|
|
|
3331
3331
|
"dark:bg-bg-accent dark:border-border-subtle"
|
|
3332
3332
|
]
|
|
3333
3333
|
});
|
|
3334
|
-
const headTitleWrap =
|
|
3334
|
+
const headTitleWrap = useTheme.tv({
|
|
3335
3335
|
base: [
|
|
3336
3336
|
"flex-1 min-w-0",
|
|
3337
3337
|
// Reserva espaço pro X close do DialogContent (absolute right-4 / size ~24px)
|
|
@@ -3339,7 +3339,7 @@ const headTitleWrap = appShell.tv({
|
|
|
3339
3339
|
"pr-pad-3xl"
|
|
3340
3340
|
]
|
|
3341
3341
|
});
|
|
3342
|
-
const title =
|
|
3342
|
+
const title = useTheme.tv({
|
|
3343
3343
|
base: [
|
|
3344
3344
|
"m-0 mb-[2px]",
|
|
3345
3345
|
// leading-[1.3] balanceia o bloco verticalmente com o icon container 40px
|
|
@@ -3349,13 +3349,13 @@ const title = appShell.tv({
|
|
|
3349
3349
|
"tracking-[-0.01em]"
|
|
3350
3350
|
]
|
|
3351
3351
|
});
|
|
3352
|
-
const sub =
|
|
3352
|
+
const sub = useTheme.tv({
|
|
3353
3353
|
base: "m-0 text-body-xs font-normal text-fg-muted leading-[1.45]"
|
|
3354
3354
|
});
|
|
3355
|
-
const body =
|
|
3355
|
+
const body = useTheme.tv({
|
|
3356
3356
|
base: "flex flex-col gap-[18px] px-pad-4xl py-[22px]"
|
|
3357
3357
|
});
|
|
3358
|
-
const toggleRow =
|
|
3358
|
+
const toggleRow = useTheme.tv({
|
|
3359
3359
|
base: [
|
|
3360
3360
|
"flex items-center gap-gp-xl",
|
|
3361
3361
|
// 12px — sandbox
|
|
@@ -3371,7 +3371,7 @@ const toggleRow = appShell.tv({
|
|
|
3371
3371
|
}
|
|
3372
3372
|
}
|
|
3373
3373
|
});
|
|
3374
|
-
const toggleIcon =
|
|
3374
|
+
const toggleIcon = useTheme.tv({
|
|
3375
3375
|
base: [
|
|
3376
3376
|
"shrink-0 grid place-items-center size-form-md rounded-radius-lg",
|
|
3377
3377
|
// 36×36 / radius-lg=10px
|
|
@@ -3385,16 +3385,16 @@ const toggleIcon = appShell.tv({
|
|
|
3385
3385
|
}
|
|
3386
3386
|
}
|
|
3387
3387
|
});
|
|
3388
|
-
const toggleText =
|
|
3388
|
+
const toggleText = useTheme.tv({
|
|
3389
3389
|
base: "flex-1 min-w-0 flex flex-col gap-[3px]"
|
|
3390
3390
|
});
|
|
3391
|
-
const toggleLabel =
|
|
3391
|
+
const toggleLabel = useTheme.tv({
|
|
3392
3392
|
base: "text-body-md font-semibold text-fg-default leading-[1.3]"
|
|
3393
3393
|
});
|
|
3394
|
-
const toggleDesc =
|
|
3394
|
+
const toggleDesc = useTheme.tv({
|
|
3395
3395
|
base: "text-body-xs font-normal text-fg-muted leading-[1.45]"
|
|
3396
3396
|
});
|
|
3397
|
-
const foot =
|
|
3397
|
+
const foot = useTheme.tv({
|
|
3398
3398
|
base: [
|
|
3399
3399
|
"flex items-center justify-end gap-gp-lg",
|
|
3400
3400
|
// 10px — sandbox
|
|
@@ -3417,13 +3417,13 @@ function AddViewModal({ open, onClose, onSubmit }) {
|
|
|
3417
3417
|
await onSubmit?.({ name: trimmed, isPublic });
|
|
3418
3418
|
onClose();
|
|
3419
3419
|
};
|
|
3420
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3421
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3420
|
+
return /* @__PURE__ */ jsxRuntime.jsx(useTheme.Dialog, { open, onOpenChange: (o) => !o && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DialogContent, { className: dialog(), hideClose: true, children: [
|
|
3421
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogClose, { className: closeBtn(), "aria-label": "Fechar", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-icon-sm" }) }),
|
|
3422
3422
|
/* @__PURE__ */ jsxRuntime.jsxs("header", { className: head(), children: [
|
|
3423
3423
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: headIcon(), "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Eye, { className: "size-icon-md", strokeWidth: 1.7 }) }),
|
|
3424
3424
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: headTitleWrap(), children: [
|
|
3425
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3426
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3425
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogTitle, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: title(), children: "Adicionar nova visão" }) }),
|
|
3426
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogDescription, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: sub(), children: "Salve sua configuração atual de filtros e colunas" }) })
|
|
3427
3427
|
] })
|
|
3428
3428
|
] }),
|
|
3429
3429
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: body(), children: [
|
|
@@ -3454,7 +3454,7 @@ function AddViewModal({ open, onClose, onSubmit }) {
|
|
|
3454
3454
|
] }),
|
|
3455
3455
|
/* @__PURE__ */ jsxRuntime.jsxs("footer", { className: foot(), children: [
|
|
3456
3456
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3457
|
-
|
|
3457
|
+
useTheme.Button,
|
|
3458
3458
|
{
|
|
3459
3459
|
color: "secondary",
|
|
3460
3460
|
variant: "outline",
|
|
@@ -3464,7 +3464,7 @@ function AddViewModal({ open, onClose, onSubmit }) {
|
|
|
3464
3464
|
}
|
|
3465
3465
|
),
|
|
3466
3466
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3467
|
-
|
|
3467
|
+
useTheme.Button,
|
|
3468
3468
|
{
|
|
3469
3469
|
color: "primary",
|
|
3470
3470
|
variant: "filled",
|
|
@@ -3799,12 +3799,12 @@ function isFilterEntryActive(entry) {
|
|
|
3799
3799
|
}
|
|
3800
3800
|
return true;
|
|
3801
3801
|
}
|
|
3802
|
-
const FIELD_BASE =
|
|
3802
|
+
const FIELD_BASE = useTheme.cn(
|
|
3803
3803
|
"min-h-form-md h-form-md min-w-0 w-full",
|
|
3804
3804
|
"rounded-radius-md",
|
|
3805
3805
|
"text-body-sm font-normal"
|
|
3806
3806
|
);
|
|
3807
|
-
const INPUT_FIELD =
|
|
3807
|
+
const INPUT_FIELD = useTheme.cn(
|
|
3808
3808
|
FIELD_BASE,
|
|
3809
3809
|
"px-pad-xl",
|
|
3810
3810
|
"bg-bg-input dark:bg-bg-muted",
|
|
@@ -3845,7 +3845,7 @@ function FilterRowEditor({
|
|
|
3845
3845
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3846
3846
|
"div",
|
|
3847
3847
|
{
|
|
3848
|
-
className:
|
|
3848
|
+
className: useTheme.cn(
|
|
3849
3849
|
// Mobile: vertical (1 select por linha). sm+: horizontal alinhado.
|
|
3850
3850
|
"flex flex-col sm:flex-row sm:items-center gap-gp-md"
|
|
3851
3851
|
),
|
|
@@ -3864,7 +3864,7 @@ function FilterRowEditor({
|
|
|
3864
3864
|
const nextOp = opValid2 ? filter.op : newOperators[0]?.id ?? filter.op;
|
|
3865
3865
|
onChange({ ...filter, columnKey: v, op: nextOp, value: "" });
|
|
3866
3866
|
},
|
|
3867
|
-
className:
|
|
3867
|
+
className: useTheme.cn(FIELD_BASE, "px-pad-xl gap-gp-md"),
|
|
3868
3868
|
align: "start",
|
|
3869
3869
|
"aria-label": "Campo",
|
|
3870
3870
|
searchPlaceholder: "Buscar campo…",
|
|
@@ -3880,7 +3880,7 @@ function FilterRowEditor({
|
|
|
3880
3880
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3881
3881
|
SelectTrigger,
|
|
3882
3882
|
{
|
|
3883
|
-
className:
|
|
3883
|
+
className: useTheme.cn(FIELD_BASE, "px-pad-xl gap-gp-md"),
|
|
3884
3884
|
"aria-label": "Operador",
|
|
3885
3885
|
children: /* @__PURE__ */ jsxRuntime.jsx(SelectValue, {})
|
|
3886
3886
|
}
|
|
@@ -3898,7 +3898,7 @@ function FilterRowEditor({
|
|
|
3898
3898
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3899
3899
|
SelectTrigger,
|
|
3900
3900
|
{
|
|
3901
|
-
className:
|
|
3901
|
+
className: useTheme.cn(FIELD_BASE, "px-pad-xl gap-gp-md"),
|
|
3902
3902
|
"aria-label": "Valor",
|
|
3903
3903
|
children: /* @__PURE__ */ jsxRuntime.jsx(SelectValue, { placeholder: "Selecione…" })
|
|
3904
3904
|
}
|
|
@@ -3918,7 +3918,7 @@ function FilterRowEditor({
|
|
|
3918
3918
|
}
|
|
3919
3919
|
) }),
|
|
3920
3920
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3921
|
-
|
|
3921
|
+
useTheme.Button,
|
|
3922
3922
|
{
|
|
3923
3923
|
color: "secondary",
|
|
3924
3924
|
variant: "ghost",
|
|
@@ -4051,7 +4051,7 @@ function FilterPanel({
|
|
|
4051
4051
|
role: "tab",
|
|
4052
4052
|
"aria-selected": mode === "visual",
|
|
4053
4053
|
onClick: () => setMode("visual"),
|
|
4054
|
-
className:
|
|
4054
|
+
className: useTheme.cn(
|
|
4055
4055
|
"h-[30px] px-pad-lg rounded-radius-sm text-body-xs font-medium cursor-pointer outline-none focus-visible:shadow-sh-ring",
|
|
4056
4056
|
"transition-[background-color,color,box-shadow] duration-150",
|
|
4057
4057
|
mode === "visual" ? "bg-bg-accent text-fg-default font-semibold shadow-sh-sm" : "bg-transparent text-fg-muted hover:text-fg-default"
|
|
@@ -4066,7 +4066,7 @@ function FilterPanel({
|
|
|
4066
4066
|
role: "tab",
|
|
4067
4067
|
"aria-selected": mode === "advanced",
|
|
4068
4068
|
onClick: () => setMode("advanced"),
|
|
4069
|
-
className:
|
|
4069
|
+
className: useTheme.cn(
|
|
4070
4070
|
"h-[30px] px-pad-lg rounded-radius-sm text-body-xs font-medium cursor-pointer outline-none focus-visible:shadow-sh-ring",
|
|
4071
4071
|
"transition-[background-color,color,box-shadow] duration-150",
|
|
4072
4072
|
mode === "advanced" ? "bg-bg-accent text-fg-default font-semibold shadow-sh-sm" : "bg-transparent text-fg-muted hover:text-fg-default"
|
|
@@ -4093,7 +4093,7 @@ function FilterPanel({
|
|
|
4093
4093
|
{
|
|
4094
4094
|
type: "button",
|
|
4095
4095
|
onClick: addRow,
|
|
4096
|
-
className:
|
|
4096
|
+
className: useTheme.cn(
|
|
4097
4097
|
"inline-flex items-center gap-gp-sm h-form-md px-pad-2xl rounded-radius-lg",
|
|
4098
4098
|
"bg-bg-brand text-fg-on-brand",
|
|
4099
4099
|
"text-body-sm font-semibold cursor-pointer outline-none",
|
|
@@ -4111,7 +4111,7 @@ function FilterPanel({
|
|
|
4111
4111
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4112
4112
|
"div",
|
|
4113
4113
|
{
|
|
4114
|
-
className:
|
|
4114
|
+
className: useTheme.cn(
|
|
4115
4115
|
"flex-1 min-h-0 overflow-y-auto",
|
|
4116
4116
|
"[scrollbar-width:thin] [scrollbar-color:var(--color-border-default)_transparent]",
|
|
4117
4117
|
"[&::-webkit-scrollbar]:w-[6px]",
|
|
@@ -4145,7 +4145,7 @@ function FilterPanel({
|
|
|
4145
4145
|
{
|
|
4146
4146
|
type: "button",
|
|
4147
4147
|
onClick: addRow,
|
|
4148
|
-
className:
|
|
4148
|
+
className: useTheme.cn(
|
|
4149
4149
|
"flex items-center justify-center gap-gp-sm w-full",
|
|
4150
4150
|
"min-h-form-md px-pad-xl rounded-radius-md",
|
|
4151
4151
|
"bg-transparent text-fg-muted",
|
|
@@ -4193,7 +4193,7 @@ function FilterPanel({
|
|
|
4193
4193
|
placeholder: `-- Ex:
|
|
4194
4194
|
status = "active"
|
|
4195
4195
|
AND value > 1000`,
|
|
4196
|
-
className:
|
|
4196
|
+
className: useTheme.cn(
|
|
4197
4197
|
"w-full px-pad-xl py-pad-md rounded-radius-md",
|
|
4198
4198
|
"bg-bg-input dark:bg-bg-muted",
|
|
4199
4199
|
"border",
|
|
@@ -4211,7 +4211,7 @@ AND value > 1000`,
|
|
|
4211
4211
|
{
|
|
4212
4212
|
type: "button",
|
|
4213
4213
|
onClick: applyAdvanced,
|
|
4214
|
-
className:
|
|
4214
|
+
className: useTheme.cn(
|
|
4215
4215
|
"self-end px-pad-xl h-form-md rounded-radius-md",
|
|
4216
4216
|
"bg-bg-brand text-fg-on-brand",
|
|
4217
4217
|
"text-body-xs font-semibold",
|
|
@@ -4229,7 +4229,7 @@ AND value > 1000`,
|
|
|
4229
4229
|
type: "button",
|
|
4230
4230
|
onClick: clearAll,
|
|
4231
4231
|
disabled: filters.length === 0,
|
|
4232
|
-
className:
|
|
4232
|
+
className: useTheme.cn(
|
|
4233
4233
|
"text-body-xs font-medium text-fg-brand bg-transparent border-0 p-0 cursor-pointer outline-none",
|
|
4234
4234
|
"hover:underline focus-visible:underline underline-offset-2",
|
|
4235
4235
|
"disabled:opacity-50 disabled:pointer-events-none disabled:no-underline"
|
|
@@ -4250,17 +4250,17 @@ function FilterPopover({
|
|
|
4250
4250
|
className,
|
|
4251
4251
|
...panel
|
|
4252
4252
|
}) {
|
|
4253
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4253
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange, children: [
|
|
4254
4254
|
anchor ? (
|
|
4255
4255
|
// Anchor mode: posiciona o popover mas NÃO dispara abertura — consumer
|
|
4256
4256
|
// controla via prop `open` externa (split button pattern).
|
|
4257
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4258
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
4257
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverAnchor, { asChild: true, children: anchor })
|
|
4258
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: trigger }),
|
|
4259
4259
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4260
|
-
|
|
4260
|
+
useTheme.PopoverContent,
|
|
4261
4261
|
{
|
|
4262
4262
|
align,
|
|
4263
|
-
className:
|
|
4263
|
+
className: useTheme.cn(
|
|
4264
4264
|
"w-[560px] max-w-[calc(100vw-32px)] max-h-[min(480px,calc(100vh-80px))] p-0 flex flex-col min-h-0 overflow-hidden",
|
|
4265
4265
|
className
|
|
4266
4266
|
),
|
|
@@ -4269,7 +4269,7 @@ function FilterPopover({
|
|
|
4269
4269
|
)
|
|
4270
4270
|
] });
|
|
4271
4271
|
}
|
|
4272
|
-
const MENU_ITEM =
|
|
4272
|
+
const MENU_ITEM = useTheme.cn(
|
|
4273
4273
|
"group/row relative flex items-center gap-pad-lg w-full",
|
|
4274
4274
|
"px-pad-lg py-pad-md rounded-radius-sm",
|
|
4275
4275
|
"bg-transparent border-0 cursor-pointer outline-none text-left",
|
|
@@ -4348,7 +4348,7 @@ function ToolbarSettingsMenu({
|
|
|
4348
4348
|
mobileViews.onSelect(item.id);
|
|
4349
4349
|
onBack();
|
|
4350
4350
|
},
|
|
4351
|
-
className:
|
|
4351
|
+
className: useTheme.cn(
|
|
4352
4352
|
MENU_ITEM,
|
|
4353
4353
|
isActive2 && "bg-bg-brand-subtle text-fg-brand [&_svg]:text-fg-brand hover:bg-bg-brand-subtle hover:text-fg-brand"
|
|
4354
4354
|
),
|
|
@@ -4365,13 +4365,13 @@ function ToolbarSettingsMenu({
|
|
|
4365
4365
|
}
|
|
4366
4366
|
const active = entries.find((e) => e.view === view);
|
|
4367
4367
|
const wide = view === "filter";
|
|
4368
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4369
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4368
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange: handleOpenChange, children: [
|
|
4369
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: trigger }),
|
|
4370
4370
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4371
|
-
|
|
4371
|
+
useTheme.PopoverContent,
|
|
4372
4372
|
{
|
|
4373
4373
|
align,
|
|
4374
|
-
className:
|
|
4374
|
+
className: useTheme.cn(
|
|
4375
4375
|
"w-[320px] max-w-[calc(100vw-32px)] max-h-[min(520px,calc(100vh-80px))] p-0 flex flex-col min-h-0 overflow-hidden",
|
|
4376
4376
|
wide && "md:w-[550px]",
|
|
4377
4377
|
className
|
|
@@ -4390,7 +4390,7 @@ function ToolbarSettingsMenu({
|
|
|
4390
4390
|
{
|
|
4391
4391
|
type: "button",
|
|
4392
4392
|
onClick: () => setView(e.view),
|
|
4393
|
-
className:
|
|
4393
|
+
className: useTheme.cn(MENU_ITEM, e.mobileOnly && "md:hidden"),
|
|
4394
4394
|
children: [
|
|
4395
4395
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { strokeWidth: 1.8 }),
|
|
4396
4396
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", children: e.label }),
|
|
@@ -4403,17 +4403,17 @@ function ToolbarSettingsMenu({
|
|
|
4403
4403
|
}),
|
|
4404
4404
|
mobileViewToggle && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "md:hidden flex flex-col", children: [
|
|
4405
4405
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: MENU_SEP }),
|
|
4406
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4406
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(MENU_LABEL, "pb-pad-lg"), children: viewToggleLabel }),
|
|
4407
4407
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: MENU_FIELD, children: mobileViewToggle })
|
|
4408
4408
|
] }),
|
|
4409
4409
|
mobileDisplayToggle && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "md:hidden flex flex-col", children: [
|
|
4410
4410
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: MENU_SEP }),
|
|
4411
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4411
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(MENU_LABEL, "pb-pad-lg"), children: mobileDisplayLabel }),
|
|
4412
4412
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: MENU_FIELD, children: mobileDisplayToggle })
|
|
4413
4413
|
] }),
|
|
4414
4414
|
density && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
4415
4415
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: MENU_SEP }),
|
|
4416
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
4416
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(MENU_LABEL, "pb-pad-lg"), children: densityLabel }),
|
|
4417
4417
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: MENU_FIELD, children: density })
|
|
4418
4418
|
] })
|
|
4419
4419
|
] })
|
|
@@ -4422,7 +4422,7 @@ function ToolbarSettingsMenu({
|
|
|
4422
4422
|
)
|
|
4423
4423
|
] });
|
|
4424
4424
|
}
|
|
4425
|
-
const floatingPanelStyles =
|
|
4425
|
+
const floatingPanelStyles = useTheme.tv({
|
|
4426
4426
|
slots: {
|
|
4427
4427
|
root: [
|
|
4428
4428
|
"fixed z-50 flex flex-col overflow-hidden",
|
|
@@ -4649,7 +4649,7 @@ function FloatingPanel({
|
|
|
4649
4649
|
"aria-labelledby": title2 ? titleId : void 0,
|
|
4650
4650
|
"aria-describedby": description ? descId : void 0,
|
|
4651
4651
|
style: maximized ? void 0 : { width: widthValue },
|
|
4652
|
-
className:
|
|
4652
|
+
className: useTheme.cn(s.root(), className),
|
|
4653
4653
|
children: [
|
|
4654
4654
|
resizable && !maximized && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4655
4655
|
"button",
|
|
@@ -4676,7 +4676,7 @@ function FloatingPanel({
|
|
|
4676
4676
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: s.headerActions(), children: [
|
|
4677
4677
|
headerActions,
|
|
4678
4678
|
maximizable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4679
|
-
|
|
4679
|
+
useTheme.Button,
|
|
4680
4680
|
{
|
|
4681
4681
|
type: "button",
|
|
4682
4682
|
variant: "soft",
|
|
@@ -4689,7 +4689,7 @@ function FloatingPanel({
|
|
|
4689
4689
|
}
|
|
4690
4690
|
),
|
|
4691
4691
|
!hideClose && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4692
|
-
|
|
4692
|
+
useTheme.Button,
|
|
4693
4693
|
{
|
|
4694
4694
|
type: "button",
|
|
4695
4695
|
variant: "soft",
|
|
@@ -4711,7 +4711,7 @@ function FloatingPanel({
|
|
|
4711
4711
|
document.body
|
|
4712
4712
|
);
|
|
4713
4713
|
}
|
|
4714
|
-
const partStyles =
|
|
4714
|
+
const partStyles = useTheme.tv({
|
|
4715
4715
|
slots: {
|
|
4716
4716
|
section: "border-b border-border-default last:border-b-0",
|
|
4717
4717
|
head: [
|
|
@@ -4754,7 +4754,7 @@ function FloatingPanelSection({
|
|
|
4754
4754
|
"aria-expanded": open,
|
|
4755
4755
|
children: [
|
|
4756
4756
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: title2 }),
|
|
4757
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className:
|
|
4757
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: useTheme.cn(s.chev(), open && "rotate-180") })
|
|
4758
4758
|
]
|
|
4759
4759
|
}
|
|
4760
4760
|
),
|
|
@@ -4803,7 +4803,7 @@ class ColumnTypeRegistry {
|
|
|
4803
4803
|
}
|
|
4804
4804
|
}
|
|
4805
4805
|
const columnTypeRegistry = new ColumnTypeRegistry();
|
|
4806
|
-
const FILTER_FIELD_CLASS =
|
|
4806
|
+
const FILTER_FIELD_CLASS = useTheme.cn(
|
|
4807
4807
|
// Box-model
|
|
4808
4808
|
"flex min-h-form-md h-form-md w-full items-center justify-between gap-gp-md",
|
|
4809
4809
|
"rounded-radius-md px-pad-xl",
|
|
@@ -4817,7 +4817,7 @@ const FILTER_FIELD_CLASS = appShell.cn(
|
|
|
4817
4817
|
"focus-visible:border-border-brand focus-visible:shadow-sh-ring",
|
|
4818
4818
|
"data-[state=open]:border-border-brand data-[state=open]:shadow-sh-ring"
|
|
4819
4819
|
);
|
|
4820
|
-
const FILTER_FIELD_SIZE =
|
|
4820
|
+
const FILTER_FIELD_SIZE = useTheme.cn(
|
|
4821
4821
|
"min-h-form-md h-form-md rounded-radius-md"
|
|
4822
4822
|
);
|
|
4823
4823
|
function FastSingleSelectList({
|
|
@@ -4836,7 +4836,7 @@ function FastSingleSelectList({
|
|
|
4836
4836
|
role: "option",
|
|
4837
4837
|
"aria-selected": isSel,
|
|
4838
4838
|
onClick: () => onSelect(opt.value),
|
|
4839
|
-
className:
|
|
4839
|
+
className: useTheme.cn(
|
|
4840
4840
|
"flex items-center gap-gp-md w-full px-pad-md py-pad-sm rounded-radius-md",
|
|
4841
4841
|
"text-body-md text-fg-default text-left cursor-pointer",
|
|
4842
4842
|
"hover:bg-bg-muted focus-visible:bg-bg-muted focus-visible:outline-none",
|
|
@@ -4846,7 +4846,7 @@ function FastSingleSelectList({
|
|
|
4846
4846
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4847
4847
|
lucideReact.Check,
|
|
4848
4848
|
{
|
|
4849
|
-
className:
|
|
4849
|
+
className: useTheme.cn(
|
|
4850
4850
|
"size-icon-sm shrink-0 text-fg-brand",
|
|
4851
4851
|
isSel ? "opacity-100" : "opacity-0"
|
|
4852
4852
|
),
|
|
@@ -5054,73 +5054,73 @@ function Calendar({
|
|
|
5054
5054
|
reactDayPicker.DayPicker,
|
|
5055
5055
|
{
|
|
5056
5056
|
showOutsideDays,
|
|
5057
|
-
className:
|
|
5057
|
+
className: useTheme.cn(
|
|
5058
5058
|
"group/calendar bg-transparent p-0 [--cell-size:2.5rem]",
|
|
5059
5059
|
className
|
|
5060
5060
|
),
|
|
5061
5061
|
captionLayout,
|
|
5062
5062
|
classNames: {
|
|
5063
|
-
root:
|
|
5064
|
-
months:
|
|
5065
|
-
month:
|
|
5066
|
-
nav:
|
|
5063
|
+
root: useTheme.cn("w-full", defaultClassNames.root),
|
|
5064
|
+
months: useTheme.cn("relative flex flex-col gap-gp-2xl sm:flex-row sm:gap-gp-4xl", defaultClassNames.months),
|
|
5065
|
+
month: useTheme.cn("flex w-full flex-col gap-gp-2xl", defaultClassNames.month),
|
|
5066
|
+
nav: useTheme.cn(
|
|
5067
5067
|
"absolute inset-x-0 top-0 flex w-full items-center justify-between",
|
|
5068
5068
|
defaultClassNames.nav
|
|
5069
5069
|
),
|
|
5070
|
-
button_previous:
|
|
5070
|
+
button_previous: useTheme.cn(
|
|
5071
5071
|
"inline-flex items-center justify-center size-[--cell-size] rounded-full text-fg-muted hover:bg-bg-muted transition-colors select-none aria-disabled:opacity-30",
|
|
5072
5072
|
defaultClassNames.button_previous
|
|
5073
5073
|
),
|
|
5074
|
-
button_next:
|
|
5074
|
+
button_next: useTheme.cn(
|
|
5075
5075
|
"inline-flex items-center justify-center size-[--cell-size] rounded-full text-fg-muted hover:bg-bg-muted transition-colors select-none aria-disabled:opacity-30",
|
|
5076
5076
|
defaultClassNames.button_next
|
|
5077
5077
|
),
|
|
5078
|
-
month_caption:
|
|
5078
|
+
month_caption: useTheme.cn(
|
|
5079
5079
|
"flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",
|
|
5080
5080
|
defaultClassNames.month_caption
|
|
5081
5081
|
),
|
|
5082
|
-
caption_label:
|
|
5082
|
+
caption_label: useTheme.cn(
|
|
5083
5083
|
"text-body-md font-medium font-semibold select-none",
|
|
5084
5084
|
captionLayout === "dropdown" ? "hidden" : "",
|
|
5085
5085
|
defaultClassNames.caption_label
|
|
5086
5086
|
),
|
|
5087
|
-
dropdowns:
|
|
5087
|
+
dropdowns: useTheme.cn(
|
|
5088
5088
|
"flex items-center gap-gp-md",
|
|
5089
5089
|
defaultClassNames.dropdowns
|
|
5090
5090
|
),
|
|
5091
|
-
dropdown:
|
|
5091
|
+
dropdown: useTheme.cn(
|
|
5092
5092
|
"cursor-pointer appearance-none bg-transparent text-body-md font-medium font-semibold text-fg-default outline-none",
|
|
5093
5093
|
defaultClassNames.dropdown
|
|
5094
5094
|
),
|
|
5095
|
-
months_dropdown:
|
|
5096
|
-
years_dropdown:
|
|
5095
|
+
months_dropdown: useTheme.cn("", defaultClassNames.months_dropdown),
|
|
5096
|
+
years_dropdown: useTheme.cn("", defaultClassNames.years_dropdown),
|
|
5097
5097
|
table: "w-full border-collapse",
|
|
5098
|
-
weekdays:
|
|
5099
|
-
weekday:
|
|
5098
|
+
weekdays: useTheme.cn("flex", defaultClassNames.weekdays),
|
|
5099
|
+
weekday: useTheme.cn(
|
|
5100
5100
|
"flex-1 min-w-8 max-w-12 text-body-sm font-normal text-fg-muted select-none text-center",
|
|
5101
5101
|
defaultClassNames.weekday
|
|
5102
5102
|
),
|
|
5103
|
-
week:
|
|
5104
|
-
day:
|
|
5103
|
+
week: useTheme.cn("mt-gp-md flex w-full", defaultClassNames.week),
|
|
5104
|
+
day: useTheme.cn(
|
|
5105
5105
|
// flex-1: cada dia ocupa 1/7 igual ao header de weekdays (que usa flex-1).
|
|
5106
5106
|
// Sem isso o dia dimensionava por aspect-square e desalinhava das colunas.
|
|
5107
5107
|
"group/day relative flex-1 aspect-square min-w-8 max-w-12 p-0 text-center select-none",
|
|
5108
5108
|
defaultClassNames.day
|
|
5109
5109
|
),
|
|
5110
|
-
range_start:
|
|
5111
|
-
range_end:
|
|
5112
|
-
range_middle:
|
|
5113
|
-
today:
|
|
5114
|
-
outside:
|
|
5110
|
+
range_start: useTheme.cn("rounded-l-full", defaultClassNames.range_start),
|
|
5111
|
+
range_end: useTheme.cn("rounded-r-full", defaultClassNames.range_end),
|
|
5112
|
+
range_middle: useTheme.cn("", defaultClassNames.range_middle),
|
|
5113
|
+
today: useTheme.cn("", defaultClassNames.today),
|
|
5114
|
+
outside: useTheme.cn(
|
|
5115
5115
|
"text-fg-subtle opacity-40",
|
|
5116
5116
|
defaultClassNames.outside
|
|
5117
5117
|
),
|
|
5118
|
-
disabled:
|
|
5119
|
-
hidden:
|
|
5118
|
+
disabled: useTheme.cn("text-fg-disabled opacity-50", defaultClassNames.disabled),
|
|
5119
|
+
hidden: useTheme.cn("invisible", defaultClassNames.hidden),
|
|
5120
5120
|
...classNames
|
|
5121
5121
|
},
|
|
5122
5122
|
components: {
|
|
5123
|
-
Root: ({ className: rootCn, rootRef, ...rootProps }) => /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "calendar", ref: rootRef, className:
|
|
5123
|
+
Root: ({ className: rootCn, rootRef, ...rootProps }) => /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "calendar", ref: rootRef, className: useTheme.cn(rootCn), ...rootProps }),
|
|
5124
5124
|
Chevron: ({ orientation }) => {
|
|
5125
5125
|
if (orientation === "left") return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeftIcon, { className: "size-4" });
|
|
5126
5126
|
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { className: "size-4" });
|
|
@@ -5155,7 +5155,7 @@ function CalendarDayButton({
|
|
|
5155
5155
|
"data-range-start": isRangeStart || void 0,
|
|
5156
5156
|
"data-range-end": isRangeEnd || void 0,
|
|
5157
5157
|
"data-range-middle": isRangeMiddle || void 0,
|
|
5158
|
-
className:
|
|
5158
|
+
className: useTheme.cn(
|
|
5159
5159
|
"relative flex aspect-square w-full items-center justify-center text-body-md font-normal leading-none outline-none transition-colors",
|
|
5160
5160
|
// Default shape
|
|
5161
5161
|
"rounded-full",
|
|
@@ -5217,12 +5217,12 @@ const DateColumnType = {
|
|
|
5217
5217
|
}
|
|
5218
5218
|
return formatShort$1(value);
|
|
5219
5219
|
})();
|
|
5220
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5221
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5220
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { children: [
|
|
5221
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: FILTER_FIELD_CLASS, children: [
|
|
5222
5222
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: displayValue ? "truncate" : "text-fg-muted opacity-70 truncate", children: displayValue || (isRange ? "Selecione período" : "Selecione data") }),
|
|
5223
5223
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "size-icon-xs text-fg-muted shrink-0" })
|
|
5224
5224
|
] }) }),
|
|
5225
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5225
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverContent, { align: "start", className: "p-pad-md w-auto", children: isRange ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5226
5226
|
Calendar,
|
|
5227
5227
|
{
|
|
5228
5228
|
mode: "range",
|
|
@@ -5392,7 +5392,7 @@ function MultiSelectDropdown({
|
|
|
5392
5392
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5393
5393
|
"label",
|
|
5394
5394
|
{
|
|
5395
|
-
className:
|
|
5395
|
+
className: useTheme.cn(
|
|
5396
5396
|
"flex items-center gap-gp-md w-full",
|
|
5397
5397
|
"px-pad-md py-pad-sm rounded-radius-md",
|
|
5398
5398
|
"text-body-md text-fg-default text-left cursor-pointer",
|
|
@@ -5425,13 +5425,13 @@ function MultiSelectFieldDropdown(props) {
|
|
|
5425
5425
|
return opt?.label ?? String(v);
|
|
5426
5426
|
});
|
|
5427
5427
|
const display = labels.length === 0 ? "" : labels.length <= 2 ? labels.join(", ") : `${labels.length} selecionados`;
|
|
5428
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5429
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5428
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { children: [
|
|
5429
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: FILTER_FIELD_CLASS, children: [
|
|
5430
5430
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: display ? "truncate" : "text-fg-muted opacity-70 truncate", children: display || "Selecione..." }),
|
|
5431
5431
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-icon-xs text-fg-muted shrink-0" })
|
|
5432
5432
|
] }) }),
|
|
5433
5433
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5434
|
-
|
|
5434
|
+
useTheme.PopoverContent,
|
|
5435
5435
|
{
|
|
5436
5436
|
align: "start",
|
|
5437
5437
|
mobileSheet: false,
|
|
@@ -6090,9 +6090,9 @@ const BadgeColumnType = {
|
|
|
6090
6090
|
const opt = findOption(value, options);
|
|
6091
6091
|
if (!opt) {
|
|
6092
6092
|
if (value == null) return null;
|
|
6093
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6093
|
+
return /* @__PURE__ */ jsxRuntime.jsx(useTheme.Chip, { size: "sm", children: String(value) });
|
|
6094
6094
|
}
|
|
6095
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6095
|
+
return /* @__PURE__ */ jsxRuntime.jsx(useTheme.Chip, { size: "sm", color: resolveChipColor(opt.color), children: opt.label });
|
|
6096
6096
|
},
|
|
6097
6097
|
formatValue: (v) => v == null ? "" : String(v),
|
|
6098
6098
|
defaultAlign: "left",
|
|
@@ -6125,12 +6125,12 @@ const TagsColumnType = {
|
|
|
6125
6125
|
return opt?.label ?? v;
|
|
6126
6126
|
});
|
|
6127
6127
|
const display = labels.length === 0 ? "" : labels.length <= 2 ? labels.join(", ") : `${labels.length} selecionados`;
|
|
6128
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6129
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6128
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { children: [
|
|
6129
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: FILTER_FIELD_CLASS, children: [
|
|
6130
6130
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: display ? "truncate" : "text-fg-muted opacity-70 truncate", children: display || "Selecione tags..." }),
|
|
6131
6131
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-icon-xs text-fg-muted shrink-0" })
|
|
6132
6132
|
] }) }),
|
|
6133
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6133
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverContent, { align: "start", className: "p-0 w-[var(--radix-popover-trigger-width)] min-w-[200px]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-gp-2xs p-pad-md max-h-[240px] overflow-auto", children: (options ?? []).map((o) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6134
6134
|
"label",
|
|
6135
6135
|
{
|
|
6136
6136
|
className: "flex items-center gap-gp-md p-pad-xs rounded-radius-sm hover:bg-bg-muted cursor-pointer",
|
|
@@ -6197,7 +6197,7 @@ const TagsColumnType = {
|
|
|
6197
6197
|
if (arr.length === 0) return null;
|
|
6198
6198
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center flex-wrap gap-gp-2xs", children: arr.map((v) => {
|
|
6199
6199
|
const opt = findOption(v, options);
|
|
6200
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6200
|
+
return /* @__PURE__ */ jsxRuntime.jsx(useTheme.Chip, { size: "sm", color: resolveChipColor(opt?.color), children: opt?.label ?? v }, v);
|
|
6201
6201
|
}) });
|
|
6202
6202
|
},
|
|
6203
6203
|
formatValue: (v) => toStringArray(v).join(", "),
|
|
@@ -6251,12 +6251,12 @@ const DatetimeColumnType = {
|
|
|
6251
6251
|
}
|
|
6252
6252
|
return formatShort(value);
|
|
6253
6253
|
})();
|
|
6254
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6255
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6254
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { children: [
|
|
6255
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: FILTER_FIELD_CLASS, children: [
|
|
6256
6256
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: displayValue ? "truncate" : "text-fg-muted opacity-70 truncate", children: displayValue || (isRange ? "Selecione período" : "Selecione data") }),
|
|
6257
6257
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CalendarClock, { className: "size-icon-xs text-fg-muted shrink-0" })
|
|
6258
6258
|
] }) }),
|
|
6259
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6259
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverContent, { align: "start", className: "p-pad-md w-auto", children: isRange ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6260
6260
|
Calendar,
|
|
6261
6261
|
{
|
|
6262
6262
|
mode: "range",
|
|
@@ -6479,7 +6479,7 @@ function ToolbarSimpleFilterDrawer({
|
|
|
6479
6479
|
titleIcon: lucideReact.SlidersHorizontal,
|
|
6480
6480
|
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-full", children: [
|
|
6481
6481
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6482
|
-
|
|
6482
|
+
useTheme.Button,
|
|
6483
6483
|
{
|
|
6484
6484
|
variant: "ghost",
|
|
6485
6485
|
color: "secondary",
|
|
@@ -6491,7 +6491,7 @@ function ToolbarSimpleFilterDrawer({
|
|
|
6491
6491
|
}
|
|
6492
6492
|
),
|
|
6493
6493
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6494
|
-
|
|
6494
|
+
useTheme.Button,
|
|
6495
6495
|
{
|
|
6496
6496
|
variant: "filled",
|
|
6497
6497
|
color: "primary",
|
|
@@ -6539,7 +6539,7 @@ const Pagination = ({
|
|
|
6539
6539
|
{
|
|
6540
6540
|
role: "navigation",
|
|
6541
6541
|
"aria-label": "Paginação",
|
|
6542
|
-
className:
|
|
6542
|
+
className: useTheme.cn("inline-flex items-center gap-gp-xs", className),
|
|
6543
6543
|
...props
|
|
6544
6544
|
}
|
|
6545
6545
|
);
|
|
@@ -6548,7 +6548,7 @@ const PaginationContent = React__namespace.forwardRef(({ className, ...props },
|
|
|
6548
6548
|
"ul",
|
|
6549
6549
|
{
|
|
6550
6550
|
ref: ref2,
|
|
6551
|
-
className:
|
|
6551
|
+
className: useTheme.cn(
|
|
6552
6552
|
"inline-flex items-center gap-[2px]",
|
|
6553
6553
|
"bg-bg-muted rounded-radius-lg p-[3px] mx-gp-sm h-form-md",
|
|
6554
6554
|
className
|
|
@@ -6557,7 +6557,7 @@ const PaginationContent = React__namespace.forwardRef(({ className, ...props },
|
|
|
6557
6557
|
}
|
|
6558
6558
|
));
|
|
6559
6559
|
PaginationContent.displayName = "PaginationContent";
|
|
6560
|
-
const PaginationItem = React__namespace.forwardRef(({ className, ...props }, ref2) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref: ref2, className:
|
|
6560
|
+
const PaginationItem = React__namespace.forwardRef(({ className, ...props }, ref2) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref: ref2, className: useTheme.cn("", className), ...props }));
|
|
6561
6561
|
PaginationItem.displayName = "PaginationItem";
|
|
6562
6562
|
const paginationLinkVariants = classVarianceAuthority.cva(
|
|
6563
6563
|
[
|
|
@@ -6584,7 +6584,7 @@ const PaginationLink = React__namespace.forwardRef(({ className, isActive: isAct
|
|
|
6584
6584
|
ref: ref2,
|
|
6585
6585
|
type,
|
|
6586
6586
|
"aria-current": isActive2 ? "page" : void 0,
|
|
6587
|
-
className:
|
|
6587
|
+
className: useTheme.cn(paginationLinkVariants({ isActive: isActive2 }), className),
|
|
6588
6588
|
...props
|
|
6589
6589
|
}
|
|
6590
6590
|
));
|
|
@@ -6606,7 +6606,7 @@ const PaginationPrevious = React__namespace.forwardRef(
|
|
|
6606
6606
|
ref: ref2,
|
|
6607
6607
|
type,
|
|
6608
6608
|
"aria-label": ariaLabel ?? "Página anterior",
|
|
6609
|
-
className:
|
|
6609
|
+
className: useTheme.cn(paginationNavVariants(), className),
|
|
6610
6610
|
...props,
|
|
6611
6611
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, {})
|
|
6612
6612
|
}
|
|
@@ -6620,7 +6620,7 @@ const PaginationNext = React__namespace.forwardRef(
|
|
|
6620
6620
|
ref: ref2,
|
|
6621
6621
|
type,
|
|
6622
6622
|
"aria-label": ariaLabel ?? "Próxima página",
|
|
6623
|
-
className:
|
|
6623
|
+
className: useTheme.cn(paginationNavVariants(), className),
|
|
6624
6624
|
...props,
|
|
6625
6625
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, {})
|
|
6626
6626
|
}
|
|
@@ -6634,7 +6634,7 @@ const PaginationFirst = React__namespace.forwardRef(
|
|
|
6634
6634
|
ref: ref2,
|
|
6635
6635
|
type,
|
|
6636
6636
|
"aria-label": ariaLabel ?? "Primeira página",
|
|
6637
|
-
className:
|
|
6637
|
+
className: useTheme.cn(paginationNavVariants(), className),
|
|
6638
6638
|
...props,
|
|
6639
6639
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsLeft, {})
|
|
6640
6640
|
}
|
|
@@ -6648,7 +6648,7 @@ const PaginationLast = React__namespace.forwardRef(
|
|
|
6648
6648
|
ref: ref2,
|
|
6649
6649
|
type,
|
|
6650
6650
|
"aria-label": ariaLabel ?? "Última página",
|
|
6651
|
-
className:
|
|
6651
|
+
className: useTheme.cn(paginationNavVariants(), className),
|
|
6652
6652
|
...props,
|
|
6653
6653
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsRight, {})
|
|
6654
6654
|
}
|
|
@@ -6662,7 +6662,7 @@ const PaginationEllipsis = ({
|
|
|
6662
6662
|
"span",
|
|
6663
6663
|
{
|
|
6664
6664
|
"aria-hidden": "true",
|
|
6665
|
-
className:
|
|
6665
|
+
className: useTheme.cn(
|
|
6666
6666
|
"inline-flex items-center justify-center min-w-[22px] h-[30px]",
|
|
6667
6667
|
"text-body-sm font-normal text-fg-muted tracking-wider select-none",
|
|
6668
6668
|
className
|
|
@@ -6709,7 +6709,7 @@ function FooterTable({
|
|
|
6709
6709
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6710
6710
|
"footer",
|
|
6711
6711
|
{
|
|
6712
|
-
className:
|
|
6712
|
+
className: useTheme.cn(
|
|
6713
6713
|
// Mobile: só a paginação, centralizada (o bloco esquerdo some).
|
|
6714
6714
|
"flex flex-col sm:flex-row max-sm:items-center sm:items-center sm:justify-between",
|
|
6715
6715
|
"gap-gp-2xl",
|
|
@@ -6814,7 +6814,7 @@ function FooterTableSkeleton({
|
|
|
6814
6814
|
{
|
|
6815
6815
|
"aria-busy": "true",
|
|
6816
6816
|
"aria-label": "Carregando paginação",
|
|
6817
|
-
className:
|
|
6817
|
+
className: useTheme.cn(
|
|
6818
6818
|
"flex flex-col sm:flex-row sm:items-center sm:justify-between",
|
|
6819
6819
|
"gap-gp-2xl",
|
|
6820
6820
|
className
|
|
@@ -6835,36 +6835,36 @@ function FooterTableSkeleton({
|
|
|
6835
6835
|
}
|
|
6836
6836
|
);
|
|
6837
6837
|
}
|
|
6838
|
-
const root =
|
|
6838
|
+
const root = useTheme.tv({
|
|
6839
6839
|
base: [
|
|
6840
6840
|
"flex flex-1 min-h-0 overflow-hidden"
|
|
6841
6841
|
// Sem moldura outer — kanban assume a área disponível
|
|
6842
6842
|
]
|
|
6843
6843
|
});
|
|
6844
|
-
const board =
|
|
6844
|
+
const board = useTheme.tv({
|
|
6845
6845
|
base: [
|
|
6846
6846
|
"flex flex-1 gap-gp-2xl p-0",
|
|
6847
6847
|
"overflow-x-auto overflow-y-hidden scrollbar-thin"
|
|
6848
6848
|
]
|
|
6849
6849
|
});
|
|
6850
|
-
const column =
|
|
6850
|
+
const column = useTheme.tv({
|
|
6851
6851
|
base: [
|
|
6852
6852
|
"flex flex-col w-[296px] shrink-0 max-h-full",
|
|
6853
6853
|
"bg-bg-muted rounded-radius-xl",
|
|
6854
6854
|
"overflow-hidden"
|
|
6855
6855
|
]
|
|
6856
6856
|
});
|
|
6857
|
-
const columnHead =
|
|
6857
|
+
const columnHead = useTheme.tv({
|
|
6858
6858
|
base: [
|
|
6859
6859
|
"flex items-center gap-gp-md",
|
|
6860
6860
|
"px-pad-xl pt-pad-xl pb-pad-sm",
|
|
6861
6861
|
"bg-transparent"
|
|
6862
6862
|
]
|
|
6863
6863
|
});
|
|
6864
|
-
const columnDot =
|
|
6864
|
+
const columnDot = useTheme.tv({
|
|
6865
6865
|
base: "size-[8px] rounded-radius-full shrink-0"
|
|
6866
6866
|
});
|
|
6867
|
-
const columnTitle =
|
|
6867
|
+
const columnTitle = useTheme.tv({
|
|
6868
6868
|
base: [
|
|
6869
6869
|
"m-0 text-body-md font-medium text-fg-default",
|
|
6870
6870
|
// Não expande (badge fica grudado à direita do título)
|
|
@@ -6872,7 +6872,7 @@ const columnTitle = appShell.tv({
|
|
|
6872
6872
|
"whitespace-nowrap overflow-hidden text-ellipsis"
|
|
6873
6873
|
]
|
|
6874
6874
|
});
|
|
6875
|
-
const columnCount =
|
|
6875
|
+
const columnCount = useTheme.tv({
|
|
6876
6876
|
base: [
|
|
6877
6877
|
"inline-flex items-center justify-center shrink-0",
|
|
6878
6878
|
"min-w-[20px] h-[20px] px-pad-sm",
|
|
@@ -6881,27 +6881,27 @@ const columnCount = appShell.tv({
|
|
|
6881
6881
|
"[font-variant-numeric:tabular-nums]"
|
|
6882
6882
|
]
|
|
6883
6883
|
});
|
|
6884
|
-
const columnActionsSpacer =
|
|
6884
|
+
const columnActionsSpacer = useTheme.tv({
|
|
6885
6885
|
base: "ml-auto inline-flex items-center gap-gp-2xs"
|
|
6886
6886
|
});
|
|
6887
|
-
const columnBody =
|
|
6887
|
+
const columnBody = useTheme.tv({
|
|
6888
6888
|
base: [
|
|
6889
6889
|
"flex flex-1 flex-col gap-gp-md min-h-0",
|
|
6890
6890
|
"px-pad-md pt-sp-xs pb-pad-md",
|
|
6891
6891
|
"overflow-y-auto overflow-x-hidden scrollbar-thin"
|
|
6892
6892
|
]
|
|
6893
6893
|
});
|
|
6894
|
-
const columnEmpty =
|
|
6894
|
+
const columnEmpty = useTheme.tv({
|
|
6895
6895
|
base: [
|
|
6896
6896
|
"flex flex-1 flex-col items-center justify-center gap-gp-sm",
|
|
6897
6897
|
"py-pad-3xl px-pad-xl",
|
|
6898
6898
|
"text-center text-body-sm font-normal text-fg-subtle"
|
|
6899
6899
|
]
|
|
6900
6900
|
});
|
|
6901
|
-
const columnEmptyIcon =
|
|
6901
|
+
const columnEmptyIcon = useTheme.tv({
|
|
6902
6902
|
base: "size-icon-md text-fg-subtle opacity-70"
|
|
6903
6903
|
});
|
|
6904
|
-
const columnAdd =
|
|
6904
|
+
const columnAdd = useTheme.tv({
|
|
6905
6905
|
base: [
|
|
6906
6906
|
"inline-flex items-center justify-center gap-gp-sm",
|
|
6907
6907
|
"mx-pad-md mb-pad-md mt-sp-2xs",
|
|
@@ -6914,7 +6914,7 @@ const columnAdd = appShell.tv({
|
|
|
6914
6914
|
"focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-brand"
|
|
6915
6915
|
]
|
|
6916
6916
|
});
|
|
6917
|
-
const card =
|
|
6917
|
+
const card = useTheme.tv({
|
|
6918
6918
|
base: [
|
|
6919
6919
|
"group/kanban-card",
|
|
6920
6920
|
"relative flex flex-col gap-gp-md",
|
|
@@ -6958,7 +6958,7 @@ const card = appShell.tv({
|
|
|
6958
6958
|
{ selected: true, reserveCheck: true, class: "!pl-[36px]" }
|
|
6959
6959
|
]
|
|
6960
6960
|
});
|
|
6961
|
-
const cardCheck =
|
|
6961
|
+
const cardCheck = useTheme.tv({
|
|
6962
6962
|
base: [
|
|
6963
6963
|
"absolute top-[18px] left-[12px] z-[1]",
|
|
6964
6964
|
"opacity-0 transition-opacity duration-150",
|
|
@@ -6969,7 +6969,7 @@ const cardCheck = appShell.tv({
|
|
|
6969
6969
|
selected: { true: "!opacity-100" }
|
|
6970
6970
|
}
|
|
6971
6971
|
});
|
|
6972
|
-
const cardMenuSlot =
|
|
6972
|
+
const cardMenuSlot = useTheme.tv({
|
|
6973
6973
|
base: [
|
|
6974
6974
|
"absolute top-[6px] right-[6px] z-[2]",
|
|
6975
6975
|
"opacity-0",
|
|
@@ -6978,53 +6978,53 @@ const cardMenuSlot = appShell.tv({
|
|
|
6978
6978
|
"group-focus-visible/kanban-card:opacity-100"
|
|
6979
6979
|
]
|
|
6980
6980
|
});
|
|
6981
|
-
const cardHead =
|
|
6981
|
+
const cardHead = useTheme.tv({
|
|
6982
6982
|
base: "flex items-center gap-gp-md pr-[28px]"
|
|
6983
6983
|
});
|
|
6984
|
-
const cardTitleWrap =
|
|
6984
|
+
const cardTitleWrap = useTheme.tv({
|
|
6985
6985
|
base: "flex-1 min-w-0 flex flex-col gap-gp-2xs"
|
|
6986
6986
|
});
|
|
6987
|
-
const cardTitle =
|
|
6987
|
+
const cardTitle = useTheme.tv({
|
|
6988
6988
|
base: [
|
|
6989
6989
|
"text-body-md font-medium text-fg-default leading-[1.3]",
|
|
6990
6990
|
"whitespace-nowrap overflow-hidden text-ellipsis"
|
|
6991
6991
|
]
|
|
6992
6992
|
});
|
|
6993
|
-
const cardSubtitle =
|
|
6993
|
+
const cardSubtitle = useTheme.tv({
|
|
6994
6994
|
base: "text-caption-sm text-fg-muted [font-variant-numeric:tabular-nums]"
|
|
6995
6995
|
});
|
|
6996
|
-
const cardDesc =
|
|
6996
|
+
const cardDesc = useTheme.tv({
|
|
6997
6997
|
base: [
|
|
6998
6998
|
"m-0 text-body-sm font-normal leading-[1.45] text-fg-muted",
|
|
6999
6999
|
"[display:-webkit-box] [-webkit-line-clamp:2] [-webkit-box-orient:vertical]",
|
|
7000
7000
|
"overflow-hidden"
|
|
7001
7001
|
]
|
|
7002
7002
|
});
|
|
7003
|
-
const cardMeta =
|
|
7003
|
+
const cardMeta = useTheme.tv({
|
|
7004
7004
|
base: "flex items-center justify-between gap-gp-md"
|
|
7005
7005
|
});
|
|
7006
|
-
const cardValue =
|
|
7006
|
+
const cardValue = useTheme.tv({
|
|
7007
7007
|
base: "text-body-sm font-semibold text-fg-default [font-variant-numeric:tabular-nums]"
|
|
7008
7008
|
});
|
|
7009
|
-
const cardFoot =
|
|
7009
|
+
const cardFoot = useTheme.tv({
|
|
7010
7010
|
base: [
|
|
7011
7011
|
"flex items-center justify-between gap-gp-md",
|
|
7012
7012
|
"pt-pad-md border-t border-border-subtle"
|
|
7013
7013
|
]
|
|
7014
7014
|
});
|
|
7015
|
-
const cardDragging =
|
|
7015
|
+
const cardDragging = useTheme.tv({
|
|
7016
7016
|
base: "opacity-40 cursor-grabbing"
|
|
7017
7017
|
});
|
|
7018
|
-
const columnDropTarget =
|
|
7018
|
+
const columnDropTarget = useTheme.tv({
|
|
7019
7019
|
base: "outline outline-2 outline-offset-[-2px] outline-border-brand bg-bg-brand-subtle/30 transition-[outline,background-color] duration-150"
|
|
7020
7020
|
});
|
|
7021
|
-
const columnDropInvalidDimmed =
|
|
7021
|
+
const columnDropInvalidDimmed = useTheme.tv({
|
|
7022
7022
|
base: "opacity-50 transition-opacity duration-200"
|
|
7023
7023
|
});
|
|
7024
|
-
const columnDropInvalidOver =
|
|
7024
|
+
const columnDropInvalidOver = useTheme.tv({
|
|
7025
7025
|
base: "cursor-not-allowed"
|
|
7026
7026
|
});
|
|
7027
|
-
const dropPlaceholder =
|
|
7027
|
+
const dropPlaceholder = useTheme.tv({
|
|
7028
7028
|
base: [
|
|
7029
7029
|
"h-[36px] flex items-center justify-center shrink-0",
|
|
7030
7030
|
"rounded-radius-md border border-dashed border-border-brand",
|
|
@@ -7182,7 +7182,7 @@ function Kanban({
|
|
|
7182
7182
|
col.id
|
|
7183
7183
|
);
|
|
7184
7184
|
}) });
|
|
7185
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
7185
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(root(), className), role: "region", "aria-label": "Quadro Kanban", children: enableDnD ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7186
7186
|
core.DndContext,
|
|
7187
7187
|
{
|
|
7188
7188
|
sensors,
|
|
@@ -7193,7 +7193,7 @@ function Kanban({
|
|
|
7193
7193
|
onDragCancel: handleDragCancel,
|
|
7194
7194
|
children: [
|
|
7195
7195
|
boardContent,
|
|
7196
|
-
/* @__PURE__ */ jsxRuntime.jsx(core.DragOverlay, { dropAnimation: null, children: activeCard && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
7196
|
+
/* @__PURE__ */ jsxRuntime.jsx(core.DragOverlay, { dropAnimation: null, children: activeCard && /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(card({ selected: false, open: false }), "rotate-2 opacity-90 shadow-sh-lg"), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7197
7197
|
KanbanCardContent,
|
|
7198
7198
|
{
|
|
7199
7199
|
card: activeCard,
|
|
@@ -7245,7 +7245,7 @@ function KanbanColumnInner({
|
|
|
7245
7245
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7246
7246
|
"section",
|
|
7247
7247
|
{
|
|
7248
|
-
className:
|
|
7248
|
+
className: useTheme.cn(
|
|
7249
7249
|
column(),
|
|
7250
7250
|
showInvalidDim && columnDropInvalidDimmed(),
|
|
7251
7251
|
showInvalidOver && columnDropInvalidOver(),
|
|
@@ -7266,7 +7266,7 @@ function KanbanColumnInner({
|
|
|
7266
7266
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: columnCount(), children: count }),
|
|
7267
7267
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: columnActionsSpacer(), children: [
|
|
7268
7268
|
onAddCard && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7269
|
-
|
|
7269
|
+
useTheme.Button,
|
|
7270
7270
|
{
|
|
7271
7271
|
variant: "ghost",
|
|
7272
7272
|
color: "secondary",
|
|
@@ -7341,7 +7341,7 @@ function renderColumnMenu({
|
|
|
7341
7341
|
}
|
|
7342
7342
|
if (onColumnMenu) {
|
|
7343
7343
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7344
|
-
|
|
7344
|
+
useTheme.Button,
|
|
7345
7345
|
{
|
|
7346
7346
|
variant: "ghost",
|
|
7347
7347
|
color: "secondary",
|
|
@@ -7401,7 +7401,7 @@ function KanbanCardOuter({
|
|
|
7401
7401
|
"article",
|
|
7402
7402
|
{
|
|
7403
7403
|
ref: enableDnD ? setNodeRef : void 0,
|
|
7404
|
-
className:
|
|
7404
|
+
className: useTheme.cn(
|
|
7405
7405
|
card({ selected, open, reserveCheck: showCheckbox }),
|
|
7406
7406
|
isBeingDragged && cardDragging(),
|
|
7407
7407
|
enableDnD && "cursor-grab active:cursor-grabbing"
|
|
@@ -7466,7 +7466,7 @@ function renderCardMenu({
|
|
|
7466
7466
|
}
|
|
7467
7467
|
if (onCardMenu) {
|
|
7468
7468
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cardMenuSlot(), onClick: handleStop, onPointerDown: handleStop, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7469
|
-
|
|
7469
|
+
useTheme.Button,
|
|
7470
7470
|
{
|
|
7471
7471
|
variant: "ghost",
|
|
7472
7472
|
color: "secondary",
|
|
@@ -7488,9 +7488,9 @@ function KanbanAutoMenu({
|
|
|
7488
7488
|
ariaLabel,
|
|
7489
7489
|
title: title2
|
|
7490
7490
|
}) {
|
|
7491
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7492
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7493
|
-
|
|
7491
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { children: [
|
|
7492
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7493
|
+
useTheme.Button,
|
|
7494
7494
|
{
|
|
7495
7495
|
variant: "ghost",
|
|
7496
7496
|
color: "secondary",
|
|
@@ -7500,12 +7500,12 @@ function KanbanAutoMenu({
|
|
|
7500
7500
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, {})
|
|
7501
7501
|
}
|
|
7502
7502
|
) }),
|
|
7503
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7503
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuContent, { align: "end", sideOffset: 4, children: items.map((item, idx) => {
|
|
7504
7504
|
if (item.separator) {
|
|
7505
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7505
|
+
return /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {}, `sep-${idx}`);
|
|
7506
7506
|
}
|
|
7507
7507
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7508
|
-
|
|
7508
|
+
useTheme.DropdownMenuItem,
|
|
7509
7509
|
{
|
|
7510
7510
|
variant: item.destructive ? "destructive" : "default",
|
|
7511
7511
|
disabled: item.disabled,
|
|
@@ -16278,7 +16278,7 @@ const ConnectedDroppable = connect(makeMapStateToProps, mapDispatchToProps, (sta
|
|
|
16278
16278
|
context: StoreContext,
|
|
16279
16279
|
areStatePropsEqual: isStrictEqual
|
|
16280
16280
|
})(Droppable);
|
|
16281
|
-
const listStyles =
|
|
16281
|
+
const listStyles = useTheme.tv({
|
|
16282
16282
|
slots: {
|
|
16283
16283
|
root: "flex flex-col",
|
|
16284
16284
|
/* grupos */
|
|
@@ -16392,7 +16392,7 @@ function ListItem({
|
|
|
16392
16392
|
ref: innerRef,
|
|
16393
16393
|
role: "article",
|
|
16394
16394
|
"aria-selected": state.selected || void 0,
|
|
16395
|
-
className:
|
|
16395
|
+
className: useTheme.cn(s.item(), className),
|
|
16396
16396
|
onClick: onClick ? handleClick : void 0,
|
|
16397
16397
|
...draggableProps,
|
|
16398
16398
|
children: [
|
|
@@ -16425,7 +16425,7 @@ function ListItem({
|
|
|
16425
16425
|
item.meta && item.meta.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: s.metaRow(), children: item.meta.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16426
16426
|
"div",
|
|
16427
16427
|
{
|
|
16428
|
-
className:
|
|
16428
|
+
className: useTheme.cn(s.metaCol(), m.align === "end" && "items-end text-right"),
|
|
16429
16429
|
children: [
|
|
16430
16430
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: s.metaLabel(), children: m.label }),
|
|
16431
16431
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: s.metaValue(), children: m.value })
|
|
@@ -16441,11 +16441,11 @@ function ListItem({
|
|
|
16441
16441
|
);
|
|
16442
16442
|
}
|
|
16443
16443
|
function ListAutoMenu({ items }) {
|
|
16444
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16445
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16446
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16447
|
-
(item, idx) => item.separator ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
16448
|
-
|
|
16444
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { children: [
|
|
16445
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(useTheme.Button, { variant: "ghost", color: "secondary", size: "icon-2xs", "aria-label": "Ações", title: "Ações", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, {}) }) }),
|
|
16446
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuContent, { align: "end", sideOffset: 4, children: items.map(
|
|
16447
|
+
(item, idx) => item.separator ? /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {}, `sep-${idx}`) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16448
|
+
useTheme.DropdownMenuItem,
|
|
16449
16449
|
{
|
|
16450
16450
|
variant: item.destructive ? "destructive" : "default",
|
|
16451
16451
|
disabled: item.disabled,
|
|
@@ -16542,7 +16542,7 @@ function StandardLayout({
|
|
|
16542
16542
|
{
|
|
16543
16543
|
ref: provided.innerRef,
|
|
16544
16544
|
...provided.droppableProps,
|
|
16545
|
-
className:
|
|
16545
|
+
className: useTheme.cn(s.root({ density }), snapshot.isDraggingOver && s.dropZoneActive()),
|
|
16546
16546
|
children: [
|
|
16547
16547
|
rows,
|
|
16548
16548
|
provided.placeholder
|
|
@@ -16590,7 +16590,7 @@ function GroupSection({
|
|
|
16590
16590
|
},
|
|
16591
16591
|
item.id
|
|
16592
16592
|
));
|
|
16593
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className:
|
|
16593
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: useTheme.cn(s.group(), groupSurface && s.groupPanel()), children: [
|
|
16594
16594
|
/* @__PURE__ */ jsxRuntime.jsxs("header", { className: s.groupHeader(), children: [
|
|
16595
16595
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16596
16596
|
"button",
|
|
@@ -16603,7 +16603,7 @@ function GroupSection({
|
|
|
16603
16603
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16604
16604
|
lucideReact.ChevronDown,
|
|
16605
16605
|
{
|
|
16606
|
-
className:
|
|
16606
|
+
className: useTheme.cn("size-[16px] transition-transform", !open && "-rotate-90")
|
|
16607
16607
|
}
|
|
16608
16608
|
)
|
|
16609
16609
|
}
|
|
@@ -16617,7 +16617,7 @@ function GroupSection({
|
|
|
16617
16617
|
{
|
|
16618
16618
|
ref: provided.innerRef,
|
|
16619
16619
|
...provided.droppableProps,
|
|
16620
|
-
className:
|
|
16620
|
+
className: useTheme.cn(
|
|
16621
16621
|
s.groupBody({ density }),
|
|
16622
16622
|
"min-h-[44px]",
|
|
16623
16623
|
snapshot.isDraggingOver && s.dropZoneActive()
|
|
@@ -16877,7 +16877,7 @@ function NestedTree({
|
|
|
16877
16877
|
isOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
16878
16878
|
"div",
|
|
16879
16879
|
{
|
|
16880
|
-
className:
|
|
16880
|
+
className: useTheme.cn(
|
|
16881
16881
|
"pl-pad-xl",
|
|
16882
16882
|
branchContainer(branchHighlight, node.id, trail, subtree)
|
|
16883
16883
|
),
|
|
@@ -16938,7 +16938,7 @@ function ExpandToggle({
|
|
|
16938
16938
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16939
16939
|
lucideReact.ChevronRight,
|
|
16940
16940
|
{
|
|
16941
|
-
className:
|
|
16941
|
+
className: useTheme.cn("size-[16px] transition-transform", open && "rotate-90")
|
|
16942
16942
|
}
|
|
16943
16943
|
)
|
|
16944
16944
|
}
|
|
@@ -17106,13 +17106,13 @@ function List({
|
|
|
17106
17106
|
[layout, onMove, onReorder]
|
|
17107
17107
|
);
|
|
17108
17108
|
if (loading) {
|
|
17109
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
17110
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
17111
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
17109
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(s.root({ density }), className), children: Array.from({ length: skeletonCount }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: s.skeleton(), children: [
|
|
17110
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(s.skeletonBar(), "w-1/3 mb-gp-md") }),
|
|
17111
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(s.skeletonBar(), "w-2/3") })
|
|
17112
17112
|
] }, i)) });
|
|
17113
17113
|
}
|
|
17114
17114
|
if (!items.length) {
|
|
17115
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
17115
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(s.root({ density }), className), children: emptyState ?? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: s.emptyState(), children: [
|
|
17116
17116
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Inbox, { className: "size-icon-md opacity-70", "aria-hidden": true }),
|
|
17117
17117
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Nada por aqui ainda." })
|
|
17118
17118
|
] }) });
|
|
@@ -17169,11 +17169,11 @@ function List({
|
|
|
17169
17169
|
}
|
|
17170
17170
|
);
|
|
17171
17171
|
if (!dndEnabled) {
|
|
17172
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
17172
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn("w-full", className), children: layoutEl });
|
|
17173
17173
|
}
|
|
17174
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
17174
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn("w-full", className), children: /* @__PURE__ */ jsxRuntime.jsx(DragDropContext, { onDragEnd: handleDragEnd, children: layoutEl }) });
|
|
17175
17175
|
}
|
|
17176
|
-
const dataTableStyles =
|
|
17176
|
+
const dataTableStyles = useTheme.tv({
|
|
17177
17177
|
slots: {
|
|
17178
17178
|
root: [
|
|
17179
17179
|
// 16px (gp-2xl) entre toolbar e tabela
|
|
@@ -19105,7 +19105,7 @@ function DataTableNoResults({
|
|
|
19105
19105
|
onClearFilters
|
|
19106
19106
|
} = {}) {
|
|
19107
19107
|
const resolvedAction = action ?? (onClearFilters ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
19108
|
-
|
|
19108
|
+
useTheme.Button,
|
|
19109
19109
|
{
|
|
19110
19110
|
size: "sm",
|
|
19111
19111
|
variant: "outline",
|
|
@@ -19156,9 +19156,9 @@ function DataTableColumnMenu({
|
|
|
19156
19156
|
const t = setTimeout(() => setKeepMounted(false), 200);
|
|
19157
19157
|
return () => clearTimeout(t);
|
|
19158
19158
|
}, [open, keepMounted]);
|
|
19159
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19160
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19161
|
-
|
|
19159
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { open, onOpenChange: setOpen, children: [
|
|
19160
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19161
|
+
useTheme.Button,
|
|
19162
19162
|
{
|
|
19163
19163
|
size: "icon-2xs",
|
|
19164
19164
|
variant: "ghost",
|
|
@@ -19171,9 +19171,9 @@ function DataTableColumnMenu({
|
|
|
19171
19171
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, {})
|
|
19172
19172
|
}
|
|
19173
19173
|
) }),
|
|
19174
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19174
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenuContent, { align: "end", onClick: (e) => e.stopPropagation(), children: [
|
|
19175
19175
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19176
|
-
|
|
19176
|
+
useTheme.DropdownMenuItem,
|
|
19177
19177
|
{
|
|
19178
19178
|
onClick: onSortAsc,
|
|
19179
19179
|
disabled: sortDirection === "asc",
|
|
@@ -19184,7 +19184,7 @@ function DataTableColumnMenu({
|
|
|
19184
19184
|
}
|
|
19185
19185
|
),
|
|
19186
19186
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19187
|
-
|
|
19187
|
+
useTheme.DropdownMenuItem,
|
|
19188
19188
|
{
|
|
19189
19189
|
onClick: onSortDesc,
|
|
19190
19190
|
disabled: sortDirection === "desc",
|
|
@@ -19194,34 +19194,34 @@ function DataTableColumnMenu({
|
|
|
19194
19194
|
]
|
|
19195
19195
|
}
|
|
19196
19196
|
),
|
|
19197
|
-
sortDirection !== null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19197
|
+
sortDirection !== null && /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenuItem, { onClick: onSortClear, children: [
|
|
19198
19198
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-icon-xs" }),
|
|
19199
19199
|
"Limpar ordenação"
|
|
19200
19200
|
] }),
|
|
19201
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19202
|
-
pinned !== "left" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19201
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {}),
|
|
19202
|
+
pinned !== "left" && /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenuItem, { onClick: onPinLeft, children: [
|
|
19203
19203
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.PinIcon, { className: "size-icon-xs" }),
|
|
19204
19204
|
"Fixar à esquerda"
|
|
19205
19205
|
] }),
|
|
19206
|
-
pinned !== "right" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19206
|
+
pinned !== "right" && /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenuItem, { onClick: onPinRight, children: [
|
|
19207
19207
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.PinIcon, { className: "size-icon-xs" }),
|
|
19208
19208
|
"Fixar à direita"
|
|
19209
19209
|
] }),
|
|
19210
|
-
pinned !== null && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19210
|
+
pinned !== null && /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenuItem, { onClick: onUnpin, children: [
|
|
19211
19211
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.PinOff, { className: "size-icon-xs" }),
|
|
19212
19212
|
"Remover fixação"
|
|
19213
19213
|
] }),
|
|
19214
19214
|
canHide && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19215
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19216
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19215
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {}),
|
|
19216
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenuItem, { onClick: onHide, children: [
|
|
19217
19217
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.EyeOff, { className: "size-icon-xs" }),
|
|
19218
19218
|
"Ocultar coluna"
|
|
19219
19219
|
] })
|
|
19220
19220
|
] }),
|
|
19221
19221
|
extraItems && extraItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19222
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19222
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {}),
|
|
19223
19223
|
extraItems.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19224
|
-
|
|
19224
|
+
useTheme.DropdownMenuItem,
|
|
19225
19225
|
{
|
|
19226
19226
|
onClick: item.onSelect,
|
|
19227
19227
|
disabled: item.disabled,
|
|
@@ -19254,7 +19254,7 @@ function DataTableActionsCell({
|
|
|
19254
19254
|
};
|
|
19255
19255
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-gp-2xs justify-end w-full", children: [
|
|
19256
19256
|
inlineActions.map((a) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19257
|
-
|
|
19257
|
+
useTheme.Button,
|
|
19258
19258
|
{
|
|
19259
19259
|
size: "icon-2xs",
|
|
19260
19260
|
variant: "ghost",
|
|
@@ -19270,9 +19270,9 @@ function DataTableActionsCell({
|
|
|
19270
19270
|
},
|
|
19271
19271
|
a.id
|
|
19272
19272
|
)),
|
|
19273
|
-
menuActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19274
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19275
|
-
|
|
19273
|
+
menuActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { children: [
|
|
19274
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19275
|
+
useTheme.Button,
|
|
19276
19276
|
{
|
|
19277
19277
|
size: "icon-2xs",
|
|
19278
19278
|
variant: "ghost",
|
|
@@ -19285,12 +19285,12 @@ function DataTableActionsCell({
|
|
|
19285
19285
|
}
|
|
19286
19286
|
) }),
|
|
19287
19287
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19288
|
-
|
|
19288
|
+
useTheme.DropdownMenuContent,
|
|
19289
19289
|
{
|
|
19290
19290
|
align: "end",
|
|
19291
19291
|
onClick: (e) => e.stopPropagation(),
|
|
19292
19292
|
children: menuActions.map((a) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19293
|
-
|
|
19293
|
+
useTheme.DropdownMenuItem,
|
|
19294
19294
|
{
|
|
19295
19295
|
onClick: () => a.onClick(row),
|
|
19296
19296
|
disabled: resolveDisabled(a),
|
|
@@ -19387,7 +19387,7 @@ function DataTableTotalizerRow({
|
|
|
19387
19387
|
"div",
|
|
19388
19388
|
{
|
|
19389
19389
|
role: "row",
|
|
19390
|
-
className:
|
|
19390
|
+
className: useTheme.cn(
|
|
19391
19391
|
"flex w-max min-w-full",
|
|
19392
19392
|
"sticky bottom-0 z-[8]",
|
|
19393
19393
|
"bg-bg-table-head border-t border-border-table",
|
|
@@ -19631,7 +19631,7 @@ function DataTableTreeToggle({
|
|
|
19631
19631
|
e.stopPropagation();
|
|
19632
19632
|
onToggle();
|
|
19633
19633
|
},
|
|
19634
|
-
className:
|
|
19634
|
+
className: useTheme.cn(
|
|
19635
19635
|
"shrink-0 flex items-center justify-center",
|
|
19636
19636
|
"size-icon-md rounded-radius-sm",
|
|
19637
19637
|
"text-fg-muted hover:text-fg-strong hover:bg-bg-muted",
|
|
@@ -19641,7 +19641,7 @@ function DataTableTreeToggle({
|
|
|
19641
19641
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19642
19642
|
lucideReact.ChevronRight,
|
|
19643
19643
|
{
|
|
19644
|
-
className:
|
|
19644
|
+
className: useTheme.cn(
|
|
19645
19645
|
"size-icon-sm transition-transform duration-150",
|
|
19646
19646
|
isExpanded && "rotate-90"
|
|
19647
19647
|
),
|
|
@@ -19663,7 +19663,7 @@ function DataTableTreeToggle({
|
|
|
19663
19663
|
}
|
|
19664
19664
|
);
|
|
19665
19665
|
}
|
|
19666
|
-
const cellAddonsStyles =
|
|
19666
|
+
const cellAddonsStyles = useTheme.tv({
|
|
19667
19667
|
slots: {
|
|
19668
19668
|
/** Wrapper raiz da célula com add-ons — `group` habilita reveal no hover. */
|
|
19669
19669
|
root: "group/cell-addon flex items-center gap-gp-xs w-full min-w-0",
|
|
@@ -19712,8 +19712,8 @@ function DataTableReadMoreCell({
|
|
|
19712
19712
|
}
|
|
19713
19713
|
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles$2.root(), children: [
|
|
19714
19714
|
truncateNode,
|
|
19715
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19716
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19715
|
+
/* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { children: [
|
|
19716
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19717
19717
|
"button",
|
|
19718
19718
|
{
|
|
19719
19719
|
type: "button",
|
|
@@ -19724,7 +19724,7 @@ function DataTableReadMoreCell({
|
|
|
19724
19724
|
}
|
|
19725
19725
|
) }),
|
|
19726
19726
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19727
|
-
|
|
19727
|
+
useTheme.PopoverContent,
|
|
19728
19728
|
{
|
|
19729
19729
|
align: "start",
|
|
19730
19730
|
className: "p-0",
|
|
@@ -19888,7 +19888,7 @@ function DataTableRowInner({
|
|
|
19888
19888
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19889
19889
|
lucideReact.ChevronRight,
|
|
19890
19890
|
{
|
|
19891
|
-
className:
|
|
19891
|
+
className: useTheme.cn(
|
|
19892
19892
|
"shrink-0 size-icon-sm text-fg-muted transition-transform duration-150",
|
|
19893
19893
|
expanded && "rotate-90"
|
|
19894
19894
|
),
|
|
@@ -19963,7 +19963,7 @@ function DataTableGroupHeaderRow({
|
|
|
19963
19963
|
"data-group-key": group.key,
|
|
19964
19964
|
"aria-expanded": group.isExpanded,
|
|
19965
19965
|
style: style2,
|
|
19966
|
-
className:
|
|
19966
|
+
className: useTheme.cn(
|
|
19967
19967
|
"flex w-full min-w-full",
|
|
19968
19968
|
"bg-bg-subtle",
|
|
19969
19969
|
"border-b border-border-table",
|
|
@@ -19994,7 +19994,7 @@ function DataTableGroupHeaderRow({
|
|
|
19994
19994
|
"data-group-key": group.key,
|
|
19995
19995
|
"aria-expanded": group.isExpanded,
|
|
19996
19996
|
style: style2,
|
|
19997
|
-
className:
|
|
19997
|
+
className: useTheme.cn(
|
|
19998
19998
|
"flex w-max min-w-full h-[42px]",
|
|
19999
19999
|
"bg-bg-subtle hover:bg-bg-muted",
|
|
20000
20000
|
"border-b border-border-table",
|
|
@@ -20022,7 +20022,7 @@ function DataTableGroupHeaderRow({
|
|
|
20022
20022
|
"div",
|
|
20023
20023
|
{
|
|
20024
20024
|
"data-field": field,
|
|
20025
|
-
className:
|
|
20025
|
+
className: useTheme.cn(
|
|
20026
20026
|
"shrink-0 flex items-center px-pad-2xl gap-gp-md",
|
|
20027
20027
|
"text-body-md font-medium text-fg-strong",
|
|
20028
20028
|
isPinned && "sticky z-[5] bg-bg-subtle"
|
|
@@ -20071,7 +20071,7 @@ function DataTableGroupContentRow({
|
|
|
20071
20071
|
"data-group-content": "true",
|
|
20072
20072
|
"data-group-key": group.key,
|
|
20073
20073
|
style: style2,
|
|
20074
|
-
className:
|
|
20074
|
+
className: useTheme.cn(
|
|
20075
20075
|
"flex w-full min-w-full",
|
|
20076
20076
|
"bg-bg-table",
|
|
20077
20077
|
"border-b border-border-table",
|
|
@@ -20154,7 +20154,7 @@ function DataTableRowExpansion({
|
|
|
20154
20154
|
role: "row",
|
|
20155
20155
|
"data-row-expansion": "true",
|
|
20156
20156
|
style: style2,
|
|
20157
|
-
className:
|
|
20157
|
+
className: useTheme.cn(
|
|
20158
20158
|
"flex w-full min-w-full",
|
|
20159
20159
|
"bg-bg-subtle",
|
|
20160
20160
|
"border-b border-border-table",
|
|
@@ -21319,7 +21319,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21319
21319
|
icon: isActions ? void 0 : col.icon ?? (col.type ? columnTypeRegistry.get(col.type).defaultIcon : void 0),
|
|
21320
21320
|
headMenu: !isActions ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
21321
21321
|
col.enableColumnFilter && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21322
|
-
|
|
21322
|
+
useTheme.Button,
|
|
21323
21323
|
{
|
|
21324
21324
|
size: "icon-2xs",
|
|
21325
21325
|
variant: "ghost",
|
|
@@ -21483,7 +21483,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21483
21483
|
);
|
|
21484
21484
|
const cardBp = props.cardBreakpoint ?? DEFAULT_CARD_BREAKPOINT;
|
|
21485
21485
|
const cardModeQuery = cardBp === false ? "(max-width: 0px)" : `(max-width: ${cardBp - 1}px)`;
|
|
21486
|
-
const isMobileViewport =
|
|
21486
|
+
const isMobileViewport = useTheme.useMediaQuery(cardModeQuery);
|
|
21487
21487
|
const cardPossible = isMobileViewport && cardBp !== false && !isKanban;
|
|
21488
21488
|
const [mobileDisplay, setMobileDisplay] = React.useState("table");
|
|
21489
21489
|
const isCardMode = cardPossible && mobileDisplay === "card";
|
|
@@ -21553,7 +21553,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21553
21553
|
return /* @__PURE__ */ jsxRuntime.jsx(DataTableProvider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21554
21554
|
"div",
|
|
21555
21555
|
{
|
|
21556
|
-
className:
|
|
21556
|
+
className: useTheme.cn(
|
|
21557
21557
|
dataTableStyles({ fullscreen: isFullscreen }).root(),
|
|
21558
21558
|
props.className
|
|
21559
21559
|
),
|
|
@@ -21769,7 +21769,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21769
21769
|
const isCsvDefault = fmt.id === "csv" && !fmt.onSelect;
|
|
21770
21770
|
if (!isCsvDefault) {
|
|
21771
21771
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21772
|
-
|
|
21772
|
+
useTheme.DropdownMenuItem,
|
|
21773
21773
|
{
|
|
21774
21774
|
onSelect: fmt.onSelect,
|
|
21775
21775
|
children: [
|
|
@@ -21781,7 +21781,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21781
21781
|
);
|
|
21782
21782
|
}
|
|
21783
21783
|
return isServerMode ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21784
|
-
|
|
21784
|
+
useTheme.DropdownMenuItem,
|
|
21785
21785
|
{
|
|
21786
21786
|
onSelect: () => exporter.exportCsv("all"),
|
|
21787
21787
|
children: [
|
|
@@ -21793,7 +21793,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21793
21793
|
fmt.id
|
|
21794
21794
|
) : /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "contents", children: [
|
|
21795
21795
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21796
|
-
|
|
21796
|
+
useTheme.DropdownMenuItem,
|
|
21797
21797
|
{
|
|
21798
21798
|
onSelect: () => exporter.exportCsv("all"),
|
|
21799
21799
|
children: [
|
|
@@ -21804,7 +21804,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21804
21804
|
}
|
|
21805
21805
|
),
|
|
21806
21806
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21807
|
-
|
|
21807
|
+
useTheme.DropdownMenuItem,
|
|
21808
21808
|
{
|
|
21809
21809
|
onSelect: () => exporter.exportCsv("filtered"),
|
|
21810
21810
|
children: [
|
|
@@ -21815,7 +21815,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21815
21815
|
}
|
|
21816
21816
|
),
|
|
21817
21817
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21818
|
-
|
|
21818
|
+
useTheme.DropdownMenuItem,
|
|
21819
21819
|
{
|
|
21820
21820
|
onSelect: () => exporter.exportCsv("selected"),
|
|
21821
21821
|
disabled: selection.selectedCount === 0,
|
|
@@ -21830,9 +21830,9 @@ function DataTableInternal(props, ref2) {
|
|
|
21830
21830
|
)
|
|
21831
21831
|
] }, fmt.id);
|
|
21832
21832
|
}),
|
|
21833
|
-
exportConfig && toolbarConfig.moreMenu?.items?.length ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21833
|
+
exportConfig && toolbarConfig.moreMenu?.items?.length ? /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {}) : null,
|
|
21834
21834
|
toolbarConfig.moreMenu?.items?.map((it) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21835
|
-
|
|
21835
|
+
useTheme.DropdownMenuItem,
|
|
21836
21836
|
{
|
|
21837
21837
|
onSelect: it.onSelect,
|
|
21838
21838
|
disabled: it.disabled,
|
|
@@ -21934,7 +21934,7 @@ function DataTableInternal(props, ref2) {
|
|
|
21934
21934
|
}
|
|
21935
21935
|
};
|
|
21936
21936
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21937
|
-
|
|
21937
|
+
useTheme.Popover,
|
|
21938
21938
|
{
|
|
21939
21939
|
open: isPendingOpen || openChipKey === f.id,
|
|
21940
21940
|
onOpenChange: (o) => {
|
|
@@ -21945,8 +21945,8 @@ function DataTableInternal(props, ref2) {
|
|
|
21945
21945
|
closeChip();
|
|
21946
21946
|
},
|
|
21947
21947
|
children: [
|
|
21948
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21949
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21948
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: defaultChip }),
|
|
21949
|
+
/* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverContent, { align: "start", className: "p-0", children: def.renderFastFilterInput({
|
|
21950
21950
|
value: currentValue,
|
|
21951
21951
|
onChange: (v) => updateGroupValue(group.key, v),
|
|
21952
21952
|
options,
|
|
@@ -22049,7 +22049,7 @@ function DataTableFloatingBulkBar({
|
|
|
22049
22049
|
] }),
|
|
22050
22050
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-gp-sm", children: actions }),
|
|
22051
22051
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22052
|
-
|
|
22052
|
+
useTheme.Button,
|
|
22053
22053
|
{
|
|
22054
22054
|
size: "icon-xs",
|
|
22055
22055
|
variant: "ghost",
|
|
@@ -22111,7 +22111,7 @@ const SheetPortal = SheetPrimitive__namespace.Portal;
|
|
|
22111
22111
|
const SheetOverlay = React__namespace.forwardRef(({ className, ...props }, ref2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
22112
22112
|
SheetPrimitive__namespace.Overlay,
|
|
22113
22113
|
{
|
|
22114
|
-
className:
|
|
22114
|
+
className: useTheme.cn(
|
|
22115
22115
|
"fixed inset-0 z-50 bg-overlay-scrim data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
22116
22116
|
className
|
|
22117
22117
|
),
|
|
@@ -22142,7 +22142,7 @@ const SheetContent = React__namespace.forwardRef(({ side = "right", className, c
|
|
|
22142
22142
|
SheetPrimitive__namespace.Content,
|
|
22143
22143
|
{
|
|
22144
22144
|
ref: ref2,
|
|
22145
|
-
className:
|
|
22145
|
+
className: useTheme.cn(sheetVariants({ side }), className),
|
|
22146
22146
|
...props,
|
|
22147
22147
|
children: [
|
|
22148
22148
|
children,
|
|
@@ -22159,7 +22159,7 @@ const SheetTitle = React__namespace.forwardRef(({ className, ...props }, ref2) =
|
|
|
22159
22159
|
SheetPrimitive__namespace.Title,
|
|
22160
22160
|
{
|
|
22161
22161
|
ref: ref2,
|
|
22162
|
-
className:
|
|
22162
|
+
className: useTheme.cn("text-body-lg font-medium font-semibold text-fg-default", className),
|
|
22163
22163
|
...props
|
|
22164
22164
|
}
|
|
22165
22165
|
));
|
|
@@ -22168,12 +22168,12 @@ const SheetDescription = React__namespace.forwardRef(({ className, ...props }, r
|
|
|
22168
22168
|
SheetPrimitive__namespace.Description,
|
|
22169
22169
|
{
|
|
22170
22170
|
ref: ref2,
|
|
22171
|
-
className:
|
|
22171
|
+
className: useTheme.cn("text-body-md text-fg-muted", className),
|
|
22172
22172
|
...props
|
|
22173
22173
|
}
|
|
22174
22174
|
));
|
|
22175
22175
|
SheetDescription.displayName = SheetPrimitive__namespace.Description.displayName;
|
|
22176
|
-
const panelContainer =
|
|
22176
|
+
const panelContainer = useTheme.tv({
|
|
22177
22177
|
base: [
|
|
22178
22178
|
"flex flex-col overflow-hidden",
|
|
22179
22179
|
"rounded-radius-xl border border-border-default",
|
|
@@ -22202,30 +22202,30 @@ const panelContainer = appShell.tv({
|
|
|
22202
22202
|
}
|
|
22203
22203
|
}
|
|
22204
22204
|
});
|
|
22205
|
-
const panelHeader =
|
|
22205
|
+
const panelHeader = useTheme.tv({
|
|
22206
22206
|
base: [
|
|
22207
22207
|
"flex items-center justify-between gap-gp-xl flex-none",
|
|
22208
22208
|
"px-[20px] py-[18px]",
|
|
22209
22209
|
"border-b border-border-default"
|
|
22210
22210
|
]
|
|
22211
22211
|
});
|
|
22212
|
-
const panelHeaderText =
|
|
22212
|
+
const panelHeaderText = useTheme.tv({
|
|
22213
22213
|
base: "flex flex-col gap-gp-2xs min-w-0"
|
|
22214
22214
|
});
|
|
22215
|
-
const panelTitle =
|
|
22215
|
+
const panelTitle = useTheme.tv({
|
|
22216
22216
|
base: [
|
|
22217
22217
|
"flex items-center gap-gp-md min-w-0",
|
|
22218
22218
|
"text-body-lg font-bold text-fg-default tracking-[-0.01em]",
|
|
22219
22219
|
"truncate"
|
|
22220
22220
|
]
|
|
22221
22221
|
});
|
|
22222
|
-
const panelTitleIcon =
|
|
22222
|
+
const panelTitleIcon = useTheme.tv({
|
|
22223
22223
|
base: "size-[18px] text-fg-brand shrink-0"
|
|
22224
22224
|
});
|
|
22225
|
-
const panelDescription =
|
|
22225
|
+
const panelDescription = useTheme.tv({
|
|
22226
22226
|
base: "text-body-md text-fg-muted"
|
|
22227
22227
|
});
|
|
22228
|
-
const panelClose =
|
|
22228
|
+
const panelClose = useTheme.tv({
|
|
22229
22229
|
base: [
|
|
22230
22230
|
"grid place-items-center shrink-0",
|
|
22231
22231
|
"w-form-sm h-form-sm rounded-radius-md",
|
|
@@ -22237,7 +22237,7 @@ const panelClose = appShell.tv({
|
|
|
22237
22237
|
"dark:hover:bg-bg-muted-hover"
|
|
22238
22238
|
]
|
|
22239
22239
|
});
|
|
22240
|
-
const panelBody =
|
|
22240
|
+
const panelBody = useTheme.tv({
|
|
22241
22241
|
base: [
|
|
22242
22242
|
// min-h-0 garante que o flex-1 encolha e o scroll ative (em vez de empurrar
|
|
22243
22243
|
// header/footer). Scroll automático independente de viewport.
|
|
@@ -22249,7 +22249,7 @@ const panelBody = appShell.tv({
|
|
|
22249
22249
|
"scrollbar-thin"
|
|
22250
22250
|
]
|
|
22251
22251
|
});
|
|
22252
|
-
const panelFooter =
|
|
22252
|
+
const panelFooter = useTheme.tv({
|
|
22253
22253
|
base: [
|
|
22254
22254
|
// Botões fluidos lado a lado; quebram pra empilhados quando não cabem.
|
|
22255
22255
|
"flex flex-wrap items-center gap-gp-md flex-none",
|
|
@@ -22265,7 +22265,7 @@ function PanelHeader({
|
|
|
22265
22265
|
hideClose,
|
|
22266
22266
|
className
|
|
22267
22267
|
}) {
|
|
22268
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("header", { className:
|
|
22268
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: useTheme.cn(panelHeader(), className), children: [
|
|
22269
22269
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: panelHeaderText(), children: [
|
|
22270
22270
|
title2 && /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("h2", { className: panelTitle(), children: [
|
|
22271
22271
|
TitleIcon && /* @__PURE__ */ jsxRuntime.jsx(TitleIcon, { className: panelTitleIcon(), strokeWidth: 1.8 }),
|
|
@@ -22277,10 +22277,10 @@ function PanelHeader({
|
|
|
22277
22277
|
] });
|
|
22278
22278
|
}
|
|
22279
22279
|
function PanelBody({ children, className }) {
|
|
22280
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
22280
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(panelBody(), className), children });
|
|
22281
22281
|
}
|
|
22282
22282
|
function PanelFooter({ children, className }) {
|
|
22283
|
-
return /* @__PURE__ */ jsxRuntime.jsx("footer", { className:
|
|
22283
|
+
return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: useTheme.cn(panelFooter(), className), children });
|
|
22284
22284
|
}
|
|
22285
22285
|
const SIZE_MAP = {
|
|
22286
22286
|
sm: "w-[320px]",
|
|
@@ -22302,7 +22302,7 @@ function slideAnimation(side) {
|
|
|
22302
22302
|
bottom: "md:data-[state=closed]:slide-out-to-bottom-12 md:data-[state=open]:slide-in-from-bottom-12"
|
|
22303
22303
|
}[side];
|
|
22304
22304
|
const mobile = "max-md:data-[state=closed]:slide-out-to-bottom-12 max-md:data-[state=open]:slide-in-from-bottom-12";
|
|
22305
|
-
return
|
|
22305
|
+
return useTheme.cn(
|
|
22306
22306
|
"ease-[cubic-bezier(0.4,0,0.2,1)]",
|
|
22307
22307
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
22308
22308
|
"data-[state=closed]:duration-[220ms] data-[state=open]:duration-[220ms]",
|
|
@@ -22334,7 +22334,7 @@ function Panel({
|
|
|
22334
22334
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
22335
22335
|
SheetPrimitive__namespace.Content,
|
|
22336
22336
|
{
|
|
22337
|
-
className:
|
|
22337
|
+
className: useTheme.cn(
|
|
22338
22338
|
"fixed z-50 bg-bg-surface dark:bg-bg-canvas text-fg-default shadow-sh-2xl",
|
|
22339
22339
|
sizeClass,
|
|
22340
22340
|
panelContainer({ side }),
|
|
@@ -22440,4 +22440,4 @@ exports.useColumnResize = useColumnResize;
|
|
|
22440
22440
|
exports.useColumnWidths = useColumnWidths;
|
|
22441
22441
|
exports.useDataTableContext = useDataTableContext;
|
|
22442
22442
|
exports.useFloatingPanelResize = useFloatingPanelResize;
|
|
22443
|
-
//# sourceMappingURL=panel-
|
|
22443
|
+
//# sourceMappingURL=panel-DlyaLunw.cjs.map
|