@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 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 { jsx as jsx11, jsxs as jsxs3 } from "react/jsx-runtime";
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__ */ jsxs3(
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 jsxs4 } from "react/jsx-runtime";
876
+ import { jsx as jsx12, jsxs as jsxs3 } from "react/jsx-runtime";
893
877
  function Toaster() {
894
878
  const { toasts } = useToast();
895
- return /* @__PURE__ */ jsxs4(ToastProvider, { children: [
896
- toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */ jsxs4(Toast, { ...props, children: [
897
- /* @__PURE__ */ jsxs4("div", { className: "grid gap-1", children: [
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 jsxs5 } from "react/jsx-runtime";
912
- var Label = React14.forwardRef(({ className, required, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
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 { jsx as jsx19, jsxs as jsxs6 } from "react/jsx-runtime";
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__ */ jsxs6(
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__ */ jsxs6(
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 { jsx as jsx20, jsxs as jsxs7 } from "react/jsx-runtime";
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__ */ jsxs7(
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__ */ jsxs7("div", { className: "flex flex-col border-l border-[var(--color-border-input)]", children: [
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 { jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
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__ */ jsxs8(PopoverPrimitive.Root, { open, onOpenChange: setOpen, children: [
1473
- /* @__PURE__ */ jsxs8(
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__ */ jsxs8(
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__ */ jsxs8(Command, { shouldFilter: true, children: [
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__ */ jsxs8(Command.List, { className: "max-h-60 overflow-auto p-1", children: [
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__ */ jsxs8(
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 jsxs9 } from "react/jsx-runtime";
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__ */ jsxs9(FormField, { ref, error, disabled, className, children: [
1706
- /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
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__ */ jsxs9(Label, { className: "text-sm font-normal", children: [
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__ */ jsxs9(
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__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
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__ */ jsxs9(FormField, { ref, error, required, disabled, className, children: [
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 jsxs10 } from "react/jsx-runtime";
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__ */ jsxs10(
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 { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
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__ */ jsxs11(
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__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
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__ */ jsxs11("div", { className: "flex items-center gap-4", children: [
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__ */ jsxs11("div", { className: "flex items-center gap-1", children: [
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 { jsx as jsx30, jsxs as jsxs12 } from "react/jsx-runtime";
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__ */ jsxs12(
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__ */ jsxs12("div", { className: "flex items-center gap-2", children: [
2261
- selectedCount > 0 && /* @__PURE__ */ jsxs12("span", { className: "text-sm text-[var(--color-on-surface-secondary)]", children: [
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__ */ jsxs12("div", { className: "relative", ref: menuRef, children: [
2268
- /* @__PURE__ */ jsxs12(
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__ */ jsxs12(
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 jsxs13 } from "react/jsx-runtime";
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__ */ jsxs13("div", { className: cn("rounded-md border border-[var(--color-border)]", className), children: [
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__ */ jsxs13(Table, { "aria-label": ariaLabel, children: [
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__ */ jsxs13(
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
- "svg",
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 { jsx as jsx32, jsxs as jsxs14 } from "react/jsx-runtime";
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__ */ jsxs14(
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
- "svg",
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 { jsx as jsx33, jsxs as jsxs15 } from "react/jsx-runtime";
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__ */ jsxs15(
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__ */ jsxs15("span", { className: "text-xs opacity-70", children: [
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__ */ jsxs15(
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 { jsx as jsx35, jsxs as jsxs16 } from "react/jsx-runtime";
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__ */ jsxs16(
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__ */ jsxs16(
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__ */ jsxs16(
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 { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
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__ */ jsxs17(DialogPrimitive.Portal, { children: [
2636
+ var DialogContent = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(DialogPrimitive.Portal, { children: [
2847
2637
  /* @__PURE__ */ jsx36(DialogOverlay, {}),
2848
- /* @__PURE__ */ jsxs17(
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__ */ jsxs17(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: [
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 { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
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__ */ jsxs18(DialogPrimitive2.Portal, { children: [
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__ */ jsxs18(Command2, { shouldFilter: true, className: "flex flex-col", children: [
2959
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center border-b border-[var(--color-border)] px-4", children: [
2960
- /* @__PURE__ */ jsxs18(
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__ */ jsxs18(
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 { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
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__ */ jsxs19(DialogPrimitive3.Portal, { children: [
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__ */ jsxs19(
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__ */ jsxs19("div", { className: "flex items-center gap-1", children: [
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__ */ jsxs19(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: [
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 { jsx as jsx39, jsxs as jsxs20 } from "react/jsx-runtime";
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__ */ jsxs20(
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 jsxs21 } from "react/jsx-runtime";
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__ */ jsxs21(
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 { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
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__ */ jsxs22(
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__ */ jsxs22(
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 jsxs23 } from "react/jsx-runtime";
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__ */ jsxs23("div", { className: "mx-auto max-w-md", children: [
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__ */ jsxs23("div", { className: "mt-3 flex gap-2", children: [
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 { jsx as jsx43, jsxs as jsxs24 } from "react/jsx-runtime";
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__ */ jsxs24(
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__ */ jsxs24(
3647
- "svg",
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 jsxs25 } from "react/jsx-runtime";
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__ */ jsxs25("div", { ref, className: cn("mb-6", className), ...props, children: [
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__ */ jsxs25("div", { className: "flex items-start justify-between pb-4 border-b border-neutral-200", children: [
3736
- /* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-3", children: [
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__ */ jsxs25("div", { children: [
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 jsxs26 } from "react/jsx-runtime";
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__ */ jsxs26("div", { ref, className: cn("", className), ...props, children: [
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 { jsx as jsx48, jsxs as jsxs27 } from "react/jsx-runtime";
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 TREND_ICONS = {
3900
- up: "M7 17l5-5 5 5",
3901
- down: "M7 7l5 5 5-5",
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__ */ jsxs27(
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__ */ jsxs27("div", { className: "flex items-center justify-between", children: [
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__ */ jsxs27("div", { className: "flex items-baseline gap-2 mt-2", children: [
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__ */ jsxs27("span", { className: cn("inline-flex items-center gap-0.5 text-xs font-medium", TREND_STYLES[direction]), children: [
3924
- direction !== "neutral" && /* @__PURE__ */ jsx48("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx48("path", { d: TREND_ICONS[direction] }) }),
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 jsxs28 } from "react/jsx-runtime";
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__ */ jsxs28(
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__ */ jsxs28("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: [
3950
- /* @__PURE__ */ jsxs28("div", { children: [
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 jsxs29 } from "react/jsx-runtime";
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__ */ jsxs29(
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__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
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 jsxs30 } from "react/jsx-runtime";
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__ */ jsxs30("div", { className: "flex items-center gap-1.5 text-xs text-[var(--color-on-surface-muted)]", children: [
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
  {