nave-ui-library 1.0.0-beta.30 → 1.0.0-beta.31

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.
@@ -59,6 +59,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
59
59
  // src/index.ts
60
60
  var index_exports = {};
61
61
  __export(index_exports, {
62
+ AIProvider: () => AIProvider,
62
63
  Accordion: () => Accordion,
63
64
  AccordionContent: () => AccordionContent,
64
65
  AccordionItem: () => AccordionItem,
@@ -90,9 +91,11 @@ __export(index_exports, {
90
91
  Button: () => Button,
91
92
  Calendar: () => Calendar,
92
93
  Card: () => Card,
94
+ Charts: () => Charts,
93
95
  Checkbox: () => Checkbox,
94
96
  ColorExample: () => ColorExample,
95
97
  Combobox: () => Combobox,
98
+ DataInsights: () => DataInsights,
96
99
  DatePickerInput: () => DatePickerInput,
97
100
  DragSlider: () => DragSlider,
98
101
  Drawer: () => Drawer,
@@ -123,7 +126,10 @@ __export(index_exports, {
123
126
  DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,
124
127
  DropdownMenuTrigger: () => DropdownMenuTrigger,
125
128
  EmptyState: () => EmptyState,
129
+ EmptyStateAI: () => EmptyStateAI,
130
+ ExplainCode: () => ExplainCode,
126
131
  FileUpload: () => FileUpload,
132
+ FormHelper: () => FormHelper,
127
133
  Icon: () => Icon,
128
134
  IconLabel: () => IconLabel,
129
135
  Input: () => Input,
@@ -132,6 +138,7 @@ __export(index_exports, {
132
138
  LastMovements: () => LastMovements,
133
139
  ListItem: () => ListItem,
134
140
  Loader: () => Loader,
141
+ ModuleBox: () => ModuleBox,
135
142
  Navbar: () => Navbar,
136
143
  NavbarLogo: () => NavbarLogo,
137
144
  NavbarMerchant: () => NavbarMerchant,
@@ -156,6 +163,7 @@ __export(index_exports, {
156
163
  Select: () => Select,
157
164
  Separator: () => Separator2,
158
165
  Sidebar: () => Sidebar,
166
+ SmartSearch: () => SmartSearch,
159
167
  Switch: () => Switch,
160
168
  Table: () => Table,
161
169
  TableBody: () => TableBody,
@@ -170,12 +178,16 @@ __export(index_exports, {
170
178
  TabsContent: () => TabsContent,
171
179
  TabsList: () => TabsList,
172
180
  TabsTrigger: () => TabsTrigger,
181
+ TagSuggest: () => TagSuggest,
182
+ TextAssist: () => TextAssist,
173
183
  Textarea: () => Textarea,
174
184
  ThemeProvider: () => ThemeProvider,
175
185
  Tooltip: () => Tooltip,
176
186
  TooltipContent: () => TooltipContent,
177
187
  TooltipProvider: () => TooltipProvider,
178
188
  TooltipTrigger: () => TooltipTrigger,
189
+ Tour: () => Tour,
190
+ TranslateToggle: () => TranslateToggle,
179
191
  UnknownPurchase: () => UnknownPurchase,
180
192
  accordionContentVariants: () => accordionContentVariants,
181
193
  accordionTriggerVariants: () => accordionTriggerVariants,
@@ -183,6 +195,7 @@ __export(index_exports, {
183
195
  buttonBaseClasses: () => buttonBaseClasses,
184
196
  promoBannerVariants: () => promoBannerVariants,
185
197
  resolveTokens: () => resolveTokens,
198
+ useAI: () => useAI,
186
199
  useTheme: () => useTheme
187
200
  });
188
201
  module.exports = __toCommonJS(index_exports);
@@ -4862,7 +4875,9 @@ function DragSlider({ children, className, tokens: customTokens }) {
4862
4875
  const styles = {
4863
4876
  "--ds-gap": (_b = mergedTokens == null ? void 0 : mergedTokens.gap) != null ? _b : "16px",
4864
4877
  "--ds-cursor": (_c = mergedTokens == null ? void 0 : mergedTokens.cursorGrab) != null ? _c : "grab",
4865
- "--ds-cursor-active": (_d = mergedTokens == null ? void 0 : mergedTokens.cursorGrabbing) != null ? _d : "grabbing"
4878
+ "--ds-cursor-active": (_d = mergedTokens == null ? void 0 : mergedTokens.cursorGrabbing) != null ? _d : "grabbing",
4879
+ scrollbarWidth: "none",
4880
+ msOverflowStyle: "none"
4866
4881
  };
4867
4882
  const onMouseDown = (e) => {
4868
4883
  if (!sliderRef.current) return;
@@ -4884,24 +4899,55 @@ function DragSlider({ children, className, tokens: customTokens }) {
4884
4899
  const walk = (x - startX.current) * 1.5;
4885
4900
  sliderRef.current.scrollLeft = scrollLeft.current - walk;
4886
4901
  };
4887
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4888
- "div",
4889
- {
4890
- ref: sliderRef,
4891
- style: styles,
4892
- className: cn(
4893
- "flex overflow-x-auto no-scrollbar select-none scroll-smooth",
4894
- "snap-x snap-mandatory",
4895
- "gap-[var(--ds-gap)] cursor-[var(--ds-cursor)]",
4896
- className
4897
- ),
4898
- onMouseDown,
4899
- onMouseLeave: stopDragging,
4900
- onMouseUp: stopDragging,
4901
- onMouseMove,
4902
- children: React5.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { "data-slot": "drag-slider-item", className: "shrink-0 snap-start", children: child }))
4903
- }
4904
- );
4902
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "relative w-full overflow-hidden", children: [
4903
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("style", { dangerouslySetInnerHTML: { __html: `
4904
+ [data-slot="drag-slider-container"]::-webkit-scrollbar {
4905
+ display: none !important;
4906
+ }
4907
+ ` } }),
4908
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4909
+ "div",
4910
+ {
4911
+ className: "absolute right-0 top-0 bottom-0 w-20 z-10 pointer-events-none",
4912
+ style: {
4913
+ background: "linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.9))"
4914
+ }
4915
+ }
4916
+ ),
4917
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4918
+ "div",
4919
+ {
4920
+ ref: sliderRef,
4921
+ style: styles,
4922
+ "data-slot": "drag-slider-container",
4923
+ className: cn(
4924
+ "flex overflow-x-auto select-none scroll-smooth",
4925
+ "snap-x snap-mandatory outline-none",
4926
+ "gap-[var(--ds-gap)] cursor-[var(--ds-cursor)]",
4927
+ "py-4 px-4",
4928
+ // Padding aumentado para que respiren los items
4929
+ className
4930
+ ),
4931
+ onMouseDown,
4932
+ onMouseLeave: stopDragging,
4933
+ onMouseUp: stopDragging,
4934
+ onMouseMove,
4935
+ children: React5.Children.map(children, (child, index) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4936
+ "div",
4937
+ {
4938
+ "data-slot": "drag-slider-item",
4939
+ className: cn(
4940
+ "shrink-0 snap-start bg-white rounded-xl shadow-md",
4941
+ // Margen extra al último para que no pegue contra el borde al scrollear
4942
+ index === React5.Children.count(children) - 1 ? "mr-10" : ""
4943
+ ),
4944
+ children: child
4945
+ },
4946
+ index
4947
+ ))
4948
+ }
4949
+ )
4950
+ ] });
4905
4951
  }
4906
4952
 
4907
4953
  // src/components/base/data-display/cards-blocks/IntegrationCard.tsx
@@ -5283,11 +5329,560 @@ function AccordionContent(_a2) {
5283
5329
  );
5284
5330
  }
5285
5331
 
5286
- // src/components/base/data-entry/inputs/Calendar.tsx
5332
+ // src/components/base/data-display/module-box/moduleBox.tsx
5287
5333
  var React9 = __toESM(require("react"), 1);
5334
+ var import_jsx_runtime22 = require("react/jsx-runtime");
5335
+ function ModuleBox(_a2) {
5336
+ var _b = _a2, {
5337
+ className,
5338
+ title = "Title",
5339
+ headerActions,
5340
+ footerActions,
5341
+ slotPlaceholder = "Slot",
5342
+ tokens,
5343
+ headerClassName,
5344
+ slotClassName,
5345
+ footerClassName,
5346
+ children,
5347
+ style
5348
+ } = _b, props = __objRest(_b, [
5349
+ "className",
5350
+ "title",
5351
+ "headerActions",
5352
+ "footerActions",
5353
+ "slotPlaceholder",
5354
+ "tokens",
5355
+ "headerClassName",
5356
+ "slotClassName",
5357
+ "footerClassName",
5358
+ "children",
5359
+ "style"
5360
+ ]);
5361
+ var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J;
5362
+ const theme = useTheme();
5363
+ const mergedTokens = (_a3 = resolveTokens({ componentName: "moduleBox", tokens }, theme)) != null ? _a3 : {};
5364
+ const titleFontFamilyRaw = (_b2 = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _b2.fontFamily;
5365
+ const titleFontFamily = typeof titleFontFamilyRaw === "string" ? titleFontFamilyRaw : (_c = titleFontFamilyRaw == null ? void 0 : titleFontFamilyRaw.base) != null ? _c : "inherit";
5366
+ const styles = __spreadValues({
5367
+ "--module-box-bg": (_d = mergedTokens == null ? void 0 : mergedTokens.backgroundColor) != null ? _d : "#FFFFFF",
5368
+ "--module-box-border": (_e = mergedTokens == null ? void 0 : mergedTokens.borderColor) != null ? _e : "#E2E5E9",
5369
+ "--module-box-radius": (_f = mergedTokens == null ? void 0 : mergedTokens.borderRadius) != null ? _f : "16px",
5370
+ "--module-box-padding": (_g = mergedTokens == null ? void 0 : mergedTokens.padding) != null ? _g : "24px",
5371
+ "--module-box-gap": (_h = mergedTokens == null ? void 0 : mergedTokens.gap) != null ? _h : "24px",
5372
+ "--module-box-header-gap": (_j = (_i = mergedTokens == null ? void 0 : mergedTokens.header) == null ? void 0 : _i.gap) != null ? _j : "12px",
5373
+ "--module-box-footer-gap": (_l = (_k = mergedTokens == null ? void 0 : mergedTokens.footer) == null ? void 0 : _k.gap) != null ? _l : "12px",
5374
+ "--module-box-slot-bg": (_n = (_m = mergedTokens == null ? void 0 : mergedTokens.slot) == null ? void 0 : _m.background) != null ? _n : "#ECEAF3",
5375
+ "--module-box-slot-border": (_p = (_o = mergedTokens == null ? void 0 : mergedTokens.slot) == null ? void 0 : _o.border) != null ? _p : "#652BDF",
5376
+ "--module-box-slot-radius": (_r = (_q = mergedTokens == null ? void 0 : mergedTokens.slot) == null ? void 0 : _q.borderRadius) != null ? _r : "0px",
5377
+ "--module-box-slot-padding": (_t = (_s = mergedTokens == null ? void 0 : mergedTokens.slot) == null ? void 0 : _s.padding) != null ? _t : "24px",
5378
+ "--module-box-slot-min-h": (_v = (_u = mergedTokens == null ? void 0 : mergedTokens.slot) == null ? void 0 : _u.minHeight) != null ? _v : "112px",
5379
+ "--module-box-slot-color": (_x = (_w = mergedTokens == null ? void 0 : mergedTokens.slot) == null ? void 0 : _w.color) != null ? _x : "#3A3F4B",
5380
+ "--module-box-title-color": (_z = (_y = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _y.color) != null ? _z : "#020303",
5381
+ "--module-box-title-font-family": titleFontFamily,
5382
+ "--module-box-title-font-size": (_B = (_A = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _A.fontSize) != null ? _B : "18px",
5383
+ "--module-box-title-font-weight": (_D = (_C = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _C.fontWeight) != null ? _D : 550,
5384
+ "--module-box-title-font-style": (_F = (_E = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _E.fontStyle) != null ? _F : "normal",
5385
+ "--module-box-title-line-height": (_H = (_G = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _G.lineHeight) != null ? _H : "130%",
5386
+ "--module-box-title-letter-spacing": (_J = (_I = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _I.letterSpacing) != null ? _J : "-0.04em"
5387
+ }, style);
5388
+ const hasChildren = React9.Children.count(children) > 0;
5389
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5390
+ "div",
5391
+ __spreadProps(__spreadValues({
5392
+ "data-slot": "module-box",
5393
+ style: styles,
5394
+ className: cn(
5395
+ "w-full min-w-0 border rounded-[var(--module-box-radius)] bg-[var(--module-box-bg)] border-[var(--module-box-border)] p-[var(--module-box-padding)]",
5396
+ className
5397
+ )
5398
+ }, props), {
5399
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
5400
+ "div",
5401
+ {
5402
+ className: "flex flex-col",
5403
+ style: { gap: "var(--module-box-gap)" },
5404
+ children: [
5405
+ (title || headerActions) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
5406
+ "div",
5407
+ {
5408
+ className: cn(
5409
+ "flex items-center justify-between min-w-0",
5410
+ headerClassName
5411
+ ),
5412
+ style: { gap: "var(--module-box-header-gap)" },
5413
+ children: [
5414
+ title && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5415
+ "h3",
5416
+ {
5417
+ className: "truncate",
5418
+ style: {
5419
+ color: "var(--module-box-title-color)",
5420
+ fontFamily: "var(--module-box-title-font-family)",
5421
+ fontSize: "var(--module-box-title-font-size)",
5422
+ fontWeight: "var(--module-box-title-font-weight)",
5423
+ fontStyle: "var(--module-box-title-font-style)",
5424
+ lineHeight: "var(--module-box-title-line-height)",
5425
+ letterSpacing: "var(--module-box-title-letter-spacing)",
5426
+ verticalAlign: "middle"
5427
+ },
5428
+ children: title
5429
+ }
5430
+ ),
5431
+ headerActions && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "shrink-0", children: headerActions })
5432
+ ]
5433
+ }
5434
+ ),
5435
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5436
+ "div",
5437
+ {
5438
+ "data-slot": "module-box-content",
5439
+ className: cn(
5440
+ "w-full border border-dashed rounded-[var(--module-box-slot-radius)] border-[var(--module-box-slot-border)] bg-[var(--module-box-slot-bg)] p-[var(--module-box-slot-padding)] text-[var(--module-box-slot-color)]",
5441
+ !hasChildren && "min-h-[var(--module-box-slot-min-h)] flex items-center justify-center text-center",
5442
+ slotClassName
5443
+ ),
5444
+ children: hasChildren ? children : slotPlaceholder
5445
+ }
5446
+ ),
5447
+ footerActions && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5448
+ "div",
5449
+ {
5450
+ className: cn(
5451
+ "flex items-center justify-end",
5452
+ footerClassName
5453
+ ),
5454
+ style: { gap: "var(--module-box-footer-gap)" },
5455
+ children: footerActions
5456
+ }
5457
+ )
5458
+ ]
5459
+ }
5460
+ )
5461
+ })
5462
+ );
5463
+ }
5464
+
5465
+ // src/components/base/data-display/charts/Charts.tsx
5466
+ var React10 = __toESM(require("react"), 1);
5467
+ var import_recharts = require("recharts");
5468
+ var import_jsx_runtime23 = require("react/jsx-runtime");
5469
+ function Charts(_a2) {
5470
+ var _b = _a2, {
5471
+ className,
5472
+ type = "bar",
5473
+ data,
5474
+ title,
5475
+ subtitle,
5476
+ showLegend = true,
5477
+ showGrid = true,
5478
+ showBaseline = true,
5479
+ showXAxis = true,
5480
+ showYAxis = false,
5481
+ showTooltip = true,
5482
+ height,
5483
+ donutCenterValue,
5484
+ donutCenterLabel,
5485
+ legendTitle,
5486
+ valueFormatter = (value) => `${value}`,
5487
+ tokens,
5488
+ style
5489
+ } = _b, props = __objRest(_b, [
5490
+ "className",
5491
+ "type",
5492
+ "data",
5493
+ "title",
5494
+ "subtitle",
5495
+ "showLegend",
5496
+ "showGrid",
5497
+ "showBaseline",
5498
+ "showXAxis",
5499
+ "showYAxis",
5500
+ "showTooltip",
5501
+ "height",
5502
+ "donutCenterValue",
5503
+ "donutCenterLabel",
5504
+ "legendTitle",
5505
+ "valueFormatter",
5506
+ "tokens",
5507
+ "style"
5508
+ ]);
5509
+ var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa, _ga, _ha, _ia, _ja, _ka, _la, _ma, _na, _oa, _pa, _qa, _ra, _sa, _ta, _ua, _va, _wa, _xa, _ya, _za, _Aa, _Ba, _Ca, _Da, _Ea, _Fa, _Ga, _Ha;
5510
+ const theme = useTheme();
5511
+ const mergedTokens = (_a3 = resolveTokens({ componentName: "charts", tokens }, theme)) != null ? _a3 : {};
5512
+ const uid = React10.useId();
5513
+ const gradientId = `charts-line-gradient-${uid}`;
5514
+ const computedHeight = height != null ? height : Number((_b2 = mergedTokens == null ? void 0 : mergedTokens.height) != null ? _b2 : 260);
5515
+ const styles = __spreadValues({
5516
+ "--charts-bg": (_c = mergedTokens == null ? void 0 : mergedTokens.backgroundColor) != null ? _c : "transparent",
5517
+ "--charts-border": (_d = mergedTokens == null ? void 0 : mergedTokens.borderColor) != null ? _d : "transparent",
5518
+ "--charts-radius": (_e = mergedTokens == null ? void 0 : mergedTokens.borderRadius) != null ? _e : "0px",
5519
+ "--charts-padding": (_f = mergedTokens == null ? void 0 : mergedTokens.padding) != null ? _f : "0px",
5520
+ "--charts-title-color": (_h = (_g = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _g.color) != null ? _h : "#020303",
5521
+ "--charts-title-size": (_j = (_i = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _i.fontSize) != null ? _j : "16px",
5522
+ "--charts-title-weight": (_l = (_k = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _k.fontWeight) != null ? _l : 550,
5523
+ "--charts-subtitle-color": (_n = (_m = mergedTokens == null ? void 0 : mergedTokens.subtitle) == null ? void 0 : _m.color) != null ? _n : "#6E7991",
5524
+ "--charts-subtitle-size": (_p = (_o = mergedTokens == null ? void 0 : mergedTokens.subtitle) == null ? void 0 : _o.fontSize) != null ? _p : "14px",
5525
+ "--charts-subtitle-weight": (_r = (_q = mergedTokens == null ? void 0 : mergedTokens.subtitle) == null ? void 0 : _q.fontWeight) != null ? _r : 400,
5526
+ "--charts-grid-color": (_t = (_s = mergedTokens == null ? void 0 : mergedTokens.grid) == null ? void 0 : _s.color) != null ? _t : "#E2E5E9",
5527
+ "--charts-grid-dasharray": (_v = (_u = mergedTokens == null ? void 0 : mergedTokens.grid) == null ? void 0 : _u.dasharray) != null ? _v : "0",
5528
+ "--charts-axis-line-color": (_x = (_w = mergedTokens == null ? void 0 : mergedTokens.axis) == null ? void 0 : _w.lineColor) != null ? _x : "#E2E5E9",
5529
+ "--charts-axis-label-color": (_z = (_y = mergedTokens == null ? void 0 : mergedTokens.axis) == null ? void 0 : _y.labelColor) != null ? _z : "#9DA5B5",
5530
+ "--charts-axis-label-size": (_B = (_A = mergedTokens == null ? void 0 : mergedTokens.axis) == null ? void 0 : _A.fontSize) != null ? _B : 12,
5531
+ "--charts-baseline-color": (_F = (_E = (_C = mergedTokens == null ? void 0 : mergedTokens.baseline) == null ? void 0 : _C.color) != null ? _E : (_D = mergedTokens == null ? void 0 : mergedTokens.axis) == null ? void 0 : _D.lineColor) != null ? _F : "#E2E5E9",
5532
+ "--charts-baseline-width": (_H = (_G = mergedTokens == null ? void 0 : mergedTokens.baseline) == null ? void 0 : _G.strokeWidth) != null ? _H : 1,
5533
+ "--charts-baseline-dasharray": (_J = (_I = mergedTokens == null ? void 0 : mergedTokens.baseline) == null ? void 0 : _I.dasharray) != null ? _J : "0",
5534
+ "--charts-legend-color": (_L = (_K = mergedTokens == null ? void 0 : mergedTokens.legend) == null ? void 0 : _K.color) != null ? _L : "#3A3F4B",
5535
+ "--charts-legend-size": (_N = (_M = mergedTokens == null ? void 0 : mergedTokens.legend) == null ? void 0 : _M.fontSize) != null ? _N : 14,
5536
+ "--charts-legend-dot-size": (_P = (_O = mergedTokens == null ? void 0 : mergedTokens.legend) == null ? void 0 : _O.dotSize) != null ? _P : 10,
5537
+ "--charts-legend-gap": (_R = (_Q = mergedTokens == null ? void 0 : mergedTokens.legend) == null ? void 0 : _Q.gap) != null ? _R : 16,
5538
+ "--charts-tooltip-bg": (_T = (_S = mergedTokens == null ? void 0 : mergedTokens.tooltip) == null ? void 0 : _S.background) != null ? _T : "#FFFFFF",
5539
+ "--charts-tooltip-border": (_V = (_U = mergedTokens == null ? void 0 : mergedTokens.tooltip) == null ? void 0 : _U.borderColor) != null ? _V : "#E2E5E9",
5540
+ "--charts-tooltip-radius": (_X = (_W = mergedTokens == null ? void 0 : mergedTokens.tooltip) == null ? void 0 : _W.radius) != null ? _X : "8px",
5541
+ "--charts-tooltip-title": (_Z = (_Y = mergedTokens == null ? void 0 : mergedTokens.tooltip) == null ? void 0 : _Y.titleColor) != null ? _Z : "#3A3F4B",
5542
+ "--charts-tooltip-value": (_$ = (__ = mergedTokens == null ? void 0 : mergedTokens.tooltip) == null ? void 0 : __.valueColor) != null ? _$ : "#020303",
5543
+ "--charts-line-stroke": (_ba = (_aa = mergedTokens == null ? void 0 : mergedTokens.line) == null ? void 0 : _aa.stroke) != null ? _ba : "#652BDF",
5544
+ "--charts-line-stroke-width": (_da = (_ca = mergedTokens == null ? void 0 : mergedTokens.line) == null ? void 0 : _ca.strokeWidth) != null ? _da : 2,
5545
+ "--charts-line-area-from": (_fa = (_ea = mergedTokens == null ? void 0 : mergedTokens.line) == null ? void 0 : _ea.areaFrom) != null ? _fa : "#652BDF4D",
5546
+ "--charts-line-area-to": (_ha = (_ga = mergedTokens == null ? void 0 : mergedTokens.line) == null ? void 0 : _ga.areaTo) != null ? _ha : "#652BDF00",
5547
+ "--charts-bar-radius": (_ja = (_ia = mergedTokens == null ? void 0 : mergedTokens.bar) == null ? void 0 : _ia.radius) != null ? _ja : 10,
5548
+ "--charts-bar-gap": (_la = (_ka = mergedTokens == null ? void 0 : mergedTokens.bar) == null ? void 0 : _ka.gap) != null ? _la : 8,
5549
+ "--charts-bar-category-gap": (_na = (_ma = mergedTokens == null ? void 0 : mergedTokens.bar) == null ? void 0 : _ma.categoryGap) != null ? _na : "16%",
5550
+ "--charts-pie-stroke": (_pa = (_oa = mergedTokens == null ? void 0 : mergedTokens.pie) == null ? void 0 : _oa.strokeColor) != null ? _pa : "#FFFFFF",
5551
+ "--charts-pie-stroke-width": (_ra = (_qa = mergedTokens == null ? void 0 : mergedTokens.pie) == null ? void 0 : _qa.strokeWidth) != null ? _ra : 2,
5552
+ "--charts-donut-center-value-color": (_ta = (_sa = mergedTokens == null ? void 0 : mergedTokens.donut) == null ? void 0 : _sa.centerValueColor) != null ? _ta : "#3A3F4B",
5553
+ "--charts-donut-center-value-size": (_va = (_ua = mergedTokens == null ? void 0 : mergedTokens.donut) == null ? void 0 : _ua.centerValueSize) != null ? _va : "24px",
5554
+ "--charts-donut-center-label-color": (_xa = (_wa = mergedTokens == null ? void 0 : mergedTokens.donut) == null ? void 0 : _wa.centerLabelColor) != null ? _xa : "#9DA5B5",
5555
+ "--charts-donut-center-label-size": (_za = (_ya = mergedTokens == null ? void 0 : mergedTokens.donut) == null ? void 0 : _ya.centerLabelSize) != null ? _za : "12px"
5556
+ }, style);
5557
+ const fallbackPalette = [
5558
+ "#D8CFF3",
5559
+ "#9A7BDB",
5560
+ "#652BDF",
5561
+ "#421B97",
5562
+ "#1F0A4D"
5563
+ ];
5564
+ const candidatePalette = (_Da = type === "line" ? (_Aa = mergedTokens == null ? void 0 : mergedTokens.line) == null ? void 0 : _Aa.palette : type === "bar" ? (_Ba = mergedTokens == null ? void 0 : mergedTokens.bar) == null ? void 0 : _Ba.palette : (_Ca = mergedTokens == null ? void 0 : mergedTokens.pie) == null ? void 0 : _Ca.palette) != null ? _Da : mergedTokens == null ? void 0 : mergedTokens.palette;
5565
+ const palette = Array.isArray(candidatePalette) && candidatePalette.length ? candidatePalette : fallbackPalette;
5566
+ const getColor = (datum, index) => {
5567
+ var _a4;
5568
+ return (_a4 = datum.color) != null ? _a4 : palette[index % palette.length];
5569
+ };
5570
+ const legendItems = data.map((datum, index) => ({
5571
+ label: datum.label,
5572
+ color: getColor(datum, index)
5573
+ }));
5574
+ const renderTooltip = ({
5575
+ active,
5576
+ payload,
5577
+ label
5578
+ }) => {
5579
+ var _a4, _b3, _c2;
5580
+ if (!active || !(payload == null ? void 0 : payload.length)) return null;
5581
+ const point = payload[0];
5582
+ const value = Number((_a4 = point == null ? void 0 : point.value) != null ? _a4 : 0);
5583
+ const pointLabel = (_c2 = label != null ? label : (_b3 = point == null ? void 0 : point.payload) == null ? void 0 : _b3.label) != null ? _c2 : "";
5584
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
5585
+ "div",
5586
+ {
5587
+ className: "px-3 py-2 border shadow-sm",
5588
+ style: {
5589
+ background: "var(--charts-tooltip-bg)",
5590
+ borderColor: "var(--charts-tooltip-border)",
5591
+ borderRadius: "var(--charts-tooltip-radius)"
5592
+ },
5593
+ children: [
5594
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5595
+ "p",
5596
+ {
5597
+ style: {
5598
+ color: "var(--charts-tooltip-title)",
5599
+ fontSize: "12px",
5600
+ fontWeight: 550
5601
+ },
5602
+ children: pointLabel
5603
+ }
5604
+ ),
5605
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5606
+ "p",
5607
+ {
5608
+ style: {
5609
+ color: "var(--charts-tooltip-value)",
5610
+ fontSize: "14px",
5611
+ fontWeight: 600
5612
+ },
5613
+ children: valueFormatter(value)
5614
+ }
5615
+ )
5616
+ ]
5617
+ }
5618
+ );
5619
+ };
5620
+ const chartContent = (() => {
5621
+ var _a4, _b3, _c2, _d2, _e2, _f2, _g2, _h2, _i2, _j2, _k2, _l2, _m2, _n2, _o2, _p2, _q2, _r2, _s2, _t2, _u2, _v2, _w2, _x2, _y2, _z2, _A2, _B2, _C2, _D2, _E2, _F2, _G2, _H2, _I2, _J2, _K2, _L2, _M2, _N2, _O2, _P2, _Q2, _R2, _S2, _T2;
5622
+ if (!(data == null ? void 0 : data.length)) {
5623
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "h-full w-full flex items-center justify-center text-[#9DA5B5] text-sm", children: "No data" });
5624
+ }
5625
+ if (type === "bar") {
5626
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
5627
+ import_recharts.BarChart,
5628
+ {
5629
+ data,
5630
+ barGap: Number((_b3 = (_a4 = mergedTokens == null ? void 0 : mergedTokens.bar) == null ? void 0 : _a4.gap) != null ? _b3 : 8),
5631
+ barCategoryGap: String((_d2 = (_c2 = mergedTokens == null ? void 0 : mergedTokens.bar) == null ? void 0 : _c2.categoryGap) != null ? _d2 : "16%"),
5632
+ children: [
5633
+ showGrid && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5634
+ import_recharts.CartesianGrid,
5635
+ {
5636
+ stroke: "var(--charts-grid-color)",
5637
+ strokeDasharray: String((_f2 = (_e2 = mergedTokens == null ? void 0 : mergedTokens.grid) == null ? void 0 : _e2.dasharray) != null ? _f2 : "0"),
5638
+ vertical: false
5639
+ }
5640
+ ),
5641
+ showXAxis && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5642
+ import_recharts.XAxis,
5643
+ {
5644
+ dataKey: "label",
5645
+ axisLine: { stroke: "var(--charts-axis-line-color)" },
5646
+ tickLine: false,
5647
+ tick: {
5648
+ fill: "var(--charts-axis-label-color)",
5649
+ fontSize: Number((_h2 = (_g2 = mergedTokens == null ? void 0 : mergedTokens.axis) == null ? void 0 : _g2.fontSize) != null ? _h2 : 12)
5650
+ }
5651
+ }
5652
+ ),
5653
+ showYAxis && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5654
+ import_recharts.YAxis,
5655
+ {
5656
+ axisLine: { stroke: "var(--charts-axis-line-color)" },
5657
+ tickLine: false,
5658
+ tick: {
5659
+ fill: "var(--charts-axis-label-color)",
5660
+ fontSize: Number((_j2 = (_i2 = mergedTokens == null ? void 0 : mergedTokens.axis) == null ? void 0 : _i2.fontSize) != null ? _j2 : 12)
5661
+ }
5662
+ }
5663
+ ),
5664
+ showBaseline && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5665
+ import_recharts.ReferenceLine,
5666
+ {
5667
+ y: 0,
5668
+ stroke: "var(--charts-baseline-color)",
5669
+ strokeWidth: Number((_l2 = (_k2 = mergedTokens == null ? void 0 : mergedTokens.baseline) == null ? void 0 : _k2.strokeWidth) != null ? _l2 : 1),
5670
+ strokeDasharray: String((_n2 = (_m2 = mergedTokens == null ? void 0 : mergedTokens.baseline) == null ? void 0 : _m2.dasharray) != null ? _n2 : "0"),
5671
+ ifOverflow: "visible"
5672
+ }
5673
+ ),
5674
+ showTooltip && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_recharts.Tooltip, { cursor: false, content: renderTooltip }),
5675
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5676
+ import_recharts.Bar,
5677
+ {
5678
+ dataKey: "value",
5679
+ radius: Number((_p2 = (_o2 = mergedTokens == null ? void 0 : mergedTokens.bar) == null ? void 0 : _o2.radius) != null ? _p2 : 10),
5680
+ maxBarSize: Number((_r2 = (_q2 = mergedTokens == null ? void 0 : mergedTokens.bar) == null ? void 0 : _q2.maxBarSize) != null ? _r2 : 56),
5681
+ children: data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_recharts.Cell, { fill: getColor(entry, index) }, `${entry.label}-${index}`))
5682
+ }
5683
+ )
5684
+ ]
5685
+ }
5686
+ ) });
5687
+ }
5688
+ if (type === "line") {
5689
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_recharts.AreaChart, { data, children: [
5690
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
5691
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("stop", { offset: "0%", stopColor: "var(--charts-line-area-from)" }),
5692
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("stop", { offset: "100%", stopColor: "var(--charts-line-area-to)" })
5693
+ ] }) }),
5694
+ showGrid && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5695
+ import_recharts.CartesianGrid,
5696
+ {
5697
+ stroke: "var(--charts-grid-color)",
5698
+ strokeDasharray: String((_t2 = (_s2 = mergedTokens == null ? void 0 : mergedTokens.grid) == null ? void 0 : _s2.dasharray) != null ? _t2 : "0"),
5699
+ vertical: false
5700
+ }
5701
+ ),
5702
+ showXAxis && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5703
+ import_recharts.XAxis,
5704
+ {
5705
+ dataKey: "label",
5706
+ axisLine: { stroke: "var(--charts-axis-line-color)" },
5707
+ tickLine: false,
5708
+ tick: {
5709
+ fill: "var(--charts-axis-label-color)",
5710
+ fontSize: Number((_v2 = (_u2 = mergedTokens == null ? void 0 : mergedTokens.axis) == null ? void 0 : _u2.fontSize) != null ? _v2 : 12)
5711
+ }
5712
+ }
5713
+ ),
5714
+ showYAxis && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5715
+ import_recharts.YAxis,
5716
+ {
5717
+ axisLine: { stroke: "var(--charts-axis-line-color)" },
5718
+ tickLine: false,
5719
+ tick: {
5720
+ fill: "var(--charts-axis-label-color)",
5721
+ fontSize: Number((_x2 = (_w2 = mergedTokens == null ? void 0 : mergedTokens.axis) == null ? void 0 : _w2.fontSize) != null ? _x2 : 12)
5722
+ }
5723
+ }
5724
+ ),
5725
+ showBaseline && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5726
+ import_recharts.ReferenceLine,
5727
+ {
5728
+ y: 0,
5729
+ stroke: "var(--charts-baseline-color)",
5730
+ strokeWidth: Number((_z2 = (_y2 = mergedTokens == null ? void 0 : mergedTokens.baseline) == null ? void 0 : _y2.strokeWidth) != null ? _z2 : 1),
5731
+ strokeDasharray: String((_B2 = (_A2 = mergedTokens == null ? void 0 : mergedTokens.baseline) == null ? void 0 : _A2.dasharray) != null ? _B2 : "0"),
5732
+ ifOverflow: "visible"
5733
+ }
5734
+ ),
5735
+ showTooltip && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_recharts.Tooltip, { cursor: false, content: renderTooltip }),
5736
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5737
+ import_recharts.Area,
5738
+ {
5739
+ type: (_D2 = (_C2 = mergedTokens == null ? void 0 : mergedTokens.line) == null ? void 0 : _C2.curveType) != null ? _D2 : "monotone",
5740
+ dataKey: "value",
5741
+ stroke: "var(--charts-line-stroke)",
5742
+ strokeWidth: Number((_F2 = (_E2 = mergedTokens == null ? void 0 : mergedTokens.line) == null ? void 0 : _E2.strokeWidth) != null ? _F2 : 2),
5743
+ fill: `url(#${gradientId})`,
5744
+ dot: false,
5745
+ activeDot: {
5746
+ r: Number((_H2 = (_G2 = mergedTokens == null ? void 0 : mergedTokens.line) == null ? void 0 : _G2.activeDotRadius) != null ? _H2 : 4),
5747
+ fill: "var(--charts-line-stroke)"
5748
+ }
5749
+ }
5750
+ )
5751
+ ] }) });
5752
+ }
5753
+ const innerRadius = type === "donut" ? Number((_J2 = (_I2 = mergedTokens == null ? void 0 : mergedTokens.donut) == null ? void 0 : _I2.innerRadius) != null ? _J2 : 52) : Number((_L2 = (_K2 = mergedTokens == null ? void 0 : mergedTokens.pie) == null ? void 0 : _K2.innerRadius) != null ? _L2 : 0);
5754
+ const outerRadius = type === "donut" ? Number((_N2 = (_M2 = mergedTokens == null ? void 0 : mergedTokens.donut) == null ? void 0 : _M2.outerRadius) != null ? _N2 : 72) : Number((_P2 = (_O2 = mergedTokens == null ? void 0 : mergedTokens.pie) == null ? void 0 : _O2.outerRadius) != null ? _P2 : 72);
5755
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative h-full w-full", children: [
5756
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_recharts.PieChart, { children: [
5757
+ showTooltip && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_recharts.Tooltip, { content: renderTooltip }),
5758
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5759
+ import_recharts.Pie,
5760
+ {
5761
+ data,
5762
+ dataKey: "value",
5763
+ nameKey: "label",
5764
+ cx: "50%",
5765
+ cy: "50%",
5766
+ innerRadius,
5767
+ outerRadius,
5768
+ paddingAngle: Number((_R2 = (_Q2 = mergedTokens == null ? void 0 : mergedTokens.pie) == null ? void 0 : _Q2.paddingAngle) != null ? _R2 : 0),
5769
+ stroke: "var(--charts-pie-stroke)",
5770
+ strokeWidth: Number((_T2 = (_S2 = mergedTokens == null ? void 0 : mergedTokens.pie) == null ? void 0 : _S2.strokeWidth) != null ? _T2 : 2),
5771
+ children: data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_recharts.Cell, { fill: getColor(entry, index) }, `${entry.label}-${index}`))
5772
+ }
5773
+ )
5774
+ ] }) }),
5775
+ type === "donut" && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "pointer-events-none absolute inset-0 flex flex-col items-center justify-center leading-none", children: [
5776
+ donutCenterValue && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5777
+ "div",
5778
+ {
5779
+ style: {
5780
+ color: "var(--charts-donut-center-value-color)",
5781
+ fontSize: "var(--charts-donut-center-value-size)",
5782
+ fontWeight: 600
5783
+ },
5784
+ children: donutCenterValue
5785
+ }
5786
+ ),
5787
+ donutCenterLabel && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5788
+ "div",
5789
+ {
5790
+ style: {
5791
+ color: "var(--charts-donut-center-label-color)",
5792
+ fontSize: "var(--charts-donut-center-label-size)",
5793
+ fontWeight: 500,
5794
+ marginTop: 4
5795
+ },
5796
+ children: donutCenterLabel
5797
+ }
5798
+ )
5799
+ ] })
5800
+ ] });
5801
+ })();
5802
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
5803
+ "div",
5804
+ __spreadProps(__spreadValues({
5805
+ "data-slot": "charts",
5806
+ style: styles,
5807
+ className: cn(
5808
+ "w-full min-w-0 border rounded-[var(--charts-radius)] bg-[var(--charts-bg)] border-[var(--charts-border)] p-[var(--charts-padding)]",
5809
+ className
5810
+ )
5811
+ }, props), {
5812
+ children: [
5813
+ (title || subtitle) && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "mb-4", children: [
5814
+ title && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5815
+ "p",
5816
+ {
5817
+ style: {
5818
+ color: "var(--charts-title-color)",
5819
+ fontSize: "var(--charts-title-size)",
5820
+ fontWeight: Number((_Fa = (_Ea = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _Ea.fontWeight) != null ? _Fa : 550)
5821
+ },
5822
+ children: title
5823
+ }
5824
+ ),
5825
+ subtitle && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5826
+ "p",
5827
+ {
5828
+ className: "mt-1",
5829
+ style: {
5830
+ color: "var(--charts-subtitle-color)",
5831
+ fontSize: "var(--charts-subtitle-size)",
5832
+ fontWeight: Number((_Ha = (_Ga = mergedTokens == null ? void 0 : mergedTokens.subtitle) == null ? void 0 : _Ga.fontWeight) != null ? _Ha : 400)
5833
+ },
5834
+ children: subtitle
5835
+ }
5836
+ )
5837
+ ] }),
5838
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { style: { height: computedHeight }, children: chartContent }),
5839
+ showLegend && legendItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "mt-4 flex flex-wrap items-center justify-center gap-[var(--charts-legend-gap)]", children: [
5840
+ legendTitle && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5841
+ "span",
5842
+ {
5843
+ style: {
5844
+ color: "var(--charts-legend-color)",
5845
+ fontSize: "var(--charts-legend-size)",
5846
+ fontWeight: 500
5847
+ },
5848
+ children: legendTitle
5849
+ }
5850
+ ),
5851
+ legendItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "inline-flex items-center gap-2", children: [
5852
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5853
+ "span",
5854
+ {
5855
+ className: "inline-block rounded-[2px]",
5856
+ style: {
5857
+ backgroundColor: item.color,
5858
+ width: "var(--charts-legend-dot-size)",
5859
+ height: "var(--charts-legend-dot-size)"
5860
+ }
5861
+ }
5862
+ ),
5863
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
5864
+ "span",
5865
+ {
5866
+ style: {
5867
+ color: "var(--charts-legend-color)",
5868
+ fontSize: "var(--charts-legend-size)",
5869
+ fontWeight: 500
5870
+ },
5871
+ children: item.label
5872
+ }
5873
+ )
5874
+ ] }, item.label))
5875
+ ] })
5876
+ ]
5877
+ })
5878
+ );
5879
+ }
5880
+
5881
+ // src/components/base/data-entry/inputs/Calendar.tsx
5882
+ var React11 = __toESM(require("react"), 1);
5288
5883
  var import_lucide_react4 = require("lucide-react");
5289
5884
  var import_react_day_picker = require("react-day-picker");
5290
- var import_jsx_runtime22 = require("react/jsx-runtime");
5885
+ var import_jsx_runtime24 = require("react/jsx-runtime");
5291
5886
  function Calendar(_a2) {
5292
5887
  var _b = _a2, {
5293
5888
  className,
@@ -5328,7 +5923,7 @@ function Calendar(_a2) {
5328
5923
  "--calendar-item-active-bg": (_r = (_q = (_p = mergedTokens == null ? void 0 : mergedTokens.item) == null ? void 0 : _p.active) == null ? void 0 : _q.background) != null ? _r : "#652BDF",
5329
5924
  "--calendar-item-active-text": (_u = (_t = (_s = mergedTokens == null ? void 0 : mergedTokens.item) == null ? void 0 : _s.active) == null ? void 0 : _t.color) != null ? _u : "#FFFFFF"
5330
5925
  };
5331
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { "data-slot": "calendar", style: styles, className: "w-fit", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5926
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { "data-slot": "calendar", style: styles, className: "w-fit", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
5332
5927
  import_react_day_picker.DayPicker,
5333
5928
  __spreadValues({
5334
5929
  showOutsideDays,
@@ -5368,7 +5963,7 @@ function Calendar(_a2) {
5368
5963
  Chevron: (_v) => {
5369
5964
  var _w = _v, { orientation, className: className2 } = _w, props2 = __objRest(_w, ["orientation", "className"]);
5370
5965
  const Icon2 = orientation === "left" ? import_lucide_react4.ChevronLeftIcon : orientation === "right" ? import_lucide_react4.ChevronRightIcon : import_lucide_react4.ChevronDownIcon;
5371
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon2, __spreadValues({ className: cn("size-4", className2) }, props2));
5966
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon2, __spreadValues({ className: cn("size-4", className2) }, props2));
5372
5967
  },
5373
5968
  DayButton: CalendarDayButton
5374
5969
  }, components)
@@ -5385,12 +5980,12 @@ function CalendarDayButton(_a2) {
5385
5980
  "day",
5386
5981
  "modifiers"
5387
5982
  ]);
5388
- const ref = React9.useRef(null);
5389
- React9.useEffect(() => {
5983
+ const ref = React11.useRef(null);
5984
+ React11.useEffect(() => {
5390
5985
  var _a3;
5391
5986
  if (modifiers.focused) (_a3 = ref.current) == null ? void 0 : _a3.focus();
5392
5987
  }, [modifiers.focused]);
5393
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5988
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
5394
5989
  "button",
5395
5990
  __spreadValues({
5396
5991
  ref,
@@ -5421,7 +6016,7 @@ function CalendarDayButton(_a2) {
5421
6016
  // src/components/base/data-entry/inputs/Combobox.tsx
5422
6017
  var Popover2 = __toESM(require("@radix-ui/react-popover"), 1);
5423
6018
  var import_lucide_react5 = require("lucide-react");
5424
- var import_jsx_runtime23 = require("react/jsx-runtime");
6019
+ var import_jsx_runtime25 = require("react/jsx-runtime");
5425
6020
  var inputBase = "ui-input w-full outline-none";
5426
6021
  var inputLabel = "leading-[1.3] tracking-[-0.04em]";
5427
6022
  var selectVariants = cva(inputBase, {
@@ -5504,9 +6099,9 @@ function Combobox({
5504
6099
  "--input-icon-size": sizeTokens == null ? void 0 : sizeTokens.iconSize
5505
6100
  };
5506
6101
  const selectedItem = items.find((i) => i.value === value);
5507
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Popover2.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { style: styles, children: [
5508
- label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("label", { className: inputLabel + " ui-input-label", children: label }),
5509
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Popover2.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
6102
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Popover2.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { style: styles, children: [
6103
+ label && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("label", { className: inputLabel + " ui-input-label", children: label }),
6104
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Popover2.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
5510
6105
  "button",
5511
6106
  {
5512
6107
  disabled,
@@ -5517,8 +6112,8 @@ function Combobox({
5517
6112
  className
5518
6113
  ),
5519
6114
  children: [
5520
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "truncate", children: (_M = selectedItem == null ? void 0 : selectedItem.label) != null ? _M : placeholder }),
5521
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6115
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "truncate", children: (_M = selectedItem == null ? void 0 : selectedItem.label) != null ? _M : placeholder }),
6116
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5522
6117
  import_lucide_react5.ChevronsUpDown,
5523
6118
  {
5524
6119
  className: "\r\n h-4 w-4 shrink-0 ui-input-icon\r\n "
@@ -5527,7 +6122,7 @@ function Combobox({
5527
6122
  ]
5528
6123
  }
5529
6124
  ) }),
5530
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6125
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5531
6126
  Popover2.Content,
5532
6127
  {
5533
6128
  align: "start",
@@ -5536,12 +6131,12 @@ function Combobox({
5536
6131
  style: {
5537
6132
  width: "var(--radix-popover-trigger-width)"
5538
6133
  },
5539
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ul", { className: "max-h-60 overflow-auto", children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6134
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("ul", { className: "max-h-60 overflow-auto", children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5540
6135
  "li",
5541
6136
  {
5542
6137
  onClick: () => onValueChange == null ? void 0 : onValueChange(item.value),
5543
6138
  className: "\r\n flex items-center justify-between\r\n text-[length:var(--input-font-size)] font-[var(--input-font-weight)]\r\n h-10 px-3 rounded-[--input-radius] cursor-pointer\r\n bg-[--input-bg]\r\n hover:bg-[--input-hover-bg]\r\n border-[--input-hover-border]\r\n box-shadow-[0px_2px_4px_-1px_#0000000F,0px_4px_6px_-1px_#0000001A]\r\n ",
5544
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: item.label })
6139
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { children: item.label })
5545
6140
  },
5546
6141
  item.value
5547
6142
  )) })
@@ -5551,9 +6146,9 @@ function Combobox({
5551
6146
  }
5552
6147
 
5553
6148
  // src/components/base/data-entry/inputs/DatePicker.tsx
5554
- var React10 = __toESM(require("react"), 1);
6149
+ var React12 = __toESM(require("react"), 1);
5555
6150
  var import_lucide_react6 = require("lucide-react");
5556
- var import_jsx_runtime24 = require("react/jsx-runtime");
6151
+ var import_jsx_runtime26 = require("react/jsx-runtime");
5557
6152
  var inputBase2 = "ui-input w-full outline-none";
5558
6153
  var inputLabel2 = "leading-[1.3] tracking-[-0.04em]";
5559
6154
  var inputVariants = cva(inputBase2, {
@@ -5586,7 +6181,7 @@ function DatePickerInput(_a2) {
5586
6181
  ]);
5587
6182
  var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M;
5588
6183
  const theme = useTheme();
5589
- const inputRef = React10.useRef(null);
6184
+ const inputRef = React12.useRef(null);
5590
6185
  const mergedTokens = (_a3 = resolveTokens({ componentName: "input", tokens }, theme)) != null ? _a3 : {};
5591
6186
  const sizeTokens = (_c = (_b2 = mergedTokens == null ? void 0 : mergedTokens.sizes) == null ? void 0 : _b2[size != null ? size : "medium"]) != null ? _c : {};
5592
6187
  const isFilled = Boolean((_d = props.value) != null ? _d : props.defaultValue);
@@ -5647,15 +6242,15 @@ function DatePickerInput(_a2) {
5647
6242
  /* Icon */
5648
6243
  "--input-icon-size": sizeTokens == null ? void 0 : sizeTokens.iconSize
5649
6244
  };
5650
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
6245
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
5651
6246
  "div",
5652
6247
  {
5653
6248
  className: "flex flex-col gap-1.5 w-full",
5654
6249
  style: styles,
5655
6250
  children: [
5656
- label && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("label", { className: inputLabel2 + " ui-input-label", children: label }),
5657
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "relative", children: [
5658
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
6251
+ label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("label", { className: inputLabel2 + " ui-input-label", children: label }),
6252
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "relative", children: [
6253
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5659
6254
  "input",
5660
6255
  __spreadValues({
5661
6256
  ref: inputRef,
@@ -5667,14 +6262,14 @@ function DatePickerInput(_a2) {
5667
6262
  className: cn(inputVariants(), className, "text-left")
5668
6263
  }, props)
5669
6264
  ),
5670
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
6265
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5671
6266
  "div",
5672
6267
  {
5673
6268
  className: cn(
5674
6269
  "absolute right-2 inset-y-0 flex items-center justify-center",
5675
6270
  disabled && "pointer-events-none"
5676
6271
  ),
5677
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react6.Calendar, { className: "ui-input-icon" })
6272
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react6.Calendar, { className: "ui-input-icon" })
5678
6273
  }
5679
6274
  )
5680
6275
  ] })
@@ -5684,7 +6279,7 @@ function DatePickerInput(_a2) {
5684
6279
  }
5685
6280
 
5686
6281
  // src/components/base/data-entry/inputs/Input.tsx
5687
- var import_jsx_runtime25 = require("react/jsx-runtime");
6282
+ var import_jsx_runtime27 = require("react/jsx-runtime");
5688
6283
  var inputBase3 = "ui-input w-full outline-none";
5689
6284
  var inputLabel3 = "leading-[1.3] tracking-[-0.04em]";
5690
6285
  var inputHelper = "leading-[1.3]";
@@ -5779,14 +6374,14 @@ function Input(_a2) {
5779
6374
  /* Padding */
5780
6375
  "--input-padding": sizeTokens.padding
5781
6376
  };
5782
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
6377
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
5783
6378
  "div",
5784
6379
  {
5785
6380
  className: "flex flex-col gap-1.5 w-full",
5786
6381
  style: styles,
5787
6382
  children: [
5788
- label && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("label", { className: inputLabel3 + " ui-input-label", children: label }),
5789
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
6383
+ label && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("label", { className: inputLabel3 + " ui-input-label", children: label }),
6384
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5790
6385
  "input",
5791
6386
  __spreadValues({
5792
6387
  disabled,
@@ -5795,7 +6390,7 @@ function Input(_a2) {
5795
6390
  className: cn(inputVariants2(), className)
5796
6391
  }, props)
5797
6392
  ),
5798
- helperText && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
6393
+ helperText && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5799
6394
  "span",
5800
6395
  {
5801
6396
  className: error ? inputHelperError + " ui-input-helper-error" : inputHelper + " ui-input-helper",
@@ -5809,7 +6404,7 @@ function Input(_a2) {
5809
6404
 
5810
6405
  // src/components/base/data-entry/inputs/Label.tsx
5811
6406
  var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
5812
- var import_jsx_runtime26 = require("react/jsx-runtime");
6407
+ var import_jsx_runtime28 = require("react/jsx-runtime");
5813
6408
  function Label2(_a2) {
5814
6409
  var _b = _a2, {
5815
6410
  className,
@@ -5829,7 +6424,7 @@ function Label2(_a2) {
5829
6424
  "--lbl-weight": (_d = mergedTokens == null ? void 0 : mergedTokens.fontWeight) != null ? _d : "500",
5830
6425
  "--lbl-padding": (_e = mergedTokens == null ? void 0 : mergedTokens.padding) != null ? _e : "0px"
5831
6426
  }, style);
5832
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
6427
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5833
6428
  LabelPrimitive.Root,
5834
6429
  __spreadValues({
5835
6430
  "data-slot": "label",
@@ -5850,9 +6445,9 @@ function Label2(_a2) {
5850
6445
  }
5851
6446
 
5852
6447
  // src/components/base/data-entry/inputs/PasswordInput.tsx
5853
- var React11 = __toESM(require("react"), 1);
6448
+ var React13 = __toESM(require("react"), 1);
5854
6449
  var import_lucide_react7 = require("lucide-react");
5855
- var import_jsx_runtime27 = require("react/jsx-runtime");
6450
+ var import_jsx_runtime29 = require("react/jsx-runtime");
5856
6451
  var inputBase4 = "ui-input w-full outline-none";
5857
6452
  var inputLabel4 = "leading-[1.3] tracking-[-0.04em]";
5858
6453
  var inputHelper2 = "leading-[1.3]";
@@ -5887,7 +6482,7 @@ function PasswordInput(_a2) {
5887
6482
  ]);
5888
6483
  var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M;
5889
6484
  const theme = useTheme();
5890
- const inputRef = React11.useRef(null);
6485
+ const inputRef = React13.useRef(null);
5891
6486
  const mergedTokens = (_a3 = resolveTokens({ componentName: "input", tokens }, theme)) != null ? _a3 : {};
5892
6487
  const sizeTokens = (_c = (_b2 = mergedTokens == null ? void 0 : mergedTokens.sizes) == null ? void 0 : _b2[size != null ? size : "medium"]) != null ? _c : {};
5893
6488
  const isFilled = Boolean((_d = props.value) != null ? _d : props.defaultValue);
@@ -5952,15 +6547,15 @@ function PasswordInput(_a2) {
5952
6547
  if (!inputRef.current) return;
5953
6548
  inputRef.current.type = inputRef.current.type === "password" ? "text" : "password";
5954
6549
  };
5955
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
6550
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
5956
6551
  "div",
5957
6552
  {
5958
6553
  className: "flex flex-col gap-1.5 w-full",
5959
6554
  style: styles,
5960
6555
  children: [
5961
- label && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("label", { className: inputLabel4 + " ui-input-label", children: label }),
5962
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "relative", children: [
5963
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
6556
+ label && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: inputLabel4 + " ui-input-label", children: label }),
6557
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "relative", children: [
6558
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5964
6559
  "input",
5965
6560
  __spreadValues({
5966
6561
  ref: inputRef,
@@ -5971,7 +6566,7 @@ function PasswordInput(_a2) {
5971
6566
  className: cn(inputVariants3(), className)
5972
6567
  }, props)
5973
6568
  ),
5974
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
6569
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
5975
6570
  "button",
5976
6571
  {
5977
6572
  type: "button",
@@ -5980,13 +6575,13 @@ function PasswordInput(_a2) {
5980
6575
  onClick: toggleVisibility,
5981
6576
  className: "ui-password-toggle absolute right-2 inset-y-0 flex items-center justify-center",
5982
6577
  children: [
5983
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react7.Eye, { className: "ui-eye ui-input-icon" }),
5984
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react7.EyeOff, { className: "ui-eye-off ui-input-icon" })
6578
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react7.Eye, { className: "ui-eye ui-input-icon" }),
6579
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react7.EyeOff, { className: "ui-eye-off ui-input-icon" })
5985
6580
  ]
5986
6581
  }
5987
6582
  )
5988
6583
  ] }),
5989
- helperText && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
6584
+ helperText && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5990
6585
  "span",
5991
6586
  {
5992
6587
  className: error ? inputHelperError2 + " ui-input-helper-error" : inputHelper2 + " ui-input-helper",
@@ -5999,9 +6594,9 @@ function PasswordInput(_a2) {
5999
6594
  }
6000
6595
 
6001
6596
  // src/components/base/data-entry/inputs/SearchBar.tsx
6002
- var React12 = __toESM(require("react"), 1);
6597
+ var React14 = __toESM(require("react"), 1);
6003
6598
  var import_lucide_react8 = require("lucide-react");
6004
- var import_jsx_runtime28 = require("react/jsx-runtime");
6599
+ var import_jsx_runtime30 = require("react/jsx-runtime");
6005
6600
  var inputBase5 = "ui-input w-full outline-none pl-[44px] pr-[44px]";
6006
6601
  var inputVariants4 = cva(inputBase5, {
6007
6602
  variants: {},
@@ -6029,8 +6624,8 @@ function SearchBar(_a2) {
6029
6624
  ]);
6030
6625
  var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M;
6031
6626
  const theme = useTheme();
6032
- const inputRef = React12.useRef(null);
6033
- const clearRef = React12.useRef(null);
6627
+ const inputRef = React14.useRef(null);
6628
+ const clearRef = React14.useRef(null);
6034
6629
  const mergedTokens = (_a3 = resolveTokens({ componentName: "input", tokens }, theme)) != null ? _a3 : {};
6035
6630
  const sizeTokens = (_c = (_b2 = mergedTokens == null ? void 0 : mergedTokens.sizes) == null ? void 0 : _b2[size != null ? size : "medium"]) != null ? _c : {};
6036
6631
  const isFilled = Boolean((_d = props.value) != null ? _d : props.defaultValue);
@@ -6105,18 +6700,18 @@ function SearchBar(_a2) {
6105
6700
  inputRef.current.value.length === 0
6106
6701
  );
6107
6702
  };
6108
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "relative w-full", style: styles, children: [
6109
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
6703
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "relative w-full", style: styles, children: [
6704
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6110
6705
  "div",
6111
6706
  {
6112
6707
  className: cn(
6113
6708
  "absolute inset-y-0 left-[12px] flex items-center pointer-events-none",
6114
6709
  disabled && "text-[--color-text-disabled] "
6115
6710
  ),
6116
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react8.Search, { className: "ui-input-icon" })
6711
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react8.Search, { className: "ui-input-icon" })
6117
6712
  }
6118
6713
  ),
6119
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
6714
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6120
6715
  "input",
6121
6716
  __spreadValues({
6122
6717
  ref: inputRef,
@@ -6129,7 +6724,7 @@ function SearchBar(_a2) {
6129
6724
  className: cn(inputVariants4(), className)
6130
6725
  }, props)
6131
6726
  ),
6132
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
6727
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6133
6728
  "button",
6134
6729
  {
6135
6730
  ref: clearRef,
@@ -6138,7 +6733,7 @@ function SearchBar(_a2) {
6138
6733
  disabled,
6139
6734
  onClick: clearSearch,
6140
6735
  className: "absolute right-2 inset-y-0 flex items-center justify-center",
6141
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react8.X, { className: "ui-input-icon" })
6736
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react8.X, { className: "ui-input-icon" })
6142
6737
  }
6143
6738
  )
6144
6739
  ] });
@@ -6147,7 +6742,7 @@ function SearchBar(_a2) {
6147
6742
  // src/components/base/data-entry/inputs/Select.tsx
6148
6743
  var Popover3 = __toESM(require("@radix-ui/react-popover"), 1);
6149
6744
  var import_lucide_react9 = require("lucide-react");
6150
- var import_jsx_runtime29 = require("react/jsx-runtime");
6745
+ var import_jsx_runtime31 = require("react/jsx-runtime");
6151
6746
  var inputBase6 = "ui-input w-full outline-none";
6152
6747
  var inputLabel5 = "leading-[1.3] tracking-[-0.04em]";
6153
6748
  var selectVariants2 = cva(inputBase6, {
@@ -6230,9 +6825,9 @@ function Select({
6230
6825
  "--input-icon-size": sizeTokens == null ? void 0 : sizeTokens.iconSize
6231
6826
  };
6232
6827
  const selectedItem = items.find((i) => i.value === value);
6233
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Popover3.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { style: styles, children: [
6234
- label && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: inputLabel5 + " ui-input-label", children: label }),
6235
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Popover3.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
6828
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Popover3.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { style: styles, children: [
6829
+ label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("label", { className: inputLabel5 + " ui-input-label", children: label }),
6830
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Popover3.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
6236
6831
  "button",
6237
6832
  {
6238
6833
  disabled,
@@ -6243,8 +6838,8 @@ function Select({
6243
6838
  className
6244
6839
  ),
6245
6840
  children: [
6246
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "truncate", children: (_M = selectedItem == null ? void 0 : selectedItem.label) != null ? _M : placeholder }),
6247
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
6841
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "truncate", children: (_M = selectedItem == null ? void 0 : selectedItem.label) != null ? _M : placeholder }),
6842
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
6248
6843
  import_lucide_react9.ChevronDownIcon,
6249
6844
  {
6250
6845
  className: "\r\n shrink-0 ui-input-icon\r\n transition-transform duration-200\r\n group-data-[state=open]:rotate-90\r\n "
@@ -6253,7 +6848,7 @@ function Select({
6253
6848
  ]
6254
6849
  }
6255
6850
  ) }),
6256
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
6851
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
6257
6852
  Popover3.Content,
6258
6853
  {
6259
6854
  align: "start",
@@ -6262,12 +6857,12 @@ function Select({
6262
6857
  style: {
6263
6858
  width: "var(--radix-popover-trigger-width)"
6264
6859
  },
6265
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("ul", { className: "max-h-60 overflow-auto", children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
6860
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("ul", { className: "max-h-60 overflow-auto", children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
6266
6861
  "li",
6267
6862
  {
6268
6863
  onClick: () => onValueChange == null ? void 0 : onValueChange(item.value),
6269
6864
  className: "\r\n flex items-center justify-between\r\n text-[length:var(--input-font-size)] font-[var(--input-font-weight)]\r\n h-10 px-3 rounded-[--input-radius] cursor-pointer\r\n bg-[--input-bg]\r\n hover:bg-[--input-hover-bg]\r\n border-[--input-hover-border]\r\n box-shadow-[0px_2px_4px_-1px_#0000000F,0px_4px_6px_-1px_#0000001A]\r\n ",
6270
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: item.label })
6865
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: item.label })
6271
6866
  },
6272
6867
  item.value
6273
6868
  )) })
@@ -6277,7 +6872,7 @@ function Select({
6277
6872
  }
6278
6873
 
6279
6874
  // src/components/base/data-entry/inputs/Textarea.tsx
6280
- var import_jsx_runtime30 = require("react/jsx-runtime");
6875
+ var import_jsx_runtime32 = require("react/jsx-runtime");
6281
6876
  var inputBase7 = "ui-input w-full min-h-16 outline-none resize-y";
6282
6877
  var inputLabel6 = "leading-[1.3] tracking-[-0.04em]";
6283
6878
  var inputHelper3 = "leading-[1.3]";
@@ -6370,14 +6965,14 @@ function Textarea(_a2) {
6370
6965
  /* Padding */
6371
6966
  "--input-padding": sizeTokens.padding
6372
6967
  };
6373
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
6968
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
6374
6969
  "div",
6375
6970
  {
6376
6971
  className: "flex flex-col gap-1.5 w-full",
6377
6972
  style: styles,
6378
6973
  children: [
6379
- label && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("label", { className: inputLabel6 + " ui-input-label", children: label }),
6380
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6974
+ label && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("label", { className: inputLabel6 + " ui-input-label", children: label }),
6975
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
6381
6976
  "textarea",
6382
6977
  __spreadValues({
6383
6978
  "data-slot": "textarea",
@@ -6389,7 +6984,7 @@ function Textarea(_a2) {
6389
6984
  className: cn(inputVariants5(), className)
6390
6985
  }, props)
6391
6986
  ),
6392
- helperText && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
6987
+ helperText && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
6393
6988
  "span",
6394
6989
  {
6395
6990
  className: error ? inputHelperError3 + " ui-input-helper-error" : inputHelper3 + " ui-input-helper",
@@ -6404,7 +6999,7 @@ function Textarea(_a2) {
6404
6999
  // src/components/base/data-entry/selection-controls/Checkbox.tsx
6405
7000
  var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
6406
7001
  var import_lucide_react10 = require("lucide-react");
6407
- var import_jsx_runtime31 = require("react/jsx-runtime");
7002
+ var import_jsx_runtime33 = require("react/jsx-runtime");
6408
7003
  var checkboxLabel = "leading-[1.3]";
6409
7004
  var checkboxDescription = "leading-[1.3]";
6410
7005
  var checkboxBase = "inline-flex items-center justify-center shrink-0 border rounded-md transition-colors outline-none disabled:cursor-not-allowed";
@@ -6492,7 +7087,7 @@ function Checkbox(_a2) {
6492
7087
  "--checkbox-thumb-color": (_s = (_r = mergedTokens == null ? void 0 : mergedTokens.thumb) == null ? void 0 : _r.color) != null ? _s : "#A3AAB8",
6493
7088
  "--checkbox-thumb-disabled": (_u = (_t = mergedTokens == null ? void 0 : mergedTokens.disabled) == null ? void 0 : _t.thumb) != null ? _u : "#A3AAB8"
6494
7089
  };
6495
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
7090
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
6496
7091
  "label",
6497
7092
  {
6498
7093
  style: styles,
@@ -6501,7 +7096,7 @@ function Checkbox(_a2) {
6501
7096
  disabled && "cursor-not-allowed opacity-60"
6502
7097
  ),
6503
7098
  children: [
6504
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
7099
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
6505
7100
  CheckboxPrimitive.Root,
6506
7101
  __spreadProps(__spreadValues({
6507
7102
  disabled,
@@ -6513,11 +7108,11 @@ function Checkbox(_a2) {
6513
7108
  className
6514
7109
  )
6515
7110
  }, props), {
6516
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
7111
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
6517
7112
  CheckboxPrimitive.Indicator,
6518
7113
  {
6519
7114
  className: "\r\n flex items-center justify-center\r\n text-[color:var(--checkbox-thumb-color)]\r\n data-[disabled]:text-[color:var(--checkbox-thumb-disabled)]\r\n ",
6520
- children: props.checked === "indeterminate" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react10.Minus, { className: "h-[--checkbox-icon-size] w-[--checkbox-icon-size] stroke-current" }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
7115
+ children: props.checked === "indeterminate" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react10.Minus, { className: "h-[--checkbox-icon-size] w-[--checkbox-icon-size] stroke-current" }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
6521
7116
  import_lucide_react10.CheckIcon,
6522
7117
  {
6523
7118
  className: "\r\n h-[--checkbox-icon-size]\r\n w-[--checkbox-icon-size]\r\n stroke-current\r\n "
@@ -6527,15 +7122,15 @@ function Checkbox(_a2) {
6527
7122
  )
6528
7123
  })
6529
7124
  ),
6530
- (label || description) && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
6531
- label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
7125
+ (label || description) && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
7126
+ label && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
6532
7127
  "span",
6533
7128
  {
6534
7129
  className: checkboxLabel + " text-[color:var(--checkbox-label-color)] text-[length:var(--checkbox-label-font-size)] font-[var(--checkbox-label-font-weight)]",
6535
7130
  children: label
6536
7131
  }
6537
7132
  ),
6538
- description && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
7133
+ description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
6539
7134
  "span",
6540
7135
  {
6541
7136
  className: checkboxDescription + " text-[color:var(--checkbox-description-color)] text-[length:var(--checkbox-description-font-size)] font-[var(--checkbox-description-font-weight)]",
@@ -6550,7 +7145,7 @@ function Checkbox(_a2) {
6550
7145
 
6551
7146
  // src/components/base/data-entry/selection-controls/Radio.tsx
6552
7147
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
6553
- var import_jsx_runtime32 = require("react/jsx-runtime");
7148
+ var import_jsx_runtime34 = require("react/jsx-runtime");
6554
7149
  var radioBase = `
6555
7150
  shrink-0
6556
7151
  rounded-full
@@ -6600,7 +7195,7 @@ var radioVariants = cva(radioBase, {
6600
7195
  });
6601
7196
  function RadioGroup2(_a2) {
6602
7197
  var _b = _a2, { className } = _b, props = __objRest(_b, ["className"]);
6603
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
7198
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
6604
7199
  RadioGroupPrimitive.Root,
6605
7200
  __spreadValues({
6606
7201
  className: cn("grid gap-3", className)
@@ -6655,7 +7250,7 @@ function RadioItem2(_a2) {
6655
7250
  "--radio-label-color": sizeTokens.labelColor,
6656
7251
  "--radio-description-color": sizeTokens.descriptionColor
6657
7252
  };
6658
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
7253
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
6659
7254
  "label",
6660
7255
  {
6661
7256
  style: styles,
@@ -6664,7 +7259,7 @@ function RadioItem2(_a2) {
6664
7259
  disabled && "cursor-not-allowed opacity-60"
6665
7260
  ),
6666
7261
  children: [
6667
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
7262
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
6668
7263
  RadioGroupPrimitive.Item,
6669
7264
  __spreadProps(__spreadValues({
6670
7265
  value,
@@ -6676,7 +7271,7 @@ function RadioItem2(_a2) {
6676
7271
  "focus-visible:ring-2 focus-visible:ring-[--radio-dot-on] focus-visible:ring-offset-2"
6677
7272
  )
6678
7273
  }, props), {
6679
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
7274
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
6680
7275
  "span",
6681
7276
  {
6682
7277
  className: cn(`
@@ -6695,15 +7290,15 @@ function RadioItem2(_a2) {
6695
7290
  ) })
6696
7291
  })
6697
7292
  ),
6698
- (label || description) && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
6699
- label && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
7293
+ (label || description) && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
7294
+ label && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
6700
7295
  "span",
6701
7296
  {
6702
7297
  className: radioLabel + " text-[color:var(--radio-label-color)] text-[length:var(--radio-label-font-size)] font-[var(--radio-label-font-weight)]",
6703
7298
  children: label
6704
7299
  }
6705
7300
  ),
6706
- description && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
7301
+ description && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
6707
7302
  "span",
6708
7303
  {
6709
7304
  className: radioDescription + " text-[color:var(--radio-description-color)] text-[length:var(--radio-description-font-size)] font-[var(--radio-description-font-weight)]",
@@ -6718,7 +7313,7 @@ function RadioItem2(_a2) {
6718
7313
 
6719
7314
  // src/components/base/data-entry/selection-controls/Switch.tsx
6720
7315
  var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"), 1);
6721
- var import_jsx_runtime33 = require("react/jsx-runtime");
7316
+ var import_jsx_runtime35 = require("react/jsx-runtime");
6722
7317
  var switchBase = `
6723
7318
  bg-[--switch-background-color]
6724
7319
  inline-flex items-center rounded-full
@@ -6808,7 +7403,7 @@ var Switch = (_a2) => {
6808
7403
  // MOTION
6809
7404
  "--switch-transition-duration": (_E = (_D = mergedTokens == null ? void 0 : mergedTokens.motion) == null ? void 0 : _D.duration) != null ? _E : "200ms"
6810
7405
  };
6811
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
7406
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
6812
7407
  "label",
6813
7408
  {
6814
7409
  style: styles,
@@ -6817,7 +7412,7 @@ var Switch = (_a2) => {
6817
7412
  disabled && "cursor-not-allowed opacity-60"
6818
7413
  ),
6819
7414
  children: [
6820
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7415
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6821
7416
  SwitchPrimitive.Root,
6822
7417
  __spreadProps(__spreadValues({
6823
7418
  disabled,
@@ -6830,7 +7425,7 @@ var Switch = (_a2) => {
6830
7425
  "focus-visible:ring-2 focus-visible:ring-[--switch-active-background] focus-visible:ring-offset-2"
6831
7426
  )
6832
7427
  }, props), {
6833
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7428
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6834
7429
  SwitchPrimitive.Thumb,
6835
7430
  {
6836
7431
  "data-slot": "switch-thumb",
@@ -6850,15 +7445,15 @@ var Switch = (_a2) => {
6850
7445
  )
6851
7446
  })
6852
7447
  ),
6853
- (label || description) && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
6854
- label && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7448
+ (label || description) && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
7449
+ label && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6855
7450
  "span",
6856
7451
  {
6857
7452
  className: labelStyle + " text-[color:var(--switch-label-color)] text-[length:var(--switch-label-font-size)] font-[var(--switch-label-font-weight)]",
6858
7453
  children: label
6859
7454
  }
6860
7455
  ),
6861
- description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7456
+ description && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6862
7457
  "span",
6863
7458
  {
6864
7459
  className: descriptionStyle + " text-[color:var(--switch-description-color)] text-[length:var(--switch-description-font-size)] font-[var(--switch-description-font-weight)]",
@@ -6874,7 +7469,7 @@ var Switch = (_a2) => {
6874
7469
  // src/components/base/navegation/Breadcrumb.tsx
6875
7470
  var import_react_slot7 = require("@radix-ui/react-slot");
6876
7471
  var import_lucide_react11 = require("lucide-react");
6877
- var import_jsx_runtime34 = require("react/jsx-runtime");
7472
+ var import_jsx_runtime36 = require("react/jsx-runtime");
6878
7473
  var breadcrumbListVariants = cva(
6879
7474
  "flex flex-wrap items-center transition-colors",
6880
7475
  {
@@ -6920,7 +7515,7 @@ function Breadcrumb(_a2) {
6920
7515
  "--bc-sep-color": (_u = (_t = mergedTokens == null ? void 0 : mergedTokens.separator) == null ? void 0 : _t.color) != null ? _u : "#94a3b8",
6921
7516
  "--bc-sep-size": (_w = (_v = mergedTokens == null ? void 0 : mergedTokens.separator) == null ? void 0 : _v.size) != null ? _w : "14px"
6922
7517
  }, style);
6923
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
7518
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6924
7519
  "nav",
6925
7520
  __spreadValues({
6926
7521
  "aria-label": "breadcrumb",
@@ -6936,7 +7531,7 @@ function BreadcrumbList(_a2) {
6936
7531
  } = _b, props = __objRest(_b, [
6937
7532
  "className"
6938
7533
  ]);
6939
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
7534
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6940
7535
  "ol",
6941
7536
  __spreadValues({
6942
7537
  "data-slot": "breadcrumb-list",
@@ -6946,7 +7541,7 @@ function BreadcrumbList(_a2) {
6946
7541
  }
6947
7542
  function BreadcrumbItem(_a2) {
6948
7543
  var _b = _a2, { className } = _b, props = __objRest(_b, ["className"]);
6949
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
7544
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6950
7545
  "li",
6951
7546
  __spreadValues({
6952
7547
  "data-slot": "breadcrumb-item",
@@ -6963,7 +7558,7 @@ function BreadcrumbLink(_a2) {
6963
7558
  "className"
6964
7559
  ]);
6965
7560
  const Comp = asChild ? import_react_slot7.Slot : "a";
6966
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
7561
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6967
7562
  Comp,
6968
7563
  __spreadValues({
6969
7564
  "data-slot": "breadcrumb-link",
@@ -6979,7 +7574,7 @@ function BreadcrumbLink(_a2) {
6979
7574
  }
6980
7575
  function BreadcrumbPage(_a2) {
6981
7576
  var _b = _a2, { className } = _b, props = __objRest(_b, ["className"]);
6982
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
7577
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6983
7578
  "span",
6984
7579
  __spreadValues({
6985
7580
  "data-slot": "breadcrumb-page",
@@ -7002,7 +7597,7 @@ function BreadcrumbSeparator(_a2) {
7002
7597
  "children",
7003
7598
  "className"
7004
7599
  ]);
7005
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
7600
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
7006
7601
  "li",
7007
7602
  __spreadProps(__spreadValues({
7008
7603
  "data-slot": "breadcrumb-separator",
@@ -7014,7 +7609,7 @@ function BreadcrumbSeparator(_a2) {
7014
7609
  className
7015
7610
  )
7016
7611
  }, props), {
7017
- children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react11.ChevronRight, {})
7612
+ children: children != null ? children : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react11.ChevronRight, {})
7018
7613
  })
7019
7614
  );
7020
7615
  }
@@ -7024,7 +7619,7 @@ function BreadcrumbEllipsis(_a2) {
7024
7619
  } = _b, props = __objRest(_b, [
7025
7620
  "className"
7026
7621
  ]);
7027
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
7622
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
7028
7623
  "span",
7029
7624
  __spreadProps(__spreadValues({
7030
7625
  "data-slot": "breadcrumb-ellipsis",
@@ -7033,18 +7628,18 @@ function BreadcrumbEllipsis(_a2) {
7033
7628
  className: cn("flex items-center justify-center", className)
7034
7629
  }, props), {
7035
7630
  children: [
7036
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react11.MoreHorizontal, { className: "size-[var(--bc-sep-size)] text-[var(--bc-sep-color)]" }),
7037
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "sr-only", children: "More" })
7631
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react11.MoreHorizontal, { className: "size-[var(--bc-sep-size)] text-[var(--bc-sep-color)]" }),
7632
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "sr-only", children: "More" })
7038
7633
  ]
7039
7634
  })
7040
7635
  );
7041
7636
  }
7042
7637
 
7043
7638
  // src/components/base/navegation/Drawer.tsx
7044
- var React13 = __toESM(require("react"), 1);
7639
+ var React15 = __toESM(require("react"), 1);
7045
7640
  var import_vaul = require("vaul");
7046
- var import_jsx_runtime35 = require("react/jsx-runtime");
7047
- var DrawerStylesContext = React13.createContext(null);
7641
+ var import_jsx_runtime37 = require("react/jsx-runtime");
7642
+ var DrawerStylesContext = React15.createContext(null);
7048
7643
  var shadowClassName = "0px 2px 4px 0px #1212170A, 0px 5px 8px 0px #1212170A, 0px 10px 18px 0px #12121708, 0px 24px 48px 0px #12121708, 0px 0px 0px 1px #1212171A";
7049
7644
  function Drawer(_a2) {
7050
7645
  var _b = _a2, { tokens } = _b, props = __objRest(_b, ["tokens"]);
@@ -7053,7 +7648,7 @@ function Drawer(_a2) {
7053
7648
  { componentName: "drawer", tokens },
7054
7649
  theme
7055
7650
  );
7056
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DrawerStylesContext.Provider, { value: mergedTokens, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_vaul.Drawer.Root, __spreadValues({ "data-slot": "drawer" }, props)) });
7651
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DrawerStylesContext.Provider, { value: mergedTokens, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_vaul.Drawer.Root, __spreadValues({ "data-slot": "drawer" }, props)) });
7057
7652
  }
7058
7653
  var DrawerTrigger = import_vaul.Drawer.Trigger;
7059
7654
  var DrawerPortal = import_vaul.Drawer.Portal;
@@ -7065,13 +7660,13 @@ function DrawerOverlay(_a2) {
7065
7660
  "className"
7066
7661
  ]);
7067
7662
  var _a3, _b2, _c, _d, _e, _f;
7068
- const mergedTokens = React13.useContext(DrawerStylesContext);
7663
+ const mergedTokens = React15.useContext(DrawerStylesContext);
7069
7664
  const styles = {
7070
7665
  "--drawer-overlay-bg": (_b2 = (_a3 = mergedTokens == null ? void 0 : mergedTokens.overlay) == null ? void 0 : _a3.background) != null ? _b2 : "#000",
7071
7666
  "--drawer-overlay-opacity": (_d = (_c = mergedTokens == null ? void 0 : mergedTokens.overlay) == null ? void 0 : _c.opacity) != null ? _d : "0.4",
7072
7667
  "--drawer-overlay-blur": (_f = (_e = mergedTokens == null ? void 0 : mergedTokens.overlay) == null ? void 0 : _e.backdropBlur) != null ? _f : "0px"
7073
7668
  };
7074
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
7669
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
7075
7670
  import_vaul.Drawer.Overlay,
7076
7671
  __spreadValues({
7077
7672
  "data-slot": "drawer-overlay",
@@ -7100,7 +7695,7 @@ function DrawerContent(_a2) {
7100
7695
  "children"
7101
7696
  ]);
7102
7697
  var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
7103
- const mergedTokens = React13.useContext(DrawerStylesContext);
7698
+ const mergedTokens = React15.useContext(DrawerStylesContext);
7104
7699
  const styles = {
7105
7700
  "--drawer-bg": (_b2 = (_a3 = mergedTokens == null ? void 0 : mergedTokens.content) == null ? void 0 : _a3.background) != null ? _b2 : "#fff",
7106
7701
  "--drawer-color": (_d = (_c = mergedTokens == null ? void 0 : mergedTokens.content) == null ? void 0 : _c.color) != null ? _d : "#0F172A",
@@ -7109,9 +7704,9 @@ function DrawerContent(_a2) {
7109
7704
  "--drawer-shadow": (_j = (_i = mergedTokens == null ? void 0 : mergedTokens.content) == null ? void 0 : _i.shadow) != null ? _j : shadowClassName,
7110
7705
  "--drawer-max-height": (_l = (_k = mergedTokens == null ? void 0 : mergedTokens.content) == null ? void 0 : _k.maxHeight) != null ? _l : "100vh"
7111
7706
  };
7112
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(DrawerPortal, { children: [
7113
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DrawerOverlay, {}),
7114
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
7707
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(DrawerPortal, { children: [
7708
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DrawerOverlay, {}),
7709
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
7115
7710
  import_vaul.Drawer.Content,
7116
7711
  __spreadProps(__spreadValues({
7117
7712
  "data-slot": "drawer-content",
@@ -7152,7 +7747,7 @@ function DrawerContent(_a2) {
7152
7747
  }
7153
7748
  var DrawerHeader = (_a2) => {
7154
7749
  var _b = _a2, { className } = _b, props = __objRest(_b, ["className"]);
7155
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
7750
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
7156
7751
  "div",
7157
7752
  __spreadValues({
7158
7753
  className: cn("flex flex-col gap-1 px-6 pt-12", className)
@@ -7161,7 +7756,7 @@ var DrawerHeader = (_a2) => {
7161
7756
  };
7162
7757
  var DrawerBody = (_a2) => {
7163
7758
  var _b = _a2, { className } = _b, props = __objRest(_b, ["className"]);
7164
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
7759
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
7165
7760
  "div",
7166
7761
  __spreadValues({
7167
7762
  className: cn("flex flex-col flex-1 overflow-y-auto px-6 py-4", className)
@@ -7170,7 +7765,7 @@ var DrawerBody = (_a2) => {
7170
7765
  };
7171
7766
  var DrawerFooter = (_a2) => {
7172
7767
  var _b = _a2, { className } = _b, props = __objRest(_b, ["className"]);
7173
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
7768
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
7174
7769
  "div",
7175
7770
  __spreadValues({
7176
7771
  className: cn(
@@ -7187,7 +7782,7 @@ function DrawerCloseButton(_a2) {
7187
7782
  } = _b, props = __objRest(_b, [
7188
7783
  "className"
7189
7784
  ]);
7190
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
7785
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
7191
7786
  import_vaul.Drawer.Close,
7192
7787
  __spreadProps(__spreadValues({
7193
7788
  "aria-label": "Cerrar",
@@ -7207,13 +7802,13 @@ function DrawerTitle(_a2) {
7207
7802
  "className"
7208
7803
  ]);
7209
7804
  var _a3, _b2, _c, _d, _e, _f;
7210
- const mergedTokens = React13.useContext(DrawerStylesContext);
7805
+ const mergedTokens = React15.useContext(DrawerStylesContext);
7211
7806
  const style = {
7212
7807
  "--drawer-title-color": (_b2 = (_a3 = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _a3.color) != null ? _b2 : "#0F172A",
7213
7808
  "--drawer-title-size": (_d = (_c = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _c.fontSize) != null ? _d : "24px",
7214
7809
  "--drawer-title-weight": (_f = (_e = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _e.fontWeight) != null ? _f : "600"
7215
7810
  };
7216
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
7811
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
7217
7812
  import_vaul.Drawer.Title,
7218
7813
  __spreadValues({
7219
7814
  style,
@@ -7231,12 +7826,12 @@ function DrawerDescription(_a2) {
7231
7826
  "className"
7232
7827
  ]);
7233
7828
  var _a3, _b2, _c, _d;
7234
- const mergedTokens = React13.useContext(DrawerStylesContext);
7829
+ const mergedTokens = React15.useContext(DrawerStylesContext);
7235
7830
  const styles = {
7236
7831
  "--drawer-desc-color": (_b2 = (_a3 = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _a3.color) != null ? _b2 : "#6E7991",
7237
7832
  "--drawer-desc-size": (_d = (_c = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _c.fontSize) != null ? _d : "14px"
7238
7833
  };
7239
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
7834
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
7240
7835
  import_vaul.Drawer.Description,
7241
7836
  __spreadValues({
7242
7837
  style: styles,
@@ -7249,13 +7844,13 @@ function DrawerDescription(_a2) {
7249
7844
  }
7250
7845
 
7251
7846
  // src/components/base/navegation/ModalDialog.tsx
7252
- var React14 = __toESM(require("react"), 1);
7847
+ var React16 = __toESM(require("react"), 1);
7253
7848
  var AlertDialogPrimitive = __toESM(require("@radix-ui/react-alert-dialog"), 1);
7254
- var import_jsx_runtime36 = require("react/jsx-runtime");
7255
- var AlertDialogStylesContext = React14.createContext(null);
7256
- var AlertDialogLayoutContext = React14.createContext("left");
7849
+ var import_jsx_runtime38 = require("react/jsx-runtime");
7850
+ var AlertDialogStylesContext = React16.createContext(null);
7851
+ var AlertDialogLayoutContext = React16.createContext("left");
7257
7852
  function useAlertDialogLayout() {
7258
- return React14.useContext(AlertDialogLayoutContext);
7853
+ return React16.useContext(AlertDialogLayoutContext);
7259
7854
  }
7260
7855
  var alignmentVariants = {
7261
7856
  left: {
@@ -7294,12 +7889,12 @@ function AlertDialog(_a2) {
7294
7889
  "--alert-description-font-size": (_s = (_r = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _r.fontSize) != null ? _s : "16px",
7295
7890
  "--alert-description-font-weight": (_u = (_t = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _t.fontWeight) != null ? _u : 400
7296
7891
  };
7297
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(AlertDialogStylesContext.Provider, { value: styles, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(AlertDialogPrimitive.Root, __spreadValues({ "data-slot": "alert-dialog" }, props)) });
7892
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AlertDialogStylesContext.Provider, { value: styles, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AlertDialogPrimitive.Root, __spreadValues({ "data-slot": "alert-dialog" }, props)) });
7298
7893
  }
7299
7894
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
7300
7895
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
7301
7896
  function AlertDialogOverlay(props) {
7302
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
7897
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
7303
7898
  AlertDialogPrimitive.Overlay,
7304
7899
  __spreadValues({
7305
7900
  "data-slot": "alert-dialog-overlay",
@@ -7319,11 +7914,11 @@ function AlertDialogContent(_a2) {
7319
7914
  "className",
7320
7915
  "alignment"
7321
7916
  ]);
7322
- const styles = React14.useContext(AlertDialogStylesContext);
7917
+ const styles = React16.useContext(AlertDialogStylesContext);
7323
7918
  const align = alignmentVariants[alignment];
7324
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(AlertDialogLayoutContext.Provider, { value: alignment, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(AlertDialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { style: styles != null ? styles : void 0, children: [
7325
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(AlertDialogOverlay, {}),
7326
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
7919
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AlertDialogLayoutContext.Provider, { value: alignment, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AlertDialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { style: styles != null ? styles : void 0, children: [
7920
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AlertDialogOverlay, {}),
7921
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
7327
7922
  AlertDialogPrimitive.Content,
7328
7923
  __spreadValues({
7329
7924
  "data-slot": "alert-dialog-content",
@@ -7347,7 +7942,7 @@ function AlertDialogHeader(_a2) {
7347
7942
  "className"
7348
7943
  ]);
7349
7944
  const alignment = useAlertDialogLayout();
7350
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
7945
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
7351
7946
  "div",
7352
7947
  __spreadValues({
7353
7948
  "data-slot": "alert-dialog-header",
@@ -7367,7 +7962,7 @@ function AlertDialogFooter(_a2) {
7367
7962
  "className"
7368
7963
  ]);
7369
7964
  const alignment = useAlertDialogLayout();
7370
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
7965
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
7371
7966
  "div",
7372
7967
  __spreadValues({
7373
7968
  "data-slot": "alert-dialog-footer",
@@ -7382,7 +7977,7 @@ function AlertDialogFooter(_a2) {
7382
7977
  }
7383
7978
  function AlertDialogTitle(props) {
7384
7979
  const alignment = useAlertDialogLayout();
7385
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
7980
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
7386
7981
  AlertDialogPrimitive.Title,
7387
7982
  __spreadValues({
7388
7983
  "data-slot": "alert-dialog-title",
@@ -7396,7 +7991,7 @@ function AlertDialogTitle(props) {
7396
7991
  }
7397
7992
  function AlertDialogDescription(props) {
7398
7993
  const alignment = useAlertDialogLayout();
7399
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
7994
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
7400
7995
  AlertDialogPrimitive.Description,
7401
7996
  __spreadValues({
7402
7997
  "data-slot": "alert-dialog-description",
@@ -7414,7 +8009,7 @@ function AlertDialogAction(_a2) {
7414
8009
  } = _b, props = __objRest(_b, [
7415
8010
  "children"
7416
8011
  ]);
7417
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(AlertDialogPrimitive.Action, __spreadProps(__spreadValues({ asChild: true }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Button, { variant: "primary", children }) }));
8012
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AlertDialogPrimitive.Action, __spreadProps(__spreadValues({ asChild: true }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Button, { variant: "primary", children }) }));
7418
8013
  }
7419
8014
  function AlertDialogCancel(_a2) {
7420
8015
  var _b = _a2, {
@@ -7422,14 +8017,14 @@ function AlertDialogCancel(_a2) {
7422
8017
  } = _b, props = __objRest(_b, [
7423
8018
  "children"
7424
8019
  ]);
7425
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(AlertDialogPrimitive.Cancel, __spreadProps(__spreadValues({ asChild: true }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Button, { variant: "secondary", children }) }));
8020
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AlertDialogPrimitive.Cancel, __spreadProps(__spreadValues({ asChild: true }, props), { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Button, { variant: "secondary", children }) }));
7426
8021
  }
7427
8022
 
7428
8023
  // src/components/base/navegation/Navbar.tsx
7429
- var React15 = __toESM(require("react"), 1);
8024
+ var React17 = __toESM(require("react"), 1);
7430
8025
  var import_lucide_react12 = require("lucide-react");
7431
- var import_jsx_runtime37 = require("react/jsx-runtime");
7432
- var NavbarContext = React15.createContext(null);
8026
+ var import_jsx_runtime39 = require("react/jsx-runtime");
8027
+ var NavbarContext = React17.createContext(null);
7433
8028
  var Navbar = (({ children }) => {
7434
8029
  var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
7435
8030
  const theme = useTheme();
@@ -7447,7 +8042,7 @@ var Navbar = (({ children }) => {
7447
8042
  /* Motion */
7448
8043
  "--nb-motion": (_p = (_o = mergedTokens == null ? void 0 : mergedTokens.motion) == null ? void 0 : _o.duration) != null ? _p : "150ms"
7449
8044
  };
7450
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(NavbarContext.Provider, { value: mergedTokens, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
8045
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(NavbarContext.Provider, { value: mergedTokens, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
7451
8046
  "header",
7452
8047
  {
7453
8048
  style: styles,
@@ -7458,18 +8053,18 @@ var Navbar = (({ children }) => {
7458
8053
  "rounded-[var(--nb-radius)]",
7459
8054
  "transition-colors duration-[var(--nb-motion)]"
7460
8055
  ),
7461
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "mx-auto h-full flex items-center justify-between px-6", children })
8056
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "mx-auto h-full flex items-center justify-between px-6", children })
7462
8057
  }
7463
8058
  ) });
7464
8059
  });
7465
- Navbar.Start = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex items-center gap-6", children });
7466
- Navbar.End = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex items-center gap-4", children });
7467
- Navbar.Slot = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex items-center", children });
8060
+ Navbar.Start = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex items-center gap-6", children });
8061
+ Navbar.End = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex items-center gap-4", children });
8062
+ Navbar.Slot = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex items-center", children });
7468
8063
  Navbar.Logo = NavbarLogo;
7469
8064
  Navbar.Merchant = NavbarMerchant;
7470
8065
  Navbar.User = NavbarUserMenu;
7471
8066
  function NavbarLogo() {
7472
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Avatar, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AvatarFallback, { children: "EM" }) }) });
8067
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Avatar, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(AvatarFallback, { children: "EM" }) }) });
7473
8068
  }
7474
8069
  function NavbarMerchant({
7475
8070
  merchants = [],
@@ -7477,7 +8072,7 @@ function NavbarMerchant({
7477
8072
  onChange
7478
8073
  }) {
7479
8074
  var _a2, _b, _c, _d, _e, _f, _g, _h, _i;
7480
- const tokens = (_a2 = React15.useContext(NavbarContext)) != null ? _a2 : {};
8075
+ const tokens = (_a2 = React17.useContext(NavbarContext)) != null ? _a2 : {};
7481
8076
  const styles = {
7482
8077
  /* Merchant */
7483
8078
  "--nb-merchant-color": (_c = (_b = tokens == null ? void 0 : tokens.merchant) == null ? void 0 : _b.color) != null ? _c : "#111827",
@@ -7488,19 +8083,19 @@ function NavbarMerchant({
7488
8083
  if (!merchants.length) return null;
7489
8084
  const current = merchants.find((m) => m.id === currentId);
7490
8085
  if (merchants.length === 1) {
7491
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { children: current == null ? void 0 : current.name });
8086
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: current == null ? void 0 : current.name });
7492
8087
  }
7493
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(DropdownMenu, { children: [
7494
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(DropdownMenuTrigger, { className: "flex items-center gap-2 outline-none text-[color:var(--nb-merchant-color)] text-[length:var(--nb-merchant-font-size)] font-[var(--nb-merchant-font-weight)]", children: [
8088
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(DropdownMenu, { children: [
8089
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(DropdownMenuTrigger, { className: "flex items-center gap-2 outline-none text-[color:var(--nb-merchant-color)] text-[length:var(--nb-merchant-font-size)] font-[var(--nb-merchant-font-weight)]", children: [
7495
8090
  current == null ? void 0 : current.name,
7496
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react12.ChevronsUpDown, { className: "h-4 w-4 text-[color:var(--nb-icon-color)]" })
8091
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.ChevronsUpDown, { className: "h-4 w-4 text-[color:var(--nb-icon-color)]" })
7497
8092
  ] }),
7498
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownMenuContent, { align: "start", children: merchants.map((m) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownMenuItem, { onClick: () => onChange == null ? void 0 : onChange(m.id), children: m.name }, m.id)) })
8093
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropdownMenuContent, { align: "start", children: merchants.map((m) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropdownMenuItem, { onClick: () => onChange == null ? void 0 : onChange(m.id), children: m.name }, m.id)) })
7499
8094
  ] }) });
7500
8095
  }
7501
8096
  function NavbarUserMenu({ user }) {
7502
8097
  var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
7503
- const tokens = (_a2 = React15.useContext(NavbarContext)) != null ? _a2 : {};
8098
+ const tokens = (_a2 = React17.useContext(NavbarContext)) != null ? _a2 : {};
7504
8099
  const styles = {
7505
8100
  /* User */
7506
8101
  "--nb-user-name": (_c = (_b = tokens == null ? void 0 : tokens.user) == null ? void 0 : _b.nameColor) != null ? _c : "#111827",
@@ -7511,18 +8106,18 @@ function NavbarUserMenu({ user }) {
7511
8106
  "--nb-user-role-font-weight": (_m = (_l = tokens == null ? void 0 : tokens.user) == null ? void 0 : _l.roleFontWeight) != null ? _m : 400,
7512
8107
  "--nb-icon-color": (_o = (_n = tokens == null ? void 0 : tokens.container) == null ? void 0 : _n.iconColor) != null ? _o : "#9DA5B5"
7513
8108
  };
7514
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(DropdownMenu, { children: [
7515
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
8109
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(DropdownMenu, { children: [
8110
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
7516
8111
  DropdownMenuTrigger,
7517
8112
  {
7518
8113
  className: "\r\n flex items-start gap-3\r\n px-3 py-2\r\n rounded-xl\r\n outline-none\r\n transition-colors\r\n hover:bg-[var(--nb-trigger-hover)]\r\n focus-visible:ring-2 focus-visible:ring-[var(--nb-focus)]\r\n ",
7519
8114
  children: [
7520
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Avatar, { size: "md", children: user.avatarUrl ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AvatarImage, { src: user.avatarUrl }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AvatarFallback, { children: user.name[0] }) }),
7521
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex flex-col text-left", children: [
7522
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-[color:var(--nb-user-name)] text-[length:var(--nb-user-name-font-size)] font-[var(--nb-user-name-font-weight)] leading-none", children: user.name }),
7523
- user.role && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "mt-0.5 text-[length:var(--nb-user-role-font-size)] leading-none text-[color:var(--nb-user-role)] font-[var(--nb-user-role-font-weight)]", children: user.role })
8115
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Avatar, { size: "md", children: user.avatarUrl ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(AvatarImage, { src: user.avatarUrl }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(AvatarFallback, { children: user.name[0] }) }),
8116
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col text-left", children: [
8117
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "text-[color:var(--nb-user-name)] text-[length:var(--nb-user-name-font-size)] font-[var(--nb-user-name-font-weight)] leading-none", children: user.name }),
8118
+ user.role && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "mt-0.5 text-[length:var(--nb-user-role-font-size)] leading-none text-[color:var(--nb-user-role)] font-[var(--nb-user-role-font-weight)]", children: user.role })
7524
8119
  ] }),
7525
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
8120
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
7526
8121
  import_lucide_react12.ChevronDown,
7527
8122
  {
7528
8123
  className: "\r\n ml-1\r\n h-4 w-4\r\n text-[color:var(--nb-icon-color)]\r\n translate-y-[0px]\r\n "
@@ -7531,13 +8126,13 @@ function NavbarUserMenu({ user }) {
7531
8126
  ]
7532
8127
  }
7533
8128
  ),
7534
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownMenuContent, { align: "end", children: user.menu.map((item) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownMenuItem, { onClick: item.onClick, children: item.label }, item.id)) })
8129
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropdownMenuContent, { align: "end", children: user.menu.map((item) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropdownMenuItem, { onClick: item.onClick, children: item.label }, item.id)) })
7535
8130
  ] }) });
7536
8131
  }
7537
8132
 
7538
8133
  // src/components/base/navegation/Pagination.tsx
7539
8134
  var import_lucide_react13 = require("lucide-react");
7540
- var import_jsx_runtime38 = require("react/jsx-runtime");
8135
+ var import_jsx_runtime40 = require("react/jsx-runtime");
7541
8136
  function Pagination(_a2) {
7542
8137
  var _b = _a2, {
7543
8138
  className,
@@ -7582,7 +8177,7 @@ function Pagination(_a2) {
7582
8177
  "--pg-disabled-text": (_R = (_Q = (_P = mergedTokens == null ? void 0 : mergedTokens.item) == null ? void 0 : _P.disabled) == null ? void 0 : _Q.text) != null ? _R : "#9CA3AF",
7583
8178
  "--pg-disabled-opacity": (_U = (_T = (_S = mergedTokens == null ? void 0 : mergedTokens.item) == null ? void 0 : _S.disabled) == null ? void 0 : _T.opacity) != null ? _U : "0.5"
7584
8179
  }, style);
7585
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
8180
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
7586
8181
  "nav",
7587
8182
  __spreadValues({
7588
8183
  role: "navigation",
@@ -7606,7 +8201,7 @@ function PaginationLink(_a2) {
7606
8201
  "isActive",
7607
8202
  "disabled"
7608
8203
  ]);
7609
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
8204
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
7610
8205
  "a",
7611
8206
  __spreadValues({
7612
8207
  "data-slot": "pagination-link",
@@ -7637,7 +8232,7 @@ function PaginationContent(_a2) {
7637
8232
  } = _b, props = __objRest(_b, [
7638
8233
  "className"
7639
8234
  ]);
7640
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
8235
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
7641
8236
  "ul",
7642
8237
  __spreadValues({
7643
8238
  "data-slot": "pagination-content",
@@ -7646,7 +8241,7 @@ function PaginationContent(_a2) {
7646
8241
  );
7647
8242
  }
7648
8243
  function PaginationItem(props) {
7649
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", __spreadValues({ "data-slot": "pagination-item" }, props));
8244
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("li", __spreadValues({ "data-slot": "pagination-item" }, props));
7650
8245
  }
7651
8246
  function PaginationPrevious(_a2) {
7652
8247
  var _b = _a2, {
@@ -7654,13 +8249,13 @@ function PaginationPrevious(_a2) {
7654
8249
  } = _b, props = __objRest(_b, [
7655
8250
  "className"
7656
8251
  ]);
7657
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
8252
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
7658
8253
  PaginationLink,
7659
8254
  __spreadProps(__spreadValues({
7660
8255
  "aria-label": "Go to previous page",
7661
8256
  className: cn("gap-1 px-2.5", className)
7662
8257
  }, props), {
7663
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react13.ChevronLeftIcon, { style: { width: "var(--pg-icon-size)", height: "var(--pg-icon-size)" } })
8258
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.ChevronLeftIcon, { style: { width: "var(--pg-icon-size)", height: "var(--pg-icon-size)" } })
7664
8259
  })
7665
8260
  );
7666
8261
  }
@@ -7670,13 +8265,13 @@ function PaginationNext(_a2) {
7670
8265
  } = _b, props = __objRest(_b, [
7671
8266
  "className"
7672
8267
  ]);
7673
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
8268
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
7674
8269
  PaginationLink,
7675
8270
  __spreadProps(__spreadValues({
7676
8271
  "aria-label": "Go to next page",
7677
8272
  className: cn("gap-1 px-2.5", className)
7678
8273
  }, props), {
7679
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react13.ChevronRightIcon, { style: { width: "var(--pg-icon-size)", height: "var(--pg-icon-size)" } })
8274
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.ChevronRightIcon, { style: { width: "var(--pg-icon-size)", height: "var(--pg-icon-size)" } })
7680
8275
  })
7681
8276
  );
7682
8277
  }
@@ -7686,7 +8281,7 @@ function PaginationEllipsis(_a2) {
7686
8281
  } = _b, props = __objRest(_b, [
7687
8282
  "className"
7688
8283
  ]);
7689
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
8284
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
7690
8285
  "span",
7691
8286
  __spreadProps(__spreadValues({
7692
8287
  "data-slot": "pagination-ellipsis",
@@ -7696,8 +8291,8 @@ function PaginationEllipsis(_a2) {
7696
8291
  )
7697
8292
  }, props), {
7698
8293
  children: [
7699
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react13.MoreHorizontalIcon, { style: { width: "var(--pg-icon-size)", height: "var(--pg-icon-size)" } }),
7700
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "sr-only", children: "More pages" })
8294
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.MoreHorizontalIcon, { style: { width: "var(--pg-icon-size)", height: "var(--pg-icon-size)" } }),
8295
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "sr-only", children: "More pages" })
7701
8296
  ]
7702
8297
  })
7703
8298
  );
@@ -7705,7 +8300,7 @@ function PaginationEllipsis(_a2) {
7705
8300
 
7706
8301
  // src/components/base/navegation/Tabs.tsx
7707
8302
  var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
7708
- var import_jsx_runtime39 = require("react/jsx-runtime");
8303
+ var import_jsx_runtime41 = require("react/jsx-runtime");
7709
8304
  function Tabs(_a2) {
7710
8305
  var _b = _a2, {
7711
8306
  className,
@@ -7752,7 +8347,7 @@ function Tabs(_a2) {
7752
8347
  "--tabs-list-border-radius": (_N = (_M = mergedTokens == null ? void 0 : mergedTokens.tabsList) == null ? void 0 : _M.radius) != null ? _N : "6px",
7753
8348
  "--tabs-trigger-border-radius": (_P = (_O = mergedTokens == null ? void 0 : mergedTokens.tabsList) == null ? void 0 : _O.radius) != null ? _P : "6px"
7754
8349
  };
7755
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
8350
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7756
8351
  TabsPrimitive.Root,
7757
8352
  __spreadValues({
7758
8353
  "data-slot": "tabs",
@@ -7768,7 +8363,7 @@ function TabsList(_a2) {
7768
8363
  } = _b, props = __objRest(_b, [
7769
8364
  "className"
7770
8365
  ]);
7771
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
8366
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7772
8367
  TabsPrimitive.List,
7773
8368
  __spreadValues({
7774
8369
  "data-slot": "tabs-list",
@@ -7796,7 +8391,7 @@ function TabsTrigger(_a2) {
7796
8391
  } = _b, props = __objRest(_b, [
7797
8392
  "className"
7798
8393
  ]);
7799
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
8394
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7800
8395
  TabsPrimitive.Trigger,
7801
8396
  __spreadValues({
7802
8397
  "data-slot": "tabs-trigger",
@@ -7844,7 +8439,7 @@ function TabsContent(_a2) {
7844
8439
  } = _b, props = __objRest(_b, [
7845
8440
  "className"
7846
8441
  ]);
7847
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
8442
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
7848
8443
  TabsPrimitive.Content,
7849
8444
  __spreadValues({
7850
8445
  "data-slot": "tabs-content",
@@ -7854,8 +8449,8 @@ function TabsContent(_a2) {
7854
8449
  }
7855
8450
 
7856
8451
  // src/components/base/navegation/Sidebar.tsx
7857
- var import_jsx_runtime40 = require("react/jsx-runtime");
7858
- var CollapseIconExpanded = () => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
8452
+ var import_jsx_runtime42 = require("react/jsx-runtime");
8453
+ var CollapseIconExpanded = () => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
7859
8454
  "svg",
7860
8455
  {
7861
8456
  width: "20",
@@ -7864,25 +8459,25 @@ var CollapseIconExpanded = () => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
7864
8459
  fill: "none",
7865
8460
  xmlns: "http://www.w3.org/2000/svg",
7866
8461
  children: [
7867
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8462
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7868
8463
  "path",
7869
8464
  {
7870
8465
  d: "M12.2664 7.6831C12.5105 7.43903 12.9061 7.43903 13.1502 7.6831C13.3943 7.92718 13.3943 8.32282 13.1502 8.56689L11.7171 10L13.1502 11.4331C13.3943 11.6772 13.3943 12.0728 13.1502 12.3169C12.9061 12.561 12.5105 12.561 12.2664 12.3169L10.3914 10.4419C10.1474 10.1978 10.1474 9.80218 10.3914 9.55811L12.2664 7.6831Z",
7871
8466
  fill: "currentColor"
7872
8467
  }
7873
8468
  ),
7874
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8469
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7875
8470
  "path",
7876
8471
  {
7877
8472
  d: "M16.25 4.79167C16.25 4.21637 15.7836 3.75 15.2083 3.75H4.79167C4.21637 3.75 3.75 4.21637 3.75 4.79167V15.2083C3.75 15.7836 4.21637 16.25 4.79167 16.25H15.2083C15.7836 16.25 16.25 15.7836 16.25 15.2083V4.79167ZM17.5 15.2083C17.5 16.474 16.474 17.5 15.2083 17.5H4.79167C3.52601 17.5 2.5 16.474 2.5 15.2083V4.79167C2.5 3.52601 3.52601 2.5 4.79167 2.5H15.2083C16.474 2.5 17.5 3.52601 17.5 4.79167V15.2083Z",
7878
8473
  fill: "currentColor"
7879
8474
  }
7880
8475
  ),
7881
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("path", { d: "M7.5 3.125V16.875H6.25V3.125H7.5Z", fill: "currentColor" })
8476
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "M7.5 3.125V16.875H6.25V3.125H7.5Z", fill: "currentColor" })
7882
8477
  ]
7883
8478
  }
7884
8479
  );
7885
- var CollapseIconCollapsed = () => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
8480
+ var CollapseIconCollapsed = () => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
7886
8481
  "svg",
7887
8482
  {
7888
8483
  width: "20",
@@ -7891,21 +8486,21 @@ var CollapseIconCollapsed = () => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)
7891
8486
  fill: "none",
7892
8487
  xmlns: "http://www.w3.org/2000/svg",
7893
8488
  children: [
7894
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8489
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7895
8490
  "path",
7896
8491
  {
7897
8492
  d: "M11.4583 7.73217C11.2143 7.48809 10.8186 7.48809 10.5745 7.73217C10.3305 7.97625 10.3305 8.37188 10.5745 8.61596L12.0076 10.0491L10.5745 11.4822C10.3305 11.7262 10.3305 12.1219 10.5745 12.366C10.8186 12.61 11.2143 12.61 11.4583 12.366L13.3333 10.491C13.5774 10.2469 13.5774 9.85125 13.3333 9.60717L11.4583 7.73217Z",
7898
8493
  fill: "currentColor"
7899
8494
  }
7900
8495
  ),
7901
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8496
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7902
8497
  "path",
7903
8498
  {
7904
8499
  d: "M16.25 4.79167C16.25 4.21637 15.7836 3.75 15.2083 3.75H4.79167C4.21637 3.75 3.75 4.21637 3.75 4.79167V15.2083C3.75 15.7836 4.21637 16.25 4.79167 16.25H15.2083C15.7836 16.25 16.25 15.7836 16.25 15.2083V4.79167ZM17.5 15.2083C17.5 16.474 16.474 17.5 15.2083 17.5H4.79167C3.52601 17.5 2.5 16.474 2.5 15.2083V4.79167C2.5 3.52601 3.52601 2.5 4.79167 2.5H15.2083C16.474 2.5 17.5 3.52601 17.5 4.79167V15.2083Z",
7905
8500
  fill: "currentColor"
7906
8501
  }
7907
8502
  ),
7908
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("path", { d: "M7.5 3.125V16.875H6.25V3.125H7.5Z", fill: "currentColor" })
8503
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "M7.5 3.125V16.875H6.25V3.125H7.5Z", fill: "currentColor" })
7909
8504
  ]
7910
8505
  }
7911
8506
  );
@@ -7959,7 +8554,7 @@ function Sidebar({
7959
8554
  "--sb-motion": (_ca = (_ba = mergedTokens == null ? void 0 : mergedTokens.motion) == null ? void 0 : _ba.duration) != null ? _ca : "250ms"
7960
8555
  };
7961
8556
  const resolvedSections = sections != null ? sections : items ? [{ id: "default", items }] : [];
7962
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
8557
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
7963
8558
  "aside",
7964
8559
  {
7965
8560
  style: styles,
@@ -7971,13 +8566,13 @@ function Sidebar({
7971
8566
  className
7972
8567
  ),
7973
8568
  children: [
7974
- /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
8569
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
7975
8570
  "div",
7976
8571
  {
7977
8572
  className: "flex items-center justify-between px-4 py-3",
7978
8573
  style: { minHeight: "var(--sb-header-h)" },
7979
8574
  children: [
7980
- !collapsed && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8575
+ !collapsed && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7981
8576
  "span",
7982
8577
  {
7983
8578
  className: "truncate",
@@ -7989,7 +8584,7 @@ function Sidebar({
7989
8584
  children: title
7990
8585
  }
7991
8586
  ),
7992
- onToggleCollapse && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8587
+ onToggleCollapse && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
7993
8588
  "button",
7994
8589
  {
7995
8590
  type: "button",
@@ -8000,13 +8595,13 @@ function Sidebar({
8000
8595
  collapsed && "mx-auto"
8001
8596
  ),
8002
8597
  "aria-label": collapsed ? "Expand sidebar" : "Collapse sidebar",
8003
- children: collapsed ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(CollapseIconCollapsed, {}) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(CollapseIconExpanded, {})
8598
+ children: collapsed ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CollapseIconCollapsed, {}) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CollapseIconExpanded, {})
8004
8599
  }
8005
8600
  )
8006
8601
  ]
8007
8602
  }
8008
8603
  ),
8009
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8604
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
8010
8605
  "nav",
8011
8606
  {
8012
8607
  className: "flex flex-col overflow-y-auto overflow-x-hidden",
@@ -8015,8 +8610,8 @@ function Sidebar({
8015
8610
  paddingLeft: "var(--sb-padding)",
8016
8611
  paddingRight: "var(--sb-padding)"
8017
8612
  },
8018
- children: resolvedSections.map((section) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-col gap-1", children: [
8019
- !collapsed && section.title && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
8613
+ children: resolvedSections.map((section) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-col gap-1", children: [
8614
+ !collapsed && section.title && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
8020
8615
  "span",
8021
8616
  {
8022
8617
  className: "px-2 mb-1 font-bold uppercase tracking-wider",
@@ -8029,7 +8624,7 @@ function Sidebar({
8029
8624
  ),
8030
8625
  section.items.map((item) => {
8031
8626
  const isActive = item.active;
8032
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
8627
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
8033
8628
  "div",
8034
8629
  {
8035
8630
  onClick: () => item.href && (onItemClick == null ? void 0 : onItemClick(item.href)),
@@ -8042,8 +8637,8 @@ function Sidebar({
8042
8637
  isActive ? "bg-[var(--sb-item-active-bg)] text-[var(--sb-item-active-color)]" : "text-[var(--sb-item-color)] hover:bg-[var(--sb-item-hover-bg)] hover:text-[var(--sb-item-hover-color)]"
8043
8638
  ),
8044
8639
  children: [
8045
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: item.icon }),
8046
- !collapsed && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "truncate", children: item.label })
8640
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: item.icon }),
8641
+ !collapsed && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "truncate", children: item.label })
8047
8642
  ]
8048
8643
  },
8049
8644
  item.id
@@ -8057,10 +8652,182 @@ function Sidebar({
8057
8652
  );
8058
8653
  }
8059
8654
 
8655
+ // src/components/base/navegation/Tour.tsx
8656
+ var import_jsx_runtime43 = require("react/jsx-runtime");
8657
+ function Tour(_a2) {
8658
+ var _b = _a2, {
8659
+ className,
8660
+ currentStep,
8661
+ totalSteps,
8662
+ title,
8663
+ description,
8664
+ onBack,
8665
+ onNext,
8666
+ backLabel = "Atras",
8667
+ nextLabel = "Siguiente",
8668
+ disableBack = false,
8669
+ disableNext = false,
8670
+ showPointer = true,
8671
+ tokens,
8672
+ style
8673
+ } = _b, props = __objRest(_b, [
8674
+ "className",
8675
+ "currentStep",
8676
+ "totalSteps",
8677
+ "title",
8678
+ "description",
8679
+ "onBack",
8680
+ "onNext",
8681
+ "backLabel",
8682
+ "nextLabel",
8683
+ "disableBack",
8684
+ "disableNext",
8685
+ "showPointer",
8686
+ "tokens",
8687
+ "style"
8688
+ ]);
8689
+ var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y;
8690
+ const theme = useTheme();
8691
+ const mergedTokens = (_a3 = resolveTokens({ componentName: "tour", tokens }, theme)) != null ? _a3 : {};
8692
+ const safeCurrentStep = Math.min(Math.max(currentStep, 1), Math.max(totalSteps, 1));
8693
+ const safeTotalSteps = Math.max(totalSteps, 1);
8694
+ const styles = __spreadValues({
8695
+ "--tour-bg": (_b2 = mergedTokens == null ? void 0 : mergedTokens.backgroundColor) != null ? _b2 : "#FFFFFF",
8696
+ "--tour-border": (_c = mergedTokens == null ? void 0 : mergedTokens.borderColor) != null ? _c : "#E2E5E9",
8697
+ "--tour-radius": (_d = mergedTokens == null ? void 0 : mergedTokens.borderRadius) != null ? _d : "12px",
8698
+ "--tour-padding": (_e = mergedTokens == null ? void 0 : mergedTokens.padding) != null ? _e : "16px",
8699
+ "--tour-shadow": (_f = mergedTokens == null ? void 0 : mergedTokens.shadow) != null ? _f : "0px 4px 12px rgba(18, 18, 23, 0.08)",
8700
+ "--tour-gap": (_g = mergedTokens == null ? void 0 : mergedTokens.gap) != null ? _g : "12px",
8701
+ "--tour-step-color": (_i = (_h = mergedTokens == null ? void 0 : mergedTokens.step) == null ? void 0 : _h.color) != null ? _i : "#6E7991",
8702
+ "--tour-step-size": (_k = (_j = mergedTokens == null ? void 0 : mergedTokens.step) == null ? void 0 : _j.fontSize) != null ? _k : "14px",
8703
+ "--tour-step-weight": (_m = (_l = mergedTokens == null ? void 0 : mergedTokens.step) == null ? void 0 : _l.fontWeight) != null ? _m : 550,
8704
+ "--tour-step-line-height": (_o = (_n = mergedTokens == null ? void 0 : mergedTokens.step) == null ? void 0 : _n.lineHeight) != null ? _o : "130%",
8705
+ "--tour-step-letter-spacing": (_q = (_p = mergedTokens == null ? void 0 : mergedTokens.step) == null ? void 0 : _p.letterSpacing) != null ? _q : "-0.04em",
8706
+ "--tour-title-color": (_s = (_r = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _r.color) != null ? _s : "#020303",
8707
+ "--tour-title-size": (_u = (_t = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _t.fontSize) != null ? _u : "16px",
8708
+ "--tour-title-weight": (_w = (_v = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _v.fontWeight) != null ? _w : 550,
8709
+ "--tour-title-line-height": (_y = (_x = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _x.lineHeight) != null ? _y : "130%",
8710
+ "--tour-title-letter-spacing": (_A = (_z = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _z.letterSpacing) != null ? _A : "-0.04em",
8711
+ "--tour-description-color": (_C = (_B = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _B.color) != null ? _C : "#6E7991",
8712
+ "--tour-description-size": (_E = (_D = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _D.fontSize) != null ? _E : "14px",
8713
+ "--tour-description-weight": (_G = (_F = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _F.fontWeight) != null ? _G : 400,
8714
+ "--tour-description-line-height": (_I = (_H = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _H.lineHeight) != null ? _I : "130%",
8715
+ "--tour-description-letter-spacing": (_K = (_J = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _J.letterSpacing) != null ? _K : "-0.04em",
8716
+ "--tour-actions-gap": (_M = (_L = mergedTokens == null ? void 0 : mergedTokens.actions) == null ? void 0 : _L.gap) != null ? _M : "8px",
8717
+ "--tour-arrow-size": (_O = (_N = mergedTokens == null ? void 0 : mergedTokens.arrow) == null ? void 0 : _N.size) != null ? _O : "12px",
8718
+ "--tour-arrow-bg": (_Q = (_P = mergedTokens == null ? void 0 : mergedTokens.arrow) == null ? void 0 : _P.background) != null ? _Q : "#FFFFFF",
8719
+ "--tour-arrow-border": (_S = (_R = mergedTokens == null ? void 0 : mergedTokens.arrow) == null ? void 0 : _R.borderColor) != null ? _S : "#E2E5E9"
8720
+ }, style);
8721
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "inline-block", style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
8722
+ "div",
8723
+ __spreadProps(__spreadValues({
8724
+ "data-slot": "tour",
8725
+ className: cn(
8726
+ "relative w-full min-w-[280px] max-w-[360px] border rounded-[var(--tour-radius)] bg-[var(--tour-bg)] border-[var(--tour-border)] p-[var(--tour-padding)] shadow-[var(--tour-shadow)]",
8727
+ className
8728
+ )
8729
+ }, props), {
8730
+ children: [
8731
+ showPointer && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8732
+ "svg",
8733
+ {
8734
+ "aria-hidden": true,
8735
+ width: "15",
8736
+ height: "7",
8737
+ viewBox: "0 0 15 7",
8738
+ fill: "none",
8739
+ xmlns: "http://www.w3.org/2000/svg",
8740
+ className: "absolute left-1/2 top-[-6px] z-10 -translate-x-1/2",
8741
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8742
+ "path",
8743
+ {
8744
+ d: "M5.65683 0.585783C6.43788 -0.195265 7.70421 -0.195265 8.48526 0.585783L14.1421 6.24264H7.07104H-2.2769e-05L5.65683 0.585783Z",
8745
+ fill: "var(--tour-arrow-bg)"
8746
+ }
8747
+ )
8748
+ }
8749
+ ),
8750
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-col", style: { gap: "var(--tour-gap)" }, children: [
8751
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
8752
+ "p",
8753
+ {
8754
+ className: "m-0",
8755
+ style: {
8756
+ color: "var(--tour-step-color)",
8757
+ fontSize: "var(--tour-step-size)",
8758
+ fontWeight: Number((_U = (_T = mergedTokens == null ? void 0 : mergedTokens.step) == null ? void 0 : _T.fontWeight) != null ? _U : 550),
8759
+ lineHeight: "var(--tour-step-line-height)",
8760
+ letterSpacing: "var(--tour-step-letter-spacing)"
8761
+ },
8762
+ children: [
8763
+ safeCurrentStep,
8764
+ "/",
8765
+ safeTotalSteps
8766
+ ]
8767
+ }
8768
+ ),
8769
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "space-y-1", children: [
8770
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8771
+ "h3",
8772
+ {
8773
+ className: "m-0",
8774
+ style: {
8775
+ color: "var(--tour-title-color)",
8776
+ fontSize: "var(--tour-title-size)",
8777
+ fontWeight: Number((_W = (_V = mergedTokens == null ? void 0 : mergedTokens.title) == null ? void 0 : _V.fontWeight) != null ? _W : 550),
8778
+ lineHeight: "var(--tour-title-line-height)",
8779
+ letterSpacing: "var(--tour-title-letter-spacing)"
8780
+ },
8781
+ children: title
8782
+ }
8783
+ ),
8784
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8785
+ "p",
8786
+ {
8787
+ className: "m-0",
8788
+ style: {
8789
+ color: "var(--tour-description-color)",
8790
+ fontSize: "var(--tour-description-size)",
8791
+ fontWeight: Number((_Y = (_X = mergedTokens == null ? void 0 : mergedTokens.description) == null ? void 0 : _X.fontWeight) != null ? _Y : 400),
8792
+ lineHeight: "var(--tour-description-line-height)",
8793
+ letterSpacing: "var(--tour-description-letter-spacing)"
8794
+ },
8795
+ children: description
8796
+ }
8797
+ )
8798
+ ] }),
8799
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "mt-2 flex items-center justify-between", style: { gap: "var(--tour-actions-gap)" }, children: [
8800
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8801
+ Button,
8802
+ {
8803
+ variant: "secondary",
8804
+ size: "small",
8805
+ onClick: onBack,
8806
+ disabled: disableBack,
8807
+ children: backLabel
8808
+ }
8809
+ ),
8810
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8811
+ Button,
8812
+ {
8813
+ variant: "primary",
8814
+ size: "small",
8815
+ onClick: onNext,
8816
+ disabled: disableNext,
8817
+ children: nextLabel
8818
+ }
8819
+ )
8820
+ ] })
8821
+ ] })
8822
+ ]
8823
+ })
8824
+ ) });
8825
+ }
8826
+
8060
8827
  // src/components/base/foundations/icon/Icon.tsx
8061
- var React16 = __toESM(require("react"), 1);
8828
+ var React18 = __toESM(require("react"), 1);
8062
8829
  var import_react_slot8 = require("@radix-ui/react-slot");
8063
- var import_jsx_runtime41 = require("react/jsx-runtime");
8830
+ var import_jsx_runtime44 = require("react/jsx-runtime");
8064
8831
  function Icon(_a2) {
8065
8832
  var _b = _a2, {
8066
8833
  className,
@@ -8096,7 +8863,7 @@ function Icon(_a2) {
8096
8863
  "--icon-color": finalColor
8097
8864
  }, style);
8098
8865
  const Comp = asChild ? import_react_slot8.Slot : "span";
8099
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
8866
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
8100
8867
  Comp,
8101
8868
  __spreadProps(__spreadValues({
8102
8869
  "data-slot": "icon",
@@ -8107,7 +8874,7 @@ function Icon(_a2) {
8107
8874
  className
8108
8875
  )
8109
8876
  }, props), {
8110
- children: React16.isValidElement(children) ? React16.cloneElement(children, {
8877
+ children: React18.isValidElement(children) ? React18.cloneElement(children, {
8111
8878
  width: (_f = (_e = children.props) == null ? void 0 : _e.width) != null ? _f : finalSize,
8112
8879
  height: (_h = (_g = children.props) == null ? void 0 : _g.height) != null ? _h : finalSize,
8113
8880
  stroke: "currentColor",
@@ -8119,14 +8886,14 @@ function Icon(_a2) {
8119
8886
  }
8120
8887
 
8121
8888
  // src/components/base/foundations/icon/IconLabel.tsx
8122
- var import_jsx_runtime42 = require("react/jsx-runtime");
8889
+ var import_jsx_runtime45 = require("react/jsx-runtime");
8123
8890
  function IconLabel({
8124
8891
  icon,
8125
8892
  label,
8126
8893
  iconPosition = "left",
8127
8894
  className
8128
8895
  }) {
8129
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
8896
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
8130
8897
  "div",
8131
8898
  {
8132
8899
  className: cn(
@@ -8135,7 +8902,7 @@ function IconLabel({
8135
8902
  ),
8136
8903
  children: [
8137
8904
  iconPosition === "left" && icon,
8138
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "leading-none", children: label }),
8905
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "leading-none", children: label }),
8139
8906
  iconPosition === "right" && icon
8140
8907
  ]
8141
8908
  }
@@ -8144,7 +8911,7 @@ function IconLabel({
8144
8911
 
8145
8912
  // src/components/base/layout/Separator.tsx
8146
8913
  var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
8147
- var import_jsx_runtime43 = require("react/jsx-runtime");
8914
+ var import_jsx_runtime46 = require("react/jsx-runtime");
8148
8915
  function Separator2(_a2) {
8149
8916
  var _b = _a2, {
8150
8917
  className,
@@ -8170,7 +8937,7 @@ function Separator2(_a2) {
8170
8937
  "--separator-color": (_g = mergedTokens == null ? void 0 : mergedTokens.color) != null ? _g : "#E5E7EB",
8171
8938
  "--separator-opacity": (_h = mergedTokens == null ? void 0 : mergedTokens.opacity) != null ? _h : "1"
8172
8939
  };
8173
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
8940
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
8174
8941
  SeparatorPrimitive.Root,
8175
8942
  __spreadValues({
8176
8943
  "data-slot": "separator",
@@ -8193,7 +8960,7 @@ function Separator2(_a2) {
8193
8960
 
8194
8961
  // src/components/widgets/last-movements/LastMovements.tsx
8195
8962
  var import_lucide_react14 = require("lucide-react");
8196
- var import_jsx_runtime44 = require("react/jsx-runtime");
8963
+ var import_jsx_runtime47 = require("react/jsx-runtime");
8197
8964
  function LastMovements({
8198
8965
  title,
8199
8966
  period,
@@ -8208,19 +8975,19 @@ function LastMovements({
8208
8975
  errorContent,
8209
8976
  children
8210
8977
  }) {
8211
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
8978
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8212
8979
  Card,
8213
8980
  {
8214
8981
  variant: "primary",
8215
8982
  title,
8216
8983
  className: "w-full",
8217
- action: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Popover, { children: [
8218
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex items-center gap-1", children: [
8219
- onDateChange && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Button, { variant: "primary", size: "small", children: [
8984
+ action: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Popover, { children: [
8985
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-1", children: [
8986
+ onDateChange && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Button, { variant: "primary", size: "small", children: [
8220
8987
  date ? date.toLocaleDateString() : period,
8221
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react14.ChevronsUpDown, { className: "ml-2 h-4 w-4" })
8988
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.ChevronsUpDown, { className: "ml-2 h-4 w-4" })
8222
8989
  ] }) }),
8223
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { type: "button", onClick: () => onExpandedChange == null ? void 0 : onExpandedChange(!expanded), children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
8990
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("button", { type: "button", onClick: () => onExpandedChange == null ? void 0 : onExpandedChange(!expanded), children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
8224
8991
  import_lucide_react14.ChevronDownIcon,
8225
8992
  {
8226
8993
  className: cn(
@@ -8231,9 +8998,9 @@ function LastMovements({
8231
8998
  ) }),
8232
8999
  headerExtra
8233
9000
  ] }),
8234
- onDateChange && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PopoverContent, { className: "w-auto p-0", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Calendar, { mode: "single", selected: date, onSelect: onDateChange }) })
9001
+ onDateChange && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PopoverContent, { className: "w-auto p-0", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Calendar, { mode: "single", selected: date, onSelect: onDateChange }) })
8235
9002
  ] }),
8236
- children: expanded && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "divide-y", children: [
9003
+ children: expanded && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "divide-y", children: [
8237
9004
  state === "loading" && loadingContent,
8238
9005
  state === "empty" && emptyContent,
8239
9006
  state === "error" && errorContent,
@@ -8245,7 +9012,7 @@ function LastMovements({
8245
9012
 
8246
9013
  // src/components/widgets/unknown-purchase/UnknownPurchase.tsx
8247
9014
  var import_lucide_react15 = require("lucide-react");
8248
- var import_jsx_runtime45 = require("react/jsx-runtime");
9015
+ var import_jsx_runtime48 = require("react/jsx-runtime");
8249
9016
  function UnknownPurchase({
8250
9017
  title,
8251
9018
  totalAmount,
@@ -8257,15 +9024,15 @@ function UnknownPurchase({
8257
9024
  emptyContent,
8258
9025
  errorContent
8259
9026
  }) {
8260
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
9027
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
8261
9028
  Card,
8262
9029
  {
8263
9030
  variant: "primary",
8264
9031
  title,
8265
9032
  className: "w-full",
8266
9033
  children: [
8267
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Popover, { children: [
8268
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
9034
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Popover, { children: [
9035
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
8269
9036
  Button,
8270
9037
  {
8271
9038
  variant: "secondary",
@@ -8279,11 +9046,11 @@ function UnknownPurchase({
8279
9046
  },
8280
9047
  children: [
8281
9048
  date ? date.toLocaleDateString() : "Este mes",
8282
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react15.ChevronsUpDown, { className: "ml-2 h-4 w-4 text-gray-300" })
9049
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react15.ChevronsUpDown, { className: "ml-2 h-4 w-4 text-gray-300" })
8283
9050
  ]
8284
9051
  }
8285
9052
  ) }),
8286
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PopoverContent, { className: "w-auto p-0", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
9053
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverContent, { className: "w-auto p-0", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
8287
9054
  Calendar,
8288
9055
  {
8289
9056
  mode: "single",
@@ -8292,18 +9059,18 @@ function UnknownPurchase({
8292
9059
  }
8293
9060
  ) })
8294
9061
  ] }) }),
8295
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "min-h-[100px] flex flex-col justify-center", children: [
9062
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "min-h-[100px] flex flex-col justify-center", children: [
8296
9063
  state === "loading" && loadingContent,
8297
9064
  state === "empty" && emptyContent,
8298
9065
  state === "error" && errorContent,
8299
- state === "default" && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
8300
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "mb-4", children: [
8301
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-sm text-gray-500", children: "Monto total desconocido" }),
8302
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-xl font-semibold text-gray-900", children: totalAmount })
9066
+ state === "default" && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_jsx_runtime48.Fragment, { children: [
9067
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "mb-4", children: [
9068
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-sm text-gray-500", children: "Monto total desconocido" }),
9069
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-xl font-semibold text-gray-900", children: totalAmount })
8303
9070
  ] }),
8304
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { children: [
8305
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-sm text-gray-500", children: "Total de compras desconocidas" }),
8306
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-xl font-semibold text-gray-900", children: totalCount })
9071
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { children: [
9072
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-sm text-gray-500", children: "Total de compras desconocidas" }),
9073
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-xl font-semibold text-gray-900", children: totalCount })
8307
9074
  ] })
8308
9075
  ] })
8309
9076
  ] })
@@ -8312,6 +9079,527 @@ function UnknownPurchase({
8312
9079
  );
8313
9080
  }
8314
9081
 
9082
+ // src/components/widgets/ai/SmartSearch.tsx
9083
+ var React20 = __toESM(require("react"), 1);
9084
+
9085
+ // src/ai/AIProvider.tsx
9086
+ var React19 = __toESM(require("react"), 1);
9087
+ var import_jsx_runtime49 = require("react/jsx-runtime");
9088
+ var AIContext = React19.createContext(null);
9089
+ function AIProvider({ request, children }) {
9090
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AIContext.Provider, { value: request, children });
9091
+ }
9092
+ function useAI() {
9093
+ return React19.useContext(AIContext);
9094
+ }
9095
+
9096
+ // src/components/widgets/ai/SmartSearch.tsx
9097
+ var import_jsx_runtime50 = require("react/jsx-runtime");
9098
+ function SmartSearch(_a2) {
9099
+ var _b = _a2, {
9100
+ value,
9101
+ defaultValue,
9102
+ onValueChange,
9103
+ onSelect,
9104
+ suggestions,
9105
+ minChars = 2,
9106
+ debounceMs = 300,
9107
+ request,
9108
+ context
9109
+ } = _b, props = __objRest(_b, [
9110
+ "value",
9111
+ "defaultValue",
9112
+ "onValueChange",
9113
+ "onSelect",
9114
+ "suggestions",
9115
+ "minChars",
9116
+ "debounceMs",
9117
+ "request",
9118
+ "context"
9119
+ ]);
9120
+ const ai = useAI();
9121
+ const requestFn = request != null ? request : ai;
9122
+ const isControlled = value !== void 0;
9123
+ const [internalValue, setInternalValue] = React20.useState(defaultValue != null ? defaultValue : "");
9124
+ const [items, setItems] = React20.useState([]);
9125
+ const [loading, setLoading] = React20.useState(false);
9126
+ const query = isControlled ? value != null ? value : "" : internalValue;
9127
+ const updateValue = (next) => {
9128
+ if (!isControlled) {
9129
+ setInternalValue(next);
9130
+ }
9131
+ onValueChange == null ? void 0 : onValueChange(next);
9132
+ };
9133
+ React20.useEffect(() => {
9134
+ const trimmed = query.trim();
9135
+ if (trimmed.length < minChars) {
9136
+ setItems([]);
9137
+ return;
9138
+ }
9139
+ const timer = setTimeout(async () => {
9140
+ var _a3;
9141
+ if (requestFn) {
9142
+ setLoading(true);
9143
+ try {
9144
+ const response = await requestFn({
9145
+ task: "smartSearch",
9146
+ input: trimmed,
9147
+ context
9148
+ });
9149
+ setItems((_a3 = response == null ? void 0 : response.output) != null ? _a3 : []);
9150
+ } catch (e) {
9151
+ setItems([]);
9152
+ } finally {
9153
+ setLoading(false);
9154
+ }
9155
+ } else if (suggestions == null ? void 0 : suggestions.length) {
9156
+ setItems(
9157
+ suggestions.filter(
9158
+ (item) => item.toLowerCase().includes(trimmed.toLowerCase())
9159
+ )
9160
+ );
9161
+ }
9162
+ }, debounceMs);
9163
+ return () => clearTimeout(timer);
9164
+ }, [query, minChars, debounceMs, requestFn, context, suggestions]);
9165
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full", children: [
9166
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
9167
+ SearchBar,
9168
+ __spreadProps(__spreadValues({}, props), {
9169
+ value: query,
9170
+ onChange: (event) => updateValue(event.target.value)
9171
+ })
9172
+ ),
9173
+ (loading || items.length > 0) && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Card, { className: "mt-2 w-full", children: [
9174
+ loading && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: "text-sm text-muted", children: "Buscando sugerencias..." }),
9175
+ !loading && items.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: "text-sm text-muted", children: "Sin resultados." }),
9176
+ !loading && items.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("ul", { className: "flex flex-col gap-2", children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
9177
+ "button",
9178
+ {
9179
+ type: "button",
9180
+ onClick: () => {
9181
+ updateValue(item);
9182
+ onSelect == null ? void 0 : onSelect(item);
9183
+ setItems([]);
9184
+ },
9185
+ className: "w-full text-left text-sm hover:underline",
9186
+ children: item
9187
+ }
9188
+ ) }, item)) })
9189
+ ] })
9190
+ ] });
9191
+ }
9192
+
9193
+ // src/components/widgets/ai/TextAssist.tsx
9194
+ var React21 = __toESM(require("react"), 1);
9195
+ var import_jsx_runtime51 = require("react/jsx-runtime");
9196
+ function TextAssist(_a2) {
9197
+ var _b = _a2, {
9198
+ value,
9199
+ defaultValue,
9200
+ onValueChange,
9201
+ actions = ["rewrite", "summarize", "tone"],
9202
+ tone = "neutral",
9203
+ request,
9204
+ context
9205
+ } = _b, props = __objRest(_b, [
9206
+ "value",
9207
+ "defaultValue",
9208
+ "onValueChange",
9209
+ "actions",
9210
+ "tone",
9211
+ "request",
9212
+ "context"
9213
+ ]);
9214
+ const ai = useAI();
9215
+ const requestFn = request != null ? request : ai;
9216
+ const isControlled = value !== void 0;
9217
+ const [internalValue, setInternalValue] = React21.useState(defaultValue != null ? defaultValue : "");
9218
+ const [loadingAction, setLoadingAction] = React21.useState(null);
9219
+ const text = isControlled ? value != null ? value : "" : internalValue;
9220
+ const updateValue = (next) => {
9221
+ if (!isControlled) {
9222
+ setInternalValue(next);
9223
+ }
9224
+ onValueChange == null ? void 0 : onValueChange(next);
9225
+ };
9226
+ const runAction = async (action) => {
9227
+ if (!requestFn || !text.trim()) return;
9228
+ setLoadingAction(action);
9229
+ try {
9230
+ const response = await requestFn({
9231
+ task: "textAssist",
9232
+ input: text,
9233
+ context: __spreadValues({
9234
+ action,
9235
+ tone
9236
+ }, context != null ? context : {})
9237
+ });
9238
+ if (response == null ? void 0 : response.output) {
9239
+ updateValue(response.output);
9240
+ }
9241
+ } finally {
9242
+ setLoadingAction(null);
9243
+ }
9244
+ };
9245
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "w-full space-y-2", children: [
9246
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
9247
+ Textarea,
9248
+ __spreadProps(__spreadValues({}, props), {
9249
+ value: text,
9250
+ onChange: (event) => updateValue(event.target.value)
9251
+ })
9252
+ ),
9253
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex flex-wrap gap-2", children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
9254
+ Button,
9255
+ {
9256
+ size: "small",
9257
+ variant: "secondary",
9258
+ disabled: !requestFn || !text.trim() || loadingAction !== null,
9259
+ onClick: () => runAction(action),
9260
+ children: loadingAction === action ? "Procesando..." : action === "rewrite" ? "Reescribir" : action === "summarize" ? "Resumir" : "Cambiar tono"
9261
+ },
9262
+ action
9263
+ )) }),
9264
+ !requestFn && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "text-xs text-muted", children: "Configura un AIProvider para activar las acciones." })
9265
+ ] });
9266
+ }
9267
+
9268
+ // src/components/widgets/ai/FormHelper.tsx
9269
+ var React22 = __toESM(require("react"), 1);
9270
+ var import_jsx_runtime52 = require("react/jsx-runtime");
9271
+ function FormHelper({
9272
+ values,
9273
+ rules,
9274
+ request,
9275
+ context,
9276
+ title = "Sugerencias del formulario"
9277
+ }) {
9278
+ const ai = useAI();
9279
+ const requestFn = request != null ? request : ai;
9280
+ const [loading, setLoading] = React22.useState(false);
9281
+ const [suggestions, setSuggestions] = React22.useState([]);
9282
+ const run = async () => {
9283
+ var _a2;
9284
+ if (!requestFn) return;
9285
+ setLoading(true);
9286
+ try {
9287
+ const response = await requestFn({
9288
+ task: "formHelper",
9289
+ data: { values, rules },
9290
+ context
9291
+ });
9292
+ setSuggestions((_a2 = response == null ? void 0 : response.output) != null ? _a2 : []);
9293
+ } finally {
9294
+ setLoading(false);
9295
+ }
9296
+ };
9297
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Card, { className: "w-full", children: [
9298
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex items-center justify-between", children: [
9299
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("h4", { className: "text-sm font-semibold", children: title }),
9300
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
9301
+ Button,
9302
+ {
9303
+ size: "small",
9304
+ variant: "secondary",
9305
+ onClick: run,
9306
+ disabled: !requestFn || loading,
9307
+ children: loading ? "Revisando..." : "Revisar"
9308
+ }
9309
+ )
9310
+ ] }),
9311
+ !requestFn && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "mt-2 text-xs text-muted", children: "Configura un AIProvider para generar sugerencias." }),
9312
+ suggestions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("ul", { className: "mt-3 flex flex-col gap-2 text-sm", children: suggestions.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("li", { children: [
9313
+ "\u2022 ",
9314
+ item
9315
+ ] }, `${item}-${index}`)) })
9316
+ ] });
9317
+ }
9318
+
9319
+ // src/components/widgets/ai/TagSuggest.tsx
9320
+ var React23 = __toESM(require("react"), 1);
9321
+ var import_jsx_runtime53 = require("react/jsx-runtime");
9322
+ function TagSuggest({
9323
+ value,
9324
+ onChange,
9325
+ request,
9326
+ context,
9327
+ placeholder = "Agregar etiqueta"
9328
+ }) {
9329
+ const ai = useAI();
9330
+ const requestFn = request != null ? request : ai;
9331
+ const [inputValue, setInputValue] = React23.useState("");
9332
+ const [suggestions, setSuggestions] = React23.useState([]);
9333
+ const [loading, setLoading] = React23.useState(false);
9334
+ const tags = value != null ? value : [];
9335
+ const addTag = (tag) => {
9336
+ if (!tag.trim()) return;
9337
+ if (tags.includes(tag)) return;
9338
+ onChange == null ? void 0 : onChange([...tags, tag]);
9339
+ setInputValue("");
9340
+ };
9341
+ const fetchSuggestions = async () => {
9342
+ var _a2;
9343
+ if (!requestFn || !inputValue.trim()) return;
9344
+ setLoading(true);
9345
+ try {
9346
+ const response = await requestFn({
9347
+ task: "tagSuggest",
9348
+ input: inputValue.trim(),
9349
+ context
9350
+ });
9351
+ setSuggestions((_a2 = response == null ? void 0 : response.output) != null ? _a2 : []);
9352
+ } finally {
9353
+ setLoading(false);
9354
+ }
9355
+ };
9356
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full space-y-3", children: [
9357
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex gap-2", children: [
9358
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
9359
+ Input,
9360
+ {
9361
+ value: inputValue,
9362
+ onChange: (event) => setInputValue(event.target.value),
9363
+ placeholder
9364
+ }
9365
+ ),
9366
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { size: "small", variant: "secondary", onClick: fetchSuggestions, children: loading ? "Buscando..." : "Sugerir" }),
9367
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
9368
+ Button,
9369
+ {
9370
+ size: "small",
9371
+ variant: "secondary",
9372
+ onClick: () => addTag(inputValue.trim()),
9373
+ disabled: !inputValue.trim(),
9374
+ children: "Agregar"
9375
+ }
9376
+ )
9377
+ ] }),
9378
+ suggestions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex flex-wrap gap-2", children: suggestions.map((item) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
9379
+ "button",
9380
+ {
9381
+ type: "button",
9382
+ onClick: () => addTag(item),
9383
+ className: "text-left",
9384
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Badge, { size: "small", tone: "brand", children: item })
9385
+ },
9386
+ item
9387
+ )) }),
9388
+ tags.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex flex-wrap gap-2", children: tags.map((tag) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Badge, { size: "small", tone: "neutral", children: tag }, tag)) }),
9389
+ !requestFn && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "text-xs text-muted", children: "Configura un AIProvider para obtener sugerencias." })
9390
+ ] });
9391
+ }
9392
+
9393
+ // src/components/widgets/ai/EmptyStateAI.tsx
9394
+ var React24 = __toESM(require("react"), 1);
9395
+ var import_jsx_runtime54 = require("react/jsx-runtime");
9396
+ function EmptyStateAI({
9397
+ context,
9398
+ request,
9399
+ onAction,
9400
+ actionLabel = "Ver recomendaciones",
9401
+ align = "center"
9402
+ }) {
9403
+ const ai = useAI();
9404
+ const requestFn = request != null ? request : ai;
9405
+ const [loading, setLoading] = React24.useState(false);
9406
+ const [title, setTitle] = React24.useState("Sin informaci\xF3n");
9407
+ const [description, setDescription] = React24.useState(
9408
+ "Genera un mensaje personalizado con IA."
9409
+ );
9410
+ const run = async () => {
9411
+ var _a2, _b;
9412
+ if (!requestFn) return;
9413
+ setLoading(true);
9414
+ try {
9415
+ const response = await requestFn(
9416
+ {
9417
+ task: "emptyState",
9418
+ context
9419
+ }
9420
+ );
9421
+ if ((_a2 = response == null ? void 0 : response.output) == null ? void 0 : _a2.title) {
9422
+ setTitle(response.output.title);
9423
+ }
9424
+ if ((_b = response == null ? void 0 : response.output) == null ? void 0 : _b.description) {
9425
+ setDescription(response.output.description);
9426
+ }
9427
+ } finally {
9428
+ setLoading(false);
9429
+ }
9430
+ };
9431
+ React24.useEffect(() => {
9432
+ run();
9433
+ }, []);
9434
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
9435
+ EmptyState,
9436
+ {
9437
+ title,
9438
+ description,
9439
+ align,
9440
+ actions: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
9441
+ Button,
9442
+ {
9443
+ size: "small",
9444
+ variant: "secondary",
9445
+ onClick: onAction != null ? onAction : run,
9446
+ disabled: !requestFn || loading,
9447
+ children: loading ? "Generando..." : actionLabel
9448
+ }
9449
+ )
9450
+ }
9451
+ );
9452
+ }
9453
+
9454
+ // src/components/widgets/ai/DataInsights.tsx
9455
+ var React25 = __toESM(require("react"), 1);
9456
+ var import_jsx_runtime55 = require("react/jsx-runtime");
9457
+ function DataInsights({
9458
+ data,
9459
+ request,
9460
+ context,
9461
+ title = "Insights"
9462
+ }) {
9463
+ const ai = useAI();
9464
+ const requestFn = request != null ? request : ai;
9465
+ const [loading, setLoading] = React25.useState(false);
9466
+ const [summary, setSummary] = React25.useState("");
9467
+ const run = async () => {
9468
+ var _a2;
9469
+ if (!requestFn) return;
9470
+ setLoading(true);
9471
+ try {
9472
+ const response = await requestFn({
9473
+ task: "dataInsights",
9474
+ data,
9475
+ context
9476
+ });
9477
+ setSummary((_a2 = response == null ? void 0 : response.output) != null ? _a2 : "");
9478
+ } finally {
9479
+ setLoading(false);
9480
+ }
9481
+ };
9482
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Card, { className: "w-full", children: [
9483
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex items-center justify-between", children: [
9484
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("h4", { className: "text-sm font-semibold", children: title }),
9485
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
9486
+ Button,
9487
+ {
9488
+ size: "small",
9489
+ variant: "secondary",
9490
+ onClick: run,
9491
+ disabled: !requestFn || loading,
9492
+ children: loading ? "Analizando..." : "Analizar"
9493
+ }
9494
+ )
9495
+ ] }),
9496
+ !requestFn && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "mt-2 text-xs text-muted", children: "Configura un AIProvider para generar insights." }),
9497
+ summary && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: "mt-3 text-sm", children: summary })
9498
+ ] });
9499
+ }
9500
+
9501
+ // src/components/widgets/ai/TranslateToggle.tsx
9502
+ var React26 = __toESM(require("react"), 1);
9503
+ var import_jsx_runtime56 = require("react/jsx-runtime");
9504
+ function TranslateToggle({
9505
+ text,
9506
+ from = "es",
9507
+ to = "en",
9508
+ request,
9509
+ context,
9510
+ title = "Traducci\xF3n"
9511
+ }) {
9512
+ const ai = useAI();
9513
+ const requestFn = request != null ? request : ai;
9514
+ const [loading, setLoading] = React26.useState(false);
9515
+ const [translated, setTranslated] = React26.useState(null);
9516
+ const toggle = async () => {
9517
+ var _a2;
9518
+ if (!requestFn) return;
9519
+ if (translated) {
9520
+ setTranslated(null);
9521
+ return;
9522
+ }
9523
+ setLoading(true);
9524
+ try {
9525
+ const response = await requestFn({
9526
+ task: "translate",
9527
+ input: text,
9528
+ context: __spreadValues({ from, to }, context != null ? context : {})
9529
+ });
9530
+ setTranslated((_a2 = response == null ? void 0 : response.output) != null ? _a2 : "");
9531
+ } finally {
9532
+ setLoading(false);
9533
+ }
9534
+ };
9535
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Card, { className: "w-full", children: [
9536
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center justify-between", children: [
9537
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h4", { className: "text-sm font-semibold", children: title }),
9538
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
9539
+ Button,
9540
+ {
9541
+ size: "small",
9542
+ variant: "secondary",
9543
+ onClick: toggle,
9544
+ disabled: !requestFn || loading,
9545
+ children: loading ? "Traduciendo..." : translated ? "Ver original" : "Traducir"
9546
+ }
9547
+ )
9548
+ ] }),
9549
+ !requestFn && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "mt-2 text-xs text-muted", children: "Configura un AIProvider para traducir." }),
9550
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "mt-3 text-sm whitespace-pre-wrap", children: translated != null ? translated : text })
9551
+ ] });
9552
+ }
9553
+
9554
+ // src/components/widgets/ai/ExplainCode.tsx
9555
+ var React27 = __toESM(require("react"), 1);
9556
+ var import_jsx_runtime57 = require("react/jsx-runtime");
9557
+ function ExplainCode({
9558
+ code,
9559
+ language = "tsx",
9560
+ request,
9561
+ context,
9562
+ title = "Explicaci\xF3n de c\xF3digo"
9563
+ }) {
9564
+ const ai = useAI();
9565
+ const requestFn = request != null ? request : ai;
9566
+ const [loading, setLoading] = React27.useState(false);
9567
+ const [explanation, setExplanation] = React27.useState("");
9568
+ const run = async () => {
9569
+ var _a2;
9570
+ if (!requestFn) return;
9571
+ setLoading(true);
9572
+ try {
9573
+ const response = await requestFn({
9574
+ task: "explainCode",
9575
+ input: code,
9576
+ context: __spreadValues({ language }, context != null ? context : {})
9577
+ });
9578
+ setExplanation((_a2 = response == null ? void 0 : response.output) != null ? _a2 : "");
9579
+ } finally {
9580
+ setLoading(false);
9581
+ }
9582
+ };
9583
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Card, { className: "w-full", children: [
9584
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex items-center justify-between", children: [
9585
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("h4", { className: "text-sm font-semibold", children: title }),
9586
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
9587
+ Button,
9588
+ {
9589
+ size: "small",
9590
+ variant: "secondary",
9591
+ onClick: run,
9592
+ disabled: !requestFn || loading,
9593
+ children: loading ? "Explicando..." : "Explicar"
9594
+ }
9595
+ )
9596
+ ] }),
9597
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("pre", { className: "mt-3 rounded-md bg-neutral-100 p-3 text-xs overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("code", { children: code }) }),
9598
+ !requestFn && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "mt-2 text-xs text-muted", children: "Configura un AIProvider para explicar el c\xF3digo." }),
9599
+ explanation && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "mt-3 text-sm", children: explanation })
9600
+ ] });
9601
+ }
9602
+
8315
9603
  // src/theme/themeDefault.ts
8316
9604
  var themeDefault = {
8317
9605
  name: "mockup-default",
@@ -10039,7 +11327,7 @@ async function resolveTheme(channelId) {
10039
11327
  }
10040
11328
 
10041
11329
  // src/theme/server/setTheme.tsx
10042
- var import_jsx_runtime46 = require("react/jsx-runtime");
11330
+ var import_jsx_runtime58 = require("react/jsx-runtime");
10043
11331
  var themeCache = /* @__PURE__ */ new Map();
10044
11332
  var EMPTY_THEME = themeDefault;
10045
11333
  function setTheme({ channelId, theme, children }) {
@@ -10067,15 +11355,15 @@ function setTheme({ channelId, theme, children }) {
10067
11355
  };
10068
11356
  }, [channelId, theme]);
10069
11357
  console.log("Rendering setTheme with channelId:", channelId, "and finalTheme:", finalTheme);
10070
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ThemeContext.Provider, { value: finalTheme != null ? finalTheme : EMPTY_THEME.tokens, children });
11358
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ThemeContext.Provider, { value: finalTheme != null ? finalTheme : EMPTY_THEME.tokens, children });
10071
11359
  }
10072
11360
 
10073
11361
  // src/theme/client/ThemeProvider.tsx
10074
- var import_jsx_runtime47 = require("react/jsx-runtime");
11362
+ var import_jsx_runtime59 = require("react/jsx-runtime");
10075
11363
  function ThemeProvider({
10076
11364
  channelId,
10077
11365
  theme,
10078
11366
  children
10079
11367
  }) {
10080
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, { children: setTheme({ channelId, theme, children }) });
11368
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_jsx_runtime59.Fragment, { children: setTheme({ channelId, theme, children }) });
10081
11369
  }