@snksergio/design-system 0.32.1 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist-lib/chunks/{input-BjUSWce3.cjs → input-CizzMZ20.cjs} +3 -3
  2. package/dist-lib/chunks/{input-BjUSWce3.cjs.map → input-CizzMZ20.cjs.map} +1 -1
  3. package/dist-lib/chunks/{input-DCDU4i4S.mjs → input-Cym0k4ZI.mjs} +2 -2
  4. package/dist-lib/chunks/{input-DCDU4i4S.mjs.map → input-Cym0k4ZI.mjs.map} +1 -1
  5. package/dist-lib/chunks/{kpi-delta-C_3V6uG6.cjs → kpi-delta-DrSJPMCY.cjs} +8 -8
  6. package/dist-lib/chunks/{kpi-delta-C_3V6uG6.cjs.map → kpi-delta-DrSJPMCY.cjs.map} +1 -1
  7. package/dist-lib/chunks/{kpi-delta-DpYuDY4h.mjs → kpi-delta-FhfuIg27.mjs} +2 -2
  8. package/dist-lib/chunks/{kpi-delta-DpYuDY4h.mjs.map → kpi-delta-FhfuIg27.mjs.map} +1 -1
  9. package/dist-lib/chunks/{page-header-D0rpU0yn.cjs → page-header-BMzUloFi.cjs} +4 -4
  10. package/dist-lib/chunks/{page-header-D0rpU0yn.cjs.map → page-header-BMzUloFi.cjs.map} +1 -1
  11. package/dist-lib/chunks/{page-header-B6XJyIMz.mjs → page-header-Buh6YlQM.mjs} +2 -2
  12. package/dist-lib/chunks/{page-header-B6XJyIMz.mjs.map → page-header-Buh6YlQM.mjs.map} +1 -1
  13. package/dist-lib/chunks/{panel-8FiBxwcI.mjs → panel-Cdl0GPVE.mjs} +3 -3
  14. package/dist-lib/chunks/{panel-8FiBxwcI.mjs.map → panel-Cdl0GPVE.mjs.map} +1 -1
  15. package/dist-lib/chunks/{panel-BOrETqXz.cjs → panel-DlyaLunw.cjs} +401 -401
  16. package/dist-lib/chunks/{panel-BOrETqXz.cjs.map → panel-DlyaLunw.cjs.map} +1 -1
  17. package/dist-lib/chunks/{app-shell-Cyh8AUJT.cjs → useTheme-D4alxxGV.cjs} +70 -4
  18. package/dist-lib/chunks/useTheme-D4alxxGV.cjs.map +1 -0
  19. package/dist-lib/chunks/{app-shell-78w0pYdP.mjs → useTheme-DF2xbSdI.mjs} +107 -41
  20. package/dist-lib/chunks/useTheme-DF2xbSdI.mjs.map +1 -0
  21. package/dist-lib/index.cjs +224 -154
  22. package/dist-lib/index.cjs.map +1 -1
  23. package/dist-lib/index.mjs +110 -40
  24. package/dist-lib/index.mjs.map +1 -1
  25. package/dist-lib/preview/chat.cjs +54 -55
  26. package/dist-lib/preview/chat.cjs.map +1 -1
  27. package/dist-lib/preview/chat.mjs +2 -3
  28. package/dist-lib/preview/chat.mjs.map +1 -1
  29. package/dist-lib/preview/clientes.cjs +28 -29
  30. package/dist-lib/preview/clientes.cjs.map +1 -1
  31. package/dist-lib/preview/clientes.mjs +4 -5
  32. package/dist-lib/preview/clientes.mjs.map +1 -1
  33. package/dist-lib/preview/dashboard.cjs +24 -25
  34. package/dist-lib/preview/dashboard.cjs.map +1 -1
  35. package/dist-lib/preview/dashboard.mjs +3 -4
  36. package/dist-lib/preview/dashboard.mjs.map +1 -1
  37. package/dist-lib/src/components/index.d.ts +4 -0
  38. package/dist-lib/src/components/index.d.ts.map +1 -1
  39. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts +3 -2
  40. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts.map +1 -1
  41. package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts +21 -4
  42. package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts.map +1 -1
  43. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts +13 -3
  44. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts.map +1 -1
  45. package/dist-lib/src/hooks/useBrand.d.ts +49 -16
  46. package/dist-lib/src/hooks/useBrand.d.ts.map +1 -1
  47. package/dist-lib/theme/brand-blue.css +6 -3
  48. package/dist-lib/theme/brand-green.css +6 -3
  49. package/dist-lib/theme/brand-pay.css +6 -3
  50. package/dist-lib/theme/brand-vibrant.css +6 -3
  51. package/dist-lib/theme.css +5 -2
  52. package/package.json +4 -2
  53. package/dist-lib/chunks/app-shell-78w0pYdP.mjs.map +0 -1
  54. package/dist-lib/chunks/app-shell-Cyh8AUJT.cjs.map +0 -1
  55. package/dist-lib/chunks/useTheme-BUPLZBMs.mjs +0 -66
  56. package/dist-lib/chunks/useTheme-BUPLZBMs.mjs.map +0 -1
  57. package/dist-lib/chunks/useTheme-Dee4mo-A.cjs +0 -65
  58. package/dist-lib/chunks/useTheme-Dee4mo-A.cjs.map +0 -1
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const panel = require("./chunks/panel-BOrETqXz.cjs");
4
- const appShell = require("./chunks/app-shell-Cyh8AUJT.cjs");
3
+ const panel = require("./chunks/panel-DlyaLunw.cjs");
4
+ const useTheme = require("./chunks/useTheme-D4alxxGV.cjs");
5
5
  const jsxRuntime = require("react/jsx-runtime");
6
6
  const React = require("react");
7
7
  const lucideReact = require("lucide-react");
8
8
  const SeparatorPrimitive = require("@radix-ui/react-separator");
9
- const input = require("./chunks/input-BjUSWce3.cjs");
10
- const kpiDelta = require("./chunks/kpi-delta-C_3V6uG6.cjs");
11
- const pageHeader = require("./chunks/page-header-D0rpU0yn.cjs");
9
+ const input = require("./chunks/input-CizzMZ20.cjs");
10
+ const kpiDelta = require("./chunks/kpi-delta-DrSJPMCY.cjs");
11
+ const pageHeader = require("./chunks/page-header-BMzUloFi.cjs");
12
12
  const TooltipPrimitive = require("@radix-ui/react-tooltip");
13
13
  const CollapsiblePrimitive = require("@radix-ui/react-collapsible");
14
14
  function _interopNamespaceDefault(e) {
@@ -31,7 +31,7 @@ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
31
31
  const SeparatorPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(SeparatorPrimitive);
32
32
  const TooltipPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TooltipPrimitive);
33
33
  const CollapsiblePrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(CollapsiblePrimitive);
34
- const cardCheckbox = appShell.tv({
34
+ const cardCheckbox = useTheme.tv({
35
35
  slots: {
36
36
  root: [
37
37
  "flex items-center gap-gp-lg w-full",
@@ -108,7 +108,7 @@ const Separator = React__namespace.forwardRef(
108
108
  ref,
109
109
  decorative,
110
110
  orientation,
111
- className: appShell.cn(
111
+ className: useTheme.cn(
112
112
  "shrink-0 bg-border",
113
113
  orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
114
114
  className
@@ -118,7 +118,7 @@ const Separator = React__namespace.forwardRef(
118
118
  )
119
119
  );
120
120
  Separator.displayName = SeparatorPrimitive__namespace.Root.displayName;
121
- const badgeVariants = appShell.tv({
121
+ const badgeVariants = useTheme.tv({
122
122
  base: [
123
123
  "inline-flex items-center justify-center",
124
124
  "border border-transparent",
@@ -205,7 +205,7 @@ function Badge({ className, color, variant, size, shape, ...props }) {
205
205
  }
206
206
  );
207
207
  }
208
- const colorPickerStyles = appShell.tv({
208
+ const colorPickerStyles = useTheme.tv({
209
209
  slots: {
210
210
  root: "inline-flex w-full items-center gap-gp-md",
211
211
  swatch: [
@@ -359,9 +359,9 @@ const ColorPicker = React.forwardRef(
359
359
  setOpen(false);
360
360
  };
361
361
  const swatchBg = normalizeHex(value) ?? "transparent";
362
- return /* @__PURE__ */ jsxRuntime.jsxs(appShell.Popover, { open, onOpenChange: setOpen, children: [
362
+ return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange: setOpen, children: [
363
363
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles2.root({ className }), children: [
364
- /* @__PURE__ */ jsxRuntime.jsx(appShell.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
364
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
365
365
  "button",
366
366
  {
367
367
  ref,
@@ -399,7 +399,7 @@ const ColorPicker = React.forwardRef(
399
399
  )
400
400
  ] }),
401
401
  /* @__PURE__ */ jsxRuntime.jsxs(
402
- appShell.PopoverContent,
402
+ useTheme.PopoverContent,
403
403
  {
404
404
  align: "start",
405
405
  mobileSheet: true,
@@ -462,7 +462,7 @@ const ColorPicker = React.forwardRef(
462
462
  }
463
463
  ) }),
464
464
  /* @__PURE__ */ jsxRuntime.jsx(
465
- appShell.Button,
465
+ useTheme.Button,
466
466
  {
467
467
  type: "button",
468
468
  size: "sm",
@@ -480,7 +480,7 @@ const ColorPicker = React.forwardRef(
480
480
  ] });
481
481
  }
482
482
  );
483
- const markdownTextStyles = appShell.tv({
483
+ const markdownTextStyles = useTheme.tv({
484
484
  slots: {
485
485
  root: "text-body-sm text-fg-default break-words",
486
486
  strong: "font-semibold",
@@ -592,7 +592,7 @@ function MarkdownText({
592
592
  }
593
593
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles2.root({ className }), children: content });
594
594
  }
595
- const conversationListItemStyles = appShell.tv({
595
+ const conversationListItemStyles = useTheme.tv({
596
596
  slots: {
597
597
  root: [
598
598
  "group/cli relative w-full text-left",
@@ -785,31 +785,31 @@ function ToolbarMobileDialog({
785
785
  const [internalOpen, setInternalOpen] = React.useState(false);
786
786
  const open = openProp ?? internalOpen;
787
787
  const setOpen = onOpenChange ?? setInternalOpen;
788
- return /* @__PURE__ */ jsxRuntime.jsxs(appShell.Dialog, { open, onOpenChange: setOpen, children: [
789
- /* @__PURE__ */ jsxRuntime.jsx(appShell.DialogTrigger, { asChild: true, children: trigger ?? /* @__PURE__ */ jsxRuntime.jsx(
790
- appShell.Button,
788
+ return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Dialog, { open, onOpenChange: setOpen, children: [
789
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogTrigger, { asChild: true, children: trigger ?? /* @__PURE__ */ jsxRuntime.jsx(
790
+ useTheme.Button,
791
791
  {
792
792
  color: "secondary",
793
793
  variant: "outline",
794
794
  size: "icon-md",
795
795
  "aria-label": "Mais opções",
796
- className: appShell.cn(HIDDEN_AT[desktopBreakpoint], className),
796
+ className: useTheme.cn(HIDDEN_AT[desktopBreakpoint], className),
797
797
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, {})
798
798
  }
799
799
  ) }),
800
800
  /* @__PURE__ */ jsxRuntime.jsxs(
801
- appShell.DialogContent,
801
+ useTheme.DialogContent,
802
802
  {
803
803
  hideClose: true,
804
804
  "aria-describedby": void 0,
805
- className: appShell.cn(
805
+ className: useTheme.cn(
806
806
  // Visual alinhado com CommandDialog
807
807
  "overflow-hidden p-0 gap-0 sm:max-w-[384px]",
808
808
  "rounded-[12px] border border-border-default outline-float",
809
809
  contentClassName
810
810
  ),
811
811
  children: [
812
- /* @__PURE__ */ jsxRuntime.jsx(appShell.DialogTitle, { className: "sr-only", children: title2 }),
812
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogTitle, { className: "sr-only", children: title2 }),
813
813
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-gp-3xl p-pad-2xl max-h-[85vh] overflow-y-auto", children })
814
814
  ]
815
815
  }
@@ -822,7 +822,7 @@ function ToolbarMobileSection({
822
822
  children,
823
823
  className
824
824
  }) {
825
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: appShell.cn("flex flex-col gap-gp-md", className), children: [
825
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: useTheme.cn("flex flex-col gap-gp-md", className), children: [
826
826
  title2 && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-body-xs font-medium text-fg-muted", children: title2 }),
827
827
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-gp-md", children })
828
828
  ] });
@@ -1155,15 +1155,15 @@ const DatePicker = React__namespace.forwardRef(
1155
1155
  );
1156
1156
  }
1157
1157
  const text = label ?? placeholder ?? (props.mode === "range" ? "Selecione o período" : "Selecione a data");
1158
- return /* @__PURE__ */ jsxRuntime.jsxs(appShell.Popover, { open, onOpenChange: setOpen, children: [
1159
- /* @__PURE__ */ jsxRuntime.jsx(appShell.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1158
+ return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange: setOpen, children: [
1159
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1160
1160
  "button",
1161
1161
  {
1162
1162
  ref,
1163
1163
  type: "button",
1164
1164
  disabled,
1165
1165
  "data-placeholder": label ? void 0 : "",
1166
- className: appShell.cn(
1166
+ className: useTheme.cn(
1167
1167
  // Trigger espelha o SelectTrigger (`shadcn/select.tsx`), que é o
1168
1168
  // precedente do DS pra "botão que tem que parecer input": mesmos
1169
1169
  // tokens de bg/border/radius/padding/gap e o mesmo tratamento de
@@ -1190,7 +1190,7 @@ const DatePicker = React__namespace.forwardRef(
1190
1190
  ]
1191
1191
  }
1192
1192
  ) }),
1193
- /* @__PURE__ */ jsxRuntime.jsx(appShell.PopoverContent, { align, className: "w-auto p-pad-xl", children: calendar })
1193
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverContent, { align, className: "w-auto p-pad-xl", children: calendar })
1194
1194
  ] });
1195
1195
  }
1196
1196
  );
@@ -3603,7 +3603,7 @@ const icons = {
3603
3603
  "igreen-seguro": "M11.4639 1.25702C14.085 1.19572 16.6411 1.6447 19.0066 2.80744C19.3755 2.98873 19.8048 3.19906 20.142 3.4273C20.9286 3.95325 21.4689 4.77503 21.64 5.70561C21.7473 6.26792 21.7481 6.87869 21.75 7.45017L21.7514 8.83666C21.7516 9.87475 21.7887 11.1941 21.7047 12.2121C21.5436 14.0305 20.9125 15.7758 19.8734 17.2767C18.5209 19.2611 16.5655 20.8084 14.4652 21.9442C13.8002 22.3039 13.3077 22.5769 12.5623 22.7178C11.4536 22.8767 10.7471 22.5794 9.79046 22.0794C8.44126 21.3884 7.18846 20.5236 6.06411 19.5069C3.84267 17.4616 2.38475 14.8198 2.26307 11.7606C2.22718 10.8583 2.25004 9.84503 2.25011 8.93645L2.25126 7.48091C2.25539 6.12739 2.2747 4.98567 3.24579 3.9393C3.71646 3.43213 4.19253 3.20858 4.79776 2.89964C6.88626 1.83361 9.13195 1.34875 11.4639 1.25702ZM12.2478 21.2347C12.7949 21.1598 13.2274 20.8973 13.7073 20.643C16.9795 18.9081 19.9055 15.9692 20.208 12.0955C20.2867 11.0876 20.2506 10.0186 20.2508 8.99972L20.2497 7.49477C20.2462 6.34402 20.3047 5.23981 19.1555 4.57861C16.8945 3.27767 14.3404 2.72419 11.7463 2.75784C9.58278 2.77438 7.45059 3.27663 5.50717 4.22755C5.10873 4.42741 4.69854 4.61347 4.37701 4.93105C3.74856 5.55175 3.75436 6.41214 3.75218 7.23411C3.74851 8.62352 3.74971 10.0193 3.75311 11.4093C3.77103 15.6466 6.86057 18.8792 10.425 20.718C10.9812 21.0048 11.3782 21.2548 12.0336 21.2458C12.1051 21.2442 12.1766 21.2406 12.2478 21.2347Z",
3604
3604
  "igreen-clientes": "M21.25 11.5996C21.25 9.90753 21.2495 8.68345 21.1709 7.7207C21.0929 6.76657 20.9419 6.1346 20.6777 5.61621C20.1744 4.62859 19.3714 3.82556 18.3838 3.32227C17.8654 3.05814 17.2334 2.90706 16.2793 2.8291C15.3165 2.75047 14.0925 2.75 12.4004 2.75H11.5996C9.90753 2.75 8.68345 2.75047 7.7207 2.8291C6.76657 2.90706 6.1346 3.05814 5.61621 3.32227C4.62859 3.82556 3.82556 4.62859 3.32227 5.61621C3.05814 6.1346 2.90706 6.76657 2.8291 7.7207C2.75047 8.68345 2.75 9.90753 2.75 11.5996V12.4004C2.75 14.0925 2.75047 15.3165 2.8291 16.2793C2.90706 17.2334 3.05814 17.8654 3.32227 18.3838C3.82556 19.3714 4.62859 20.1744 5.61621 20.6777C6.1346 20.9419 6.76657 21.0929 7.7207 21.1709C8.68345 21.2495 9.90753 21.25 11.5996 21.25H12.4004C14.0925 21.25 15.3165 21.2495 16.2793 21.1709C17.2334 21.0929 17.8654 20.9419 18.3838 20.6777C19.3714 20.1744 20.1744 19.3714 20.6777 18.3838C20.9419 17.8654 21.0929 17.2334 21.1709 16.2793C21.2495 15.3165 21.25 14.0925 21.25 12.4004V11.5996ZM15.25 15.667C15.25 14.6084 14.3916 13.75 13.333 13.75H10.667C9.60845 13.75 8.75 14.6084 8.75 15.667C8.75018 15.9889 9.0111 16.2498 9.33301 16.25H14.667C14.9889 16.2498 15.2498 15.9889 15.25 15.667ZM13.25 8C13.25 7.30964 12.6904 6.75 12 6.75C11.3096 6.75 10.75 7.30964 10.75 8C10.75 8.69036 11.3096 9.25 12 9.25C12.6904 9.25 13.25 8.69036 13.25 8ZM16.75 15.667C16.7498 16.8173 15.8173 17.7498 14.667 17.75H9.33301C8.18267 17.7498 7.25018 16.8173 7.25 15.667C7.25 13.78 8.78002 12.25 10.667 12.25H13.333C15.22 12.25 16.75 13.78 16.75 15.667ZM22.75 12.4004C22.75 14.068 22.7508 15.3643 22.666 16.4023C22.5805 17.449 22.4044 18.2995 22.0146 19.0645C21.3675 20.3345 20.3345 21.3675 19.0645 22.0146C18.2995 22.4044 17.449 22.5805 16.4023 22.666C15.3643 22.7508 14.068 22.75 12.4004 22.75H11.5996C9.93202 22.75 8.63571 22.7508 7.59766 22.666C6.55103 22.5805 5.70049 22.4044 4.93555 22.0146C3.66545 21.3675 2.6325 20.3345 1.98535 19.0645C1.59562 18.2995 1.41953 17.449 1.33398 16.4023C1.24917 15.3643 1.25 14.068 1.25 12.4004V11.5996C1.25 9.93202 1.24917 8.63571 1.33398 7.59766C1.41953 6.55103 1.59562 5.70049 1.98535 4.93555C2.6325 3.66545 3.66545 2.6325 4.93555 1.98535C5.70049 1.59562 6.55103 1.41953 7.59766 1.33398C8.63571 1.24917 9.93202 1.25 11.5996 1.25H12.4004C14.068 1.25 15.3643 1.24917 16.4023 1.33398C17.449 1.41953 18.2995 1.59562 19.0645 1.98535C20.3345 2.6325 21.3675 3.66545 22.0146 4.93555C22.4044 5.70049 22.5805 6.55103 22.666 7.59766C22.7508 8.63571 22.75 9.93202 22.75 11.5996V12.4004ZM14.75 8C14.75 9.51878 13.5188 10.75 12 10.75C10.4812 10.75 9.25 9.51878 9.25 8C9.25 6.48122 10.4812 5.25 12 5.25C13.5188 5.25 14.75 6.48122 14.75 8Z"
3605
3605
  };
3606
- const iconStyles = appShell.tv({
3606
+ const iconStyles = useTheme.tv({
3607
3607
  base: "inline-block shrink-0 transition-colors",
3608
3608
  variants: {
3609
3609
  size: {
@@ -3677,7 +3677,7 @@ const Icon = React.forwardRef(
3677
3677
  clipRule: "evenodd",
3678
3678
  role: decorative ? void 0 : "img",
3679
3679
  "aria-hidden": decorative ? true : void 0,
3680
- className: appShell.cn(iconStyles({ size: preset ? size : void 0, tone }), className),
3680
+ className: useTheme.cn(iconStyles({ size: preset ? size : void 0, tone }), className),
3681
3681
  style: { ...sizeStyle, ...color ? { color } : void 0, ...style },
3682
3682
  ...props,
3683
3683
  children: [
@@ -3689,7 +3689,7 @@ const Icon = React.forwardRef(
3689
3689
  }
3690
3690
  );
3691
3691
  Icon.displayName = "Icon";
3692
- const dateSeparatorChipStyles = appShell.tv({
3692
+ const dateSeparatorChipStyles = useTheme.tv({
3693
3693
  slots: {
3694
3694
  root: "flex w-full items-center justify-center",
3695
3695
  rule: "flex-1",
@@ -3719,17 +3719,17 @@ function DateSeparatorChip({
3719
3719
  }) {
3720
3720
  const styles2 = dateSeparatorChipStyles({ variant });
3721
3721
  const isBoundary = variant === "boundary";
3722
- const chip = /* @__PURE__ */ jsxRuntime.jsxs(appShell.Chip, { color: "neutral", variant: "soft", size: "sm", className: styles2.chip(), children: [
3722
+ const chip = /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Chip, { color: "neutral", variant: "soft", size: "sm", className: styles2.chip(), children: [
3723
3723
  icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: icon, size: "xs" }) : null,
3724
3724
  label
3725
3725
  ] });
3726
- return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "separator", "aria-label": label, className: appShell.cn(styles2.root(), className), children: isBoundary ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3726
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "separator", "aria-label": label, className: useTheme.cn(styles2.root(), className), children: isBoundary ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3727
3727
  /* @__PURE__ */ jsxRuntime.jsx(Separator, { decorative: true, className: styles2.rule() }),
3728
3728
  chip,
3729
3729
  /* @__PURE__ */ jsxRuntime.jsx(Separator, { decorative: true, className: styles2.rule() })
3730
3730
  ] }) : chip });
3731
3731
  }
3732
- const emptyStateStyles = appShell.tv({
3732
+ const emptyStateStyles = useTheme.tv({
3733
3733
  slots: {
3734
3734
  root: "flex flex-col items-center justify-center gap-gp-md text-center",
3735
3735
  icon: "inline-flex shrink-0 items-center justify-center text-fg-subtle [&_svg]:size-full",
@@ -3789,7 +3789,7 @@ function EmptyState({
3789
3789
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: styles2.title(), children: title2 }),
3790
3790
  description2 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles2.description(), children: description2 }),
3791
3791
  action != null && (isActionConfig(action) ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles2.action(), children: /* @__PURE__ */ jsxRuntime.jsx(
3792
- appShell.Button,
3792
+ useTheme.Button,
3793
3793
  {
3794
3794
  type: "button",
3795
3795
  size: ACTION_BUTTON_SIZE[size],
@@ -3801,7 +3801,7 @@ function EmptyState({
3801
3801
  ) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles2.action(), children: action }))
3802
3802
  ] });
3803
3803
  }
3804
- const fileUploadFieldStyles = appShell.tv({
3804
+ const fileUploadFieldStyles = useTheme.tv({
3805
3805
  slots: {
3806
3806
  dropzone: [
3807
3807
  "flex w-full flex-col items-center justify-center text-center",
@@ -3959,12 +3959,12 @@ function FileUploadField({
3959
3959
  ]
3960
3960
  }
3961
3961
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles2.fileRow(), children: [
3962
- isImage && imageSrc ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: imageSrc, alt: displayName, className: styles2.thumb() }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles2.fileChipWrap(), children: /* @__PURE__ */ jsxRuntime.jsxs(appShell.Chip, { color: "neutral", variant: "soft", size: "lg", className: "max-w-full", children: [
3962
+ isImage && imageSrc ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: imageSrc, alt: displayName, className: styles2.thumb() }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles2.fileChipWrap(), children: /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Chip, { color: "neutral", variant: "soft", size: "lg", className: "max-w-full", children: [
3963
3963
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "line-file", size: "sm" }),
3964
3964
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles2.fileName(), children: displayName })
3965
3965
  ] }) }),
3966
3966
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles2.removeWrap(), children: /* @__PURE__ */ jsxRuntime.jsx(
3967
- appShell.Button,
3967
+ useTheme.Button,
3968
3968
  {
3969
3969
  type: "button",
3970
3970
  color: "critical",
@@ -3981,7 +3981,7 @@ function FileUploadField({
3981
3981
  }
3982
3982
  );
3983
3983
  }
3984
- const messageAckStyles = appShell.tv({
3984
+ const messageAckStyles = useTheme.tv({
3985
3985
  slots: {
3986
3986
  icon: "inline-block shrink-0 align-middle size-icon-xs"
3987
3987
  },
@@ -3997,18 +3997,18 @@ const messageAckStyles = appShell.tv({
3997
3997
  const MessageAck = ({ ack, error = false, className }) => {
3998
3998
  if (error) {
3999
3999
  const styles22 = messageAckStyles({ tone: "danger" });
4000
- return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { "aria-hidden": true, className: appShell.cn(styles22.icon(), className) });
4000
+ return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { "aria-hidden": true, className: useTheme.cn(styles22.icon(), className) });
4001
4001
  }
4002
4002
  const tone = ack >= 4 ? "success" : "muted";
4003
4003
  const styles2 = messageAckStyles({ tone });
4004
- const iconClassName = appShell.cn(styles2.icon(), className);
4004
+ const iconClassName = useTheme.cn(styles2.icon(), className);
4005
4005
  if (ack >= 4) return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCheck, { "aria-hidden": true, className: iconClassName });
4006
4006
  if (ack === 3) return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCheck, { "aria-hidden": true, className: iconClassName });
4007
4007
  if (ack === 2) return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { "aria-hidden": true, className: iconClassName });
4008
4008
  return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { "aria-hidden": true, className: iconClassName });
4009
4009
  };
4010
4010
  MessageAck.displayName = "MessageAck";
4011
- const messageBubbleStyles = appShell.tv({
4011
+ const messageBubbleStyles = useTheme.tv({
4012
4012
  slots: {
4013
4013
  row: "group/bubble flex w-full items-end gap-gp-sm",
4014
4014
  avatarSlot: "shrink-0 self-end",
@@ -4193,7 +4193,7 @@ function MessageMediaRenderer({
4193
4193
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles$1.mediaDocHint(), children: "Toque para baixar" })
4194
4194
  ] }),
4195
4195
  mediaUrl ? /* @__PURE__ */ jsxRuntime.jsx(
4196
- appShell.Button,
4196
+ useTheme.Button,
4197
4197
  {
4198
4198
  type: "button",
4199
4199
  size: "xs",
@@ -4286,14 +4286,14 @@ function MessageBubble({
4286
4286
  avatar ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: s.avatarSlot(), children: avatar }) : null,
4287
4287
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: s.column(), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: s.bubble(), children: [
4288
4288
  actions && !isDeleted ? /* @__PURE__ */ jsxRuntime.jsxs(
4289
- appShell.Popover,
4289
+ useTheme.Popover,
4290
4290
  {
4291
4291
  open: actionsOpen,
4292
4292
  onOpenChange: setActionsOpen,
4293
4293
  modal: false,
4294
4294
  children: [
4295
- /* @__PURE__ */ jsxRuntime.jsx(appShell.PopoverAnchor, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
4296
- appShell.Button,
4295
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverAnchor, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
4296
+ useTheme.Button,
4297
4297
  {
4298
4298
  type: "button",
4299
4299
  size: "2xs",
@@ -4308,7 +4308,7 @@ function MessageBubble({
4308
4308
  }
4309
4309
  ) }),
4310
4310
  /* @__PURE__ */ jsxRuntime.jsx(
4311
- appShell.PopoverContent,
4311
+ useTheme.PopoverContent,
4312
4312
  {
4313
4313
  align: side === "sent" ? "end" : "start",
4314
4314
  role: "menu",
@@ -4358,7 +4358,7 @@ function MessageBubble({
4358
4358
  ] });
4359
4359
  }
4360
4360
  MessageBubble.displayName = "MessageBubble";
4361
- const messageComposerStyles = appShell.tv({
4361
+ const messageComposerStyles = useTheme.tv({
4362
4362
  slots: {
4363
4363
  root: [
4364
4364
  "flex w-full flex-col",
@@ -4484,7 +4484,7 @@ const MessageComposer = React.forwardRef(function MessageComposer2({
4484
4484
  ) }),
4485
4485
  toolbarEnd ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles2.toolbarEnd(), children: toolbarEnd }) : null,
4486
4486
  !recording && /* @__PURE__ */ jsxRuntime.jsx(
4487
- appShell.Button,
4487
+ useTheme.Button,
4488
4488
  {
4489
4489
  type: "button",
4490
4490
  size: size === "sm" ? "icon-sm" : "icon-md",
@@ -4504,7 +4504,7 @@ const MessageComposer = React.forwardRef(function MessageComposer2({
4504
4504
  ] })
4505
4505
  ] });
4506
4506
  });
4507
- const messageVariablesPickerStyles = appShell.tv({
4507
+ const messageVariablesPickerStyles = useTheme.tv({
4508
4508
  slots: {
4509
4509
  /** Container interno do PopoverContent. */
4510
4510
  content: "flex flex-col gap-gp-md p-sp-sm min-w-[200px]",
@@ -4555,9 +4555,9 @@ function MessageVariablesPicker({
4555
4555
  if (closeOnSelect) setOpen(false);
4556
4556
  };
4557
4557
  const buttonSize = triggerVariant === "icon" ? size === "md" ? "icon-md" : "icon-sm" : size;
4558
- return /* @__PURE__ */ jsxRuntime.jsxs(appShell.Popover, { open, onOpenChange: setOpen, children: [
4559
- /* @__PURE__ */ jsxRuntime.jsx(appShell.PopoverTrigger, { asChild: true, children: triggerVariant === "icon" ? /* @__PURE__ */ jsxRuntime.jsx(
4560
- appShell.Button,
4558
+ return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange: setOpen, children: [
4559
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: triggerVariant === "icon" ? /* @__PURE__ */ jsxRuntime.jsx(
4560
+ useTheme.Button,
4561
4561
  {
4562
4562
  type: "button",
4563
4563
  color: "primary",
@@ -4570,7 +4570,7 @@ function MessageVariablesPicker({
4570
4570
  children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "line-code" })
4571
4571
  }
4572
4572
  ) : /* @__PURE__ */ jsxRuntime.jsx(
4573
- appShell.Button,
4573
+ useTheme.Button,
4574
4574
  {
4575
4575
  type: "button",
4576
4576
  color: "primary",
@@ -4583,13 +4583,13 @@ function MessageVariablesPicker({
4583
4583
  children: label
4584
4584
  }
4585
4585
  ) }),
4586
- /* @__PURE__ */ jsxRuntime.jsx(appShell.PopoverContent, { align: "start", sideOffset: 6, mobileSheet: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles2.content(), children: [
4586
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverContent, { align: "start", sideOffset: 6, mobileSheet: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles2.content(), children: [
4587
4587
  variables.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4588
4588
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles2.header(), children: "Variáveis disponíveis" }),
4589
4589
  /* @__PURE__ */ jsxRuntime.jsx(Separator, {})
4590
4590
  ] }),
4591
4591
  variables.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles2.empty(), children: "Nenhuma variável disponível" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles2.list(), children: variables.map((variable) => /* @__PURE__ */ jsxRuntime.jsx(
4592
- appShell.Chip,
4592
+ useTheme.Chip,
4593
4593
  {
4594
4594
  color: "primary",
4595
4595
  variant: "soft",
@@ -4605,7 +4605,7 @@ function MessageVariablesPicker({
4605
4605
  ] }) })
4606
4606
  ] });
4607
4607
  }
4608
- const dialog = appShell.tv({
4608
+ const dialog = useTheme.tv({
4609
4609
  base: [
4610
4610
  // Override do DialogContent default (grid + p-pad-4xl + rounded-radius-base + shadow-sh-xl)
4611
4611
  "!gap-0 !p-0",
@@ -4637,7 +4637,7 @@ const dialog = appShell.tv({
4637
4637
  },
4638
4638
  defaultVariants: { size: "md" }
4639
4639
  });
4640
- const closeBtn = appShell.tv({
4640
+ const closeBtn = useTheme.tv({
4641
4641
  base: [
4642
4642
  "absolute top-[14px] right-[14px] z-[1]",
4643
4643
  "grid place-items-center size-[28px]",
@@ -4649,7 +4649,7 @@ const closeBtn = appShell.tv({
4649
4649
  "dark:hover:bg-bg-muted-hover"
4650
4650
  ]
4651
4651
  });
4652
- const head = appShell.tv({
4652
+ const head = useTheme.tv({
4653
4653
  base: [
4654
4654
  "flex items-center gap-[14px]",
4655
4655
  "px-pad-4xl pt-pad-4xl pb-pad-3xl",
@@ -4661,7 +4661,7 @@ const head = appShell.tv({
4661
4661
  withIcon: { false: "", true: "" }
4662
4662
  }
4663
4663
  });
4664
- const headIcon = appShell.tv({
4664
+ const headIcon = useTheme.tv({
4665
4665
  base: [
4666
4666
  "shrink-0 grid place-items-center size-form-lg",
4667
4667
  // 40×40
@@ -4671,7 +4671,7 @@ const headIcon = appShell.tv({
4671
4671
  "dark:bg-bg-accent dark:border-border-subtle"
4672
4672
  ]
4673
4673
  });
4674
- const headTitleWrap = appShell.tv({
4674
+ const headTitleWrap = useTheme.tv({
4675
4675
  base: [
4676
4676
  "flex-1 min-w-0",
4677
4677
  "flex flex-col justify-center",
@@ -4680,7 +4680,7 @@ const headTitleWrap = appShell.tv({
4680
4680
  // reserva espaço pro X close (right-14 + 28px) — evita overlap
4681
4681
  ]
4682
4682
  });
4683
- const title = appShell.tv({
4683
+ const title = useTheme.tv({
4684
4684
  base: [
4685
4685
  "m-0 mb-[2px]",
4686
4686
  "text-body-lg font-bold leading-[1.3]",
@@ -4688,10 +4688,10 @@ const title = appShell.tv({
4688
4688
  "tracking-[-0.01em]"
4689
4689
  ]
4690
4690
  });
4691
- const description = appShell.tv({
4691
+ const description = useTheme.tv({
4692
4692
  base: "m-0 text-body-xs font-normal text-fg-muted leading-[1.45]"
4693
4693
  });
4694
- const body = appShell.tv({
4694
+ const body = useTheme.tv({
4695
4695
  // `min-h-0` é o que permite o flex item encolher e a rolagem acontecer aqui,
4696
4696
  // em vez de o conteúdo empurrar o container para fora da tela. Sem ele,
4697
4697
  // `overflow-y-auto` não tem efeito nenhum dentro de um flex column.
@@ -4700,7 +4700,7 @@ const body = appShell.tv({
4700
4700
  "min-h-0 flex-1 overflow-y-auto"
4701
4701
  ]
4702
4702
  });
4703
- const foot = appShell.tv({
4703
+ const foot = useTheme.tv({
4704
4704
  base: [
4705
4705
  "flex items-center gap-gp-lg",
4706
4706
  // gap 10px
@@ -4715,7 +4715,7 @@ const foot = appShell.tv({
4715
4715
  },
4716
4716
  defaultVariants: { layout: "end" }
4717
4717
  });
4718
- const footRight = appShell.tv({
4718
+ const footRight = useTheme.tv({
4719
4719
  base: "flex items-center gap-gp-lg"
4720
4720
  });
4721
4721
  function Modal({
@@ -4742,20 +4742,20 @@ function Modal({
4742
4742
  if (!closeOnOverlay) return;
4743
4743
  onClose();
4744
4744
  };
4745
- return /* @__PURE__ */ jsxRuntime.jsx(appShell.Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(
4746
- appShell.DialogContent,
4745
+ return /* @__PURE__ */ jsxRuntime.jsx(useTheme.Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(
4746
+ useTheme.DialogContent,
4747
4747
  {
4748
4748
  className: dialog({ size, className }),
4749
4749
  hideClose: true,
4750
4750
  ...description$1 ? {} : { "aria-describedby": void 0 },
4751
4751
  children: [
4752
- !title$1 && /* @__PURE__ */ jsxRuntime.jsx(appShell.DialogTitle, { className: "sr-only", children: "Diálogo" }),
4753
- !hideClose && /* @__PURE__ */ jsxRuntime.jsx(appShell.DialogClose, { className: closeBtn(), "aria-label": "Fechar", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-icon-sm" }) }),
4752
+ !title$1 && /* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogTitle, { className: "sr-only", children: "Diálogo" }),
4753
+ !hideClose && /* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogClose, { className: closeBtn(), "aria-label": "Fechar", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-icon-sm" }) }),
4754
4754
  hasHeader && /* @__PURE__ */ jsxRuntime.jsxs("header", { className: head(), children: [
4755
4755
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: headIcon(), "aria-hidden": "true", children: icon }),
4756
4756
  (title$1 || description$1) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: headTitleWrap(), children: [
4757
- title$1 && /* @__PURE__ */ jsxRuntime.jsx(appShell.DialogTitle, { className: title(), children: title$1 }),
4758
- description$1 && /* @__PURE__ */ jsxRuntime.jsx(appShell.DialogDescription, { className: description(), children: description$1 })
4757
+ title$1 && /* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogTitle, { className: title(), children: title$1 }),
4758
+ description$1 && /* @__PURE__ */ jsxRuntime.jsx(useTheme.DialogDescription, { className: description(), children: description$1 })
4759
4759
  ] })
4760
4760
  ] }),
4761
4761
  children !== void 0 && children !== null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: body(), children }),
@@ -4787,7 +4787,7 @@ function StructuredActions({
4787
4787
  onClose
4788
4788
  }) {
4789
4789
  const renderTertiary = tertiary && /* @__PURE__ */ jsxRuntime.jsx(
4790
- appShell.Button,
4790
+ useTheme.Button,
4791
4791
  {
4792
4792
  color: tertiary.danger ? "critical" : "secondary",
4793
4793
  variant: "ghost",
@@ -4799,7 +4799,7 @@ function StructuredActions({
4799
4799
  }
4800
4800
  );
4801
4801
  const renderSecondary = secondary && /* @__PURE__ */ jsxRuntime.jsx(
4802
- appShell.Button,
4802
+ useTheme.Button,
4803
4803
  {
4804
4804
  color: "secondary",
4805
4805
  variant: "outline",
@@ -4811,7 +4811,7 @@ function StructuredActions({
4811
4811
  }
4812
4812
  );
4813
4813
  const renderPrimary = primary && /* @__PURE__ */ jsxRuntime.jsx(
4814
- appShell.Button,
4814
+ useTheme.Button,
4815
4815
  {
4816
4816
  color: primary.danger ? "critical" : "primary",
4817
4817
  variant: "filled",
@@ -4836,7 +4836,7 @@ function StructuredActions({
4836
4836
  renderPrimary
4837
4837
  ] });
4838
4838
  }
4839
- const monthYearStyles = appShell.tv({
4839
+ const monthYearStyles = useTheme.tv({
4840
4840
  slots: {
4841
4841
  trigger: [
4842
4842
  "flex min-h-form-lg w-full items-center justify-between gap-gp-md",
@@ -4871,7 +4871,7 @@ const monthYearStyles = appShell.tv({
4871
4871
  grid: "grid grid-cols-3 gap-gp-sm"
4872
4872
  }
4873
4873
  });
4874
- const monthYearMonthButton = appShell.tv({
4874
+ const monthYearMonthButton = useTheme.tv({
4875
4875
  base: [
4876
4876
  "flex items-center justify-center min-h-form-md px-pad-md",
4877
4877
  "rounded-radius-base text-body-sm font-medium",
@@ -4965,8 +4965,8 @@ const MonthYearPicker = React.forwardRef(function MonthYearPicker2({
4965
4965
  onValueChange?.(next);
4966
4966
  setOpen(false);
4967
4967
  };
4968
- return /* @__PURE__ */ jsxRuntime.jsxs(appShell.Popover, { open, onOpenChange: setOpen, children: [
4969
- /* @__PURE__ */ jsxRuntime.jsx(appShell.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
4968
+ return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.Popover, { open, onOpenChange: setOpen, children: [
4969
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
4970
4970
  "button",
4971
4971
  {
4972
4972
  ref,
@@ -4990,7 +4990,7 @@ const MonthYearPicker = React.forwardRef(function MonthYearPicker2({
4990
4990
  }
4991
4991
  ) }),
4992
4992
  /* @__PURE__ */ jsxRuntime.jsxs(
4993
- appShell.PopoverContent,
4993
+ useTheme.PopoverContent,
4994
4994
  {
4995
4995
  align,
4996
4996
  className: styles2.content({ className: contentClassName }),
@@ -5055,7 +5055,7 @@ const TooltipContent = React__namespace.forwardRef(({ className, sideOffset = 6,
5055
5055
  {
5056
5056
  ref,
5057
5057
  sideOffset,
5058
- className: appShell.cn(
5058
+ className: useTheme.cn(
5059
5059
  "z-50 max-w-[16rem] select-none",
5060
5060
  "bg-bg-emphasis text-fg-default",
5061
5061
  "rounded-radius-md px-pad-lg py-pad-xs",
@@ -5160,7 +5160,7 @@ function useSingleMenuSidebarState(defaultExpanded, controlledExpanded, onExpand
5160
5160
  setOpenCategoryId
5161
5161
  };
5162
5162
  }
5163
- const sidebarRoot = appShell.tv({
5163
+ const sidebarRoot = useTheme.tv({
5164
5164
  base: [
5165
5165
  "relative flex h-full flex-col overflow-x-hidden",
5166
5166
  "border-r border-border-sidebar bg-bg-sidebar",
@@ -5178,7 +5178,7 @@ const sidebarRoot = appShell.tv({
5178
5178
  expanded: true
5179
5179
  }
5180
5180
  });
5181
- const category = appShell.tv({
5181
+ const category = useTheme.tv({
5182
5182
  slots: {
5183
5183
  root: "flex items-center rounded-radius-lg cursor-pointer transition-all",
5184
5184
  text: "flex-1 text-left text-body-sm whitespace-nowrap overflow-hidden text-ellipsis",
@@ -5213,7 +5213,7 @@ const category = appShell.tv({
5213
5213
  collapsed: false
5214
5214
  }
5215
5215
  });
5216
- const menuItem = appShell.tv({
5216
+ const menuItem = useTheme.tv({
5217
5217
  slots: {
5218
5218
  root: "flex h-[38px] items-center gap-[18px] pl-[18px] pr-pad-2xl cursor-pointer transition-colors hover:bg-bg-sidebar-accent",
5219
5219
  border: "h-full w-0 shrink-0",
@@ -5311,14 +5311,14 @@ function SingleMenuHeader({
5311
5311
  return /* @__PURE__ */ jsxRuntime.jsxs(
5312
5312
  "div",
5313
5313
  {
5314
- className: appShell.cn(
5314
+ className: useTheme.cn(
5315
5315
  styles.header.wrapper,
5316
5316
  !expanded && styles.header.wrapperCollapsed
5317
5317
  ),
5318
5318
  children: [
5319
5319
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.header.inner, children: [
5320
5320
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.header.logo, children: logo }),
5321
- expanded && /* @__PURE__ */ jsxRuntime.jsx("span", { className: appShell.cn(styles.header.title, styles.textFadeIn), children: title2 })
5321
+ expanded && /* @__PURE__ */ jsxRuntime.jsx("span", { className: useTheme.cn(styles.header.title, styles.textFadeIn), children: title2 })
5322
5322
  ] }),
5323
5323
  expanded ? /* @__PURE__ */ jsxRuntime.jsx(
5324
5324
  "button",
@@ -5330,7 +5330,7 @@ function SingleMenuHeader({
5330
5330
  children: /* @__PURE__ */ jsxRuntime.jsx(
5331
5331
  lucideReact.PanelLeftClose,
5332
5332
  {
5333
- className: appShell.cn(
5333
+ className: useTheme.cn(
5334
5334
  "size-icon-sm transition-transform duration-300",
5335
5335
  isFlipped && "rotate-180"
5336
5336
  )
@@ -5347,7 +5347,7 @@ function SingleMenuHeader({
5347
5347
  children: /* @__PURE__ */ jsxRuntime.jsx(
5348
5348
  lucideReact.PanelLeftClose,
5349
5349
  {
5350
- className: appShell.cn(
5350
+ className: useTheme.cn(
5351
5351
  styles.header.expandBtnIcon,
5352
5352
  "transition-transform duration-300 rotate-180"
5353
5353
  )
@@ -5379,14 +5379,14 @@ function SingleMenuModuleSelector({
5379
5379
  if (!options || options.length === 0) {
5380
5380
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: s.trigger, children: triggerContent });
5381
5381
  }
5382
- return /* @__PURE__ */ jsxRuntime.jsxs(appShell.DropdownMenu, { children: [
5383
- /* @__PURE__ */ jsxRuntime.jsx(appShell.DropdownMenuTrigger, { className: s.trigger, children: triggerContent }),
5384
- /* @__PURE__ */ jsxRuntime.jsx(appShell.DropdownMenuContent, { side: "bottom", sideOffset: 4, align: "start", children: options.map((option) => {
5382
+ return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { children: [
5383
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuTrigger, { className: s.trigger, children: triggerContent }),
5384
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuContent, { side: "bottom", sideOffset: 4, align: "start", children: options.map((option) => {
5385
5385
  const isSelected = option.label === title2;
5386
5386
  return /* @__PURE__ */ jsxRuntime.jsxs(
5387
- appShell.DropdownMenuItem,
5387
+ useTheme.DropdownMenuItem,
5388
5388
  {
5389
- className: appShell.cn(
5389
+ className: useTheme.cn(
5390
5390
  s.dropdownItem,
5391
5391
  isSelected && s.dropdownItemSelected
5392
5392
  ),
@@ -5431,13 +5431,13 @@ function SingleMenuCommand({
5431
5431
  onSelect(id, parentId);
5432
5432
  onOpenChange(false);
5433
5433
  };
5434
- return /* @__PURE__ */ jsxRuntime.jsxs(appShell.CommandDialog, { open, onOpenChange, children: [
5435
- /* @__PURE__ */ jsxRuntime.jsx(appShell.CommandInput, { placeholder }),
5436
- /* @__PURE__ */ jsxRuntime.jsxs(appShell.CommandList, { children: [
5437
- /* @__PURE__ */ jsxRuntime.jsx(appShell.CommandEmpty, { children: "Nenhum resultado." }),
5434
+ return /* @__PURE__ */ jsxRuntime.jsxs(useTheme.CommandDialog, { open, onOpenChange, children: [
5435
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.CommandInput, { placeholder }),
5436
+ /* @__PURE__ */ jsxRuntime.jsxs(useTheme.CommandList, { children: [
5437
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.CommandEmpty, { children: "Nenhum resultado." }),
5438
5438
  custom ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5439
- leaves.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(appShell.CommandGroup, { heading: "Menu", children: leaves.map((c) => /* @__PURE__ */ jsxRuntime.jsxs(
5440
- appShell.CommandItem,
5439
+ leaves.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(useTheme.CommandGroup, { heading: "Menu", children: leaves.map((c) => /* @__PURE__ */ jsxRuntime.jsxs(
5440
+ useTheme.CommandItem,
5441
5441
  {
5442
5442
  value: c.label,
5443
5443
  onSelect: () => handle(c.id),
@@ -5448,8 +5448,8 @@ function SingleMenuCommand({
5448
5448
  },
5449
5449
  c.id
5450
5450
  )) }),
5451
- groups.map((cat) => /* @__PURE__ */ jsxRuntime.jsx(appShell.CommandGroup, { heading: cat.label, children: cat.items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
5452
- appShell.CommandItem,
5451
+ groups.map((cat) => /* @__PURE__ */ jsxRuntime.jsx(useTheme.CommandGroup, { heading: cat.label, children: cat.items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
5452
+ useTheme.CommandItem,
5453
5453
  {
5454
5454
  value: `${cat.label} ${item.label}`,
5455
5455
  onSelect: () => handle(item.id, cat.id),
@@ -5529,7 +5529,7 @@ function SingleMenuCategory({
5529
5529
  if (!hasItems) {
5530
5530
  return /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", onClick: handleToggle, className: s.root(), children: [
5531
5531
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: s.icon(), children: icon }),
5532
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: appShell.cn(s.text(), styles.textFadeIn), children: label })
5532
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: useTheme.cn(s.text(), styles.textFadeIn), children: label })
5533
5533
  ] });
5534
5534
  }
5535
5535
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -5543,8 +5543,8 @@ function SingleMenuCategory({
5543
5543
  children: [
5544
5544
  /* @__PURE__ */ jsxRuntime.jsxs(CollapsibleTrigger, { className: s.root(), children: [
5545
5545
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: s.icon(), children: icon }),
5546
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: appShell.cn(s.text(), styles.textFadeIn), children: label }),
5547
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: appShell.cn(s.chevron(), isOpen && "rotate-180") })
5546
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: useTheme.cn(s.text(), styles.textFadeIn), children: label }),
5547
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: useTheme.cn(s.chevron(), isOpen && "rotate-180") })
5548
5548
  ] }),
5549
5549
  /* @__PURE__ */ jsxRuntime.jsx(CollapsibleContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.subItemList, children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
5550
5550
  SingleMenuItem,
@@ -5580,30 +5580,30 @@ function SingleMenuFooter({
5580
5580
  ] })
5581
5581
  ] });
5582
5582
  if (!actions || actions.length === 0) {
5583
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: s.wrapper, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: appShell.cn(s.button, !expanded && "justify-center px-0"), children: triggerContent }) });
5583
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: s.wrapper, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: useTheme.cn(s.button, !expanded && "justify-center px-0"), children: triggerContent }) });
5584
5584
  }
5585
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: s.wrapper, children: /* @__PURE__ */ jsxRuntime.jsxs(appShell.DropdownMenu, { children: [
5585
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: s.wrapper, children: /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenu, { children: [
5586
5586
  /* @__PURE__ */ jsxRuntime.jsx(
5587
- appShell.DropdownMenuTrigger,
5587
+ useTheme.DropdownMenuTrigger,
5588
5588
  {
5589
- className: appShell.cn(s.button, !expanded && "justify-center px-0"),
5589
+ className: useTheme.cn(s.button, !expanded && "justify-center px-0"),
5590
5590
  children: triggerContent
5591
5591
  }
5592
5592
  ),
5593
5593
  /* @__PURE__ */ jsxRuntime.jsxs(
5594
- appShell.DropdownMenuContent,
5594
+ useTheme.DropdownMenuContent,
5595
5595
  {
5596
5596
  side: expanded ? "top" : "right",
5597
5597
  sideOffset: 8,
5598
5598
  align: expanded ? "end" : "start",
5599
5599
  children: [
5600
- /* @__PURE__ */ jsxRuntime.jsx(appShell.DropdownMenuGroup, { children: /* @__PURE__ */ jsxRuntime.jsxs(appShell.DropdownMenuLabel, { className: s.dropdownLabel, children: [
5600
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuGroup, { children: /* @__PURE__ */ jsxRuntime.jsxs(useTheme.DropdownMenuLabel, { className: s.dropdownLabel, children: [
5601
5601
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: s.dropdownLabelName, children: name }),
5602
5602
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: s.dropdownLabelEmail, children: email })
5603
5603
  ] }) }),
5604
- /* @__PURE__ */ jsxRuntime.jsx(appShell.DropdownMenuSeparator, {}),
5604
+ /* @__PURE__ */ jsxRuntime.jsx(useTheme.DropdownMenuSeparator, {}),
5605
5605
  actions.map((action) => /* @__PURE__ */ jsxRuntime.jsxs(
5606
- appShell.DropdownMenuItem,
5606
+ useTheme.DropdownMenuItem,
5607
5607
  {
5608
5608
  variant: action.variant === "destructive" ? "destructive" : "default",
5609
5609
  onClick: () => onAction?.(action.id),
@@ -5718,7 +5718,7 @@ function SingleMenuSidebar({
5718
5718
  "aside",
5719
5719
  {
5720
5720
  "aria-label": "Navegação lateral",
5721
- className: appShell.cn(sidebarRoot({ expanded }), className),
5721
+ className: useTheme.cn(sidebarRoot({ expanded }), className),
5722
5722
  onMouseEnter,
5723
5723
  onMouseLeave,
5724
5724
  ...props,
@@ -5732,7 +5732,7 @@ function SingleMenuSidebar({
5732
5732
  }
5733
5733
  ),
5734
5734
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.divider }),
5735
- expanded && (moduleDisplay || showSearch) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: appShell.cn(styles.sectionPadding, styles.textFadeIn), children: [
5735
+ expanded && (moduleDisplay || showSearch) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: useTheme.cn(styles.sectionPadding, styles.textFadeIn), children: [
5736
5736
  moduleDisplay && /* @__PURE__ */ jsxRuntime.jsx(SingleMenuModuleSelector, { ...moduleDisplay }),
5737
5737
  showSearch && /* @__PURE__ */ jsxRuntime.jsx(
5738
5738
  SingleMenuSearch,
@@ -5746,7 +5746,7 @@ function SingleMenuSidebar({
5746
5746
  /* @__PURE__ */ jsxRuntime.jsx(
5747
5747
  "nav",
5748
5748
  {
5749
- className: appShell.cn(
5749
+ className: useTheme.cn(
5750
5750
  styles.navContainer,
5751
5751
  expanded ? styles.navContainerExpanded : styles.navContainerCollapsed
5752
5752
  ),
@@ -5779,7 +5779,7 @@ function SingleMenuSidebar({
5779
5779
  ] });
5780
5780
  }
5781
5781
  SingleMenuSidebar.displayName = "SingleMenuSidebar";
5782
- const spinnerStyles = appShell.tv({
5782
+ const spinnerStyles = useTheme.tv({
5783
5783
  base: ["inline-block shrink-0", "animate-spin motion-reduce:animate-none"],
5784
5784
  variants: {
5785
5785
  size: {
@@ -7334,7 +7334,7 @@ function object(topology, o) {
7334
7334
  }
7335
7335
  return geometry(o);
7336
7336
  }
7337
- const choroplethStyles = appShell.tv({
7337
+ const choroplethStyles = useTheme.tv({
7338
7338
  slots: {
7339
7339
  root: "relative w-full",
7340
7340
  svg: "block h-auto w-full",
@@ -7531,6 +7531,73 @@ const ChoroplethMap = React.forwardRef(
7531
7531
  }
7532
7532
  );
7533
7533
  ChoroplethMap.displayName = "ChoroplethMap";
7534
+ const BRANDS = [
7535
+ { id: "default", label: "iGreen", swatch: "oklch(0.5248 0.1415 150.9)" },
7536
+ { id: "blue", label: "Azul", swatch: "oklch(0.52 0.180 264)" },
7537
+ { id: "green", label: "Verde", swatch: "oklch(0.58 0.170 142)" },
7538
+ { id: "pay", label: "Pay", swatch: "#00a859" },
7539
+ { id: "vibrant", label: "iGreen Vibrant", swatch: "oklch(0.866993 0.294055 142.3546)" }
7540
+ ];
7541
+ const STORAGE_KEY = "igreen-ds-brand";
7542
+ const CHANGE_EVENT = "igreen-ds-brand-change";
7543
+ const ATTR = "data-theme";
7544
+ function useBrand(options) {
7545
+ const brands = options?.brands ?? BRANDS;
7546
+ const ids = React.useMemo(() => brands.map((b) => b.id).join(","), [brands]);
7547
+ const isBrand = React.useCallback(
7548
+ (value) => typeof value === "string" && ids.split(",").includes(value),
7549
+ [ids]
7550
+ );
7551
+ const fallback = brands[0]?.id ?? "default";
7552
+ const [brand, setBrandState] = React.useState(() => {
7553
+ if (typeof window === "undefined") return fallback;
7554
+ const stored = window.localStorage.getItem(STORAGE_KEY);
7555
+ return typeof stored === "string" && ids.split(",").includes(stored) ? stored : fallback;
7556
+ });
7557
+ React.useEffect(() => {
7558
+ if (typeof document === "undefined") return;
7559
+ const root = document.documentElement;
7560
+ if (brand === "default") root.removeAttribute(ATTR);
7561
+ else root.setAttribute(ATTR, brand);
7562
+ }, [brand]);
7563
+ const setBrand = React.useCallback((next) => {
7564
+ setBrandState(next);
7565
+ if (typeof window === "undefined") return;
7566
+ try {
7567
+ window.localStorage.setItem(STORAGE_KEY, next);
7568
+ } catch {
7569
+ }
7570
+ window.dispatchEvent(new CustomEvent(CHANGE_EVENT, { detail: next }));
7571
+ }, []);
7572
+ React.useEffect(() => {
7573
+ if (typeof window === "undefined") return;
7574
+ const valido = (v) => typeof v === "string" && ids.split(",").includes(v);
7575
+ const onCustom = (e) => {
7576
+ const next = e.detail;
7577
+ if (valido(next)) setBrandState(next);
7578
+ };
7579
+ const onStorage = (e) => {
7580
+ if (e.key !== STORAGE_KEY) return;
7581
+ if (valido(e.newValue)) setBrandState(e.newValue);
7582
+ };
7583
+ window.addEventListener(CHANGE_EVENT, onCustom);
7584
+ window.addEventListener("storage", onStorage);
7585
+ return () => {
7586
+ window.removeEventListener(CHANGE_EVENT, onCustom);
7587
+ window.removeEventListener("storage", onStorage);
7588
+ };
7589
+ }, [ids]);
7590
+ const toggle = React.useCallback(() => {
7591
+ const lista = ids.split(",");
7592
+ const i = lista.indexOf(brand);
7593
+ setBrand(lista[(i + 1) % lista.length] ?? fallback);
7594
+ }, [brand, ids, setBrand, fallback]);
7595
+ const current = React.useMemo(
7596
+ () => brands.find((b) => b.id === brand) ?? brands[0],
7597
+ [brands, brand]
7598
+ );
7599
+ return { brand, brands, current, setBrand, toggle, isBrand };
7600
+ }
7534
7601
  exports.AddViewModal = panel.AddViewModal;
7535
7602
  exports.AlertModal = panel.AlertModal;
7536
7603
  exports.Avatar = panel.Avatar;
@@ -7607,44 +7674,45 @@ exports.useColumnResize = panel.useColumnResize;
7607
7674
  exports.useColumnWidths = panel.useColumnWidths;
7608
7675
  exports.useDataTableContext = panel.useDataTableContext;
7609
7676
  exports.useFloatingPanelResize = panel.useFloatingPanelResize;
7610
- exports.AppShell = appShell.AppShell;
7611
- exports.Button = appShell.Button;
7612
- exports.Chip = appShell.Chip;
7613
- exports.ChipGroup = appShell.ChipGroup;
7614
- exports.ChipGroupItem = appShell.ChipGroupItem;
7615
- exports.Header = appShell.Header;
7616
- exports.HeaderBreadcrumb = appShell.HeaderBreadcrumb;
7617
- exports.HeaderMessages = appShell.HeaderMessages;
7618
- exports.HeaderNotifications = appShell.HeaderNotifications;
7619
- exports.HeaderSearch = appShell.HeaderSearch;
7620
- exports.HeaderThemeSwitcher = appShell.HeaderThemeSwitcher;
7621
- exports.InputGroup = appShell.InputGroup;
7622
- exports.InputGroupAddon = appShell.InputGroupAddon;
7623
- exports.InputGroupButton = appShell.InputGroupButton;
7624
- exports.InputGroupInput = appShell.InputGroupInput;
7625
- exports.InputGroupText = appShell.InputGroupText;
7626
- exports.InputGroupTextarea = appShell.InputGroupTextarea;
7627
- exports.MenuSidebar = appShell.MenuSidebar;
7628
- exports.MoreMenuCheckboxItem = appShell.DropdownMenuCheckboxItem;
7629
- exports.MoreMenuItem = appShell.DropdownMenuItem;
7630
- exports.MoreMenuLabel = appShell.DropdownMenuLabel;
7631
- exports.MoreMenuRadioGroup = appShell.DropdownMenuRadioGroup;
7632
- exports.MoreMenuRadioItem = appShell.DropdownMenuRadioItem;
7633
- exports.MoreMenuSeparator = appShell.DropdownMenuSeparator;
7634
- exports.SidebarBrandIcon = appShell.SidebarBrandIcon;
7635
- exports.SidebarItem = appShell.SidebarItem;
7636
- exports.SidebarPanel = appShell.SidebarPanel;
7637
- exports.SidebarPill = appShell.SidebarPill;
7638
- exports.SidebarRail = appShell.SidebarRail;
7639
- exports.SidebarSection = appShell.SidebarSection;
7640
- exports.SidebarSubgroup = appShell.SidebarSubgroup;
7641
- exports.UserMenu = appShell.UserMenu;
7642
- exports.buttonVariants = appShell.buttonVariants;
7643
- exports.chipCount = appShell.chipCount;
7644
- exports.chipVariants = appShell.chipVariants;
7645
- exports.inputGroupVariants = appShell.inputGroupVariants;
7646
- exports.useControllable = appShell.useControllable;
7647
- exports.useMediaQuery = appShell.useMediaQuery;
7677
+ exports.AppShell = useTheme.AppShell;
7678
+ exports.Button = useTheme.Button;
7679
+ exports.Chip = useTheme.Chip;
7680
+ exports.ChipGroup = useTheme.ChipGroup;
7681
+ exports.ChipGroupItem = useTheme.ChipGroupItem;
7682
+ exports.Header = useTheme.Header;
7683
+ exports.HeaderBreadcrumb = useTheme.HeaderBreadcrumb;
7684
+ exports.HeaderMessages = useTheme.HeaderMessages;
7685
+ exports.HeaderNotifications = useTheme.HeaderNotifications;
7686
+ exports.HeaderSearch = useTheme.HeaderSearch;
7687
+ exports.HeaderThemeSwitcher = useTheme.HeaderThemeSwitcher;
7688
+ exports.InputGroup = useTheme.InputGroup;
7689
+ exports.InputGroupAddon = useTheme.InputGroupAddon;
7690
+ exports.InputGroupButton = useTheme.InputGroupButton;
7691
+ exports.InputGroupInput = useTheme.InputGroupInput;
7692
+ exports.InputGroupText = useTheme.InputGroupText;
7693
+ exports.InputGroupTextarea = useTheme.InputGroupTextarea;
7694
+ exports.MenuSidebar = useTheme.MenuSidebar;
7695
+ exports.MoreMenuCheckboxItem = useTheme.DropdownMenuCheckboxItem;
7696
+ exports.MoreMenuItem = useTheme.DropdownMenuItem;
7697
+ exports.MoreMenuLabel = useTheme.DropdownMenuLabel;
7698
+ exports.MoreMenuRadioGroup = useTheme.DropdownMenuRadioGroup;
7699
+ exports.MoreMenuRadioItem = useTheme.DropdownMenuRadioItem;
7700
+ exports.MoreMenuSeparator = useTheme.DropdownMenuSeparator;
7701
+ exports.SidebarBrandIcon = useTheme.SidebarBrandIcon;
7702
+ exports.SidebarItem = useTheme.SidebarItem;
7703
+ exports.SidebarPanel = useTheme.SidebarPanel;
7704
+ exports.SidebarPill = useTheme.SidebarPill;
7705
+ exports.SidebarRail = useTheme.SidebarRail;
7706
+ exports.SidebarSection = useTheme.SidebarSection;
7707
+ exports.SidebarSubgroup = useTheme.SidebarSubgroup;
7708
+ exports.UserMenu = useTheme.UserMenu;
7709
+ exports.buttonVariants = useTheme.buttonVariants;
7710
+ exports.chipCount = useTheme.chipCount;
7711
+ exports.chipVariants = useTheme.chipVariants;
7712
+ exports.inputGroupVariants = useTheme.inputGroupVariants;
7713
+ exports.useControllable = useTheme.useControllable;
7714
+ exports.useMediaQuery = useTheme.useMediaQuery;
7715
+ exports.useTheme = useTheme.useTheme;
7648
7716
  Object.defineProperty(exports, "MessageReplyIcon", {
7649
7717
  enumerable: true,
7650
7718
  get: () => lucideReact.Reply
@@ -7656,6 +7724,7 @@ exports.KpiDelta = kpiDelta.KpiDelta;
7656
7724
  exports.KpiGroup = kpiDelta.KpiGroup;
7657
7725
  exports.PageHeader = pageHeader.PageHeader;
7658
7726
  exports.pageHeaderStyles = pageHeader.pageHeaderStyles;
7727
+ exports.BRANDS = BRANDS;
7659
7728
  exports.Badge = Badge;
7660
7729
  exports.CardCheckbox = CardCheckbox;
7661
7730
  exports.ChoroplethMap = ChoroplethMap;
@@ -7703,6 +7772,7 @@ exports.numberColumn = numberColumn;
7703
7772
  exports.phoneColumn = phoneColumn;
7704
7773
  exports.statusColumn = statusColumn;
7705
7774
  exports.textColumn = textColumn;
7775
+ exports.useBrand = useBrand;
7706
7776
  exports.useToolbarFilterControl = useToolbarFilterControl;
7707
7777
  exports.useToolbarFilters = useToolbarFilters;
7708
7778
  exports.useToolbarSort = useToolbarSort;