@polastack/design-system 0.1.18 → 0.1.20
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/index.js +156 -463
- package/dist/index.js.map +1 -1
- package/package.json +7 -3
- package/src/styles/base.css +150 -0
- package/src/styles/globals.css +13 -443
- package/src/styles/semantic.css +60 -0
- package/src/styles/tokens.css +235 -0
package/dist/index.js
CHANGED
|
@@ -700,7 +700,8 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
|
700
700
|
import * as React12 from "react";
|
|
701
701
|
import * as ToastPrimitive from "@radix-ui/react-toast";
|
|
702
702
|
import { cva as cva5 } from "class-variance-authority";
|
|
703
|
-
import {
|
|
703
|
+
import { X } from "lucide-react";
|
|
704
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
704
705
|
var ToastProvider = ToastPrimitive.Provider;
|
|
705
706
|
var ToastViewport = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
706
707
|
ToastPrimitive.Viewport,
|
|
@@ -761,24 +762,7 @@ var ToastClose = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
761
762
|
"toast-close": "",
|
|
762
763
|
"aria-label": "Close",
|
|
763
764
|
...props,
|
|
764
|
-
children: /* @__PURE__ */
|
|
765
|
-
"svg",
|
|
766
|
-
{
|
|
767
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
768
|
-
width: "16",
|
|
769
|
-
height: "16",
|
|
770
|
-
viewBox: "0 0 24 24",
|
|
771
|
-
fill: "none",
|
|
772
|
-
stroke: "currentColor",
|
|
773
|
-
strokeWidth: "2",
|
|
774
|
-
strokeLinecap: "round",
|
|
775
|
-
strokeLinejoin: "round",
|
|
776
|
-
children: [
|
|
777
|
-
/* @__PURE__ */ jsx11("path", { d: "M18 6 6 18" }),
|
|
778
|
-
/* @__PURE__ */ jsx11("path", { d: "m6 6 12 12" })
|
|
779
|
-
]
|
|
780
|
-
}
|
|
781
|
-
)
|
|
765
|
+
children: /* @__PURE__ */ jsx11(X, { className: "h-4 w-4" })
|
|
782
766
|
}
|
|
783
767
|
));
|
|
784
768
|
ToastClose.displayName = "ToastClose";
|
|
@@ -889,12 +873,12 @@ function useToast() {
|
|
|
889
873
|
}
|
|
890
874
|
|
|
891
875
|
// src/components/toast/toaster.tsx
|
|
892
|
-
import { jsx as jsx12, jsxs as
|
|
876
|
+
import { jsx as jsx12, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
893
877
|
function Toaster() {
|
|
894
878
|
const { toasts } = useToast();
|
|
895
|
-
return /* @__PURE__ */
|
|
896
|
-
toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */
|
|
897
|
-
/* @__PURE__ */
|
|
879
|
+
return /* @__PURE__ */ jsxs3(ToastProvider, { children: [
|
|
880
|
+
toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */ jsxs3(Toast, { ...props, children: [
|
|
881
|
+
/* @__PURE__ */ jsxs3("div", { className: "grid gap-1", children: [
|
|
898
882
|
title && /* @__PURE__ */ jsx12(ToastTitle, { children: title }),
|
|
899
883
|
description && /* @__PURE__ */ jsx12(ToastDescription, { children: description })
|
|
900
884
|
] }),
|
|
@@ -908,8 +892,8 @@ function Toaster() {
|
|
|
908
892
|
// src/components/label/label.tsx
|
|
909
893
|
import * as React14 from "react";
|
|
910
894
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
911
|
-
import { jsx as jsx13, jsxs as
|
|
912
|
-
var Label = React14.forwardRef(({ className, required, children, ...props }, ref) => /* @__PURE__ */
|
|
895
|
+
import { jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
896
|
+
var Label = React14.forwardRef(({ className, required, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
|
|
913
897
|
LabelPrimitive.Root,
|
|
914
898
|
{
|
|
915
899
|
ref,
|
|
@@ -992,6 +976,7 @@ Textarea.displayName = "Textarea";
|
|
|
992
976
|
// src/components/checkbox/checkbox.tsx
|
|
993
977
|
import * as React17 from "react";
|
|
994
978
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
979
|
+
import { Check, Minus } from "lucide-react";
|
|
995
980
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
996
981
|
var Checkbox = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
|
|
997
982
|
CheckboxPrimitive.Root,
|
|
@@ -1007,32 +992,7 @@ var Checkbox = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1007
992
|
className
|
|
1008
993
|
),
|
|
1009
994
|
...props,
|
|
1010
|
-
children: /* @__PURE__ */ jsx16(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center", children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx16(
|
|
1011
|
-
"svg",
|
|
1012
|
-
{
|
|
1013
|
-
width: "12",
|
|
1014
|
-
height: "12",
|
|
1015
|
-
viewBox: "0 0 24 24",
|
|
1016
|
-
fill: "none",
|
|
1017
|
-
stroke: "currentColor",
|
|
1018
|
-
strokeWidth: "3",
|
|
1019
|
-
strokeLinecap: "round",
|
|
1020
|
-
children: /* @__PURE__ */ jsx16("path", { d: "M5 12h14" })
|
|
1021
|
-
}
|
|
1022
|
-
) : /* @__PURE__ */ jsx16(
|
|
1023
|
-
"svg",
|
|
1024
|
-
{
|
|
1025
|
-
width: "12",
|
|
1026
|
-
height: "12",
|
|
1027
|
-
viewBox: "0 0 24 24",
|
|
1028
|
-
fill: "none",
|
|
1029
|
-
stroke: "currentColor",
|
|
1030
|
-
strokeWidth: "3",
|
|
1031
|
-
strokeLinecap: "round",
|
|
1032
|
-
strokeLinejoin: "round",
|
|
1033
|
-
children: /* @__PURE__ */ jsx16("polyline", { points: "20 6 9 17 4 12" })
|
|
1034
|
-
}
|
|
1035
|
-
) })
|
|
995
|
+
children: /* @__PURE__ */ jsx16(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center", children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx16(Minus, { className: "h-3 w-3", strokeWidth: 3 }) : /* @__PURE__ */ jsx16(Check, { className: "h-3 w-3", strokeWidth: 3 }) })
|
|
1036
996
|
}
|
|
1037
997
|
));
|
|
1038
998
|
Checkbox.displayName = "Checkbox";
|
|
@@ -1127,11 +1087,12 @@ Switch.displayName = "Switch";
|
|
|
1127
1087
|
// src/components/select/select.tsx
|
|
1128
1088
|
import * as React20 from "react";
|
|
1129
1089
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
1130
|
-
import {
|
|
1090
|
+
import { Check as Check2, ChevronDown } from "lucide-react";
|
|
1091
|
+
import { jsx as jsx19, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1131
1092
|
var Select = SelectPrimitive.Root;
|
|
1132
1093
|
var SelectGroup = SelectPrimitive.Group;
|
|
1133
1094
|
var SelectValue = SelectPrimitive.Value;
|
|
1134
|
-
var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1095
|
+
var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
|
|
1135
1096
|
SelectPrimitive.Trigger,
|
|
1136
1097
|
{
|
|
1137
1098
|
ref,
|
|
@@ -1147,21 +1108,7 @@ var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref)
|
|
|
1147
1108
|
...props,
|
|
1148
1109
|
children: [
|
|
1149
1110
|
children,
|
|
1150
|
-
/* @__PURE__ */ jsx19(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx19(
|
|
1151
|
-
"svg",
|
|
1152
|
-
{
|
|
1153
|
-
width: "16",
|
|
1154
|
-
height: "16",
|
|
1155
|
-
viewBox: "0 0 24 24",
|
|
1156
|
-
fill: "none",
|
|
1157
|
-
stroke: "currentColor",
|
|
1158
|
-
strokeWidth: "2",
|
|
1159
|
-
strokeLinecap: "round",
|
|
1160
|
-
strokeLinejoin: "round",
|
|
1161
|
-
className: "shrink-0 opacity-50",
|
|
1162
|
-
children: /* @__PURE__ */ jsx19("path", { d: "m6 9 6 6 6-6" })
|
|
1163
|
-
}
|
|
1164
|
-
) })
|
|
1111
|
+
/* @__PURE__ */ jsx19(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx19(ChevronDown, { className: "h-4 w-4 shrink-0 opacity-50" }) })
|
|
1165
1112
|
]
|
|
1166
1113
|
}
|
|
1167
1114
|
));
|
|
@@ -1193,7 +1140,7 @@ var SelectContent = React20.forwardRef(({ className, children, position = "poppe
|
|
|
1193
1140
|
}
|
|
1194
1141
|
) }));
|
|
1195
1142
|
SelectContent.displayName = "SelectContent";
|
|
1196
|
-
var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
1143
|
+
var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
|
|
1197
1144
|
SelectPrimitive.Item,
|
|
1198
1145
|
{
|
|
1199
1146
|
ref,
|
|
@@ -1205,20 +1152,7 @@ var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1205
1152
|
),
|
|
1206
1153
|
...props,
|
|
1207
1154
|
children: [
|
|
1208
|
-
/* @__PURE__ */ jsx19("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(
|
|
1209
|
-
"svg",
|
|
1210
|
-
{
|
|
1211
|
-
width: "14",
|
|
1212
|
-
height: "14",
|
|
1213
|
-
viewBox: "0 0 24 24",
|
|
1214
|
-
fill: "none",
|
|
1215
|
-
stroke: "currentColor",
|
|
1216
|
-
strokeWidth: "2",
|
|
1217
|
-
strokeLinecap: "round",
|
|
1218
|
-
strokeLinejoin: "round",
|
|
1219
|
-
children: /* @__PURE__ */ jsx19("polyline", { points: "20 6 9 17 4 12" })
|
|
1220
|
-
}
|
|
1221
|
-
) }) }),
|
|
1155
|
+
/* @__PURE__ */ jsx19("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(Check2, { className: "h-3.5 w-3.5" }) }) }),
|
|
1222
1156
|
/* @__PURE__ */ jsx19(SelectPrimitive.ItemText, { children })
|
|
1223
1157
|
]
|
|
1224
1158
|
}
|
|
@@ -1246,7 +1180,8 @@ SelectSeparator.displayName = "SelectSeparator";
|
|
|
1246
1180
|
// src/components/number-input/number-input.tsx
|
|
1247
1181
|
import * as React21 from "react";
|
|
1248
1182
|
import { cva as cva9 } from "class-variance-authority";
|
|
1249
|
-
import {
|
|
1183
|
+
import { ChevronUp, ChevronDown as ChevronDown2 } from "lucide-react";
|
|
1184
|
+
import { jsx as jsx20, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1250
1185
|
var numberInputVariants = cva9(
|
|
1251
1186
|
"flex w-full rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] text-[var(--color-on-surface)] transition-colors duration-fast focus-within:ring-2 focus-within:ring-[var(--color-ring)] focus-within:ring-offset-2 ring-offset-[var(--color-ring-offset)] aria-[invalid=true]:border-error-500 aria-[invalid=true]:focus-within:ring-error-500",
|
|
1252
1187
|
{
|
|
@@ -1344,7 +1279,7 @@ var NumberInput = React21.forwardRef(
|
|
|
1344
1279
|
decrement();
|
|
1345
1280
|
}
|
|
1346
1281
|
}
|
|
1347
|
-
return /* @__PURE__ */
|
|
1282
|
+
return /* @__PURE__ */ jsxs6(
|
|
1348
1283
|
"div",
|
|
1349
1284
|
{
|
|
1350
1285
|
className: cn(
|
|
@@ -1370,7 +1305,7 @@ var NumberInput = React21.forwardRef(
|
|
|
1370
1305
|
...props
|
|
1371
1306
|
}
|
|
1372
1307
|
),
|
|
1373
|
-
!readOnly && !disabled && /* @__PURE__ */
|
|
1308
|
+
!readOnly && !disabled && /* @__PURE__ */ jsxs6("div", { className: "flex flex-col border-l border-[var(--color-border-input)]", children: [
|
|
1374
1309
|
/* @__PURE__ */ jsx20(
|
|
1375
1310
|
"button",
|
|
1376
1311
|
{
|
|
@@ -1380,20 +1315,7 @@ var NumberInput = React21.forwardRef(
|
|
|
1380
1315
|
disabled: max != null && parseFloat(displayValue) >= max,
|
|
1381
1316
|
className: "flex flex-1 items-center justify-center px-1.5 text-[var(--color-on-surface-muted)] hover:bg-[var(--color-surface-muted)] disabled:opacity-30",
|
|
1382
1317
|
"aria-label": "Increment",
|
|
1383
|
-
children: /* @__PURE__ */ jsx20(
|
|
1384
|
-
"svg",
|
|
1385
|
-
{
|
|
1386
|
-
width: "10",
|
|
1387
|
-
height: "10",
|
|
1388
|
-
viewBox: "0 0 24 24",
|
|
1389
|
-
fill: "none",
|
|
1390
|
-
stroke: "currentColor",
|
|
1391
|
-
strokeWidth: "2.5",
|
|
1392
|
-
strokeLinecap: "round",
|
|
1393
|
-
strokeLinejoin: "round",
|
|
1394
|
-
children: /* @__PURE__ */ jsx20("path", { d: "m18 15-6-6-6 6" })
|
|
1395
|
-
}
|
|
1396
|
-
)
|
|
1318
|
+
children: /* @__PURE__ */ jsx20(ChevronUp, { className: "h-2.5 w-2.5", strokeWidth: 2.5 })
|
|
1397
1319
|
}
|
|
1398
1320
|
),
|
|
1399
1321
|
/* @__PURE__ */ jsx20(
|
|
@@ -1405,20 +1327,7 @@ var NumberInput = React21.forwardRef(
|
|
|
1405
1327
|
disabled: min != null && parseFloat(displayValue) <= min,
|
|
1406
1328
|
className: "flex flex-1 items-center justify-center border-t border-[var(--color-border-input)] px-1.5 text-[var(--color-on-surface-muted)] hover:bg-[var(--color-surface-muted)] disabled:opacity-30",
|
|
1407
1329
|
"aria-label": "Decrement",
|
|
1408
|
-
children: /* @__PURE__ */ jsx20(
|
|
1409
|
-
"svg",
|
|
1410
|
-
{
|
|
1411
|
-
width: "10",
|
|
1412
|
-
height: "10",
|
|
1413
|
-
viewBox: "0 0 24 24",
|
|
1414
|
-
fill: "none",
|
|
1415
|
-
stroke: "currentColor",
|
|
1416
|
-
strokeWidth: "2.5",
|
|
1417
|
-
strokeLinecap: "round",
|
|
1418
|
-
strokeLinejoin: "round",
|
|
1419
|
-
children: /* @__PURE__ */ jsx20("path", { d: "m6 9 6 6 6-6" })
|
|
1420
|
-
}
|
|
1421
|
-
)
|
|
1330
|
+
children: /* @__PURE__ */ jsx20(ChevronDown2, { className: "h-2.5 w-2.5", strokeWidth: 2.5 })
|
|
1422
1331
|
}
|
|
1423
1332
|
)
|
|
1424
1333
|
] })
|
|
@@ -1453,7 +1362,8 @@ DatePicker.displayName = "DatePicker";
|
|
|
1453
1362
|
import * as React23 from "react";
|
|
1454
1363
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1455
1364
|
import { Command } from "cmdk";
|
|
1456
|
-
import {
|
|
1365
|
+
import { Check as Check3, ChevronsUpDown } from "lucide-react";
|
|
1366
|
+
import { jsx as jsx22, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1457
1367
|
var Combobox = React23.forwardRef(
|
|
1458
1368
|
({
|
|
1459
1369
|
options,
|
|
@@ -1469,8 +1379,8 @@ var Combobox = React23.forwardRef(
|
|
|
1469
1379
|
const [open, setOpen] = React23.useState(false);
|
|
1470
1380
|
const [search, setSearch] = React23.useState("");
|
|
1471
1381
|
const selectedOption = options.find((o) => o.value === value);
|
|
1472
|
-
return /* @__PURE__ */
|
|
1473
|
-
/* @__PURE__ */
|
|
1382
|
+
return /* @__PURE__ */ jsxs7(PopoverPrimitive.Root, { open, onOpenChange: setOpen, children: [
|
|
1383
|
+
/* @__PURE__ */ jsxs7(
|
|
1474
1384
|
PopoverPrimitive.Trigger,
|
|
1475
1385
|
{
|
|
1476
1386
|
ref,
|
|
@@ -1488,24 +1398,7 @@ var Combobox = React23.forwardRef(
|
|
|
1488
1398
|
...props,
|
|
1489
1399
|
children: [
|
|
1490
1400
|
/* @__PURE__ */ jsx22("span", { className: cn(!selectedOption && "text-[var(--color-on-surface-muted)]"), children: selectedOption?.label ?? placeholder }),
|
|
1491
|
-
/* @__PURE__ */
|
|
1492
|
-
"svg",
|
|
1493
|
-
{
|
|
1494
|
-
width: "16",
|
|
1495
|
-
height: "16",
|
|
1496
|
-
viewBox: "0 0 24 24",
|
|
1497
|
-
fill: "none",
|
|
1498
|
-
stroke: "currentColor",
|
|
1499
|
-
strokeWidth: "2",
|
|
1500
|
-
strokeLinecap: "round",
|
|
1501
|
-
strokeLinejoin: "round",
|
|
1502
|
-
className: "shrink-0 opacity-50",
|
|
1503
|
-
children: [
|
|
1504
|
-
/* @__PURE__ */ jsx22("path", { d: "m7 15 5 5 5-5" }),
|
|
1505
|
-
/* @__PURE__ */ jsx22("path", { d: "m7 9 5-5 5 5" })
|
|
1506
|
-
]
|
|
1507
|
-
}
|
|
1508
|
-
)
|
|
1401
|
+
/* @__PURE__ */ jsx22(ChevronsUpDown, { className: "h-4 w-4 shrink-0 opacity-50" })
|
|
1509
1402
|
]
|
|
1510
1403
|
}
|
|
1511
1404
|
),
|
|
@@ -1515,7 +1408,7 @@ var Combobox = React23.forwardRef(
|
|
|
1515
1408
|
className: "z-popover w-[var(--radix-popover-trigger-width)] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-0 shadow-md animate-in fade-in-0 zoom-in-95",
|
|
1516
1409
|
sideOffset: 4,
|
|
1517
1410
|
align: "start",
|
|
1518
|
-
children: /* @__PURE__ */
|
|
1411
|
+
children: /* @__PURE__ */ jsxs7(Command, { shouldFilter: true, children: [
|
|
1519
1412
|
/* @__PURE__ */ jsx22(
|
|
1520
1413
|
Command.Input,
|
|
1521
1414
|
{
|
|
@@ -1525,9 +1418,9 @@ var Combobox = React23.forwardRef(
|
|
|
1525
1418
|
className: "flex h-9 w-full border-b border-[var(--color-border)] bg-transparent px-3 text-sm outline-none placeholder:text-[var(--color-on-surface-muted)]"
|
|
1526
1419
|
}
|
|
1527
1420
|
),
|
|
1528
|
-
/* @__PURE__ */
|
|
1421
|
+
/* @__PURE__ */ jsxs7(Command.List, { className: "max-h-60 overflow-auto p-1", children: [
|
|
1529
1422
|
/* @__PURE__ */ jsx22(Command.Empty, { className: "px-2 py-6 text-center text-sm text-[var(--color-on-surface-muted)]", children: emptyMessage }),
|
|
1530
|
-
options.map((option) => /* @__PURE__ */
|
|
1423
|
+
options.map((option) => /* @__PURE__ */ jsxs7(
|
|
1531
1424
|
Command.Item,
|
|
1532
1425
|
{
|
|
1533
1426
|
value: option.label,
|
|
@@ -1545,20 +1438,7 @@ var Combobox = React23.forwardRef(
|
|
|
1545
1438
|
"data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50"
|
|
1546
1439
|
),
|
|
1547
1440
|
children: [
|
|
1548
|
-
/* @__PURE__ */ jsx22("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: option.value === value && /* @__PURE__ */ jsx22(
|
|
1549
|
-
"svg",
|
|
1550
|
-
{
|
|
1551
|
-
width: "14",
|
|
1552
|
-
height: "14",
|
|
1553
|
-
viewBox: "0 0 24 24",
|
|
1554
|
-
fill: "none",
|
|
1555
|
-
stroke: "currentColor",
|
|
1556
|
-
strokeWidth: "2",
|
|
1557
|
-
strokeLinecap: "round",
|
|
1558
|
-
strokeLinejoin: "round",
|
|
1559
|
-
children: /* @__PURE__ */ jsx22("polyline", { points: "20 6 9 17 4 12" })
|
|
1560
|
-
}
|
|
1561
|
-
) }),
|
|
1441
|
+
/* @__PURE__ */ jsx22("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: option.value === value && /* @__PURE__ */ jsx22(Check3, { className: "h-3.5 w-3.5" }) }),
|
|
1562
1442
|
option.label
|
|
1563
1443
|
]
|
|
1564
1444
|
},
|
|
@@ -1657,7 +1537,7 @@ FormMessage.displayName = "FormMessage";
|
|
|
1657
1537
|
|
|
1658
1538
|
// src/components/dynamic-form-field/dynamic-form-field.tsx
|
|
1659
1539
|
import * as React25 from "react";
|
|
1660
|
-
import { jsx as jsx24, jsxs as
|
|
1540
|
+
import { jsx as jsx24, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1661
1541
|
function getFieldComponent(type) {
|
|
1662
1542
|
const map = {
|
|
1663
1543
|
text: "Input",
|
|
@@ -1702,8 +1582,8 @@ var DynamicFormField = React25.forwardRef(
|
|
|
1702
1582
|
className
|
|
1703
1583
|
}, ref) => {
|
|
1704
1584
|
if (isInlineField(type)) {
|
|
1705
|
-
return /* @__PURE__ */
|
|
1706
|
-
/* @__PURE__ */
|
|
1585
|
+
return /* @__PURE__ */ jsxs8(FormField, { ref, error, disabled, className, children: [
|
|
1586
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2", children: [
|
|
1707
1587
|
/* @__PURE__ */ jsx24(FormControl, { children: type === "checkbox" ? /* @__PURE__ */ jsx24(
|
|
1708
1588
|
Checkbox,
|
|
1709
1589
|
{
|
|
@@ -1719,7 +1599,7 @@ var DynamicFormField = React25.forwardRef(
|
|
|
1719
1599
|
onCheckedChange: (checked) => onChange?.(checked)
|
|
1720
1600
|
}
|
|
1721
1601
|
) }),
|
|
1722
|
-
/* @__PURE__ */
|
|
1602
|
+
/* @__PURE__ */ jsxs8(Label, { className: "text-sm font-normal", children: [
|
|
1723
1603
|
label,
|
|
1724
1604
|
required && /* @__PURE__ */ jsx24("span", { "aria-hidden": "true", className: "ml-0.5 text-error-500", children: "*" })
|
|
1725
1605
|
] })
|
|
@@ -1766,7 +1646,7 @@ var DynamicFormField = React25.forwardRef(
|
|
|
1766
1646
|
}
|
|
1767
1647
|
);
|
|
1768
1648
|
case "select":
|
|
1769
|
-
return /* @__PURE__ */
|
|
1649
|
+
return /* @__PURE__ */ jsxs8(
|
|
1770
1650
|
Select,
|
|
1771
1651
|
{
|
|
1772
1652
|
value,
|
|
@@ -1796,7 +1676,7 @@ var DynamicFormField = React25.forwardRef(
|
|
|
1796
1676
|
{
|
|
1797
1677
|
value,
|
|
1798
1678
|
onValueChange: (v) => onChange?.(v),
|
|
1799
|
-
children: options.map((opt) => /* @__PURE__ */
|
|
1679
|
+
children: options.map((opt) => /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2", children: [
|
|
1800
1680
|
/* @__PURE__ */ jsx24(RadioGroupItem, { value: opt.value, id: `${name}-${opt.value}` }),
|
|
1801
1681
|
/* @__PURE__ */ jsx24(Label, { htmlFor: `${name}-${opt.value}`, className: "font-normal", children: opt.label })
|
|
1802
1682
|
] }, opt.value))
|
|
@@ -1815,7 +1695,7 @@ var DynamicFormField = React25.forwardRef(
|
|
|
1815
1695
|
);
|
|
1816
1696
|
}
|
|
1817
1697
|
}
|
|
1818
|
-
return /* @__PURE__ */
|
|
1698
|
+
return /* @__PURE__ */ jsxs8(FormField, { ref, error, required, disabled, className, children: [
|
|
1819
1699
|
/* @__PURE__ */ jsx24(FormLabel, { children: label }),
|
|
1820
1700
|
/* @__PURE__ */ jsx24(FormControl, { children: renderControl() }),
|
|
1821
1701
|
description && /* @__PURE__ */ jsx24(FormDescription, { children: description }),
|
|
@@ -1828,7 +1708,7 @@ DynamicFormField.displayName = "DynamicFormField";
|
|
|
1828
1708
|
// src/components/form-layout/form-layout.tsx
|
|
1829
1709
|
import * as React26 from "react";
|
|
1830
1710
|
import { cva as cva10 } from "class-variance-authority";
|
|
1831
|
-
import { jsx as jsx25, jsxs as
|
|
1711
|
+
import { jsx as jsx25, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1832
1712
|
var formLayoutVariants = cva10("", {
|
|
1833
1713
|
variants: {
|
|
1834
1714
|
layout: {
|
|
@@ -1883,7 +1763,7 @@ var FormLayout = React26.forwardRef(
|
|
|
1883
1763
|
}
|
|
1884
1764
|
);
|
|
1885
1765
|
FormLayout.displayName = "FormLayout";
|
|
1886
|
-
var FormSection = React26.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */
|
|
1766
|
+
var FormSection = React26.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1887
1767
|
"fieldset",
|
|
1888
1768
|
{
|
|
1889
1769
|
ref,
|
|
@@ -2136,9 +2016,11 @@ import {
|
|
|
2136
2016
|
getPaginationRowModel,
|
|
2137
2017
|
flexRender
|
|
2138
2018
|
} from "@tanstack/react-table";
|
|
2019
|
+
import { ChevronsUpDown as ChevronsUpDown2 } from "lucide-react";
|
|
2139
2020
|
|
|
2140
2021
|
// src/components/data-table/data-table-pagination.tsx
|
|
2141
|
-
import {
|
|
2022
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
2023
|
+
import { jsx as jsx29, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2142
2024
|
function DataTablePagination({
|
|
2143
2025
|
table,
|
|
2144
2026
|
pageSizeOptions = [10, 20, 30, 50],
|
|
@@ -2148,7 +2030,7 @@ function DataTablePagination({
|
|
|
2148
2030
|
const totalRows = table.getFilteredRowModel().rows.length;
|
|
2149
2031
|
const from = pageIndex * pageSize + 1;
|
|
2150
2032
|
const to = Math.min((pageIndex + 1) * pageSize, totalRows);
|
|
2151
|
-
return /* @__PURE__ */
|
|
2033
|
+
return /* @__PURE__ */ jsxs10(
|
|
2152
2034
|
"div",
|
|
2153
2035
|
{
|
|
2154
2036
|
className: cn(
|
|
@@ -2156,7 +2038,7 @@ function DataTablePagination({
|
|
|
2156
2038
|
className
|
|
2157
2039
|
),
|
|
2158
2040
|
children: [
|
|
2159
|
-
/* @__PURE__ */
|
|
2041
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
|
|
2160
2042
|
/* @__PURE__ */ jsx29("span", { className: "hidden sm:inline", children: "Rows per page" }),
|
|
2161
2043
|
/* @__PURE__ */ jsx29(
|
|
2162
2044
|
"select",
|
|
@@ -2169,9 +2051,9 @@ function DataTablePagination({
|
|
|
2169
2051
|
}
|
|
2170
2052
|
)
|
|
2171
2053
|
] }),
|
|
2172
|
-
/* @__PURE__ */
|
|
2054
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-4", children: [
|
|
2173
2055
|
/* @__PURE__ */ jsx29("span", { children: totalRows > 0 ? `${from}-${to} of ${totalRows}` : "0 results" }),
|
|
2174
|
-
/* @__PURE__ */
|
|
2056
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1", children: [
|
|
2175
2057
|
/* @__PURE__ */ jsx29(
|
|
2176
2058
|
"button",
|
|
2177
2059
|
{
|
|
@@ -2179,20 +2061,7 @@ function DataTablePagination({
|
|
|
2179
2061
|
onClick: () => table.previousPage(),
|
|
2180
2062
|
disabled: !table.getCanPreviousPage(),
|
|
2181
2063
|
"aria-label": "Previous page",
|
|
2182
|
-
children: /* @__PURE__ */ jsx29(
|
|
2183
|
-
"svg",
|
|
2184
|
-
{
|
|
2185
|
-
width: "16",
|
|
2186
|
-
height: "16",
|
|
2187
|
-
viewBox: "0 0 24 24",
|
|
2188
|
-
fill: "none",
|
|
2189
|
-
stroke: "currentColor",
|
|
2190
|
-
strokeWidth: "2",
|
|
2191
|
-
strokeLinecap: "round",
|
|
2192
|
-
strokeLinejoin: "round",
|
|
2193
|
-
children: /* @__PURE__ */ jsx29("path", { d: "m15 18-6-6 6-6" })
|
|
2194
|
-
}
|
|
2195
|
-
)
|
|
2064
|
+
children: /* @__PURE__ */ jsx29(ChevronLeft, { className: "h-4 w-4" })
|
|
2196
2065
|
}
|
|
2197
2066
|
),
|
|
2198
2067
|
/* @__PURE__ */ jsx29(
|
|
@@ -2202,20 +2071,7 @@ function DataTablePagination({
|
|
|
2202
2071
|
onClick: () => table.nextPage(),
|
|
2203
2072
|
disabled: !table.getCanNextPage(),
|
|
2204
2073
|
"aria-label": "Next page",
|
|
2205
|
-
children: /* @__PURE__ */ jsx29(
|
|
2206
|
-
"svg",
|
|
2207
|
-
{
|
|
2208
|
-
width: "16",
|
|
2209
|
-
height: "16",
|
|
2210
|
-
viewBox: "0 0 24 24",
|
|
2211
|
-
fill: "none",
|
|
2212
|
-
stroke: "currentColor",
|
|
2213
|
-
strokeWidth: "2",
|
|
2214
|
-
strokeLinecap: "round",
|
|
2215
|
-
strokeLinejoin: "round",
|
|
2216
|
-
children: /* @__PURE__ */ jsx29("path", { d: "m9 18 6-6-6-6" })
|
|
2217
|
-
}
|
|
2218
|
-
)
|
|
2074
|
+
children: /* @__PURE__ */ jsx29(ChevronRight, { className: "h-4 w-4" })
|
|
2219
2075
|
}
|
|
2220
2076
|
)
|
|
2221
2077
|
] })
|
|
@@ -2228,7 +2084,8 @@ DataTablePagination.displayName = "DataTablePagination";
|
|
|
2228
2084
|
|
|
2229
2085
|
// src/components/data-table/data-table-toolbar.tsx
|
|
2230
2086
|
import * as React30 from "react";
|
|
2231
|
-
import {
|
|
2087
|
+
import { Columns3 } from "lucide-react";
|
|
2088
|
+
import { jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2232
2089
|
function DataTableToolbar({
|
|
2233
2090
|
table,
|
|
2234
2091
|
enableColumnVisibility = false,
|
|
@@ -2249,7 +2106,7 @@ function DataTableToolbar({
|
|
|
2249
2106
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
2250
2107
|
}
|
|
2251
2108
|
}, [showColumnMenu]);
|
|
2252
|
-
return /* @__PURE__ */
|
|
2109
|
+
return /* @__PURE__ */ jsxs11(
|
|
2253
2110
|
"div",
|
|
2254
2111
|
{
|
|
2255
2112
|
className: cn(
|
|
@@ -2257,15 +2114,15 @@ function DataTableToolbar({
|
|
|
2257
2114
|
className
|
|
2258
2115
|
),
|
|
2259
2116
|
children: [
|
|
2260
|
-
/* @__PURE__ */
|
|
2261
|
-
selectedCount > 0 && /* @__PURE__ */
|
|
2117
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
|
|
2118
|
+
selectedCount > 0 && /* @__PURE__ */ jsxs11("span", { className: "text-sm text-[var(--color-on-surface-secondary)]", children: [
|
|
2262
2119
|
selectedCount,
|
|
2263
2120
|
" selected"
|
|
2264
2121
|
] }),
|
|
2265
2122
|
children
|
|
2266
2123
|
] }),
|
|
2267
|
-
enableColumnVisibility && /* @__PURE__ */
|
|
2268
|
-
/* @__PURE__ */
|
|
2124
|
+
enableColumnVisibility && /* @__PURE__ */ jsxs11("div", { className: "relative", ref: menuRef, children: [
|
|
2125
|
+
/* @__PURE__ */ jsxs11(
|
|
2269
2126
|
"button",
|
|
2270
2127
|
{
|
|
2271
2128
|
className: "inline-flex items-center gap-1 rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-3 py-1.5 text-sm transition-colors hover:bg-[var(--color-surface-sunken)]",
|
|
@@ -2273,25 +2130,12 @@ function DataTableToolbar({
|
|
|
2273
2130
|
"aria-label": "Toggle columns",
|
|
2274
2131
|
"aria-expanded": showColumnMenu,
|
|
2275
2132
|
children: [
|
|
2276
|
-
/* @__PURE__ */ jsx30(
|
|
2277
|
-
"svg",
|
|
2278
|
-
{
|
|
2279
|
-
width: "14",
|
|
2280
|
-
height: "14",
|
|
2281
|
-
viewBox: "0 0 24 24",
|
|
2282
|
-
fill: "none",
|
|
2283
|
-
stroke: "currentColor",
|
|
2284
|
-
strokeWidth: "2",
|
|
2285
|
-
strokeLinecap: "round",
|
|
2286
|
-
strokeLinejoin: "round",
|
|
2287
|
-
children: /* @__PURE__ */ jsx30("path", { d: "M12 3v18M3 12h18" })
|
|
2288
|
-
}
|
|
2289
|
-
),
|
|
2133
|
+
/* @__PURE__ */ jsx30(Columns3, { className: "h-3.5 w-3.5" }),
|
|
2290
2134
|
"Columns"
|
|
2291
2135
|
]
|
|
2292
2136
|
}
|
|
2293
2137
|
),
|
|
2294
|
-
showColumnMenu && /* @__PURE__ */ jsx30("div", { className: "absolute right-0 top-full z-popover mt-1 min-w-[10rem] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-2 shadow-md", children: table.getAllColumns().filter((col) => col.getCanHide()).map((col) => /* @__PURE__ */
|
|
2138
|
+
showColumnMenu && /* @__PURE__ */ jsx30("div", { className: "absolute right-0 top-full z-popover mt-1 min-w-[10rem] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-2 shadow-md", children: table.getAllColumns().filter((col) => col.getCanHide()).map((col) => /* @__PURE__ */ jsxs11(
|
|
2295
2139
|
"label",
|
|
2296
2140
|
{
|
|
2297
2141
|
className: "flex items-center gap-2 rounded px-2 py-1 text-sm hover:bg-[var(--color-surface-sunken)] cursor-pointer capitalize",
|
|
@@ -2318,7 +2162,7 @@ function DataTableToolbar({
|
|
|
2318
2162
|
DataTableToolbar.displayName = "DataTableToolbar";
|
|
2319
2163
|
|
|
2320
2164
|
// src/components/data-table/data-table.tsx
|
|
2321
|
-
import { jsx as jsx31, jsxs as
|
|
2165
|
+
import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2322
2166
|
function DataTable({
|
|
2323
2167
|
columns,
|
|
2324
2168
|
data,
|
|
@@ -2383,7 +2227,7 @@ function DataTable({
|
|
|
2383
2227
|
}
|
|
2384
2228
|
}, [rowSelection, table, onRowSelectionChange]);
|
|
2385
2229
|
const showToolbar = enableRowSelection || enableColumnVisibility;
|
|
2386
|
-
return /* @__PURE__ */
|
|
2230
|
+
return /* @__PURE__ */ jsxs12("div", { className: cn("rounded-md border border-[var(--color-border)]", className), children: [
|
|
2387
2231
|
showToolbar && /* @__PURE__ */ jsx31(
|
|
2388
2232
|
DataTableToolbar,
|
|
2389
2233
|
{
|
|
@@ -2391,8 +2235,8 @@ function DataTable({
|
|
|
2391
2235
|
enableColumnVisibility
|
|
2392
2236
|
}
|
|
2393
2237
|
),
|
|
2394
|
-
/* @__PURE__ */
|
|
2395
|
-
/* @__PURE__ */ jsx31(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx31(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx31(TableHead, { children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */
|
|
2238
|
+
/* @__PURE__ */ jsxs12(Table, { "aria-label": ariaLabel, children: [
|
|
2239
|
+
/* @__PURE__ */ jsx31(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx31(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx31(TableHead, { children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */ jsxs12(
|
|
2396
2240
|
"button",
|
|
2397
2241
|
{
|
|
2398
2242
|
className: "flex items-center gap-1 -ml-2 px-2 py-1 rounded-md hover:bg-[var(--color-surface-muted)] transition-colors duration-fast",
|
|
@@ -2404,21 +2248,12 @@ function DataTable({
|
|
|
2404
2248
|
header.getContext()
|
|
2405
2249
|
),
|
|
2406
2250
|
/* @__PURE__ */ jsx31(
|
|
2407
|
-
|
|
2251
|
+
ChevronsUpDown2,
|
|
2408
2252
|
{
|
|
2409
|
-
width: "14",
|
|
2410
|
-
height: "14",
|
|
2411
|
-
viewBox: "0 0 24 24",
|
|
2412
|
-
fill: "none",
|
|
2413
|
-
stroke: "currentColor",
|
|
2414
|
-
strokeWidth: "2",
|
|
2415
|
-
strokeLinecap: "round",
|
|
2416
|
-
strokeLinejoin: "round",
|
|
2417
2253
|
className: cn(
|
|
2418
|
-
"shrink-0",
|
|
2254
|
+
"h-3.5 w-3.5 shrink-0",
|
|
2419
2255
|
header.column.getIsSorted() ? "opacity-100" : "opacity-30"
|
|
2420
|
-
)
|
|
2421
|
-
children: /* @__PURE__ */ jsx31("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" })
|
|
2256
|
+
)
|
|
2422
2257
|
}
|
|
2423
2258
|
)
|
|
2424
2259
|
]
|
|
@@ -2455,7 +2290,8 @@ function DataTable({
|
|
|
2455
2290
|
DataTable.displayName = "DataTable";
|
|
2456
2291
|
|
|
2457
2292
|
// src/components/data-table/data-table-column-header.tsx
|
|
2458
|
-
import {
|
|
2293
|
+
import { ChevronsUpDown as ChevronsUpDown3 } from "lucide-react";
|
|
2294
|
+
import { jsx as jsx32, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2459
2295
|
function DataTableColumnHeader({
|
|
2460
2296
|
column,
|
|
2461
2297
|
title,
|
|
@@ -2465,7 +2301,7 @@ function DataTableColumnHeader({
|
|
|
2465
2301
|
return /* @__PURE__ */ jsx32("div", { className: cn(className), children: title });
|
|
2466
2302
|
}
|
|
2467
2303
|
const sorted = column.getIsSorted();
|
|
2468
|
-
return /* @__PURE__ */
|
|
2304
|
+
return /* @__PURE__ */ jsxs13(
|
|
2469
2305
|
"button",
|
|
2470
2306
|
{
|
|
2471
2307
|
className: cn(
|
|
@@ -2477,21 +2313,12 @@ function DataTableColumnHeader({
|
|
|
2477
2313
|
children: [
|
|
2478
2314
|
title,
|
|
2479
2315
|
/* @__PURE__ */ jsx32(
|
|
2480
|
-
|
|
2316
|
+
ChevronsUpDown3,
|
|
2481
2317
|
{
|
|
2482
|
-
width: "14",
|
|
2483
|
-
height: "14",
|
|
2484
|
-
viewBox: "0 0 24 24",
|
|
2485
|
-
fill: "none",
|
|
2486
|
-
stroke: "currentColor",
|
|
2487
|
-
strokeWidth: "2",
|
|
2488
|
-
strokeLinecap: "round",
|
|
2489
|
-
strokeLinejoin: "round",
|
|
2490
2318
|
className: cn(
|
|
2491
|
-
"shrink-0 transition-opacity",
|
|
2319
|
+
"h-3.5 w-3.5 shrink-0 transition-opacity",
|
|
2492
2320
|
sorted ? "opacity-100" : "opacity-30"
|
|
2493
|
-
)
|
|
2494
|
-
children: sorted === "desc" ? /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" }) : sorted === "asc" ? /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" }) : /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" })
|
|
2321
|
+
)
|
|
2495
2322
|
}
|
|
2496
2323
|
),
|
|
2497
2324
|
sorted === "asc" && /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "sorted ascending" }),
|
|
@@ -2505,7 +2332,8 @@ DataTableColumnHeader.displayName = "DataTableColumnHeader";
|
|
|
2505
2332
|
// src/components/filter-bar/filter-bar.tsx
|
|
2506
2333
|
import * as React32 from "react";
|
|
2507
2334
|
import { cva as cva13 } from "class-variance-authority";
|
|
2508
|
-
import {
|
|
2335
|
+
import { X as X2 } from "lucide-react";
|
|
2336
|
+
import { jsx as jsx33, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2509
2337
|
var FilterBar = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2510
2338
|
"div",
|
|
2511
2339
|
{
|
|
@@ -2543,14 +2371,14 @@ var filterChipVariants = cva13(
|
|
|
2543
2371
|
}
|
|
2544
2372
|
);
|
|
2545
2373
|
var FilterChip = React32.forwardRef(
|
|
2546
|
-
({ className, variant, label, value, onRemove, ...props }, ref) => /* @__PURE__ */
|
|
2374
|
+
({ className, variant, label, value, onRemove, ...props }, ref) => /* @__PURE__ */ jsxs14(
|
|
2547
2375
|
"span",
|
|
2548
2376
|
{
|
|
2549
2377
|
ref,
|
|
2550
2378
|
className: cn(filterChipVariants({ variant }), className),
|
|
2551
2379
|
...props,
|
|
2552
2380
|
children: [
|
|
2553
|
-
/* @__PURE__ */
|
|
2381
|
+
/* @__PURE__ */ jsxs14("span", { className: "text-xs opacity-70", children: [
|
|
2554
2382
|
label,
|
|
2555
2383
|
":"
|
|
2556
2384
|
] }),
|
|
@@ -2562,20 +2390,7 @@ var FilterChip = React32.forwardRef(
|
|
|
2562
2390
|
onClick: onRemove,
|
|
2563
2391
|
className: "ml-0.5 rounded-full p-0.5 hover:bg-black/10 transition-colors",
|
|
2564
2392
|
"aria-label": `Remove ${label} filter`,
|
|
2565
|
-
children: /* @__PURE__ */ jsx33(
|
|
2566
|
-
"svg",
|
|
2567
|
-
{
|
|
2568
|
-
width: "12",
|
|
2569
|
-
height: "12",
|
|
2570
|
-
viewBox: "0 0 24 24",
|
|
2571
|
-
fill: "none",
|
|
2572
|
-
stroke: "currentColor",
|
|
2573
|
-
strokeWidth: "2",
|
|
2574
|
-
strokeLinecap: "round",
|
|
2575
|
-
strokeLinejoin: "round",
|
|
2576
|
-
children: /* @__PURE__ */ jsx33("path", { d: "M18 6 6 18M6 6l12 12" })
|
|
2577
|
-
}
|
|
2578
|
-
)
|
|
2393
|
+
children: /* @__PURE__ */ jsx33(X2, { className: "h-3 w-3" })
|
|
2579
2394
|
}
|
|
2580
2395
|
)
|
|
2581
2396
|
]
|
|
@@ -2583,7 +2398,7 @@ var FilterChip = React32.forwardRef(
|
|
|
2583
2398
|
)
|
|
2584
2399
|
);
|
|
2585
2400
|
FilterChip.displayName = "FilterChip";
|
|
2586
|
-
var ActiveFilters = React32.forwardRef(({ className, onClearAll, clearAllLabel = "Clear all", children, ...props }, ref) => /* @__PURE__ */
|
|
2401
|
+
var ActiveFilters = React32.forwardRef(({ className, onClearAll, clearAllLabel = "Clear all", children, ...props }, ref) => /* @__PURE__ */ jsxs14(
|
|
2587
2402
|
"div",
|
|
2588
2403
|
{
|
|
2589
2404
|
ref,
|
|
@@ -2643,7 +2458,8 @@ PopoverContent.displayName = "PopoverContent";
|
|
|
2643
2458
|
// src/components/dropdown-menu/dropdown-menu.tsx
|
|
2644
2459
|
import * as React34 from "react";
|
|
2645
2460
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
2646
|
-
import {
|
|
2461
|
+
import { Check as Check4, ChevronRight as ChevronRight2 } from "lucide-react";
|
|
2462
|
+
import { jsx as jsx35, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2647
2463
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
2648
2464
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
2649
2465
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
@@ -2667,7 +2483,7 @@ var DropdownMenuContent = React34.forwardRef(({ className, sideOffset = 4, ...pr
|
|
|
2667
2483
|
}
|
|
2668
2484
|
) }));
|
|
2669
2485
|
DropdownMenuContent.displayName = "DropdownMenuContent";
|
|
2670
|
-
var DropdownMenuSubTrigger = React34.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */
|
|
2486
|
+
var DropdownMenuSubTrigger = React34.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
2671
2487
|
DropdownMenuPrimitive.SubTrigger,
|
|
2672
2488
|
{
|
|
2673
2489
|
ref,
|
|
@@ -2682,21 +2498,7 @@ var DropdownMenuSubTrigger = React34.forwardRef(({ className, inset, children, .
|
|
|
2682
2498
|
...props,
|
|
2683
2499
|
children: [
|
|
2684
2500
|
children,
|
|
2685
|
-
/* @__PURE__ */ jsx35(
|
|
2686
|
-
"svg",
|
|
2687
|
-
{
|
|
2688
|
-
width: "14",
|
|
2689
|
-
height: "14",
|
|
2690
|
-
viewBox: "0 0 24 24",
|
|
2691
|
-
fill: "none",
|
|
2692
|
-
stroke: "currentColor",
|
|
2693
|
-
strokeWidth: "2",
|
|
2694
|
-
strokeLinecap: "round",
|
|
2695
|
-
strokeLinejoin: "round",
|
|
2696
|
-
className: "ml-auto",
|
|
2697
|
-
children: /* @__PURE__ */ jsx35("path", { d: "m9 18 6-6-6-6" })
|
|
2698
|
-
}
|
|
2699
|
-
)
|
|
2501
|
+
/* @__PURE__ */ jsx35(ChevronRight2, { className: "ml-auto h-3.5 w-3.5" })
|
|
2700
2502
|
]
|
|
2701
2503
|
}
|
|
2702
2504
|
));
|
|
@@ -2733,7 +2535,7 @@ var DropdownMenuItem = React34.forwardRef(({ className, inset, destructive, ...p
|
|
|
2733
2535
|
}
|
|
2734
2536
|
));
|
|
2735
2537
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
2736
|
-
var DropdownMenuCheckboxItem = React34.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */
|
|
2538
|
+
var DropdownMenuCheckboxItem = React34.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
2737
2539
|
DropdownMenuPrimitive.CheckboxItem,
|
|
2738
2540
|
{
|
|
2739
2541
|
ref,
|
|
@@ -2747,26 +2549,13 @@ var DropdownMenuCheckboxItem = React34.forwardRef(({ className, children, checke
|
|
|
2747
2549
|
checked,
|
|
2748
2550
|
...props,
|
|
2749
2551
|
children: [
|
|
2750
|
-
/* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35(
|
|
2751
|
-
"svg",
|
|
2752
|
-
{
|
|
2753
|
-
width: "14",
|
|
2754
|
-
height: "14",
|
|
2755
|
-
viewBox: "0 0 24 24",
|
|
2756
|
-
fill: "none",
|
|
2757
|
-
stroke: "currentColor",
|
|
2758
|
-
strokeWidth: "2",
|
|
2759
|
-
strokeLinecap: "round",
|
|
2760
|
-
strokeLinejoin: "round",
|
|
2761
|
-
children: /* @__PURE__ */ jsx35("polyline", { points: "20 6 9 17 4 12" })
|
|
2762
|
-
}
|
|
2763
|
-
) }) }),
|
|
2552
|
+
/* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35(Check4, { className: "h-3.5 w-3.5" }) }) }),
|
|
2764
2553
|
children
|
|
2765
2554
|
]
|
|
2766
2555
|
}
|
|
2767
2556
|
));
|
|
2768
2557
|
DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
|
|
2769
|
-
var DropdownMenuRadioItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
2558
|
+
var DropdownMenuRadioItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
2770
2559
|
DropdownMenuPrimitive.RadioItem,
|
|
2771
2560
|
{
|
|
2772
2561
|
ref,
|
|
@@ -2825,7 +2614,8 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
2825
2614
|
// src/components/dialog/dialog.tsx
|
|
2826
2615
|
import * as React35 from "react";
|
|
2827
2616
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
2828
|
-
import {
|
|
2617
|
+
import { X as X3 } from "lucide-react";
|
|
2618
|
+
import { jsx as jsx36, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2829
2619
|
var Dialog = DialogPrimitive.Root;
|
|
2830
2620
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
2831
2621
|
var DialogClose = DialogPrimitive.Close;
|
|
@@ -2843,9 +2633,9 @@ var DialogOverlay = React35.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
2843
2633
|
}
|
|
2844
2634
|
));
|
|
2845
2635
|
DialogOverlay.displayName = "DialogOverlay";
|
|
2846
|
-
var DialogContent = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
2636
|
+
var DialogContent = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(DialogPrimitive.Portal, { children: [
|
|
2847
2637
|
/* @__PURE__ */ jsx36(DialogOverlay, {}),
|
|
2848
|
-
/* @__PURE__ */
|
|
2638
|
+
/* @__PURE__ */ jsxs16(
|
|
2849
2639
|
DialogPrimitive.Content,
|
|
2850
2640
|
{
|
|
2851
2641
|
ref,
|
|
@@ -2867,21 +2657,8 @@ var DialogContent = React35.forwardRef(({ className, children, ...props }, ref)
|
|
|
2867
2657
|
...props,
|
|
2868
2658
|
children: [
|
|
2869
2659
|
children,
|
|
2870
|
-
/* @__PURE__ */
|
|
2871
|
-
/* @__PURE__ */ jsx36(
|
|
2872
|
-
"svg",
|
|
2873
|
-
{
|
|
2874
|
-
width: "16",
|
|
2875
|
-
height: "16",
|
|
2876
|
-
viewBox: "0 0 24 24",
|
|
2877
|
-
fill: "none",
|
|
2878
|
-
stroke: "currentColor",
|
|
2879
|
-
strokeWidth: "2",
|
|
2880
|
-
strokeLinecap: "round",
|
|
2881
|
-
strokeLinejoin: "round",
|
|
2882
|
-
children: /* @__PURE__ */ jsx36("path", { d: "M18 6 6 18M6 6l12 12" })
|
|
2883
|
-
}
|
|
2884
|
-
),
|
|
2660
|
+
/* @__PURE__ */ jsxs16(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:pointer-events-none", children: [
|
|
2661
|
+
/* @__PURE__ */ jsx36(X3, { className: "h-4 w-4" }),
|
|
2885
2662
|
/* @__PURE__ */ jsx36("span", { className: "sr-only", children: "Close" })
|
|
2886
2663
|
] })
|
|
2887
2664
|
]
|
|
@@ -2936,7 +2713,8 @@ DialogDescription.displayName = "DialogDescription";
|
|
|
2936
2713
|
// src/components/command-palette/command-palette.tsx
|
|
2937
2714
|
import * as DialogPrimitive2 from "@radix-ui/react-dialog";
|
|
2938
2715
|
import { Command as Command2 } from "cmdk";
|
|
2939
|
-
import {
|
|
2716
|
+
import { Search } from "lucide-react";
|
|
2717
|
+
import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2940
2718
|
function CommandPalette({
|
|
2941
2719
|
open,
|
|
2942
2720
|
onOpenChange,
|
|
@@ -2944,7 +2722,7 @@ function CommandPalette({
|
|
|
2944
2722
|
className,
|
|
2945
2723
|
children
|
|
2946
2724
|
}) {
|
|
2947
|
-
return /* @__PURE__ */ jsx37(DialogPrimitive2.Root, { open, onOpenChange, children: /* @__PURE__ */
|
|
2725
|
+
return /* @__PURE__ */ jsx37(DialogPrimitive2.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxs17(DialogPrimitive2.Portal, { children: [
|
|
2948
2726
|
/* @__PURE__ */ jsx37(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-modal bg-[var(--color-surface-overlay)] animate-in fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0" }),
|
|
2949
2727
|
/* @__PURE__ */ jsx37(
|
|
2950
2728
|
DialogPrimitive2.Content,
|
|
@@ -2955,26 +2733,9 @@ function CommandPalette({
|
|
|
2955
2733
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
2956
2734
|
className
|
|
2957
2735
|
),
|
|
2958
|
-
children: /* @__PURE__ */
|
|
2959
|
-
/* @__PURE__ */
|
|
2960
|
-
/* @__PURE__ */
|
|
2961
|
-
"svg",
|
|
2962
|
-
{
|
|
2963
|
-
width: "18",
|
|
2964
|
-
height: "18",
|
|
2965
|
-
viewBox: "0 0 24 24",
|
|
2966
|
-
fill: "none",
|
|
2967
|
-
stroke: "currentColor",
|
|
2968
|
-
strokeWidth: "2",
|
|
2969
|
-
strokeLinecap: "round",
|
|
2970
|
-
strokeLinejoin: "round",
|
|
2971
|
-
className: "shrink-0 text-[var(--color-on-surface-muted)]",
|
|
2972
|
-
children: [
|
|
2973
|
-
/* @__PURE__ */ jsx37("circle", { cx: "11", cy: "11", r: "8" }),
|
|
2974
|
-
/* @__PURE__ */ jsx37("path", { d: "m21 21-4.3-4.3" })
|
|
2975
|
-
]
|
|
2976
|
-
}
|
|
2977
|
-
),
|
|
2736
|
+
children: /* @__PURE__ */ jsxs17(Command2, { shouldFilter: true, className: "flex flex-col", children: [
|
|
2737
|
+
/* @__PURE__ */ jsxs17("div", { className: "flex items-center border-b border-[var(--color-border)] px-4", children: [
|
|
2738
|
+
/* @__PURE__ */ jsx37(Search, { className: "h-[18px] w-[18px] shrink-0 text-[var(--color-on-surface-muted)]" }),
|
|
2978
2739
|
/* @__PURE__ */ jsx37(
|
|
2979
2740
|
Command2.Input,
|
|
2980
2741
|
{
|
|
@@ -3012,7 +2773,7 @@ function CommandPaletteItem({
|
|
|
3012
2773
|
className,
|
|
3013
2774
|
children
|
|
3014
2775
|
}) {
|
|
3015
|
-
return /* @__PURE__ */
|
|
2776
|
+
return /* @__PURE__ */ jsxs17(
|
|
3016
2777
|
Command2.Item,
|
|
3017
2778
|
{
|
|
3018
2779
|
onSelect,
|
|
@@ -3081,7 +2842,8 @@ CommandPaletteShortcut.displayName = "CommandPaletteShortcut";
|
|
|
3081
2842
|
import * as React36 from "react";
|
|
3082
2843
|
import * as DialogPrimitive3 from "@radix-ui/react-dialog";
|
|
3083
2844
|
import { cva as cva14 } from "class-variance-authority";
|
|
3084
|
-
import {
|
|
2845
|
+
import { Pin, X as X4 } from "lucide-react";
|
|
2846
|
+
import { jsx as jsx38, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3085
2847
|
var [DrawerContextProvider, useDrawerContext] = createContext2("Drawer");
|
|
3086
2848
|
var DrawerStackContext = React36.createContext(
|
|
3087
2849
|
null
|
|
@@ -3159,7 +2921,7 @@ var DrawerContent = React36.forwardRef(({ className, size, children, ...props },
|
|
|
3159
2921
|
}
|
|
3160
2922
|
);
|
|
3161
2923
|
}
|
|
3162
|
-
return /* @__PURE__ */
|
|
2924
|
+
return /* @__PURE__ */ jsxs18(DialogPrimitive3.Portal, { children: [
|
|
3163
2925
|
/* @__PURE__ */ jsx38(
|
|
3164
2926
|
DialogPrimitive3.Overlay,
|
|
3165
2927
|
{
|
|
@@ -3193,7 +2955,7 @@ var DrawerContent = React36.forwardRef(({ className, size, children, ...props },
|
|
|
3193
2955
|
DrawerContent.displayName = "DrawerContent";
|
|
3194
2956
|
var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
|
|
3195
2957
|
const { pinnable, pinned, onPinnedChange } = useDrawerContext();
|
|
3196
|
-
return /* @__PURE__ */
|
|
2958
|
+
return /* @__PURE__ */ jsxs18(
|
|
3197
2959
|
"div",
|
|
3198
2960
|
{
|
|
3199
2961
|
ref,
|
|
@@ -3204,7 +2966,7 @@ var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
|
|
|
3204
2966
|
...props,
|
|
3205
2967
|
children: [
|
|
3206
2968
|
/* @__PURE__ */ jsx38("div", { className: "flex-1", children: props.children }),
|
|
3207
|
-
/* @__PURE__ */
|
|
2969
|
+
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-1", children: [
|
|
3208
2970
|
pinnable && /* @__PURE__ */ jsx38(
|
|
3209
2971
|
"button",
|
|
3210
2972
|
{
|
|
@@ -3215,37 +2977,11 @@ var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
|
|
|
3215
2977
|
pinned ? "opacity-100 text-primary-500" : "opacity-50"
|
|
3216
2978
|
),
|
|
3217
2979
|
"aria-label": pinned ? "Unpin drawer" : "Pin drawer",
|
|
3218
|
-
children: /* @__PURE__ */ jsx38(
|
|
3219
|
-
"svg",
|
|
3220
|
-
{
|
|
3221
|
-
width: "16",
|
|
3222
|
-
height: "16",
|
|
3223
|
-
viewBox: "0 0 24 24",
|
|
3224
|
-
fill: pinned ? "currentColor" : "none",
|
|
3225
|
-
stroke: "currentColor",
|
|
3226
|
-
strokeWidth: "2",
|
|
3227
|
-
strokeLinecap: "round",
|
|
3228
|
-
strokeLinejoin: "round",
|
|
3229
|
-
children: /* @__PURE__ */ jsx38("path", { d: "M12 17v5M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1 1 1 0 0 1 1 1z" })
|
|
3230
|
-
}
|
|
3231
|
-
)
|
|
2980
|
+
children: /* @__PURE__ */ jsx38(Pin, { className: "h-4 w-4", fill: pinned ? "currentColor" : "none" })
|
|
3232
2981
|
}
|
|
3233
2982
|
),
|
|
3234
|
-
/* @__PURE__ */
|
|
3235
|
-
/* @__PURE__ */ jsx38(
|
|
3236
|
-
"svg",
|
|
3237
|
-
{
|
|
3238
|
-
width: "16",
|
|
3239
|
-
height: "16",
|
|
3240
|
-
viewBox: "0 0 24 24",
|
|
3241
|
-
fill: "none",
|
|
3242
|
-
stroke: "currentColor",
|
|
3243
|
-
strokeWidth: "2",
|
|
3244
|
-
strokeLinecap: "round",
|
|
3245
|
-
strokeLinejoin: "round",
|
|
3246
|
-
children: /* @__PURE__ */ jsx38("path", { d: "M18 6 6 18M6 6l12 12" })
|
|
3247
|
-
}
|
|
3248
|
-
),
|
|
2983
|
+
/* @__PURE__ */ jsxs18(DialogPrimitive3.Close, { className: "rounded-sm p-1 opacity-50 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", children: [
|
|
2984
|
+
/* @__PURE__ */ jsx38(X4, { className: "h-4 w-4" }),
|
|
3249
2985
|
/* @__PURE__ */ jsx38("span", { className: "sr-only", children: "Close" })
|
|
3250
2986
|
] })
|
|
3251
2987
|
] })
|
|
@@ -3287,7 +3023,8 @@ DrawerFooter.displayName = "DrawerFooter";
|
|
|
3287
3023
|
|
|
3288
3024
|
// src/components/app-shell/app-shell.tsx
|
|
3289
3025
|
import * as React37 from "react";
|
|
3290
|
-
import {
|
|
3026
|
+
import { Menu } from "lucide-react";
|
|
3027
|
+
import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3291
3028
|
var [AppShellProvider, useAppShell] = createContext2("AppShell");
|
|
3292
3029
|
var AppShell = React37.forwardRef(
|
|
3293
3030
|
({
|
|
@@ -3366,7 +3103,7 @@ var AppShellSidebar = React37.forwardRef(({ className, children, ...props }, ref
|
|
|
3366
3103
|
AppShellSidebar.displayName = "AppShellSidebar";
|
|
3367
3104
|
var AppShellHeader = React37.forwardRef(({ className, children, ...props }, ref) => {
|
|
3368
3105
|
const { isMobile, setMobileSidebarOpen } = useAppShell();
|
|
3369
|
-
return /* @__PURE__ */
|
|
3106
|
+
return /* @__PURE__ */ jsxs19(
|
|
3370
3107
|
"header",
|
|
3371
3108
|
{
|
|
3372
3109
|
ref,
|
|
@@ -3383,20 +3120,7 @@ var AppShellHeader = React37.forwardRef(({ className, children, ...props }, ref)
|
|
|
3383
3120
|
onClick: () => setMobileSidebarOpen(true),
|
|
3384
3121
|
className: "rounded-md p-1.5 hover:bg-[var(--color-surface-muted)] transition-colors touch:min-h-[--touch-target-min] touch:min-w-[--touch-target-min] flex items-center justify-center",
|
|
3385
3122
|
"aria-label": "Open menu",
|
|
3386
|
-
children: /* @__PURE__ */ jsx39(
|
|
3387
|
-
"svg",
|
|
3388
|
-
{
|
|
3389
|
-
width: "20",
|
|
3390
|
-
height: "20",
|
|
3391
|
-
viewBox: "0 0 24 24",
|
|
3392
|
-
fill: "none",
|
|
3393
|
-
stroke: "currentColor",
|
|
3394
|
-
strokeWidth: "2",
|
|
3395
|
-
strokeLinecap: "round",
|
|
3396
|
-
strokeLinejoin: "round",
|
|
3397
|
-
children: /* @__PURE__ */ jsx39("path", { d: "M4 6h16M4 12h16M4 18h16" })
|
|
3398
|
-
}
|
|
3399
|
-
)
|
|
3123
|
+
children: /* @__PURE__ */ jsx39(Menu, { className: "h-5 w-5" })
|
|
3400
3124
|
}
|
|
3401
3125
|
),
|
|
3402
3126
|
children
|
|
@@ -3436,7 +3160,7 @@ AppShellFooter.displayName = "AppShellFooter";
|
|
|
3436
3160
|
|
|
3437
3161
|
// src/components/bottom-navigation/bottom-navigation.tsx
|
|
3438
3162
|
import * as React38 from "react";
|
|
3439
|
-
import { jsx as jsx40, jsxs as
|
|
3163
|
+
import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3440
3164
|
var BottomNavigation = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3441
3165
|
"nav",
|
|
3442
3166
|
{
|
|
@@ -3450,7 +3174,7 @@ var BottomNavigation = React38.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3450
3174
|
}
|
|
3451
3175
|
));
|
|
3452
3176
|
BottomNavigation.displayName = "BottomNavigation";
|
|
3453
|
-
var BottomNavigationItem = React38.forwardRef(({ className, icon, label, active = false, ...props }, ref) => /* @__PURE__ */
|
|
3177
|
+
var BottomNavigationItem = React38.forwardRef(({ className, icon, label, active = false, ...props }, ref) => /* @__PURE__ */ jsxs20(
|
|
3454
3178
|
"button",
|
|
3455
3179
|
{
|
|
3456
3180
|
ref,
|
|
@@ -3471,7 +3195,8 @@ BottomNavigationItem.displayName = "BottomNavigationItem";
|
|
|
3471
3195
|
|
|
3472
3196
|
// src/components/offline-indicator/offline-indicator.tsx
|
|
3473
3197
|
import * as React39 from "react";
|
|
3474
|
-
import {
|
|
3198
|
+
import { WifiOff } from "lucide-react";
|
|
3199
|
+
import { jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3475
3200
|
var OfflineIndicator = React39.forwardRef(
|
|
3476
3201
|
({
|
|
3477
3202
|
className,
|
|
@@ -3480,7 +3205,7 @@ var OfflineIndicator = React39.forwardRef(
|
|
|
3480
3205
|
...props
|
|
3481
3206
|
}, ref) => {
|
|
3482
3207
|
if (!isOffline) return null;
|
|
3483
|
-
return /* @__PURE__ */
|
|
3208
|
+
return /* @__PURE__ */ jsxs21(
|
|
3484
3209
|
"div",
|
|
3485
3210
|
{
|
|
3486
3211
|
ref,
|
|
@@ -3491,31 +3216,7 @@ var OfflineIndicator = React39.forwardRef(
|
|
|
3491
3216
|
),
|
|
3492
3217
|
...props,
|
|
3493
3218
|
children: [
|
|
3494
|
-
/* @__PURE__ */
|
|
3495
|
-
"svg",
|
|
3496
|
-
{
|
|
3497
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
3498
|
-
width: "14",
|
|
3499
|
-
height: "14",
|
|
3500
|
-
viewBox: "0 0 24 24",
|
|
3501
|
-
fill: "none",
|
|
3502
|
-
stroke: "currentColor",
|
|
3503
|
-
strokeWidth: "2",
|
|
3504
|
-
strokeLinecap: "round",
|
|
3505
|
-
strokeLinejoin: "round",
|
|
3506
|
-
className: "mr-2 shrink-0",
|
|
3507
|
-
"aria-hidden": "true",
|
|
3508
|
-
children: [
|
|
3509
|
-
/* @__PURE__ */ jsx41("line", { x1: "2", x2: "22", y1: "2", y2: "22" }),
|
|
3510
|
-
/* @__PURE__ */ jsx41("path", { d: "M8.5 16.5a5 5 0 0 1 7 0" }),
|
|
3511
|
-
/* @__PURE__ */ jsx41("path", { d: "M2 8.82a15 15 0 0 1 4.17-2.65" }),
|
|
3512
|
-
/* @__PURE__ */ jsx41("path", { d: "M10.66 5c4.01-.36 8.14.9 11.34 3.76" }),
|
|
3513
|
-
/* @__PURE__ */ jsx41("path", { d: "M16.85 11.25a10 10 0 0 1 2.22 1.68" }),
|
|
3514
|
-
/* @__PURE__ */ jsx41("path", { d: "M5 12.859a10 10 0 0 1 5.17-2.69" }),
|
|
3515
|
-
/* @__PURE__ */ jsx41("line", { x1: "12", x2: "12.01", y1: "20", y2: "20" })
|
|
3516
|
-
]
|
|
3517
|
-
}
|
|
3518
|
-
),
|
|
3219
|
+
/* @__PURE__ */ jsx41(WifiOff, { className: "mr-2 h-3.5 w-3.5 shrink-0", "aria-hidden": "true" }),
|
|
3519
3220
|
message
|
|
3520
3221
|
]
|
|
3521
3222
|
}
|
|
@@ -3526,7 +3227,7 @@ OfflineIndicator.displayName = "OfflineIndicator";
|
|
|
3526
3227
|
|
|
3527
3228
|
// src/components/install-prompt/install-prompt.tsx
|
|
3528
3229
|
import * as React40 from "react";
|
|
3529
|
-
import { jsx as jsx42, jsxs as
|
|
3230
|
+
import { jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3530
3231
|
var InstallPrompt = React40.forwardRef(
|
|
3531
3232
|
({
|
|
3532
3233
|
className,
|
|
@@ -3551,10 +3252,10 @@ var InstallPrompt = React40.forwardRef(
|
|
|
3551
3252
|
className
|
|
3552
3253
|
),
|
|
3553
3254
|
...props,
|
|
3554
|
-
children: /* @__PURE__ */
|
|
3255
|
+
children: /* @__PURE__ */ jsxs22("div", { className: "mx-auto max-w-md", children: [
|
|
3555
3256
|
/* @__PURE__ */ jsx42("p", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
|
|
3556
3257
|
/* @__PURE__ */ jsx42("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description }),
|
|
3557
|
-
/* @__PURE__ */
|
|
3258
|
+
/* @__PURE__ */ jsxs22("div", { className: "mt-3 flex gap-2", children: [
|
|
3558
3259
|
/* @__PURE__ */ jsx42(Button, { size: "sm", onClick: onInstall, className: "flex-1", children: installLabel }),
|
|
3559
3260
|
/* @__PURE__ */ jsx42(
|
|
3560
3261
|
Button,
|
|
@@ -3576,7 +3277,8 @@ InstallPrompt.displayName = "InstallPrompt";
|
|
|
3576
3277
|
|
|
3577
3278
|
// src/components/pull-to-refresh/pull-to-refresh.tsx
|
|
3578
3279
|
import * as React41 from "react";
|
|
3579
|
-
import {
|
|
3280
|
+
import { ArrowDown } from "lucide-react";
|
|
3281
|
+
import { jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3580
3282
|
var PullToRefresh = React41.forwardRef(
|
|
3581
3283
|
({ className, onRefresh, threshold = 80, disabled = false, children, ...props }, ref) => {
|
|
3582
3284
|
const [pullDistance, setPullDistance] = React41.useState(0);
|
|
@@ -3622,7 +3324,7 @@ var PullToRefresh = React41.forwardRef(
|
|
|
3622
3324
|
}, [disabled, isRefreshing, pullDistance, threshold, onRefresh]);
|
|
3623
3325
|
const indicatorOpacity = Math.min(pullDistance / threshold, 1);
|
|
3624
3326
|
const shouldTrigger = pullDistance >= threshold;
|
|
3625
|
-
return /* @__PURE__ */
|
|
3327
|
+
return /* @__PURE__ */ jsxs23(
|
|
3626
3328
|
"div",
|
|
3627
3329
|
{
|
|
3628
3330
|
ref: containerRef,
|
|
@@ -3643,26 +3345,13 @@ var PullToRefresh = React41.forwardRef(
|
|
|
3643
3345
|
{
|
|
3644
3346
|
className: "transition-opacity",
|
|
3645
3347
|
style: { opacity: isRefreshing ? 1 : indicatorOpacity },
|
|
3646
|
-
children: isRefreshing ? /* @__PURE__ */ jsx43(Spinner, { size: "sm" }) : /* @__PURE__ */
|
|
3647
|
-
|
|
3348
|
+
children: isRefreshing ? /* @__PURE__ */ jsx43(Spinner, { size: "sm" }) : /* @__PURE__ */ jsx43(
|
|
3349
|
+
ArrowDown,
|
|
3648
3350
|
{
|
|
3649
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
3650
|
-
width: "20",
|
|
3651
|
-
height: "20",
|
|
3652
|
-
viewBox: "0 0 24 24",
|
|
3653
|
-
fill: "none",
|
|
3654
|
-
stroke: "currentColor",
|
|
3655
|
-
strokeWidth: "2",
|
|
3656
|
-
strokeLinecap: "round",
|
|
3657
|
-
strokeLinejoin: "round",
|
|
3658
3351
|
className: cn(
|
|
3659
|
-
"text-[var(--color-on-surface-muted)] transition-transform duration-normal",
|
|
3352
|
+
"h-5 w-5 text-[var(--color-on-surface-muted)] transition-transform duration-normal",
|
|
3660
3353
|
shouldTrigger && "rotate-180 text-primary-500"
|
|
3661
|
-
)
|
|
3662
|
-
children: [
|
|
3663
|
-
/* @__PURE__ */ jsx43("path", { d: "M12 5v14" }),
|
|
3664
|
-
/* @__PURE__ */ jsx43("path", { d: "m19 12-7 7-7-7" })
|
|
3665
|
-
]
|
|
3354
|
+
)
|
|
3666
3355
|
}
|
|
3667
3356
|
)
|
|
3668
3357
|
}
|
|
@@ -3680,7 +3369,7 @@ PullToRefresh.displayName = "PullToRefresh";
|
|
|
3680
3369
|
// src/components/print/print-document.tsx
|
|
3681
3370
|
import * as React42 from "react";
|
|
3682
3371
|
import { cva as cva15 } from "class-variance-authority";
|
|
3683
|
-
import { jsx as jsx44, jsxs as
|
|
3372
|
+
import { jsx as jsx44, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3684
3373
|
var printDocumentVariants = cva15(
|
|
3685
3374
|
[
|
|
3686
3375
|
"bg-white text-neutral-900",
|
|
@@ -3730,12 +3419,12 @@ var PrintDocument = React42.forwardRef(
|
|
|
3730
3419
|
);
|
|
3731
3420
|
PrintDocument.displayName = "PrintDocument";
|
|
3732
3421
|
var PrintHeader = React42.forwardRef(
|
|
3733
|
-
({ className, logo, title, subtitle, meta, children, ...props }, ref) => /* @__PURE__ */
|
|
3422
|
+
({ className, logo, title, subtitle, meta, children, ...props }, ref) => /* @__PURE__ */ jsxs24("div", { ref, className: cn("mb-6", className), ...props, children: [
|
|
3734
3423
|
/* @__PURE__ */ jsx44("div", { className: "h-1 bg-primary-500 rounded-full mb-5" }),
|
|
3735
|
-
/* @__PURE__ */
|
|
3736
|
-
/* @__PURE__ */
|
|
3424
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex items-start justify-between pb-4 border-b border-neutral-200", children: [
|
|
3425
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
|
|
3737
3426
|
logo && /* @__PURE__ */ jsx44("div", { className: "shrink-0", children: logo }),
|
|
3738
|
-
/* @__PURE__ */
|
|
3427
|
+
/* @__PURE__ */ jsxs24("div", { children: [
|
|
3739
3428
|
title && /* @__PURE__ */ jsx44("h1", { className: "text-2xl font-bold text-neutral-900 leading-tight", children: title }),
|
|
3740
3429
|
subtitle && /* @__PURE__ */ jsx44("p", { className: "text-[8pt] font-medium tracking-widest uppercase text-neutral-400 mt-0.5", children: subtitle })
|
|
3741
3430
|
] })
|
|
@@ -3834,9 +3523,9 @@ PrintTableCell.displayName = "PrintTableCell";
|
|
|
3834
3523
|
// src/components/print/print-field.tsx
|
|
3835
3524
|
import * as React44 from "react";
|
|
3836
3525
|
import { cva as cva16 } from "class-variance-authority";
|
|
3837
|
-
import { jsx as jsx46, jsxs as
|
|
3526
|
+
import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3838
3527
|
var PrintField = React44.forwardRef(
|
|
3839
|
-
({ className, label, value, children, ...props }, ref) => /* @__PURE__ */
|
|
3528
|
+
({ className, label, value, children, ...props }, ref) => /* @__PURE__ */ jsxs25("div", { ref, className: cn("", className), ...props, children: [
|
|
3840
3529
|
/* @__PURE__ */ jsx46("dt", { className: "text-[8pt] font-medium text-neutral-500 mb-0.5", children: label }),
|
|
3841
3530
|
/* @__PURE__ */ jsx46("dd", { className: "text-[9pt] text-neutral-900", children: value ?? children })
|
|
3842
3531
|
] })
|
|
@@ -3884,7 +3573,8 @@ PrintDivider.displayName = "PrintDivider";
|
|
|
3884
3573
|
|
|
3885
3574
|
// src/components/stat-card/stat-card.tsx
|
|
3886
3575
|
import * as React46 from "react";
|
|
3887
|
-
import {
|
|
3576
|
+
import { ChevronUp as ChevronUp2, ChevronDown as ChevronDown3 } from "lucide-react";
|
|
3577
|
+
import { jsx as jsx48, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3888
3578
|
function inferDirection(trend) {
|
|
3889
3579
|
if (!trend) return "neutral";
|
|
3890
3580
|
if (trend.startsWith("+")) return "up";
|
|
@@ -3896,15 +3586,15 @@ var TREND_STYLES = {
|
|
|
3896
3586
|
down: "text-error-600 dark:text-error-400",
|
|
3897
3587
|
neutral: "text-[var(--color-on-surface-muted)]"
|
|
3898
3588
|
};
|
|
3899
|
-
var
|
|
3900
|
-
up:
|
|
3901
|
-
down:
|
|
3902
|
-
neutral:
|
|
3589
|
+
var TREND_ICON_COMPONENTS = {
|
|
3590
|
+
up: ChevronUp2,
|
|
3591
|
+
down: ChevronDown3,
|
|
3592
|
+
neutral: null
|
|
3903
3593
|
};
|
|
3904
3594
|
var StatCard = React46.forwardRef(
|
|
3905
3595
|
({ className, label, value, trend, trendDirection, icon, ...props }, ref) => {
|
|
3906
3596
|
const direction = trendDirection ?? inferDirection(trend);
|
|
3907
|
-
return /* @__PURE__ */
|
|
3597
|
+
return /* @__PURE__ */ jsxs26(
|
|
3908
3598
|
"div",
|
|
3909
3599
|
{
|
|
3910
3600
|
ref,
|
|
@@ -3914,14 +3604,17 @@ var StatCard = React46.forwardRef(
|
|
|
3914
3604
|
),
|
|
3915
3605
|
...props,
|
|
3916
3606
|
children: [
|
|
3917
|
-
/* @__PURE__ */
|
|
3607
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex items-center justify-between", children: [
|
|
3918
3608
|
/* @__PURE__ */ jsx48("p", { className: "text-xs font-medium text-[var(--color-on-surface-muted)] uppercase tracking-wider", children: label }),
|
|
3919
3609
|
icon && /* @__PURE__ */ jsx48("span", { className: "text-[var(--color-on-surface-muted)]", children: icon })
|
|
3920
3610
|
] }),
|
|
3921
|
-
/* @__PURE__ */
|
|
3611
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex items-baseline gap-2 mt-2", children: [
|
|
3922
3612
|
/* @__PURE__ */ jsx48("span", { className: "text-xl sm:text-2xl font-bold tabular-nums", children: value }),
|
|
3923
|
-
trend && /* @__PURE__ */
|
|
3924
|
-
|
|
3613
|
+
trend && /* @__PURE__ */ jsxs26("span", { className: cn("inline-flex items-center gap-0.5 text-xs font-medium", TREND_STYLES[direction]), children: [
|
|
3614
|
+
(() => {
|
|
3615
|
+
const TrendIcon = TREND_ICON_COMPONENTS[direction];
|
|
3616
|
+
return TrendIcon ? /* @__PURE__ */ jsx48(TrendIcon, { className: "h-3 w-3", strokeWidth: 2.5 }) : null;
|
|
3617
|
+
})(),
|
|
3925
3618
|
trend
|
|
3926
3619
|
] })
|
|
3927
3620
|
] })
|
|
@@ -3934,9 +3627,9 @@ StatCard.displayName = "StatCard";
|
|
|
3934
3627
|
|
|
3935
3628
|
// src/components/chart-container/chart-container.tsx
|
|
3936
3629
|
import * as React47 from "react";
|
|
3937
|
-
import { jsx as jsx49, jsxs as
|
|
3630
|
+
import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3938
3631
|
var ChartContainer = React47.forwardRef(
|
|
3939
|
-
({ className, title, description, actions, children, ...props }, ref) => /* @__PURE__ */
|
|
3632
|
+
({ className, title, description, actions, children, ...props }, ref) => /* @__PURE__ */ jsxs27(
|
|
3940
3633
|
"div",
|
|
3941
3634
|
{
|
|
3942
3635
|
ref,
|
|
@@ -3946,8 +3639,8 @@ var ChartContainer = React47.forwardRef(
|
|
|
3946
3639
|
),
|
|
3947
3640
|
...props,
|
|
3948
3641
|
children: [
|
|
3949
|
-
/* @__PURE__ */
|
|
3950
|
-
/* @__PURE__ */
|
|
3642
|
+
/* @__PURE__ */ jsxs27("div", { className: "flex flex-col sm:flex-row sm:items-start sm:justify-between gap-2 sm:gap-4 p-4 sm:p-5 pb-0", children: [
|
|
3643
|
+
/* @__PURE__ */ jsxs27("div", { children: [
|
|
3951
3644
|
/* @__PURE__ */ jsx49("h3", { className: "text-sm font-semibold leading-none tracking-tight", children: title }),
|
|
3952
3645
|
description && /* @__PURE__ */ jsx49("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description })
|
|
3953
3646
|
] }),
|
|
@@ -4066,7 +3759,7 @@ function getChartTheme() {
|
|
|
4066
3759
|
}
|
|
4067
3760
|
|
|
4068
3761
|
// src/components/chart/chart-tooltip.tsx
|
|
4069
|
-
import { jsx as jsx50, jsxs as
|
|
3762
|
+
import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
4070
3763
|
var ChartTooltip = ({
|
|
4071
3764
|
active,
|
|
4072
3765
|
payload,
|
|
@@ -4077,7 +3770,7 @@ var ChartTooltip = ({
|
|
|
4077
3770
|
}) => {
|
|
4078
3771
|
if (!active || !payload?.length) return null;
|
|
4079
3772
|
const displayLabel = labelFormatter ? labelFormatter(String(label)) : label;
|
|
4080
|
-
return /* @__PURE__ */
|
|
3773
|
+
return /* @__PURE__ */ jsxs28(
|
|
4081
3774
|
"div",
|
|
4082
3775
|
{
|
|
4083
3776
|
className: cn(
|
|
@@ -4087,7 +3780,7 @@ var ChartTooltip = ({
|
|
|
4087
3780
|
),
|
|
4088
3781
|
children: [
|
|
4089
3782
|
displayLabel && /* @__PURE__ */ jsx50("p", { className: "font-medium text-[var(--color-on-surface)] mb-1", children: displayLabel }),
|
|
4090
|
-
/* @__PURE__ */ jsx50("div", { className: "flex flex-col gap-0.5", children: payload.map((entry, i) => /* @__PURE__ */
|
|
3783
|
+
/* @__PURE__ */ jsx50("div", { className: "flex flex-col gap-0.5", children: payload.map((entry, i) => /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2", children: [
|
|
4091
3784
|
/* @__PURE__ */ jsx50(
|
|
4092
3785
|
"span",
|
|
4093
3786
|
{
|
|
@@ -4105,13 +3798,13 @@ var ChartTooltip = ({
|
|
|
4105
3798
|
ChartTooltip.displayName = "ChartTooltip";
|
|
4106
3799
|
|
|
4107
3800
|
// src/components/chart/chart-legend.tsx
|
|
4108
|
-
import { jsx as jsx51, jsxs as
|
|
3801
|
+
import { jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
4109
3802
|
var ChartLegend = ({
|
|
4110
3803
|
payload,
|
|
4111
3804
|
className
|
|
4112
3805
|
}) => {
|
|
4113
3806
|
if (!payload?.length) return null;
|
|
4114
|
-
return /* @__PURE__ */ jsx51("div", { className: cn("flex flex-wrap items-center justify-center gap-x-4 gap-y-1 pt-3", className), children: payload.map((entry, i) => /* @__PURE__ */
|
|
3807
|
+
return /* @__PURE__ */ jsx51("div", { className: cn("flex flex-wrap items-center justify-center gap-x-4 gap-y-1 pt-3", className), children: payload.map((entry, i) => /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-1.5 text-xs text-[var(--color-on-surface-muted)]", children: [
|
|
4115
3808
|
/* @__PURE__ */ jsx51(
|
|
4116
3809
|
"span",
|
|
4117
3810
|
{
|