@beweco/aurora-ui 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -26,18 +26,18 @@ PERFORMANCE OF THIS SOFTWARE.
26
26
  /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
27
27
 
28
28
 
29
- var __assign = function() {
30
- __assign = Object.assign || function __assign(t) {
29
+ var __assign$1 = function() {
30
+ __assign$1 = Object.assign || function __assign(t) {
31
31
  for (var s, i = 1, n = arguments.length; i < n; i++) {
32
32
  s = arguments[i];
33
33
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
34
34
  }
35
35
  return t;
36
36
  };
37
- return __assign.apply(this, arguments);
37
+ return __assign$1.apply(this, arguments);
38
38
  };
39
39
 
40
- function __rest(s, e) {
40
+ function __rest$1(s, e) {
41
41
  var t = {};
42
42
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
43
43
  t[p] = s[p];
@@ -87,7 +87,7 @@ function __generator(thisArg, body) {
87
87
  }
88
88
  }
89
89
 
90
- function __spreadArray(to, from, pack) {
90
+ function __spreadArray$1(to, from, pack) {
91
91
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
92
92
  if (ar || !(i in from)) {
93
93
  if (!ar) ar = Array.prototype.slice.call(from, 0, i);
@@ -119,42 +119,42 @@ exports.HolidayType = void 0;
119
119
  * - Radius: md (por defecto)
120
120
  * - isIconOnly: True, False
121
121
  */
122
- var Button = function (_a) {
123
- var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.variant, variant = _d === void 0 ? "solid" : _d, _e = _a.radius, radius = _e === void 0 ? "sm" : _e, startContent = _a.startContent, endContent = _a.endContent, _f = _a.isLoading, isLoading = _f === void 0 ? false : _f, _g = _a.isIconOnly, isIconOnly = _g === void 0 ? false : _g, props = __rest(_a, ["color", "size", "variant", "radius", "startContent", "endContent", "isLoading", "isIconOnly"]);
124
- return (jsxRuntime.jsx(react.Button, __assign({}, props, { color: color, size: size, variant: variant, radius: radius, startContent: startContent, endContent: endContent, isLoading: isLoading, isIconOnly: isIconOnly })));
122
+ var Button$1 = function (_a) {
123
+ var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.variant, variant = _d === void 0 ? "solid" : _d, _e = _a.radius, radius = _e === void 0 ? "sm" : _e, startContent = _a.startContent, endContent = _a.endContent, _f = _a.isLoading, isLoading = _f === void 0 ? false : _f, _g = _a.isIconOnly, isIconOnly = _g === void 0 ? false : _g, props = __rest$1(_a, ["color", "size", "variant", "radius", "startContent", "endContent", "isLoading", "isIconOnly"]);
124
+ return (jsxRuntime.jsx(react.Button, __assign$1({}, props, { color: color, size: size, variant: variant, radius: radius, startContent: startContent, endContent: endContent, isLoading: isLoading, isIconOnly: isIconOnly })));
125
125
  };
126
126
 
127
127
  var DatePicker = function (_a) {
128
- var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, props = __rest(_a, ["label", "id", "size"]);
128
+ var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, props = __rest$1(_a, ["label", "id", "size"]);
129
129
  var generatedId = React.useId();
130
130
  var autoId = id || generatedId;
131
- return (jsxRuntime.jsx(react.DatePicker, __assign({ label: label, size: size, labelPlacement: "outside", classNames: {
131
+ return (jsxRuntime.jsx(react.DatePicker, __assign$1({ label: label, size: size, labelPlacement: "outside", classNames: {
132
132
  label: "text-sm font-medium text-default-600",
133
133
  segment: "focus:bg-primary-50",
134
134
  }, id: autoId }, props)));
135
135
  };
136
136
 
137
137
  var DateRangePicker = function (_a) {
138
- var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, props = __rest(_a, ["label", "id", "size"]);
138
+ var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, props = __rest$1(_a, ["label", "id", "size"]);
139
139
  var generatedId = React.useId();
140
140
  var autoId = id || generatedId;
141
- return (jsxRuntime.jsx(react.DateRangePicker, __assign({ label: label, size: size, labelPlacement: "outside", classNames: {
141
+ return (jsxRuntime.jsx(react.DateRangePicker, __assign$1({ label: label, size: size, labelPlacement: "outside", classNames: {
142
142
  label: "text-sm font-medium text-default-600",
143
143
  segment: "focus:bg-primary-50",
144
144
  } }, props, { id: autoId })));
145
145
  };
146
146
 
147
- var sizeMap = {
147
+ var sizeMap$1 = {
148
148
  sm: "16px",
149
149
  md: "20px",
150
150
  lg: "24px",
151
151
  xl: "32px",
152
152
  };
153
- var IconComponent = function (_a) {
153
+ var IconComponent$1 = function (_a) {
154
154
  var _b;
155
- var icon = _a.icon, _c = _a.size, size = _c === void 0 ? "md" : _c, className = _a.className, style = _a.style, color = _a.color, hFlip = _a.hFlip, vFlip = _a.vFlip, flip = _a.flip, rotate = _a.rotate, nativeProps = __rest(_a, ["icon", "size", "className", "style", "color", "hFlip", "vFlip", "flip", "rotate"]);
156
- var iconSize = (_b = sizeMap[size]) !== null && _b !== void 0 ? _b : sizeMap.md;
157
- return (jsxRuntime.jsx("span", __assign({}, nativeProps, { children: jsxRuntime.jsx(react$1.Icon, { icon: icon, width: iconSize, height: iconSize, className: className, style: style, color: color, hFlip: hFlip, vFlip: vFlip, flip: flip, rotate: rotate }) })));
155
+ var icon = _a.icon, _c = _a.size, size = _c === void 0 ? "md" : _c, className = _a.className, style = _a.style, color = _a.color, hFlip = _a.hFlip, vFlip = _a.vFlip, flip = _a.flip, rotate = _a.rotate, nativeProps = __rest$1(_a, ["icon", "size", "className", "style", "color", "hFlip", "vFlip", "flip", "rotate"]);
156
+ var iconSize = (_b = sizeMap$1[size]) !== null && _b !== void 0 ? _b : sizeMap$1.md;
157
+ return (jsxRuntime.jsx("span", __assign$1({}, nativeProps, { children: jsxRuntime.jsx(react$1.Icon, { icon: icon, width: iconSize, height: iconSize, className: className, style: style, color: color, hFlip: hFlip, vFlip: vFlip, flip: flip, rotate: rotate }) })));
158
158
  };
159
159
 
160
160
  /**
@@ -167,17 +167,17 @@ var IconComponent = function (_a) {
167
167
  * - Radius configurable
168
168
  */
169
169
  var Input = function (_a) {
170
- var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.variant, variant = _c === void 0 ? "bordered" : _c, _d = _a.radius, radius = _d === void 0 ? "md" : _d, placeholder = _a.placeholder, props = __rest(_a, ["label", "id", "size", "variant", "radius", "placeholder"]);
170
+ var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.variant, variant = _c === void 0 ? "bordered" : _c, _d = _a.radius, radius = _d === void 0 ? "md" : _d, placeholder = _a.placeholder, props = __rest$1(_a, ["label", "id", "size", "variant", "radius", "placeholder"]);
171
171
  var generatedId = React.useId();
172
172
  var inputId = id || generatedId;
173
- return (jsxRuntime.jsx(react.Input, __assign({}, props, { id: inputId, label: label, labelPlacement: "outside", placeholder: placeholder, variant: variant, size: size, radius: radius, classNames: {
173
+ return (jsxRuntime.jsx(react.Input, __assign$1({}, props, { id: inputId, label: label, labelPlacement: "outside", placeholder: placeholder, variant: variant, size: size, radius: radius, classNames: {
174
174
  label: "text-default-600 text-tiny group-data-[filled=true]:text-default-600",
175
175
  inputWrapper: "focus-within:!border-primary-500",
176
176
  errorMessage: "text-left",
177
177
  } })));
178
178
  };
179
179
 
180
- var defaultTranslations$9 = {
180
+ var defaultTranslations$a = {
181
181
  addHolidayTitle: "Add holiday",
182
182
  dayOption: "Day",
183
183
  dateRangeOption: "Date range",
@@ -201,7 +201,7 @@ var INITIAL_HOLIDAY_STATE = {
201
201
  */
202
202
  var AddHolidayForm = function (_a) {
203
203
  var onAddHoliday = _a.onAddHoliday, translations = _a.translations, className = _a.className, radioGroupProps = _a.radioGroupProps, dateRangePickerProps = _a.dateRangePickerProps, buttonProps = _a.buttonProps;
204
- var t = __assign(__assign({}, defaultTranslations$9), translations);
204
+ var t = __assign$1(__assign$1({}, defaultTranslations$a), translations);
205
205
  var _b = React.useState(INITIAL_HOLIDAY_STATE), newHoliday = _b[0], setNewHoliday = _b[1];
206
206
  /**
207
207
  * A boolean flag that determines if a date has been set.
@@ -222,7 +222,7 @@ var AddHolidayForm = function (_a) {
222
222
  * @param date The selected date.
223
223
  */
224
224
  var handleDateChange = React.useCallback(function (date) {
225
- setNewHoliday(function (prev) { return (__assign(__assign({}, prev), { startDate: date, endDate: null })); });
225
+ setNewHoliday(function (prev) { return (__assign$1(__assign$1({}, prev), { startDate: date, endDate: null })); });
226
226
  }, []);
227
227
  /**
228
228
  * Handles changes to the date range picker.
@@ -231,7 +231,7 @@ var AddHolidayForm = function (_a) {
231
231
  var handleDateRangeChange = React.useCallback(function (range) {
232
232
  setNewHoliday(function (prev) {
233
233
  var _a, _b;
234
- return (__assign(__assign({}, prev), { startDate: (_a = range === null || range === void 0 ? void 0 : range.start) !== null && _a !== void 0 ? _a : null, endDate: (_b = range === null || range === void 0 ? void 0 : range.end) !== null && _b !== void 0 ? _b : null }));
234
+ return (__assign$1(__assign$1({}, prev), { startDate: (_a = range === null || range === void 0 ? void 0 : range.start) !== null && _a !== void 0 ? _a : null, endDate: (_b = range === null || range === void 0 ? void 0 : range.end) !== null && _b !== void 0 ? _b : null }));
235
235
  });
236
236
  }, []);
237
237
  /**
@@ -252,26 +252,26 @@ var AddHolidayForm = function (_a) {
252
252
  });
253
253
  resetForm();
254
254
  }, [newHoliday, onAddHoliday, resetForm, isDateSet]);
255
- return (jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 ".concat(className), children: [jsxRuntime.jsx("h3", { className: "font-semibold text-small text-foreground", children: t.addHolidayTitle }), jsxRuntime.jsxs("div", { className: "w-full flex flex-wrap xs:gap-5 justify-between items-center", children: [jsxRuntime.jsxs(react.RadioGroup, __assign({ color: "primary", orientation: "horizontal", size: "sm", value: newHoliday.type, onValueChange: function (value) {
256
- return setNewHoliday(__assign(__assign({}, INITIAL_HOLIDAY_STATE), { type: value }));
257
- } }, radioGroupProps, { children: [jsxRuntime.jsx(react.Radio, { value: exports.HolidayType.SingleDay, children: t.dayOption }), jsxRuntime.jsx(react.Radio, { value: exports.HolidayType.DateRange, children: t.dateRangeOption })] })), newHoliday.type === exports.HolidayType.DateRange ? (jsxRuntime.jsx(DateRangePicker, __assign({ className: "xs:w-full md:flex-1 md:max-w-xs", value: newHoliday.startDate && newHoliday.endDate
255
+ return (jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 ".concat(className), children: [jsxRuntime.jsx("h3", { className: "font-semibold text-small text-foreground", children: t.addHolidayTitle }), jsxRuntime.jsxs("div", { className: "w-full flex flex-wrap xs:gap-5 justify-between items-center", children: [jsxRuntime.jsxs(react.RadioGroup, __assign$1({ color: "primary", orientation: "horizontal", size: "sm", value: newHoliday.type, onValueChange: function (value) {
256
+ return setNewHoliday(__assign$1(__assign$1({}, INITIAL_HOLIDAY_STATE), { type: value }));
257
+ } }, radioGroupProps, { children: [jsxRuntime.jsx(react.Radio, { value: exports.HolidayType.SingleDay, children: t.dayOption }), jsxRuntime.jsx(react.Radio, { value: exports.HolidayType.DateRange, children: t.dateRangeOption })] })), newHoliday.type === exports.HolidayType.DateRange ? (jsxRuntime.jsx(DateRangePicker, __assign$1({ className: "xs:w-full md:flex-1 md:max-w-xs", value: newHoliday.startDate && newHoliday.endDate
258
258
  ? { start: newHoliday.startDate, end: newHoliday.endDate }
259
- : null, onChange: handleDateRangeChange, "aria-label": t.selectDateRangeAriaLabel, endContent: jsxRuntime.jsx(IconComponent, { icon: "solar:calendar-outline" }) }, dateRangePickerProps))) : (jsxRuntime.jsx(DatePicker, { className: "xs:w-full md:flex-1 md:max-w-40", value: newHoliday.startDate, onChange: handleDateChange, endContent: jsxRuntime.jsx(IconComponent, { icon: "solar:calendar-outline" }), "aria-label": t.selectDateAriaLabel }))] }), jsxRuntime.jsx(Input, { label: t.optionalTitle, placeholder: t.titlePlaceholder, className: "w-full", value: newHoliday.title, onValueChange: function (value) {
260
- setNewHoliday(function (prev) { return (__assign(__assign({}, prev), { title: value })); });
261
- }, "aria-label": t.optionalTitle }), jsxRuntime.jsx("div", { className: "w-full", children: jsxRuntime.jsx(Button, __assign({ size: "sm", fullWidth: true, variant: "flat", startContent: jsxRuntime.jsx(IconComponent, { icon: "solar:add-circle-outline" }), onPress: handleAddHoliday, isDisabled: !isDateSet }, buttonProps, { children: t.addButton })) })] }));
259
+ : null, onChange: handleDateRangeChange, "aria-label": t.selectDateRangeAriaLabel, endContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:calendar-outline" }) }, dateRangePickerProps))) : (jsxRuntime.jsx(DatePicker, { className: "xs:w-full md:flex-1 md:max-w-40", value: newHoliday.startDate, onChange: handleDateChange, endContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:calendar-outline" }), "aria-label": t.selectDateAriaLabel }))] }), jsxRuntime.jsx(Input, { label: t.optionalTitle, placeholder: t.titlePlaceholder, className: "w-full", value: newHoliday.title, onValueChange: function (value) {
260
+ setNewHoliday(function (prev) { return (__assign$1(__assign$1({}, prev), { title: value })); });
261
+ }, "aria-label": t.optionalTitle }), jsxRuntime.jsx("div", { className: "w-full", children: jsxRuntime.jsx(Button$1, __assign$1({ size: "sm", fullWidth: true, variant: "flat", startContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:add-circle-outline" }), onPress: handleAddHoliday, isDisabled: !isDateSet }, buttonProps, { children: t.addButton })) })] }));
262
262
  };
263
263
 
264
264
  var H2 = function (_a) {
265
- var children = _a.children, className = _a.className, props = __rest(_a, ["children", "className"]);
266
- return (jsxRuntime.jsx("h2", __assign({ className: react.cn("text-lg font-semibold", className) }, props, { children: children })));
265
+ var children = _a.children, className = _a.className, props = __rest$1(_a, ["children", "className"]);
266
+ return (jsxRuntime.jsx("h2", __assign$1({ className: react.cn("text-lg font-semibold", className) }, props, { children: children })));
267
267
  };
268
268
 
269
269
  var P = function (_a) {
270
- var children = _a.children, className = _a.className, props = __rest(_a, ["children", "className"]);
271
- return (jsxRuntime.jsx("p", __assign({ className: react.cn("text-tiny text-default-500 font-normal", className) }, props, { children: children })));
270
+ var children = _a.children, className = _a.className, props = __rest$1(_a, ["children", "className"]);
271
+ return (jsxRuntime.jsx("p", __assign$1({ className: react.cn("text-tiny text-default-500 font-normal", className) }, props, { children: children })));
272
272
  };
273
273
 
274
- var defaultTranslations$8 = {
274
+ var defaultTranslations$9 = {
275
275
  title: "Analytics",
276
276
  description: "Monthly growth of your metrics during the selected period",
277
277
  viewDetails: "View Details",
@@ -324,8 +324,8 @@ var formatMonth = function (month) {
324
324
  */
325
325
  var AnalyticsCard = function (_a) {
326
326
  var _b, _c;
327
- var data = _a.data, _d = _a.showTimePeriods, showTimePeriods = _d === void 0 ? true : _d, _e = _a.showDropdownMenu, showDropdownMenu = _e === void 0 ? true : _e, _f = _a.showMetricCards, showMetricCards = _f === void 0 ? true : _f, onChartChange = _a.onChartChange, onMenuAction = _a.onMenuAction, onTimePeriodChange = _a.onTimePeriodChange, _g = _a.translations, translations = _g === void 0 ? {} : _g, props = __rest(_a, ["data", "showTimePeriods", "showDropdownMenu", "showMetricCards", "onChartChange", "onMenuAction", "onTimePeriodChange", "translations"]);
328
- var t = __assign(__assign({}, defaultTranslations$8), translations);
327
+ var data = _a.data, _d = _a.showTimePeriods, showTimePeriods = _d === void 0 ? true : _d, _e = _a.showDropdownMenu, showDropdownMenu = _e === void 0 ? true : _e, _f = _a.showMetricCards, showMetricCards = _f === void 0 ? true : _f, onChartChange = _a.onChartChange, onMenuAction = _a.onMenuAction, onTimePeriodChange = _a.onTimePeriodChange, _g = _a.translations, translations = _g === void 0 ? {} : _g, props = __rest$1(_a, ["data", "showTimePeriods", "showDropdownMenu", "showMetricCards", "onChartChange", "onMenuAction", "onTimePeriodChange", "translations"]);
328
+ var t = __assign$1(__assign$1({}, defaultTranslations$9), translations);
329
329
  var _h = React.useState((_c = (_b = data[0]) === null || _b === void 0 ? void 0 : _b.key) !== null && _c !== void 0 ? _c : ""), activeChart = _h[0], setActiveChart = _h[1];
330
330
  var activeChartData = React.useMemo(function () {
331
331
  var _a;
@@ -352,7 +352,7 @@ var AnalyticsCard = function (_a) {
352
352
  var handleTimePeriodChange = function (period) {
353
353
  onTimePeriodChange === null || onTimePeriodChange === void 0 ? void 0 : onTimePeriodChange(period);
354
354
  };
355
- return (jsxRuntime.jsx(react.Card, __assign({ as: "dl", className: "dark:border-default-100 border border-transparent" }, props, { children: jsxRuntime.jsxs("section", { className: "flex flex-col flex-nowrap", children: [jsxRuntime.jsx("div", { className: "flex flex-col justify-between gap-y-2 p-6", children: jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-2", children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-0", children: [jsxRuntime.jsx(H2, { children: t.title }), jsxRuntime.jsx(P, { children: t.description })] }), jsxRuntime.jsx(react.Spacer, { y: 2 }), showTimePeriods && (jsxRuntime.jsxs(react.Tabs, { size: "md", className: " self-end", onSelectionChange: function (key) { return handleTimePeriodChange(String(key)); }, children: [jsxRuntime.jsx(react.Tab, { title: t.months6 }, "6-months"), jsxRuntime.jsx(react.Tab, { title: t.months3 }, "3-months"), jsxRuntime.jsx(react.Tab, { title: t.days30 }, "30-days"), jsxRuntime.jsx(react.Tab, { title: t.days7 }, "7-days"), jsxRuntime.jsx(react.Tab, { title: t.hours24 }, "24-hours")] })), showMetricCards && (jsxRuntime.jsx("div", { className: "mt-2 flex w-full items-center", children: jsxRuntime.jsx("div", { className: "-my-3 flex w-full max-w-[800px] items-center gap-x-3 overflow-x-auto py-3", children: data.map(function (_a) {
355
+ return (jsxRuntime.jsx(react.Card, __assign$1({ as: "dl", className: "dark:border-default-100 border border-transparent" }, props, { children: jsxRuntime.jsxs("section", { className: "flex flex-col flex-nowrap", children: [jsxRuntime.jsx("div", { className: "flex flex-col justify-between gap-y-2 p-6", children: jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-2", children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-0", children: [jsxRuntime.jsx(H2, { children: t.title }), jsxRuntime.jsx(P, { children: t.description })] }), jsxRuntime.jsx(react.Spacer, { y: 2 }), showTimePeriods && (jsxRuntime.jsxs(react.Tabs, { size: "md", className: " self-end", onSelectionChange: function (key) { return handleTimePeriodChange(String(key)); }, children: [jsxRuntime.jsx(react.Tab, { title: t.months6 }, "6-months"), jsxRuntime.jsx(react.Tab, { title: t.months3 }, "3-months"), jsxRuntime.jsx(react.Tab, { title: t.days30 }, "30-days"), jsxRuntime.jsx(react.Tab, { title: t.days7 }, "7-days"), jsxRuntime.jsx(react.Tab, { title: t.hours24 }, "24-hours")] })), showMetricCards && (jsxRuntime.jsx("div", { className: "mt-2 flex w-full items-center", children: jsxRuntime.jsx("div", { className: "-my-3 flex w-full max-w-[800px] items-center gap-x-3 overflow-x-auto py-3", children: data.map(function (_a) {
356
356
  var key = _a.key, change = _a.change, changeType = _a.changeType, type = _a.type, value = _a.value, title = _a.title;
357
357
  return (jsxRuntime.jsxs("button", { type: "button", className: react.cn("rounded-medium flex w-full flex-col gap-2 p-3 transition-colors", {
358
358
  "bg-default-100": activeChart === key,
@@ -364,7 +364,7 @@ var AnalyticsCard = function (_a) {
364
364
  ? "success"
365
365
  : changeType === "negative"
366
366
  ? "danger"
367
- : "default", radius: "md", size: "sm", startContent: changeType === "positive" ? (jsxRuntime.jsx(IconComponent, { icon: "solar:arrow-right-up-linear", size: "sm" })) : changeType === "negative" ? (jsxRuntime.jsx(IconComponent, { icon: "solar:arrow-right-down-linear", size: "sm" })) : (jsxRuntime.jsx(IconComponent, { icon: "solar:arrow-right-linear", size: "sm" })), variant: "bordered", children: jsxRuntime.jsx("span", { children: change }) })] })] }, key));
367
+ : "default", radius: "md", size: "sm", startContent: changeType === "positive" ? (jsxRuntime.jsx(IconComponent$1, { icon: "solar:arrow-right-up-linear", size: "sm" })) : changeType === "negative" ? (jsxRuntime.jsx(IconComponent$1, { icon: "solar:arrow-right-down-linear", size: "sm" })) : (jsxRuntime.jsx(IconComponent$1, { icon: "solar:arrow-right-linear", size: "sm" })), variant: "bordered", children: jsxRuntime.jsx("span", { children: change }) })] })] }, key));
368
368
  }) }) }))] }) }), jsxRuntime.jsx(recharts.ResponsiveContainer, { className: "min-h-[300px] [&_.recharts-surface]:outline-hidden", height: "100%", width: "100%", children: jsxRuntime.jsxs(recharts.AreaChart, { accessibilityLayer: true, data: chartData, height: 300, margin: {
369
369
  left: 0,
370
370
  right: 0,
@@ -392,7 +392,7 @@ var AnalyticsCard = function (_a) {
392
392
  r: 4,
393
393
  }, animationDuration: 1000, animationEasing: "ease", dataKey: "value", fill: "url(#colorGradient)", stroke: "hsl(var(--heroui-".concat(color, "))"), strokeWidth: 2, type: "monotone" })] }) }), showDropdownMenu && (jsxRuntime.jsxs(react.Dropdown, { classNames: {
394
394
  content: "min-w-[120px]",
395
- }, placement: "bottom-end", children: [jsxRuntime.jsx(react.DropdownTrigger, { children: jsxRuntime.jsx(react.Button, { isIconOnly: true, className: "absolute top-2 right-2 w-auto rounded-full", size: "lg", variant: "bordered", children: jsxRuntime.jsx(IconComponent, { icon: "solar:menu-dots-bold", size: "sm" }) }) }), jsxRuntime.jsxs(react.DropdownMenu, { itemClasses: {
395
+ }, placement: "bottom-end", children: [jsxRuntime.jsx(react.DropdownTrigger, { children: jsxRuntime.jsx(react.Button, { isIconOnly: true, className: "absolute top-2 right-2 w-auto rounded-full", size: "lg", variant: "bordered", children: jsxRuntime.jsx(IconComponent$1, { icon: "solar:menu-dots-bold", size: "sm" }) }) }), jsxRuntime.jsxs(react.DropdownMenu, { itemClasses: {
396
396
  title: "text-tiny",
397
397
  }, variant: "bordered", onAction: function (key) { return handleMenuAction(String(key)); }, children: [jsxRuntime.jsx(react.DropdownItem, { children: t.viewDetails }, "view-details"), jsxRuntime.jsx(react.DropdownItem, { children: t.exportData }, "export-data"), jsxRuntime.jsx(react.DropdownItem, { children: t.setAlert }, "set-alert")] })] }))] }) })));
398
398
  };
@@ -407,10 +407,10 @@ var AnalyticsCard = function (_a) {
407
407
  * - Size: sm, md, lg (configurable)
408
408
  */
409
409
  var AuraAutocomplete = function (_a) {
410
- var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.variant, variant = _c === void 0 ? "bordered" : _c, _d = _a.radius, radius = _d === void 0 ? "md" : _d, props = __rest(_a, ["label", "id", "size", "variant", "radius"]);
410
+ var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.variant, variant = _c === void 0 ? "bordered" : _c, _d = _a.radius, radius = _d === void 0 ? "md" : _d, props = __rest$1(_a, ["label", "id", "size", "variant", "radius"]);
411
411
  var generatedId = React.useId();
412
412
  var autoId = id || generatedId;
413
- return (jsxRuntime.jsxs("div", { children: [label && (jsxRuntime.jsx("label", { htmlFor: autoId, className: "block mb-2 text-tiny text-default-600", children: label })), jsxRuntime.jsx(react.Autocomplete, __assign({}, props, { id: autoId, label: undefined, labelPlacement: "outside", variant: variant, size: size, radius: radius, classNames: {
413
+ return (jsxRuntime.jsxs("div", { children: [label && (jsxRuntime.jsx("label", { htmlFor: autoId, className: "block mb-2 text-tiny text-default-600", children: label })), jsxRuntime.jsx(react.Autocomplete, __assign$1({}, props, { id: autoId, label: undefined, labelPlacement: "outside", variant: variant, size: size, radius: radius, classNames: {
414
414
  base: "[&_[data-slot=input-wrapper][data-focus=true]]:!border-primary-500",
415
415
  popoverContent: "[&_li[data-hover=true]]:!bg-primary-50 [&_li[data-hover=true]]:!text-default-600 [&_li]:!text-default-500",
416
416
  } }))] }));
@@ -432,7 +432,7 @@ var useThemeContext = function () {
432
432
  return context;
433
433
  };
434
434
 
435
- var themeColors = {
435
+ var themeColors$1 = {
436
436
  "blue-light": {
437
437
  extend: "light",
438
438
  colors: {
@@ -922,198 +922,1362 @@ var themeColors = {
922
922
  },
923
923
  };
924
924
 
925
- var ColorSelector = function (_a) {
926
- var selectedColor = _a.selectedColor, onColorChange = _a.onColorChange;
927
- var mode = useThemeContext().mode;
928
- /**
929
- * Filters and maps the available theme colors to the current theme mode (light/dark).
930
- * Each color option contains:
931
- * - value: the theme name (e.g., "blue-light")
932
- * - label: the base color name (e.g., "blue")
933
- * - color: the primary color hex value
934
- */
935
- var colorOptions = Object.entries(themeColors)
936
- .filter(function (_a) {
937
- var themeData = _a[1];
938
- var themeMode = themeData.extend;
939
- return mode === "light" ? themeMode === "light" : themeMode === "dark";
940
- })
941
- .map(function (_a) {
942
- var themeName = _a[0], theme = _a[1];
943
- return ({
944
- value: themeName,
945
- label: themeName.split("-")[0],
946
- color: theme.colors.primary.DEFAULT,
947
- });
948
- });
949
- return (jsxRuntime.jsx(react.RadioGroup, { value: selectedColor, onValueChange: onColorChange, orientation: "horizontal", className: "flex flex-wrap !gap-2", classNames: {
950
- base: "flex flex-wrap !gap-2",
951
- wrapper: "flex flex-wrap !gap-2",
952
- }, children: colorOptions.map(function (color) { return (jsxRuntime.jsx(react.Radio, { value: color.label, className: "p-0 m-0", classNames: {
953
- base: "p-0 m-0",
954
- wrapper: "hidden",
955
- labelWrapper: "p-0 m-0",
956
- }, children: jsxRuntime.jsx("div", { className: "w-8 h-8 rounded-full border-2 cursor-pointer transition-all ".concat(selectedColor === color.label
957
- ? "border-black border-opacity-20 scale-110"
958
- : "border-gray-200 hover:scale-105"), style: { backgroundColor: color.color }, title: color.label }) }, color.value)); }) }));
959
- };
925
+ var ColorSelector = function (_a) {
926
+ var selectedColor = _a.selectedColor, onColorChange = _a.onColorChange;
927
+ var mode = useThemeContext().mode;
928
+ /**
929
+ * Filters and maps the available theme colors to the current theme mode (light/dark).
930
+ * Each color option contains:
931
+ * - value: the theme name (e.g., "blue-light")
932
+ * - label: the base color name (e.g., "blue")
933
+ * - color: the primary color hex value
934
+ */
935
+ var colorOptions = Object.entries(themeColors$1)
936
+ .filter(function (_a) {
937
+ var themeData = _a[1];
938
+ var themeMode = themeData.extend;
939
+ return mode === "light" ? themeMode === "light" : themeMode === "dark";
940
+ })
941
+ .map(function (_a) {
942
+ var themeName = _a[0], theme = _a[1];
943
+ return ({
944
+ value: themeName,
945
+ label: themeName.split("-")[0],
946
+ color: theme.colors.primary.DEFAULT,
947
+ });
948
+ });
949
+ return (jsxRuntime.jsx(react.RadioGroup, { value: selectedColor, onValueChange: onColorChange, orientation: "horizontal", className: "flex flex-wrap !gap-2", classNames: {
950
+ base: "flex flex-wrap !gap-2",
951
+ wrapper: "flex flex-wrap !gap-2",
952
+ }, children: colorOptions.map(function (color) { return (jsxRuntime.jsx(react.Radio, { value: color.label, className: "p-0 m-0", classNames: {
953
+ base: "p-0 m-0",
954
+ wrapper: "hidden",
955
+ labelWrapper: "p-0 m-0",
956
+ }, children: jsxRuntime.jsx("div", { className: "w-8 h-8 rounded-full border-2 cursor-pointer transition-all ".concat(selectedColor === color.label
957
+ ? "border-black border-opacity-20 scale-110"
958
+ : "border-gray-200 hover:scale-105"), style: { backgroundColor: color.color }, title: color.label }) }, color.value)); }) }));
959
+ };
960
+
961
+ /**
962
+ * Chip - Componente para mostrar etiquetas o badges
963
+ * basado en HeroUI siguiendo las reglas de diseño BeweOS.
964
+ */
965
+ var Chip = function (_a) {
966
+ var _b = _a.color, color = _b === void 0 ? "default" : _b, props = __rest$1(_a, ["color"]);
967
+ // Colores estándar de HeroUI
968
+ var standardColors = [
969
+ "default",
970
+ "primary",
971
+ "secondary",
972
+ "success",
973
+ "warning",
974
+ "danger",
975
+ ];
976
+ // Si es un color estándar, usar HeroUI normalmente
977
+ if (standardColors.includes(color)) {
978
+ return (jsxRuntime.jsx(react.Chip, __assign$1({}, props, { color: color, onClose: props.onClose })));
979
+ }
980
+ // Si es un color personalizado, aplicar clases CSS específicas
981
+ var customColorClasses = {
982
+ red: "bg-red-100 text-red-500",
983
+ purple: "bg-purple-100 text-purple-500",
984
+ blue: "bg-blue-100 text-blue-500",
985
+ green: "bg-green-100 text-green-500",
986
+ orange: "bg-orange-100 text-orange-500",
987
+ };
988
+ var colorClasses = customColorClasses[color];
989
+ return (jsxRuntime.jsx(react.Chip, __assign$1({}, props, { onClose: props.onClose, classNames: __assign$1({ base: colorClasses }, props.classNames) })));
990
+ };
991
+
992
+ // Traducciones por defecto en español
993
+ var defaultTranslations$8 = {
994
+ dayOption: "Día específico",
995
+ dateRangeOption: "Rango de fechas",
996
+ selectDateAriaLabel: "Seleccionar fecha",
997
+ selectDateRangeAriaLabel: "Seleccionar rango de fechas",
998
+ };
999
+ /**
1000
+ * DateSelector - Componente para seleccionar fechas individuales o rangos de fechas
1001
+ * basado en HeroUI siguiendo las reglas de diseño BeweOS.
1002
+ * Maneja su propio estado interno de manera autónoma.
1003
+ */
1004
+ var DateSelector = function (_a) {
1005
+ var _b = _a.initialType, initialType = _b === void 0 ? exports.HolidayType.SingleDay : _b, initialDate = _a.initialDate, initialDateRange = _a.initialDateRange, onChange = _a.onChange, _c = _a.translations, translations = _c === void 0 ? {} : _c, radioGroupProps = _a.radioGroupProps, radioItemProps = _a.radioItemProps, datePickerProps = _a.datePickerProps, dateRangePickerProps = _a.dateRangePickerProps, _d = _a.className, className = _d === void 0 ? "" : _d;
1006
+ // Estado interno del componente
1007
+ var _e = React.useState(initialType), type = _e[0], setType = _e[1];
1008
+ var _f = React.useState(initialDate || null), date = _f[0], setDate = _f[1];
1009
+ var _g = React.useState(initialDateRange || null), dateRange = _g[0], setDateRange = _g[1];
1010
+ // Combinar traducciones por defecto con las proporcionadas
1011
+ var t = __assign$1(__assign$1({}, defaultTranslations$8), translations);
1012
+ var handleTypeChange = function (value) {
1013
+ var newType = value;
1014
+ setType(newType);
1015
+ // Limpiar valores cuando cambia el tipo
1016
+ if (newType === exports.HolidayType.SingleDay) {
1017
+ setDateRange(null);
1018
+ }
1019
+ else {
1020
+ setDate(null);
1021
+ }
1022
+ // Notificar cambio
1023
+ onChange === null || onChange === void 0 ? void 0 : onChange({
1024
+ type: newType,
1025
+ date: newType === exports.HolidayType.SingleDay ? date : null,
1026
+ dateRange: newType === exports.HolidayType.DateRange ? dateRange : null,
1027
+ });
1028
+ };
1029
+ var handleDateChange = function (selectedDate) {
1030
+ setDate(selectedDate);
1031
+ onChange === null || onChange === void 0 ? void 0 : onChange({
1032
+ type: type,
1033
+ date: selectedDate,
1034
+ dateRange: null,
1035
+ });
1036
+ };
1037
+ var handleDateRangeChange = function (range) {
1038
+ setDateRange(range);
1039
+ onChange === null || onChange === void 0 ? void 0 : onChange({
1040
+ type: type,
1041
+ date: null,
1042
+ dateRange: range,
1043
+ });
1044
+ };
1045
+ return (jsxRuntime.jsxs("div", { className: "w-full flex flex-wrap xs:gap-5 justify-between items-center ".concat(className), children: [jsxRuntime.jsxs(react.RadioGroup, __assign$1({ color: "primary", orientation: "horizontal", size: "sm", value: type, onValueChange: handleTypeChange }, radioGroupProps, { children: [jsxRuntime.jsx(react.Radio, __assign$1({ value: exports.HolidayType.SingleDay }, radioItemProps, { children: t.dayOption })), jsxRuntime.jsx(react.Radio, __assign$1({ value: exports.HolidayType.DateRange }, radioItemProps, { children: t.dateRangeOption }))] })), type === exports.HolidayType.DateRange ? (jsxRuntime.jsx(react.DateRangePicker, __assign$1({ className: "xs:w-full md:flex-1 md:max-w-xs", value: dateRange || null, onChange: handleDateRangeChange, "aria-label": t.selectDateRangeAriaLabel, endContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:calendar-outline" }) }, dateRangePickerProps))) : (jsxRuntime.jsx(react.DatePicker, __assign$1({ className: "xs:w-full md:flex-1 md:max-w-40", value: date || null, onChange: handleDateChange, endContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:calendar-outline" }), "aria-label": t.selectDateAriaLabel }, datePickerProps)))] }));
1046
+ };
1047
+
1048
+ var H1 = function (_a) {
1049
+ var children = _a.children, className = _a.className, props = __rest$1(_a, ["children", "className"]);
1050
+ return (jsxRuntime.jsx("h1", __assign$1({ className: react.cn("text-xl font-bold", className) }, props, { children: children })));
1051
+ };
1052
+
1053
+ var H3 = function (_a) {
1054
+ var children = _a.children, className = _a.className, props = __rest$1(_a, ["children", "className"]);
1055
+ return (jsxRuntime.jsx("h3", __assign$1({ className: react.cn("text-base font-medium", className) }, props, { children: children })));
1056
+ };
1057
+
1058
+ var H4 = function (_a) {
1059
+ var children = _a.children, className = _a.className, props = __rest$1(_a, ["children", "className"]);
1060
+ return (jsxRuntime.jsx("h4", __assign$1({ className: react.cn("text-sm font-medium ", className) }, props, { children: children })));
1061
+ };
1062
+
1063
+ /**
1064
+ * Breadcrumbs - Wrapper simple del componente HeroUI Breadcrumbs
1065
+ *
1066
+ * Este componente es un wrapper directo del componente Breadcrumbs de HeroUI,
1067
+ * proporcionando una interfaz simplificada y consistente con el resto de la librería.
1068
+ *
1069
+ * @example
1070
+ * ```tsx
1071
+ * // Uso básico
1072
+ * <Breadcrumbs>
1073
+ * <BreadcrumbItem href="/">Inicio</BreadcrumbItem>
1074
+ * <BreadcrumbItem href="/products">Productos</BreadcrumbItem>
1075
+ * <BreadcrumbItem>Detalle</BreadcrumbItem>
1076
+ * </Breadcrumbs>
1077
+ *
1078
+ * // Con items como prop
1079
+ * <Breadcrumbs
1080
+ * items={[
1081
+ * { label: "Inicio", href: "/" },
1082
+ * { label: "Productos", href: "/products" },
1083
+ * { label: "Detalle", isCurrent: true }
1084
+ * ]}
1085
+ * />
1086
+ * ```
1087
+ */
1088
+ var BreadcrumbsComponent = function (_a) {
1089
+ var items = _a.items, children = _a.children, heroUIProps = __rest$1(_a, ["items", "children"]);
1090
+ return (jsxRuntime.jsx(react.Breadcrumbs, __assign$1({}, heroUIProps, { children: items
1091
+ ? items.map(function (item, index) { return (jsxRuntime.jsx(react.BreadcrumbItem, { href: item.href, isCurrent: item.isCurrent, children: item.label }, "".concat(item.href || item.label, "-").concat(index))); })
1092
+ : children })));
1093
+ };
1094
+
1095
+ var ConfigMenu = function (_a) {
1096
+ var _b;
1097
+ var options = _a.options, onLogout = _a.onLogout, translations = _a.translations;
1098
+ return (jsxRuntime.jsxs(react.Dropdown, { className: "min-w-40", children: [jsxRuntime.jsx(react.DropdownTrigger, { children: jsxRuntime.jsx(react.Button, { isIconOnly: true, color: "default", startContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:settings-linear" }) }) }), jsxRuntime.jsxs(react.DropdownMenu, { "aria-label": "Configuration", children: [jsxRuntime.jsx(react.DropdownSection, { showDivider: true, className: "mb-0", children: options.map(function (item) { return (jsxRuntime.jsx(react.DropdownItem, { href: item.href, className: "data-[hover=true]:bg-primary-100 data-[hover=true]:text-default-700", classNames: {
1099
+ base: "text-default-500",
1100
+ }, startContent: item.icon ? jsxRuntime.jsx(IconComponent$1, { icon: item.icon }) : undefined, children: item.label }, item.label)); }) }), jsxRuntime.jsx(react.DropdownSection, { children: jsxRuntime.jsx(react.DropdownItem, { onPress: onLogout, className: "data-[hover=true]:bg-primary-100 data-[hover=true]:text-default-700", classNames: {
1101
+ base: "text-default-500",
1102
+ }, startContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:logout-2-linear" }), children: (_b = translations === null || translations === void 0 ? void 0 : translations.logout) !== null && _b !== void 0 ? _b : "Logout" }, "logout") })] })] }));
1103
+ };
1104
+ ConfigMenu.displayName = "ConfigMenu";
1105
+
1106
+ var NotificationButton = function (_a) {
1107
+ var _b = _a.notificationCount, notificationCount = _b === void 0 ? 0 : _b;
1108
+ return (jsxRuntime.jsx(react.Button, { isIconOnly: true, color: "secondary", variant: "flat", startContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:bell-bing-linear" }), children: notificationCount > 0 && (jsxRuntime.jsx("span", { className: "notification__alert", children: notificationCount })) }));
1109
+ };
1110
+ NotificationButton.displayName = "NotificationButton";
1111
+
1112
+ var HeaderComponent = function (_a) {
1113
+ var notificationCount = _a.notificationCount, options = _a.options, onMenuClick = _a.onMenuClick, onLogout = _a.onLogout, translations = _a.translations, breadcrumbs = _a.breadcrumbs;
1114
+ return (jsxRuntime.jsx("header", { className: "header__container", children: jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-full", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [jsxRuntime.jsx(react.Button, { className: "sm:hidden", isIconOnly: true, variant: "light", startContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:hamburger-menu-linear" }), onPress: onMenuClick }), breadcrumbs && breadcrumbs.length > 0 && (jsxRuntime.jsx(BreadcrumbsComponent, { items: breadcrumbs }))] }), jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [jsxRuntime.jsx(NotificationButton, { notificationCount: notificationCount }), jsxRuntime.jsx(ConfigMenu, { options: options, onLogout: onLogout, translations: translations })] })] }) }));
1115
+ };
1116
+ HeaderComponent.displayName = "Header";
1117
+
1118
+ /******************************************************************************
1119
+ Copyright (c) Microsoft Corporation.
1120
+
1121
+ Permission to use, copy, modify, and/or distribute this software for any
1122
+ purpose with or without fee is hereby granted.
1123
+
1124
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1125
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1126
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1127
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1128
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1129
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1130
+ PERFORMANCE OF THIS SOFTWARE.
1131
+ ***************************************************************************** */
1132
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
1133
+
1134
+
1135
+ var __assign = function() {
1136
+ __assign = Object.assign || function __assign(t) {
1137
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
1138
+ s = arguments[i];
1139
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
1140
+ }
1141
+ return t;
1142
+ };
1143
+ return __assign.apply(this, arguments);
1144
+ };
1145
+
1146
+ function __rest(s, e) {
1147
+ var t = {};
1148
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1149
+ t[p] = s[p];
1150
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
1151
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1152
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1153
+ t[p[i]] = s[p[i]];
1154
+ }
1155
+ return t;
1156
+ }
1157
+
1158
+ function __spreadArray(to, from, pack) {
1159
+ for (var i = 0, l = from.length, ar; i < l; i++) {
1160
+ if (ar || !(i in from)) {
1161
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
1162
+ ar[i] = from[i];
1163
+ }
1164
+ }
1165
+ return to.concat(ar || Array.prototype.slice.call(from));
1166
+ }
1167
+
1168
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
1169
+ var e = new Error(message);
1170
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1171
+ };
1172
+
1173
+ var HolidayType;
1174
+ (function (HolidayType) {
1175
+ HolidayType["SingleDay"] = "singleDay";
1176
+ HolidayType["DateRange"] = "dateRange";
1177
+ })(HolidayType || (HolidayType = {}));
1178
+
1179
+ /**
1180
+ * Botón genérico basado en HeroUI siguiendo las reglas de diseño BeweOS.
1181
+ *
1182
+ * Reglas aplicadas:
1183
+ * - Variant: Solid, Bordered, Light, Flat, Faded
1184
+ * - Size: sm, md, lg
1185
+ * - StartContent: On, Off
1186
+ * - isLoading: On, Off
1187
+ * - Radius: md (por defecto)
1188
+ * - isIconOnly: True, False
1189
+ */
1190
+ var Button = function (_a) {
1191
+ var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.variant, variant = _d === void 0 ? "solid" : _d, _e = _a.radius, radius = _e === void 0 ? "sm" : _e, startContent = _a.startContent, endContent = _a.endContent, _f = _a.isLoading, isLoading = _f === void 0 ? false : _f, _g = _a.isIconOnly, isIconOnly = _g === void 0 ? false : _g, props = __rest(_a, ["color", "size", "variant", "radius", "startContent", "endContent", "isLoading", "isIconOnly"]);
1192
+ return (jsxRuntime.jsx(react.Button, __assign({}, props, { color: color, size: size, variant: variant, radius: radius, startContent: startContent, endContent: endContent, isLoading: isLoading, isIconOnly: isIconOnly })));
1193
+ };
1194
+
1195
+ var sizeMap = {
1196
+ sm: "16px",
1197
+ md: "20px",
1198
+ lg: "24px",
1199
+ xl: "32px",
1200
+ };
1201
+ var IconComponent = function (_a) {
1202
+ var _b;
1203
+ var icon = _a.icon, _c = _a.size, size = _c === void 0 ? "md" : _c, className = _a.className, style = _a.style, color = _a.color, hFlip = _a.hFlip, vFlip = _a.vFlip, flip = _a.flip, rotate = _a.rotate, nativeProps = __rest(_a, ["icon", "size", "className", "style", "color", "hFlip", "vFlip", "flip", "rotate"]);
1204
+ var iconSize = (_b = sizeMap[size]) !== null && _b !== void 0 ? _b : sizeMap.md;
1205
+ return (jsxRuntime.jsx("span", __assign({}, nativeProps, { children: jsxRuntime.jsx(react$1.Icon, { icon: icon, width: iconSize, height: iconSize, className: className, style: style, color: color, hFlip: hFlip, vFlip: vFlip, flip: flip, rotate: rotate }) })));
1206
+ };
1207
+ ({
1208
+ type: HolidayType.SingleDay});
1209
+
1210
+ React.createContext({
1211
+ mode: "light",
1212
+ color: "blue",
1213
+ // biome-ignore lint/suspicious/noEmptyBlockStatements: <explanation>
1214
+ setMode: function () { },
1215
+ // biome-ignore lint/suspicious/noEmptyBlockStatements: <explanation>
1216
+ setColor: function () { },
1217
+ });
1218
+
1219
+ var themeColors = {
1220
+ "blue-light": {
1221
+ extend: "light",
1222
+ colors: {
1223
+ primary: {
1224
+ "50": "#dfedfd",
1225
+ "100": "#b3d4fa",
1226
+ "200": "#86bbf7",
1227
+ "300": "#59a1f4",
1228
+ "400": "#2d88f1",
1229
+ "500": "#006fee",
1230
+ "600": "#005cc4",
1231
+ "700": "#00489b",
1232
+ "800": "#003571",
1233
+ "900": "#002147",
1234
+ foreground: "#fff",
1235
+ DEFAULT: "#006fee",
1236
+ },
1237
+ secondary: {
1238
+ "50": "#eee4f8",
1239
+ "100": "#d7bfef",
1240
+ "200": "#bf99e5",
1241
+ "300": "#a773db",
1242
+ "400": "#904ed2",
1243
+ "500": "#7828c8",
1244
+ "600": "#6321a5",
1245
+ "700": "#4e1a82",
1246
+ "800": "#39135f",
1247
+ "900": "#240c3c",
1248
+ foreground: "#fff",
1249
+ DEFAULT: "#7828c8",
1250
+ },
1251
+ success: {
1252
+ "50": "#e2f8ec",
1253
+ "100": "#b9efd1",
1254
+ "200": "#91e5b5",
1255
+ "300": "#68dc9a",
1256
+ "400": "#40d27f",
1257
+ "500": "#17c964",
1258
+ "600": "#13a653",
1259
+ "700": "#0f8341",
1260
+ "800": "#0b5f30",
1261
+ "900": "#073c1e",
1262
+ foreground: "#000",
1263
+ DEFAULT: "#17c964",
1264
+ },
1265
+ warning: {
1266
+ "50": "#fef4e4",
1267
+ "100": "#fce4bd",
1268
+ "200": "#fad497",
1269
+ "300": "#f9c571",
1270
+ "400": "#f7b54a",
1271
+ "500": "#f5a524",
1272
+ "600": "#ca881e",
1273
+ "700": "#9f6b17",
1274
+ "800": "#744e11",
1275
+ "900": "#4a320b",
1276
+ foreground: "#000",
1277
+ DEFAULT: "#f5a524",
1278
+ },
1279
+ danger: {
1280
+ "50": "#fee1eb",
1281
+ "100": "#fbb8cf",
1282
+ "200": "#f98eb3",
1283
+ "300": "#f76598",
1284
+ "400": "#f53b7c",
1285
+ "500": "#f31260",
1286
+ "600": "#c80f4f",
1287
+ "700": "#9e0c3e",
1288
+ "800": "#73092e",
1289
+ "900": "#49051d",
1290
+ foreground: "#000",
1291
+ DEFAULT: "#f31260",
1292
+ },
1293
+ focus: "#006FEE",
1294
+ overlay: "#000000",
1295
+ },
1296
+ },
1297
+ "blue-dark": {
1298
+ extend: "dark",
1299
+ colors: {
1300
+ primary: {
1301
+ "50": "#002147",
1302
+ "100": "#003571",
1303
+ "200": "#00489b",
1304
+ "300": "#005cc4",
1305
+ "400": "#006fee",
1306
+ "500": "#2d88f1",
1307
+ "600": "#59a1f4",
1308
+ "700": "#86bbf7",
1309
+ "800": "#b3d4fa",
1310
+ "900": "#dfedfd",
1311
+ foreground: "#fff",
1312
+ DEFAULT: "#006fee",
1313
+ },
1314
+ secondary: {
1315
+ "50": "#240c3c",
1316
+ "100": "#39135f",
1317
+ "200": "#4e1a82",
1318
+ "300": "#6321a5",
1319
+ "400": "#7828c8",
1320
+ "500": "#904ed2",
1321
+ "600": "#a773db",
1322
+ "700": "#bf99e5",
1323
+ "800": "#d7bfef",
1324
+ "900": "#eee4f8",
1325
+ foreground: "#fff",
1326
+ DEFAULT: "#7828c8",
1327
+ },
1328
+ success: {
1329
+ "50": "#073c1e",
1330
+ "100": "#0b5f30",
1331
+ "200": "#0f8341",
1332
+ "300": "#13a653",
1333
+ "400": "#17c964",
1334
+ "500": "#40d27f",
1335
+ "600": "#68dc9a",
1336
+ "700": "#91e5b5",
1337
+ "800": "#b9efd1",
1338
+ "900": "#e2f8ec",
1339
+ foreground: "#000",
1340
+ DEFAULT: "#17c964",
1341
+ },
1342
+ warning: {
1343
+ "50": "#4a320b",
1344
+ "100": "#744e11",
1345
+ "200": "#9f6b17",
1346
+ "300": "#ca881e",
1347
+ "400": "#f5a524",
1348
+ "500": "#f7b54a",
1349
+ "600": "#f9c571",
1350
+ "700": "#fad497",
1351
+ "800": "#fce4bd",
1352
+ "900": "#fef4e4",
1353
+ foreground: "#000",
1354
+ DEFAULT: "#f5a524",
1355
+ },
1356
+ danger: {
1357
+ "50": "#49051d",
1358
+ "100": "#73092e",
1359
+ "200": "#9e0c3e",
1360
+ "300": "#c80f4f",
1361
+ "400": "#f31260",
1362
+ "500": "#f53b7c",
1363
+ "600": "#f76598",
1364
+ "700": "#f98eb3",
1365
+ "800": "#fbb8cf",
1366
+ "900": "#fee1eb",
1367
+ foreground: "#000",
1368
+ DEFAULT: "#f31260",
1369
+ },
1370
+ focus: "#006FEE",
1371
+ overlay: "#ffffff",
1372
+ },
1373
+ },
1374
+ "purple-light": {
1375
+ extend: "light",
1376
+ colors: {
1377
+ primary: {
1378
+ "50": "#eee4f8",
1379
+ "100": "#d7bfef",
1380
+ "200": "#bf99e5",
1381
+ "300": "#a773db",
1382
+ "400": "#904ed2",
1383
+ "500": "#7828c8",
1384
+ "600": "#6321a5",
1385
+ "700": "#4e1a82",
1386
+ "800": "#39135f",
1387
+ "900": "#240c3c",
1388
+ foreground: "#fff",
1389
+ DEFAULT: "#7828c8",
1390
+ },
1391
+ secondary: {
1392
+ "50": "#dfedfd",
1393
+ "100": "#b3d4fa",
1394
+ "200": "#86bbf7",
1395
+ "300": "#59a1f4",
1396
+ "400": "#2d88f1",
1397
+ "500": "#006fee",
1398
+ "600": "#005cc4",
1399
+ "700": "#00489b",
1400
+ "800": "#003571",
1401
+ "900": "#002147",
1402
+ foreground: "#fff",
1403
+ DEFAULT: "#006fee",
1404
+ },
1405
+ focus: "#7828c8",
1406
+ overlay: "#000000",
1407
+ },
1408
+ },
1409
+ "purple-dark": {
1410
+ extend: "dark",
1411
+ colors: {
1412
+ primary: {
1413
+ "50": "#2c193f",
1414
+ "100": "#462764",
1415
+ "200": "#603689",
1416
+ "300": "#7944ae",
1417
+ "400": "#9353d3",
1418
+ "500": "#a671db",
1419
+ "600": "#b98fe2",
1420
+ "700": "#ccadea",
1421
+ "800": "#dfcbf2",
1422
+ "900": "#f2eafa",
1423
+ foreground: "#fff",
1424
+ DEFAULT: "#9353d3",
1425
+ },
1426
+ secondary: {
1427
+ "50": "#1e254d",
1428
+ "100": "#2f3a79",
1429
+ "200": "#404fa6",
1430
+ "300": "#5265d2",
1431
+ "400": "#637aff",
1432
+ "500": "#7e91ff",
1433
+ "600": "#9aa9ff",
1434
+ "700": "#b5c0ff",
1435
+ "800": "#d0d7ff",
1436
+ "900": "#eceeff",
1437
+ foreground: "#000",
1438
+ DEFAULT: "#637aff",
1439
+ },
1440
+ focus: "#9353d3",
1441
+ },
1442
+ },
1443
+ "yellow-light": {
1444
+ extend: "light",
1445
+ colors: {
1446
+ primary: {
1447
+ "50": "#fffbe6",
1448
+ "100": "#FFFACD",
1449
+ "200": "#FFF39B",
1450
+ "300": "#FFEB69",
1451
+ "400": "#FFE243",
1452
+ "500": "#FFD505",
1453
+ "600": "#DBB303",
1454
+ "700": "#B79202",
1455
+ "800": "#937301",
1456
+ "900": "#7A5D00",
1457
+ foreground: "#000",
1458
+ DEFAULT: "#FFD505",
1459
+ },
1460
+ secondary: {
1461
+ "50": "#F3F7FD",
1462
+ "100": "#D1DFFB",
1463
+ "200": "#A5BEF7",
1464
+ "300": "#7494E7",
1465
+ "400": "#4E6FCF",
1466
+ "500": "#1E40AF",
1467
+ "600": "#153096",
1468
+ "700": "#0F237D",
1469
+ "800": "#091865",
1470
+ "900": "#051053",
1471
+ foreground: "#fff",
1472
+ DEFAULT: "#1E40AF",
1473
+ },
1474
+ focus: "#FFD505",
1475
+ overlay: "#000000",
1476
+ },
1477
+ },
1478
+ "yellow-dark": {
1479
+ extend: "dark",
1480
+ colors: {
1481
+ primary: {
1482
+ "50": "#7A5D00",
1483
+ "100": "#937301",
1484
+ "200": "#B79202",
1485
+ "300": "#DBB303",
1486
+ "400": "#FFD505",
1487
+ "500": "#FFE243",
1488
+ "600": "#FFEB69",
1489
+ "700": "#FFF39B",
1490
+ "800": "#FFFACD",
1491
+ "900": "#fffbe6",
1492
+ foreground: "#000",
1493
+ DEFAULT: "#FFD505",
1494
+ },
1495
+ secondary: {
1496
+ 50: "#e1efff",
1497
+ 100: "#b2d0ff",
1498
+ 200: "#83b1fc",
1499
+ 300: "#5292f8",
1500
+ 400: "#2473f5",
1501
+ 500: "#0a5adb",
1502
+ 600: "#0246ac",
1503
+ 700: "#00327c",
1504
+ 800: "#001e4d",
1505
+ 900: "#000a1f",
1506
+ foreground: "#fff",
1507
+ DEFAULT: "#0a5adb",
1508
+ },
1509
+ focus: "#FFD505",
1510
+ overlay: "#ffffff",
1511
+ },
1512
+ },
1513
+ "coral-light": {
1514
+ extend: "light",
1515
+ colors: {
1516
+ primary: {
1517
+ "50": "#ffe9e9",
1518
+ "100": "#ffcaca",
1519
+ "200": "#ffabab",
1520
+ "300": "#ff8d8d",
1521
+ "400": "#ff6e6e",
1522
+ "500": "#ff4f4f",
1523
+ "600": "#d24141",
1524
+ "700": "#a63333",
1525
+ "800": "#792626",
1526
+ "900": "#4d1818",
1527
+ foreground: "#000",
1528
+ DEFAULT: "#ff4f4f",
1529
+ },
1530
+ focus: "#ff4f4f",
1531
+ },
1532
+ },
1533
+ "coral-dark": {
1534
+ extend: "dark",
1535
+ colors: {
1536
+ primary: {
1537
+ "50": "#4d1818",
1538
+ "100": "#792626",
1539
+ "200": "#a63333",
1540
+ "300": "#d24141",
1541
+ "400": "#ff4f4f",
1542
+ "500": "#ff6e6e",
1543
+ "600": "#ff8d8d",
1544
+ "700": "#ffabab",
1545
+ "800": "#ffcaca",
1546
+ "900": "#ffe9e9",
1547
+ foreground: "#000",
1548
+ DEFAULT: "#ff4f4f",
1549
+ },
1550
+ focus: "#ff4f4f",
1551
+ },
1552
+ },
1553
+ "green-light": {
1554
+ extend: "light",
1555
+ colors: {
1556
+ primary: {
1557
+ 50: "#EFFFEF",
1558
+ 100: "#CFFCD1",
1559
+ 200: "#A0F9AC",
1560
+ 300: "#6FEE8D",
1561
+ 400: "#49DE7B",
1562
+ 500: "#16C964",
1563
+ 600: "#10AC64",
1564
+ 700: "#0B905F",
1565
+ 800: "#077457",
1566
+ 900: "#046051",
1567
+ foreground: "#000",
1568
+ DEFAULT: "#16C964",
1569
+ },
1570
+ secondary: {
1571
+ "50": "#e3eaff",
1572
+ "100": "#D7DFFE",
1573
+ "200": "#AFBFFE",
1574
+ "300": "#889DFD",
1575
+ "400": "#6A82FB",
1576
+ "500": "#3956F9",
1577
+ "600": "#2941D6",
1578
+ "700": "#1C2EB3",
1579
+ "800": "#121F90",
1580
+ "900": "#0A1477",
1581
+ foreground: "#fff",
1582
+ DEFAULT: "#3956F9",
1583
+ },
1584
+ success: {
1585
+ "50": "#e7fde3",
1586
+ "100": "#E8FCD3",
1587
+ "200": "#CBFAA8",
1588
+ "300": "#A4F17B",
1589
+ "400": "#7EE358",
1590
+ "500": "#49D127",
1591
+ "600": "#2FB31C",
1592
+ "700": "#1A9613",
1593
+ "800": "#0C790E",
1594
+ "900": "#076410",
1595
+ foreground: "#000",
1596
+ DEFAULT: "#49D127",
1597
+ },
1598
+ warning: {
1599
+ "50": "#fff9da",
1600
+ "100": "#FFF7CC",
1601
+ "200": "#FFEE99",
1602
+ "300": "#FFE266",
1603
+ "400": "#FFD63F",
1604
+ "500": "#FFC300",
1605
+ "600": "#DBA200",
1606
+ "700": "#B78300",
1607
+ "800": "#936600",
1608
+ "900": "#7A5100",
1609
+ foreground: "#000",
1610
+ DEFAULT: "#FFC300",
1611
+ },
1612
+ danger: {
1613
+ "50": "#ffe2e5",
1614
+ "100": "#FFE3D8",
1615
+ "200": "#FFC1B2",
1616
+ "300": "#FF988B",
1617
+ "400": "#FF726F",
1618
+ "500": "#FF3F4C",
1619
+ "600": "#DB2E49",
1620
+ "700": "#B71F45",
1621
+ "800": "#93143F",
1622
+ "900": "#7A0C3B",
1623
+ foreground: "#000",
1624
+ DEFAULT: "#FF3F4C",
1625
+ },
1626
+ focus: "#66cc8a",
1627
+ overlay: "#000000",
1628
+ },
1629
+ },
1630
+ "green-dark": {
1631
+ extend: "dark",
1632
+ colors: {
1633
+ primary: {
1634
+ 50: "#EFFFEF",
1635
+ 100: "#CFFCD1",
1636
+ 200: "#A0F9AC",
1637
+ 300: "#6FEE8D",
1638
+ 400: "#49DE7B",
1639
+ 500: "#16C964",
1640
+ 600: "#10AC64",
1641
+ 700: "#0B905F",
1642
+ 800: "#077457",
1643
+ 900: "#046051",
1644
+ foreground: "#000",
1645
+ DEFAULT: "#16C964",
1646
+ },
1647
+ secondary: {
1648
+ "50": "#e3eaff",
1649
+ "100": "#D7DFFE",
1650
+ "200": "#AFBFFE",
1651
+ "300": "#889DFD",
1652
+ "400": "#6A82FB",
1653
+ "500": "#3956F9",
1654
+ "600": "#2941D6",
1655
+ "700": "#1C2EB3",
1656
+ "800": "#121F90",
1657
+ "900": "#0A1477",
1658
+ foreground: "#fff",
1659
+ DEFAULT: "#3956F9",
1660
+ },
1661
+ success: {
1662
+ "50": "#e7fde3",
1663
+ "100": "#E8FCD3",
1664
+ "200": "#CBFAA8",
1665
+ "300": "#A4F17B",
1666
+ "400": "#7EE358",
1667
+ "500": "#49D127",
1668
+ "600": "#2FB31C",
1669
+ "700": "#1A9613",
1670
+ "800": "#0C790E",
1671
+ "900": "#076410",
1672
+ foreground: "#000",
1673
+ DEFAULT: "#49D127",
1674
+ },
1675
+ warning: {
1676
+ "50": "#fff9da",
1677
+ "100": "#FFF7CC",
1678
+ "200": "#FFEE99",
1679
+ "300": "#FFE266",
1680
+ "400": "#FFD63F",
1681
+ "500": "#FFC300",
1682
+ "600": "#DBA200",
1683
+ "700": "#B78300",
1684
+ "800": "#936600",
1685
+ "900": "#7A5100",
1686
+ foreground: "#000",
1687
+ DEFAULT: "#FFC300",
1688
+ },
1689
+ danger: {
1690
+ "50": "#ffe2e5",
1691
+ "100": "#FFE3D8",
1692
+ "200": "#FFC1B2",
1693
+ "300": "#FF988B",
1694
+ "400": "#FF726F",
1695
+ "500": "#FF3F4C",
1696
+ "600": "#DB2E49",
1697
+ "700": "#B71F45",
1698
+ "800": "#93143F",
1699
+ "900": "#7A0C3B",
1700
+ foreground: "#fff",
1701
+ DEFAULT: "#FF3F4C",
1702
+ },
1703
+ focus: "#66cc8a",
1704
+ overlay: "#ffffff",
1705
+ },
1706
+ },
1707
+ };
1708
+
1709
+ function normalizeClass$1(value) {
1710
+ if (typeof value === "string") {
1711
+ return value || undefined;
1712
+ }
1713
+ if (Array.isArray(value)) {
1714
+ return value.filter(Boolean).join(" ") || undefined;
1715
+ }
1716
+ return undefined;
1717
+ }
1718
+ var getSectionClasses$1 = function (isCollapsed, sectionClassesProp) {
1719
+ if (sectionClassesProp === void 0) { sectionClassesProp = {}; }
1720
+ return (__assign(__assign({}, Object.fromEntries(Object.entries(sectionClassesProp).map(function (_a) {
1721
+ var k = _a[0], v = _a[1];
1722
+ return [k, normalizeClass$1(v)];
1723
+ }))), { base: normalizeClass$1(react.cn(sectionClassesProp === null || sectionClassesProp === void 0 ? void 0 : sectionClassesProp.base, "w-full", {
1724
+ "p-0 max-w-[44px]": isCollapsed,
1725
+ })), group: normalizeClass$1(react.cn(sectionClassesProp === null || sectionClassesProp === void 0 ? void 0 : sectionClassesProp.group, {
1726
+ "flex flex-col gap-1": isCollapsed,
1727
+ })), heading: normalizeClass$1(react.cn(sectionClassesProp === null || sectionClassesProp === void 0 ? void 0 : sectionClassesProp.heading, {
1728
+ hidden: isCollapsed,
1729
+ })) }));
1730
+ };
1731
+ var getItemClasses$1 = function (isCollapsed, itemClassesProp) {
1732
+ if (itemClassesProp === void 0) { itemClassesProp = {}; }
1733
+ return (__assign(__assign({}, Object.fromEntries(Object.entries(itemClassesProp).map(function (_a) {
1734
+ var k = _a[0], v = _a[1];
1735
+ return [k, normalizeClass$1(v)];
1736
+ }))), { base: normalizeClass$1(react.cn(itemClassesProp === null || itemClassesProp === void 0 ? void 0 : itemClassesProp.base, {
1737
+ "w-11 h-11 gap-0 p-0": isCollapsed,
1738
+ })) }));
1739
+ };
1740
+
1741
+ var EnumMenuNavListItem$1;
1742
+ (function (EnumMenuNavListItem) {
1743
+ EnumMenuNavListItem["Nest"] = "nest";
1744
+ })(EnumMenuNavListItem$1 || (EnumMenuNavListItem$1 = {}));
1745
+
1746
+ /**
1747
+ * @component MenuNavList
1748
+ * @description A versatile navigation list component that can be displayed in an expanded or collapsed state.
1749
+ * It supports nested items, sections, and tooltips for items in the collapsed state.
1750
+ *
1751
+ * @param {MenuNavListProps} props - Props for configuring the component.
1752
+ * @param {MenuNavListItem[]} props.items - Array of items to display in the list.
1753
+ * @param {boolean} [props.isCollapsed] - If `true`, the menu is displayed in its collapsed state (icons only).
1754
+ * @param {React.Key} [props.defaultSelectedKey] - The key of the default selected item.
1755
+ * @param {(key: React.Key) => void} [props.onSelect] - Callback executed when an item is selected.
1756
+ * @param {boolean} [props.hideEndContent] - If `true`, hides the end content of the items.
1757
+ * @param {object} [props.sectionClasses] - CSS classes to customize the sections.
1758
+ * @param {object} [props.itemClasses] - CSS classes to customize the items.
1759
+ * @param {string} [props.iconClassName] - CSS class for the icons.
1760
+ * @param {object} [props.classNames] - CSS classes to customize the Listbox component.
1761
+ * @param {string} [props.className] - CSS class for the main container.
1762
+ *
1763
+ * @forwardRef
1764
+ */
1765
+ var MenuNavList$1 = React.forwardRef(function (_a, ref) {
1766
+ var items = _a.items, isCollapsed = _a.isCollapsed, defaultSelectedKey = _a.defaultSelectedKey; _a.onSelect; var hideEndContent = _a.hideEndContent, _b = _a.sectionClasses, sectionClassesProp = _b === void 0 ? {} : _b, _c = _a.itemClasses, itemClassesProp = _c === void 0 ? {} : _c, iconClassName = _a.iconClassName, classNames = _a.classNames, className = _a.className, props = __rest(_a, ["items", "isCollapsed", "defaultSelectedKey", "onSelect", "hideEndContent", "sectionClasses", "itemClasses", "iconClassName", "classNames", "className"]);
1767
+ var _d = React.useState(defaultSelectedKey), selected = _d[0], setSelected = _d[1];
1768
+ // Component styles
1769
+ var sectionClasses = getSectionClasses$1(isCollapsed, sectionClassesProp);
1770
+ var itemClasses = getItemClasses$1(isCollapsed, itemClassesProp);
1771
+ // Handles the click event on an item, updating the selection state.
1772
+ // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
1773
+ var handleItemPress = React.useCallback(function (item, parentKey) {
1774
+ var keySelected = typeof parentKey === "string" ? parentKey : item.key;
1775
+ setSelected(keySelected);
1776
+ // Force blur to remove hover state after click.
1777
+ if (document.activeElement instanceof HTMLElement) {
1778
+ document.activeElement.blur();
1779
+ }
1780
+ }, [setSelected]);
1781
+ // Renders the item displayed inside the Popover when the menu is collapsed.
1782
+ var renderCompactItem = React.useCallback(function (item, parentKey) {
1783
+ var _a, _b;
1784
+ return (React.createElement(react.ListboxItem, __assign({}, item, { key: item.key, endContent: (_a = item.endContent) !== null && _a !== void 0 ? _a : null, startContent: item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_b = item.startContent) !== null && _b !== void 0 ? _b : null)), textValue: item.title, title: item.title, className: "data-[hover=true]:text-default-600", onPress: function () { return handleItemPress(item, parentKey); } })));
1785
+ }, [handleItemPress, iconClassName]);
1786
+ // Renders a nested item, i.e., an item that has sub-items.
1787
+ // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
1788
+ var renderNestItem = React.useCallback(function (item) {
1789
+ var _a, _b, _c, _d, _e, _f, _g;
1790
+ var isNestType = item.items &&
1791
+ ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
1792
+ (item === null || item === void 0 ? void 0 : item.type) === EnumMenuNavListItem$1.Nest;
1793
+ if (isNestType) {
1794
+ item.href = undefined;
1795
+ }
1796
+ return (React.createElement(react.ListboxItem, __assign({}, item, { key: item.key, classNames: {
1797
+ base: react.cn({
1798
+ "h-auto p-0": !isCollapsed && isNestType,
1799
+ }, {
1800
+ "inline-block w-11": isCollapsed && isNestType,
1801
+ }, {
1802
+ "data-[selected=true]:bg-primary-100 h-11 justify-center items-center flex": isCollapsed && isNestType,
1803
+ }, "rounded-large"),
1804
+ }, endContent: isCollapsed || isNestType || hideEndContent
1805
+ ? null
1806
+ : ((_b = item.endContent) !== null && _b !== void 0 ? _b : null), startContent: isCollapsed || isNestType ? null : item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500 group-data-[selected=true]:text-foreground", iconClassName), icon: item.icon, size: "lg" })) : (((_c = item.startContent) !== null && _c !== void 0 ? _c : null)), title: isCollapsed || isNestType ? null : item.title }),
1807
+ isCollapsed && isNestType ? (jsxRuntime.jsxs(react.Popover, { placement: "right", offset: 10, children: [jsxRuntime.jsx(react.PopoverTrigger, { children: jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", children: jsxRuntime.jsx(react.Tooltip, { content: item.title, placement: "right", classNames: {
1808
+ base: "text-default-500",
1809
+ }, children: jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", children: item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500 group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_d = item.startContent) !== null && _d !== void 0 ? _d : null)) }) }) }) }), jsxRuntime.jsx(react.PopoverContent, { className: "p-0", children: jsxRuntime.jsxs("div", { className: "min-w-[200px] rounded-large p-2", children: [jsxRuntime.jsx("div", { className: "p-2 text-small font-semibold text-default-500", children: item.title }), jsxRuntime.jsx(react.Listbox, { className: "mt-0.5 text-default-500", "aria-label": "Nested menu items", items: item.items, variant: "flat", children: item.items && ((_e = item.items) === null || _e === void 0 ? void 0 : _e.length) > 0
1810
+ ? item.items.map(function (child) {
1811
+ return renderCompactItem(child, item.key);
1812
+ })
1813
+ : renderCompactItem(item) })] }) })] })) : null,
1814
+ !isCollapsed && isNestType ? (jsxRuntime.jsx(react.Accordion, { className: "p-0", children: jsxRuntime.jsx(react.AccordionItem, { "aria-label": item.title, classNames: {
1815
+ heading: "pr-3 group-data-[selected=true]:bg-primary-100 rounded-large",
1816
+ trigger: "p-0",
1817
+ content: "py-0 pl-4",
1818
+ }, title: item.icon ? (jsxRuntime.jsxs("div", { className: "flex h-11 items-center gap-2 px-3 py-1.5", children: [jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500 group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" }), jsxRuntime.jsx("span", { className: "text-small font-medium text-default-500 group-data-[selected=true]:text-default-600", children: item.title })] })) : (((_f = item.startContent) !== null && _f !== void 0 ? _f : null)), children: item.items && ((_g = item.items) === null || _g === void 0 ? void 0 : _g.length) > 0 ? (jsxRuntime.jsx(react.Listbox, { className: "mt-0.5 text-default-500", classNames: {
1819
+ list: react.cn("border-l border-default-200 pl-4"),
1820
+ }, items: item.items, variant: "flat", children: item.items.map(function (child) { return renderItem(child, item.key); }) })) : (renderItem(item)) }, item.key) })) : null));
1821
+ }, [isCollapsed, hideEndContent, iconClassName, items, selected]);
1822
+ // Renders a simple item (without children) in the navigation list.
1823
+ // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
1824
+ var renderItem = React.useCallback(function (item, parentKey) {
1825
+ var _a, _b, _c, _d;
1826
+ var isNestType = item.items &&
1827
+ ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
1828
+ (item === null || item === void 0 ? void 0 : item.type) === EnumMenuNavListItem$1.Nest;
1829
+ if (isNestType) {
1830
+ return renderNestItem(item);
1831
+ }
1832
+ var isItemSelected = selected === item.key;
1833
+ return (React.createElement(react.ListboxItem, __assign({}, item, { key: item.key, endContent: isCollapsed || hideEndContent ? null : ((_b = item.endContent) !== null && _b !== void 0 ? _b : null), startContent: isCollapsed ? null : item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_c = item.startContent) !== null && _c !== void 0 ? _c : null)), textValue: item.title, title: isCollapsed ? null : item.title, onPress: function () { return handleItemPress(item, parentKey); }, "aria-selected": isItemSelected, "aria-label": item.title || "Menu item ".concat(item.key) }), isCollapsed ? (jsxRuntime.jsx(react.Tooltip, { content: item.title, placement: "right", closeDelay: 200, shouldCloseOnBlur: false, classNames: {
1834
+ base: "text-default-500",
1835
+ }, children: jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", "aria-hidden": "true", children: item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_d = item.startContent) !== null && _d !== void 0 ? _d : null)) }) })) : null));
1836
+ },
1837
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1838
+ [isCollapsed, hideEndContent, iconClassName, itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.base]);
1839
+ return (jsxRuntime.jsx(react.Listbox, __assign({ ref: ref, hideSelectedIcon: true, as: "nav", className: react.cn("list-none", className), classNames: __assign(__assign({}, classNames), { list: react.cn("items-center", classNames === null || classNames === void 0 ? void 0 : classNames.list) }), color: "default", itemClasses: __assign(__assign({}, itemClasses), { base: react.cn("px-3 min-h-11 rounded-large h-[44px] data-[selected=true]:bg-primary-100", itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.base), title: react.cn("text-small font-medium text-default-500 group-data-[selected=true]:text-default-600 ", itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.title) }), items: items, selectedKeys: [selected], selectionMode: "single", variant: "flat" }, props, { children: function (item) {
1840
+ var _a, _b;
1841
+ return item.items &&
1842
+ ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
1843
+ (item === null || item === void 0 ? void 0 : item.type) === EnumMenuNavListItem$1.Nest ? (renderNestItem(item)) : item.items && ((_b = item.items) === null || _b === void 0 ? void 0 : _b.length) > 0 ? (jsxRuntime.jsx(react.ListboxSection, { classNames: sectionClasses, showDivider: isCollapsed, title: item.title, children: item.items.map(renderItem) }, item.key)) : (renderItem(item));
1844
+ } }), isCollapsed ? "compact" : "default"));
1845
+ });
1846
+ MenuNavList$1.displayName = "MenuNavList";
1847
+
1848
+ /**
1849
+ * Sidebar menu component for navigation and user actions.
1850
+ * @param commerceInfo - Object with logo and name of the company.
1851
+ * @param userInfo - Object with user avatar, name, and email.
1852
+ * @param helpButton - Help button configuration.
1853
+ * @param upgradeCard - Optional upgrade card configuration.
1854
+ * @param isOpenSidebar - Controls sidebar visibility.
1855
+ * @param onOpenSidebarChange - Callback to open/close sidebar.
1856
+ */
1857
+ React.memo(function Menu(_a) {
1858
+ var commerceInfo = _a.commerceInfo, userInfo = _a.userInfo, helpButton = _a.helpButton, upgradeCard = _a.upgradeCard, isOpenSidebar = _a.isOpenSidebar, onOpenSidebarChange = _a.onOpenSidebarChange, menuItems = _a.menuItems;
1859
+ // State to control menu collapse on desktop devices
1860
+ var _b = React.useState(false), isCollapsed = _b[0], setIsCollapsed = _b[1];
1861
+ // Memoized handlers for performance
1862
+ var handleSidebarClose = React.useCallback(function () {
1863
+ onOpenSidebarChange === null || onOpenSidebarChange === void 0 ? void 0 : onOpenSidebarChange(false);
1864
+ }, [onOpenSidebarChange]);
1865
+ var handleCollapseToggle = React.useCallback(function () {
1866
+ setIsCollapsed(function (prev) { return !prev; });
1867
+ }, []);
1868
+ var handleUpgradeClick = React.useCallback(function () {
1869
+ if (upgradeCard) {
1870
+ window.open(upgradeCard.buttonLink, "_blank");
1871
+ }
1872
+ }, [upgradeCard]);
1873
+ var handleHelpClick = React.useCallback(function () {
1874
+ window.open(helpButton.redirect, "_blank");
1875
+ }, [helpButton]);
1876
+ if (!isOpenSidebar) {
1877
+ return null;
1878
+ }
1879
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("button", { type: "button", "aria-label": "Close sidebar", className: "fixed inset-0 bg-black bg-opacity-40 z-40 xs:block sm:hidden", onClick: handleSidebarClose, style: { border: "none", padding: 0, margin: 0 } }), jsxRuntime.jsx("div", { className: "container__menu ".concat(isCollapsed
1880
+ ? "container__menu--collapsed"
1881
+ : "container__menu--expanded"), children: jsxRuntime.jsxs("div", { className: "content__menu", children: [jsxRuntime.jsxs("div", { className: "content__menu--header", style: { flexDirection: isCollapsed ? "column-reverse" : "row" }, children: [jsxRuntime.jsxs("div", { className: "flex flex-row items-center justify-center ".concat(isCollapsed ? "gap-0" : "gap-2"), children: [jsxRuntime.jsx("div", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-foreground", children: jsxRuntime.jsx("img", { src: commerceInfo.logo, alt: "Logo of ".concat(commerceInfo.name) }) }), jsxRuntime.jsx("span", { className: "collapsible-item text-small font-bold ", children: commerceInfo.name })] }), jsxRuntime.jsxs("div", { className: "flex items-center", children: [jsxRuntime.jsx(IconComponent, { icon: "material-symbols-light:close", size: "lg", className: "cursor-pointer block sm:hidden", onClick: handleSidebarClose }), jsxRuntime.jsx(IconComponent, { icon: isCollapsed
1882
+ ? "solar:alt-arrow-right-outline"
1883
+ : "solar:alt-arrow-left-outline", size: "lg", className: "hidden sm:block cursor-pointer", onClick: handleCollapseToggle })] })] }), jsxRuntime.jsx(react.Spacer, { y: 6 }), jsxRuntime.jsxs("div", { className: "content__menu--user ".concat(isCollapsed ? "gap-0" : "gap-3"), children: [jsxRuntime.jsx(react.Avatar, { size: "md", src: userInfo.avatar, color: userInfo.avatar === "" ? "warning" : "default", name: userInfo.name }), jsxRuntime.jsxs("div", { className: "collapsible-item flex flex-col", children: [jsxRuntime.jsx("p", { className: "text-small font-medium text-default-900", children: userInfo.name }), jsxRuntime.jsx("p", { className: "text-tiny text-default-400", children: userInfo.role })] })] }), jsxRuntime.jsx("div", { className: "".concat(!isCollapsed ? "flex-1" : "h-full", " min-h-0 py-6"), children: jsxRuntime.jsx("div", { className: "h-full overflow-y-auto pr-6 -mr-6 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: jsxRuntime.jsx(MenuNavList$1, { defaultSelectedKey: menuItems.selectedKey, items: menuItems.items, isCollapsed: isCollapsed }) }) }), upgradeCard && (jsxRuntime.jsxs("div", { className: "collapsible-item relative", children: [jsxRuntime.jsxs(react.Card, { className: "border-none overflow-visible shadow-none", shadow: "sm", children: [jsxRuntime.jsxs(react.CardBody, { className: "items-center py-5 text-center gap-1", children: [jsxRuntime.jsx("h3", { className: "text-medium font-medium text-default-900", children: upgradeCard.title }), jsxRuntime.jsx("p", { className: "text-small text-default-500 pb-3 whitespace-normal", children: upgradeCard.description })] }), jsxRuntime.jsx(react.CardFooter, { className: "absolute justify-center", style: { bottom: "-30px" }, children: jsxRuntime.jsx(react.Button, { className: "px-10 shadow-md", color: "primary", radius: "full", variant: "shadow", onPress: handleUpgradeClick, children: upgradeCard.buttonText }) })] }), jsxRuntime.jsx(react.Spacer, { y: 9 })] })), jsxRuntime.jsx("div", { className: "mt-auto flex flex-col justify-center items-center", children: jsxRuntime.jsx(react.Button, { fullWidth: true, className: " text-default-500 data-[hover=true]:text-default-600", startContent: jsxRuntime.jsx(IconComponent, { className: "text-default-500", icon: "solar:info-circle-line-duotone", size: "md" }), variant: "light", onPress: handleHelpClick, isIconOnly: isCollapsed, children: !isCollapsed && (jsxRuntime.jsx("span", { className: "collapsible-item", children: helpButton.title })) }) })] }) })] }));
1884
+ });
1885
+
1886
+ var StepIndicator$1 = function (_a) {
1887
+ var currentStep = _a.currentStep, totalSteps = _a.totalSteps, _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.showStepText, showStepText = _c === void 0 ? true : _c, stepTextFormatter = _a.stepTextFormatter, className = _a.className, props = __rest(_a, ["currentStep", "totalSteps", "color", "showStepText", "stepTextFormatter", "className"]);
1888
+ var progressPercentage = Math.min((currentStep / totalSteps) * 100, 100);
1889
+ var colorClasses = {
1890
+ primary: "bg-primary",
1891
+ secondary: "bg-secondary",
1892
+ success: "bg-success",
1893
+ warning: "bg-warning",
1894
+ danger: "bg-danger",
1895
+ };
1896
+ var defaultStepText = function (current, total) {
1897
+ return "Step ".concat(current, " of ").concat(total);
1898
+ };
1899
+ var stepText = stepTextFormatter
1900
+ ? stepTextFormatter(currentStep, totalSteps)
1901
+ : defaultStepText(currentStep, totalSteps);
1902
+ return (jsxRuntime.jsxs("div", __assign({ className: react.cn("w-full", className) }, props, { children: [showStepText && (jsxRuntime.jsx("div", { className: "text-center text-sm font-medium text-default-400 mb-3", children: stepText })), jsxRuntime.jsx("div", { className: "w-full bg-content2 rounded-full h-2 overflow-hidden", children: jsxRuntime.jsx("div", { className: react.cn("h-full transition-all duration-300 ease-out rounded-full", colorClasses[color]), style: { width: "".concat(progressPercentage, "%") } }) })] })));
1903
+ };
1904
+
1905
+ /*
1906
+ * Copyright 2020 Adobe. All rights reserved.
1907
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1908
+ * you may not use this file except in compliance with the License. You may obtain a copy
1909
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
1910
+ *
1911
+ * Unless required by applicable law or agreed to in writing, software distributed under
1912
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1913
+ * OF ANY KIND, either express or implied. See the License for the specific language
1914
+ * governing permissions and limitations under the License.
1915
+ */
1916
+ function $458b0a5536c1a7cf$export$40bfa8c7b0832715$1(value, defaultValue, onChange) {
1917
+ let [stateValue, setStateValue] = (React.useState)(value || defaultValue);
1918
+ let isControlledRef = (React.useRef)(value !== undefined);
1919
+ let isControlled = value !== undefined;
1920
+ (React.useEffect)(()=>{
1921
+ let wasControlled = isControlledRef.current;
1922
+ if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);
1923
+ isControlledRef.current = isControlled;
1924
+ }, [
1925
+ isControlled
1926
+ ]);
1927
+ let currentValue = isControlled ? value : stateValue;
1928
+ let setValue = (React.useCallback)((value, ...args)=>{
1929
+ let onChangeCaller = (value, ...onChangeArgs)=>{
1930
+ if (onChange) {
1931
+ if (!Object.is(currentValue, value)) onChange(value, ...onChangeArgs);
1932
+ }
1933
+ if (!isControlled) // If uncontrolled, mutate the currentValue local variable so that
1934
+ // calling setState multiple times with the same value only emits onChange once.
1935
+ // We do not use a ref for this because we specifically _do_ want the value to
1936
+ // reset every render, and assigning to a ref in render breaks aborted suspended renders.
1937
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1938
+ currentValue = value;
1939
+ };
1940
+ if (typeof value === 'function') {
1941
+ if (process.env.NODE_ENV !== 'production') console.warn('We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320');
1942
+ // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates
1943
+ // when someone using useControlledState calls setControlledState(myFunc)
1944
+ // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc
1945
+ // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning
1946
+ // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same
1947
+ let updateFunction = (oldValue, ...functionArgs)=>{
1948
+ let interceptedValue = value(isControlled ? currentValue : oldValue, ...functionArgs);
1949
+ onChangeCaller(interceptedValue, ...args);
1950
+ if (!isControlled) return interceptedValue;
1951
+ return oldValue;
1952
+ };
1953
+ setStateValue(updateFunction);
1954
+ } else {
1955
+ if (!isControlled) setStateValue(value);
1956
+ onChangeCaller(value, ...args);
1957
+ }
1958
+ }, [
1959
+ isControlled,
1960
+ currentValue,
1961
+ onChange
1962
+ ]);
1963
+ return [
1964
+ currentValue,
1965
+ setValue
1966
+ ];
1967
+ }
1968
+
1969
+ var defaultTranslations$6$1 = {
1970
+ checkIconTitle: "Check",
1971
+ };
1972
+ var VerticalSteps$1 = React.forwardRef(function (_a, ref) {
1973
+ var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.steps, stepsProp = _c === void 0 ? [] : _c, _d = _a.defaultStep, defaultStep = _d === void 0 ? 0 : _d, onStepChange = _a.onStepChange, currentStepProp = _a.currentStep, _e = _a.hideProgressBars, hideProgressBars = _e === void 0 ? false : _e, stepClassName = _a.stepClassName, className = _a.className, translations = _a.translations, props = __rest(_a, ["color", "steps", "defaultStep", "onStepChange", "currentStep", "hideProgressBars", "stepClassName", "className", "translations"]);
1974
+ var _f = $458b0a5536c1a7cf$export$40bfa8c7b0832715$1(currentStepProp, defaultStep, onStepChange), currentStep = _f[0], setCurrentStep = _f[1];
1975
+ var t = __assign(__assign({}, defaultTranslations$6$1), translations);
1976
+ var steps = React.useMemo(function () {
1977
+ if (typeof stepsProp === "number") {
1978
+ return Array.from({ length: stepsProp }, function () { return ({}); });
1979
+ }
1980
+ return stepsProp;
1981
+ }, [stepsProp]);
1982
+ var colors = React.useMemo(function () {
1983
+ var _a;
1984
+ var colorMappings = {
1985
+ primary: [
1986
+ "[--step-color:hsl(var(--heroui-primary))]",
1987
+ "[--step-fg-color:hsl(var(--heroui-primary-foreground))]",
1988
+ ],
1989
+ secondary: [
1990
+ "[--step-color:hsl(var(--heroui-secondary))]",
1991
+ "[--step-fg-color:hsl(var(--heroui-secondary-foreground))]",
1992
+ ],
1993
+ success: [
1994
+ "[--step-color:hsl(var(--heroui-success))]",
1995
+ "[--step-fg-color:hsl(var(--heroui-success-foreground))]",
1996
+ ],
1997
+ warning: [
1998
+ "[--step-color:hsl(var(--heroui-warning))]",
1999
+ "[--step-fg-color:hsl(var(--heroui-warning-foreground))]",
2000
+ ],
2001
+ danger: [
2002
+ "[--step-color:hsl(var(--heroui-danger))]",
2003
+ "[--step-fg-color:hsl(var(--heroui-danger-foreground))]",
2004
+ ],
2005
+ default: [
2006
+ "[--step-color:hsl(var(--heroui-default))]",
2007
+ "[--step-fg-color:hsl(var(--heroui-default-foreground))]",
2008
+ ],
2009
+ };
2010
+ var _b = (_a = colorMappings[color]) !== null && _a !== void 0 ? _a : colorMappings.primary, userColor = _b[0], fgColor = _b[1];
2011
+ var colorsVars = [
2012
+ "[--active-fg-color:var(--step-fg-color)]",
2013
+ "[--active-border-color:var(--step-color)]",
2014
+ "[--active-color:var(--step-color)]",
2015
+ "[--complete-background-color:var(--step-color)]",
2016
+ "[--complete-border-color:var(--step-color)]",
2017
+ "[--inactive-border-color:hsl(var(--heroui-default-300))]",
2018
+ "[--inactive-color:hsl(var(--heroui-default-300))]",
2019
+ ];
2020
+ if (!(className === null || className === void 0 ? void 0 : className.includes("--step-fg-color"))) {
2021
+ colorsVars.unshift(fgColor);
2022
+ }
2023
+ if (!(className === null || className === void 0 ? void 0 : className.includes("--step-color"))) {
2024
+ colorsVars.unshift(userColor);
2025
+ }
2026
+ if (!(className === null || className === void 0 ? void 0 : className.includes("--inactive-bar-color"))) {
2027
+ colorsVars.push("[--inactive-bar-color:hsl(var(--heroui-default-300))]");
2028
+ }
2029
+ return colorsVars;
2030
+ }, [color, className]);
2031
+ return (jsxRuntime.jsx("nav", { "aria-label": "Progress", className: "max-w-fit", children: jsxRuntime.jsx("ol", { className: react.cn("flex flex-col gap-y-3", colors, className), children: steps === null || steps === void 0 ? void 0 : steps.map(function (step, stepIdx) {
2032
+ var status = currentStep === stepIdx
2033
+ ? "active"
2034
+ : step.isCompleted
2035
+ ? "complete"
2036
+ : "inactive";
2037
+ var isDisabled = status === "inactive";
2038
+ return (
2039
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
2040
+ jsxRuntime.jsxs("li", { className: "relative", children: [jsxRuntime.jsx("div", { className: "flex w-full max-w-full items-center", children: jsxRuntime.jsxs("button", __assign({ type: "button", ref: ref, "aria-current": status === "active" ? "step" : undefined, className: react.cn("group rounded-large flex w-full cursor-pointer items-center justify-center gap-4 px-3 py-2.5", stepClassName, {
2041
+ "cursor-not-allowed": isDisabled,
2042
+ }), onClick: function () { return setCurrentStep(stepIdx); }, disabled: isDisabled }, props, { children: [jsxRuntime.jsx("div", { className: "flex h-full items-center", children: jsxRuntime.jsx(framerMotion.LazyMotion, { features: framerMotion.domAnimation, children: jsxRuntime.jsx("div", { className: "relative", children: jsxRuntime.jsx(framerMotion.m.div, { animate: status, className: react.cn("border-medium text-large text-default-600 relative flex h-[34px] w-[34px] items-center justify-center rounded-full font-semibold", {
2043
+ "shadow-lg": status === "complete",
2044
+ }), "data-status": status, initial: false, transition: { duration: 0.25 }, variants: {
2045
+ inactive: {
2046
+ backgroundColor: "transparent",
2047
+ borderColor: "var(--inactive-border-color)",
2048
+ color: "var(--inactive-color)",
2049
+ },
2050
+ active: {
2051
+ backgroundColor: "transparent",
2052
+ borderColor: "var(--active-border-color)",
2053
+ color: "var(--active-color)",
2054
+ },
2055
+ complete: {
2056
+ backgroundColor: "var(--complete-background-color)",
2057
+ borderColor: "var(--complete-border-color)",
2058
+ },
2059
+ }, children: jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: status === "complete" ? (jsxRuntime.jsx(IconComponent, { className: " text-[var(--active-fg-color)] font-bold", icon: "material-symbols:check-rounded", title: t.checkIconTitle })) : (jsxRuntime.jsx("span", { children: stepIdx + 1 })) }) }) }) }) }), jsxRuntime.jsx("div", { className: "flex-1 text-left", children: jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("div", { className: react.cn("text-medium text-default-600 font-medium transition-[color,opacity] duration-300 group-active:opacity-70", {
2060
+ "text-default-300": status === "inactive",
2061
+ }), children: step.title }), jsxRuntime.jsx("div", { className: react.cn("text-tiny text-default-600 lg:text-small transition-[color,opacity] duration-300 group-active:opacity-70", {
2062
+ "text-default-300": status === "inactive",
2063
+ }), children: step.description })] }) })] }), stepIdx) }), stepIdx < steps.length - 1 && !hideProgressBars && (jsxRuntime.jsx("div", { "aria-hidden": "true", className: react.cn("pointer-events-none absolute top-[calc(64px*var(--idx)+1)] left-3 flex h-1/2 -translate-y-1/3 items-center px-4"), style: {
2064
+ // @ts-ignore
2065
+ "--idx": stepIdx,
2066
+ }, children: jsxRuntime.jsx("div", { className: react.cn("relative h-full w-0.5 bg-[var(--inactive-bar-color)] transition-colors duration-300", "after:absolute after:block after:h-0 after:w-full after:bg-[var(--active-border-color)] after:transition-[height] after:duration-300 after:content-['']", {
2067
+ "after:h-full": stepIdx < currentStep,
2068
+ }) }) }))] }, stepIdx));
2069
+ }) }) }));
2070
+ });
2071
+ VerticalSteps$1.displayName = "VerticalSteps";
2072
+
2073
+ var stepperClasses$1 = react.cn(
2074
+ // light
2075
+ "[--step-color:hsl(var(--heroui-primary-400))]", "[--active-color:hsl(var(--heroui-primary-400))]", "[--inactive-border-color:hsl(var(--heroui-primary-200))]", "[--inactive-bar-color:hsl(var(--heroui-primary-200))]", "[--inactive-color:hsl(var(--heroui-primary-300))]",
2076
+ // dark
2077
+ "dark:[--step-color:rgba(255,255,255,0.1)]", "dark:[--active-color:hsl(var(--heroui-foreground-600))]", "dark:[--active-border-color:rgba(255,255,255,0.5)]", "dark:[--inactive-border-color:rgba(255,255,255,0.1)]", "dark:[--inactive-bar-color:rgba(255,255,255,0.1)]", "dark:[--inactive-color:rgba(255,255,255,0.2)]");
2078
+ var MultiStepSidebar$1 = React.forwardRef(function (_a, ref) {
2079
+ var children = _a.children, className = _a.className, currentPage = _a.currentPage; _a.onBack; _a.onNext; var onChangePage = _a.onChangePage, steps = _a.steps; _a.goBackTranslation; var onClose = _a.onClose, props = __rest(_a, ["children", "className", "currentPage", "onBack", "onNext", "onChangePage", "steps", "goBackTranslation", "onClose"]);
2080
+ var handleOverlayClick = function (e) {
2081
+ if (e.target === e.currentTarget) {
2082
+ onClose === null || onClose === void 0 ? void 0 : onClose();
2083
+ }
2084
+ };
2085
+ return (jsxRuntime.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-content3/50 backdrop-blur-sm", onClick: handleOverlayClick, children: jsxRuntime.jsxs("div", __assign({ ref: ref, className: react.cn("flex h-full w-full max-w-4xl rounded-lg bg-background shadow-lg lg:h-auto", className) }, props, { children: [jsxRuntime.jsx("div", { className: "hidden w-1/3 flex-col items-center justify-center gap-y-8 p-8 md:flex", children: jsxRuntime.jsx(VerticalSteps$1, { className: stepperClasses$1, color: "primary", currentStep: currentPage, steps: steps, onStepChange: onChangePage }) }), jsxRuntime.jsxs("div", { className: "relative flex h-auto justify-between w-full flex-col items-center gap-4 md:p-4 lg:w-2/3", children: [jsxRuntime.jsx(Button, { isIconOnly: true, className: "absolute right-4 top-4", size: "sm", variant: "light", color: "default", onPress: onClose, startContent: jsxRuntime.jsx(IconComponent, { className: "text-foreground", icon: "material-symbols:close-rounded", size: "lg" }) }), jsxRuntime.jsx("div", { className: "pt-9 w-10/12 md:hidden", children: jsxRuntime.jsx("div", { className: "flex w-full justify-center", children: jsxRuntime.jsx(StepIndicator$1, { className: react.cn(stepperClasses$1), currentStep: currentPage + 1, totalSteps: steps.length }) }) }), jsxRuntime.jsx("div", { className: " flex flex-col h-full w-full justify-between p-4 sm:max-w-md md:max-w-lg", children: children })] })] })) }));
2086
+ });
2087
+ MultiStepSidebar$1.displayName = "MultiStepSidebar";
2088
+
2089
+ // Lista de países con código telefónico y código ISO
2090
+ var countries$1 = [
2091
+ { code: "+57", name: "Colombia", country: "CO" },
2092
+ { code: "+54", name: "Argentina", country: "AR" },
2093
+ { code: "+55", name: "Brazil", country: "BR" },
2094
+ { code: "+52", name: "Mexico", country: "MX" },
2095
+ { code: "+503", name: "El Salvador", country: "SV" },
2096
+ { code: "+51", name: "Peru", country: "PE" },
2097
+ { code: "+56", name: "Chile", country: "CL" },
2098
+ { code: "+1", name: "United States", country: "US" },
2099
+ { code: "+7", name: "Russia", country: "RU" },
2100
+ { code: "+20", name: "Egypt", country: "EG" },
2101
+ { code: "+27", name: "South Africa", country: "ZA" },
2102
+ { code: "+33", name: "France", country: "FR" },
2103
+ { code: "+34", name: "Spain", country: "ES" },
2104
+ { code: "+39", name: "Italy", country: "IT" },
2105
+ { code: "+44", name: "United Kingdom", country: "GB" },
2106
+ { code: "+49", name: "Germany", country: "DE" },
2107
+ { code: "+61", name: "Australia", country: "AU" },
2108
+ { code: "+62", name: "Indonesia", country: "ID" },
2109
+ { code: "+64", name: "New Zealand", country: "NZ" },
2110
+ { code: "+65", name: "Singapore", country: "SG" },
2111
+ { code: "+81", name: "Japan", country: "JP" },
2112
+ { code: "+86", name: "China", country: "CN" },
2113
+ { code: "+91", name: "India", country: "IN" },
2114
+ { code: "+351", name: "Portugal", country: "PT" },
2115
+ { code: "+971", name: "UAE", country: "AE" },
2116
+ ];
2117
+ Array.from(new Map(countries$1.map(function (item) { return [item.code + item.name, item]; })).values());
2118
+
2119
+ var RowSteps$1 = React.forwardRef(function (_a, ref) {
2120
+ var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.steps, stepsProp = _c === void 0 ? [] : _c, _d = _a.defaultStep, defaultStep = _d === void 0 ? 0 : _d, onStepChange = _a.onStepChange, currentStepProp = _a.currentStep, _e = _a.hideProgressBars, hideProgressBars = _e === void 0 ? false : _e, stepClassName = _a.stepClassName, className = _a.className; _a.translations; var props = __rest(_a, ["color", "steps", "defaultStep", "onStepChange", "currentStep", "hideProgressBars", "stepClassName", "className", "translations"]);
2121
+ var _f = $458b0a5536c1a7cf$export$40bfa8c7b0832715$1(currentStepProp, defaultStep, onStepChange), currentStep = _f[0], setCurrentStep = _f[1];
2122
+ var steps = React.useMemo(function () {
2123
+ if (typeof stepsProp === "number") {
2124
+ return Array.from({ length: stepsProp }, function () { return ({}); });
2125
+ }
2126
+ return stepsProp;
2127
+ }, [stepsProp]);
2128
+ var colors = React.useMemo(function () {
2129
+ var _a;
2130
+ var colorMappings = {
2131
+ primary: [
2132
+ "[--step-color:hsl(var(--heroui-primary))]",
2133
+ "[--step-fg-color:hsl(var(--heroui-primary-foreground))]",
2134
+ ],
2135
+ secondary: [
2136
+ "[--step-color:hsl(var(--heroui-secondary))]",
2137
+ "[--step-fg-color:hsl(var(--heroui-secondary-foreground))]",
2138
+ ],
2139
+ success: [
2140
+ "[--step-color:hsl(var(--heroui-success))]",
2141
+ "[--step-fg-color:hsl(var(--heroui-success-foreground))]",
2142
+ ],
2143
+ warning: [
2144
+ "[--step-color:hsl(var(--heroui-warning))]",
2145
+ "[--step-fg-color:hsl(var(--heroui-warning-foreground))]",
2146
+ ],
2147
+ danger: [
2148
+ "[--step-color:hsl(var(--heroui-danger))]",
2149
+ "[--step-fg-color:hsl(var(--heroui-danger-foreground))]",
2150
+ ],
2151
+ default: [
2152
+ "[--step-color:hsl(var(--heroui-default))]",
2153
+ "[--step-fg-color:hsl(var(--heroui-default-foreground))]",
2154
+ ],
2155
+ };
2156
+ var _b = (_a = colorMappings[color]) !== null && _a !== void 0 ? _a : colorMappings.primary, userColor = _b[0], fgColor = _b[1];
2157
+ var colorsVars = [
2158
+ "[--active-fg-color:var(--step-fg-color)]",
2159
+ "[--active-border-color:var(--step-color)]",
2160
+ "[--active-color:var(--step-color)]",
2161
+ "[--complete-background-color:var(--step-color)]",
2162
+ "[--complete-border-color:var(--step-color)]",
2163
+ "[--inactive-border-color:hsl(var(--heroui-default-300))]",
2164
+ "[--inactive-color:hsl(var(--heroui-default-300))]",
2165
+ ];
2166
+ if (!(className === null || className === void 0 ? void 0 : className.includes("--step-fg-color"))) {
2167
+ colorsVars.unshift(fgColor);
2168
+ }
2169
+ if (!(className === null || className === void 0 ? void 0 : className.includes("--step-color"))) {
2170
+ colorsVars.unshift(userColor);
2171
+ }
2172
+ if (!(className === null || className === void 0 ? void 0 : className.includes("--inactive-bar-color"))) {
2173
+ colorsVars.push("[--inactive-bar-color:hsl(var(--heroui-default-300))]");
2174
+ }
2175
+ return colorsVars;
2176
+ }, [color, className]);
2177
+ return (jsxRuntime.jsx("nav", { "aria-label": "Progress", className: "-my-4 max-w-fit overflow-x-auto py-4", children: jsxRuntime.jsx("ol", { className: react.cn("flex flex-row flex-nowrap gap-x-3", colors, className), children: steps === null || steps === void 0 ? void 0 : steps.map(function (step, stepIdx) {
2178
+ var status = currentStep === stepIdx
2179
+ ? "active"
2180
+ : currentStep < stepIdx
2181
+ ? "inactive"
2182
+ : "complete";
2183
+ return (jsxRuntime.jsx("li", { className: "relative flex w-full items-center pr-12 last:pr-0", children: jsxRuntime.jsxs("button", __assign({ type: "button", ref: ref, "aria-current": status === "active" ? "step" : undefined, className: react.cn("group rounded-large flex w-full cursor-pointer flex-row items-center justify-center gap-x-3 py-2.5", stepClassName), onClick: function () { return setCurrentStep(stepIdx); } }, props, { children: [jsxRuntime.jsx("div", { className: "h-ful relative flex items-center", children: jsxRuntime.jsx(framerMotion.LazyMotion, { features: framerMotion.domAnimation, children: jsxRuntime.jsx(framerMotion.m.div, { animate: status, className: "relative", children: jsxRuntime.jsx(framerMotion.m.div, { className: react.cn("border-medium text-large text-default-600 relative flex h-[34px] w-[34px] items-center justify-center rounded-full font-semibold", {
2184
+ "shadow-lg": status === "complete",
2185
+ }), initial: false, transition: { duration: 0.25 }, variants: {
2186
+ inactive: {
2187
+ backgroundColor: "transparent",
2188
+ borderColor: "var(--inactive-border-color)",
2189
+ color: "var(--inactive-color)",
2190
+ },
2191
+ active: {
2192
+ backgroundColor: "transparent",
2193
+ borderColor: "var(--active-border-color)",
2194
+ color: "var(--active-color)",
2195
+ },
2196
+ complete: {
2197
+ backgroundColor: "var(--complete-background-color)",
2198
+ borderColor: "var(--complete-border-color)",
2199
+ },
2200
+ }, children: jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: status === "complete" ? (jsxRuntime.jsx(IconComponent, { className: " text-[var(--active-fg-color)] font-bold", icon: "material-symbols:check-rounded" })) : (jsxRuntime.jsx("span", { children: stepIdx + 1 })) }) }) }) }) }), step.title && (jsxRuntime.jsx("div", { className: "max-w-full flex-1 text-start", children: jsxRuntime.jsx("div", { className: react.cn("text-small text-default-600 lg:text-medium font-medium transition-[color,opacity] duration-300 group-active:opacity-80", {
2201
+ "text-default-300": status === "inactive",
2202
+ }), children: step.title }) })), stepIdx < steps.length - 1 && !hideProgressBars && (jsxRuntime.jsx("div", { "aria-hidden": "true", className: "pointer-events-none absolute right-0 w-10 flex-none items-center", style: {
2203
+ // @ts-ignore
2204
+ "--idx": stepIdx,
2205
+ }, children: jsxRuntime.jsx("div", { className: react.cn("relative h-0.5 w-full bg-[var(--inactive-bar-color)] transition-colors duration-300", "after:absolute after:block after:h-full after:w-0 after:bg-[var(--active-border-color)] after:transition-[width] after:duration-300 after:content-['']", {
2206
+ "after:w-full": stepIdx < currentStep,
2207
+ }) }) }))] }), stepIdx) }, stepIdx));
2208
+ }) }) }));
2209
+ });
2210
+ RowSteps$1.displayName = "RowSteps";
2211
+
2212
+ React.createContext(undefined);
960
2213
 
961
2214
  /**
962
- * Chip - Componente para mostrar etiquetas o badges
963
- * basado en HeroUI siguiendo las reglas de diseño BeweOS.
2215
+ * @file This file contains the theme configurations for the application.
964
2216
  */
965
- var Chip = function (_a) {
966
- var _b = _a.color, color = _b === void 0 ? "default" : _b, props = __rest(_a, ["color"]);
967
- // Colores estándar de HeroUI
968
- var standardColors = [
969
- "default",
970
- "primary",
971
- "secondary",
972
- "success",
973
- "warning",
974
- "danger",
975
- ];
976
- // Si es un color estándar, usar HeroUI normalmente
977
- if (standardColors.includes(color)) {
978
- return (jsxRuntime.jsx(react.Chip, __assign({}, props, { color: color, onClose: props.onClose })));
979
- }
980
- // Si es un color personalizado, aplicar clases CSS específicas
981
- var customColorClasses = {
982
- red: "bg-red-100 text-red-500",
983
- purple: "bg-purple-100 text-purple-500",
984
- blue: "bg-blue-100 text-blue-500",
985
- green: "bg-green-100 text-green-500",
986
- orange: "bg-orange-100 text-orange-500",
987
- };
988
- var colorClasses = customColorClasses[color];
989
- return (jsxRuntime.jsx(react.Chip, __assign({}, props, { onClose: props.onClose, classNames: __assign({ base: colorClasses }, props.classNames) })));
990
- };
2217
+ __spreadArray(["light", "dark"], Object.keys(themeColors));
2218
+
2219
+ React.createContext(undefined);
991
2220
 
992
- // Traducciones por defecto en español
993
2221
  var defaultTranslations$7 = {
994
- dayOption: "Día específico",
995
- dateRangeOption: "Rango de fechas",
996
- selectDateAriaLabel: "Seleccionar fecha",
997
- selectDateRangeAriaLabel: "Seleccionar rango de fechas",
2222
+ previewAlt: "Vista previa de imagen",
2223
+ removeButtonAriaLabel: "Eliminar imagen",
2224
+ emptyStateText: "No hay imágenes para mostrar",
2225
+ clickableImageAriaLabel: "Hacer clic para ampliar imagen",
2226
+ };
2227
+ var sizeClasses = {
2228
+ micro: "w-12 h-12",
2229
+ small: "w-[100px] h-[100px]",
2230
+ medium: "w-[150px] h-[150px]",
2231
+ large: "w-[200px] h-[200px]",
2232
+ };
2233
+ var radiusClasses = {
2234
+ none: "rounded-none",
2235
+ sm: "rounded-sm",
2236
+ md: "rounded-md",
2237
+ lg: "rounded-lg",
2238
+ full: "rounded-full",
998
2239
  };
999
2240
  /**
1000
- * DateSelector - Componente para seleccionar fechas individuales o rangos de fechas
1001
- * basado en HeroUI siguiendo las reglas de diseño BeweOS.
1002
- * Maneja su propio estado interno de manera autónoma.
2241
+ * Normalizes input to array of ImagePreviewItem
1003
2242
  */
1004
- var DateSelector = function (_a) {
1005
- var _b = _a.initialType, initialType = _b === void 0 ? exports.HolidayType.SingleDay : _b, initialDate = _a.initialDate, initialDateRange = _a.initialDateRange, onChange = _a.onChange, _c = _a.translations, translations = _c === void 0 ? {} : _c, radioGroupProps = _a.radioGroupProps, radioItemProps = _a.radioItemProps, datePickerProps = _a.datePickerProps, dateRangePickerProps = _a.dateRangePickerProps, _d = _a.className, className = _d === void 0 ? "" : _d;
1006
- // Estado interno del componente
1007
- var _e = React.useState(initialType), type = _e[0], setType = _e[1];
1008
- var _f = React.useState(initialDate || null), date = _f[0], setDate = _f[1];
1009
- var _g = React.useState(initialDateRange || null), dateRange = _g[0], setDateRange = _g[1];
1010
- // Combinar traducciones por defecto con las proporcionadas
1011
- var t = __assign(__assign({}, defaultTranslations$7), translations);
1012
- var handleTypeChange = function (value) {
1013
- var newType = value;
1014
- setType(newType);
1015
- // Limpiar valores cuando cambia el tipo
1016
- if (newType === exports.HolidayType.SingleDay) {
1017
- setDateRange(null);
2243
+ var normalizeImages = function (images) {
2244
+ var imgArray = Array.isArray(images) ? images : [images];
2245
+ return imgArray.map(function (img, index) {
2246
+ if (typeof img === "string") {
2247
+ return { src: img, id: "img-".concat(index) };
1018
2248
  }
1019
- else {
1020
- setDate(null);
2249
+ return __assign$1(__assign$1({}, img), { id: img.id || "img-".concat(index) });
2250
+ });
2251
+ };
2252
+ var ImagePreview = function (_a) {
2253
+ var images = _a.images, _b = _a.size, size = _b === void 0 ? "small" : _b, onRemove = _a.onRemove, _c = _a.showRemoveButton, showRemoveButton = _c === void 0 ? true : _c, _d = _a.className, className = _d === void 0 ? "" : _d, _e = _a.translations, translations = _e === void 0 ? {} : _e, _f = _a.backgroundColor, backgroundColor = _f === void 0 ? "bg-white dark:bg-gray-800" : _f, _g = _a.radius, radius = _g === void 0 ? "lg" : _g, _h = _a.showBorder, showBorder = _h === void 0 ? true : _h, onImageClick = _a.onImageClick;
2254
+ var t = __assign$1(__assign$1({}, defaultTranslations$7), translations);
2255
+ var normalizedImages = normalizeImages(images);
2256
+ var sizeClass = sizeClasses[size];
2257
+ var radiusClass = radiusClasses[radius];
2258
+ if (normalizedImages.length === 0) {
2259
+ return (jsxRuntime.jsx("div", { className: "text-sm text-default-500 text-center py-4", children: t.emptyStateText }));
2260
+ }
2261
+ var handleRemove = function (id, index) {
2262
+ if (onRemove) {
2263
+ onRemove(id, index);
1021
2264
  }
1022
- // Notificar cambio
1023
- onChange === null || onChange === void 0 ? void 0 : onChange({
1024
- type: newType,
1025
- date: newType === exports.HolidayType.SingleDay ? date : null,
1026
- dateRange: newType === exports.HolidayType.DateRange ? dateRange : null,
1027
- });
1028
- };
1029
- var handleDateChange = function (selectedDate) {
1030
- setDate(selectedDate);
1031
- onChange === null || onChange === void 0 ? void 0 : onChange({
1032
- type: type,
1033
- date: selectedDate,
1034
- dateRange: null,
1035
- });
1036
2265
  };
1037
- var handleDateRangeChange = function (range) {
1038
- setDateRange(range);
1039
- onChange === null || onChange === void 0 ? void 0 : onChange({
1040
- type: type,
1041
- date: null,
1042
- dateRange: range,
1043
- });
2266
+ var handleImageClick = function (image, index) {
2267
+ if (onImageClick) {
2268
+ onImageClick(image, index);
2269
+ }
1044
2270
  };
1045
- return (jsxRuntime.jsxs("div", { className: "w-full flex flex-wrap xs:gap-5 justify-between items-center ".concat(className), children: [jsxRuntime.jsxs(react.RadioGroup, __assign({ color: "primary", orientation: "horizontal", size: "sm", value: type, onValueChange: handleTypeChange }, radioGroupProps, { children: [jsxRuntime.jsx(react.Radio, __assign({ value: exports.HolidayType.SingleDay }, radioItemProps, { children: t.dayOption })), jsxRuntime.jsx(react.Radio, __assign({ value: exports.HolidayType.DateRange }, radioItemProps, { children: t.dateRangeOption }))] })), type === exports.HolidayType.DateRange ? (jsxRuntime.jsx(react.DateRangePicker, __assign({ className: "xs:w-full md:flex-1 md:max-w-xs", value: dateRange || null, onChange: handleDateRangeChange, "aria-label": t.selectDateRangeAriaLabel, endContent: jsxRuntime.jsx(IconComponent, { icon: "solar:calendar-outline" }) }, dateRangePickerProps))) : (jsxRuntime.jsx(react.DatePicker, __assign({ className: "xs:w-full md:flex-1 md:max-w-40", value: date || null, onChange: handleDateChange, endContent: jsxRuntime.jsx(IconComponent, { icon: "solar:calendar-outline" }), "aria-label": t.selectDateAriaLabel }, datePickerProps)))] }));
1046
- };
1047
-
1048
- var H1 = function (_a) {
1049
- var children = _a.children, className = _a.className, props = __rest(_a, ["children", "className"]);
1050
- return (jsxRuntime.jsx("h1", __assign({ className: react.cn("text-xl font-bold", className) }, props, { children: children })));
1051
- };
1052
-
1053
- var H3 = function (_a) {
1054
- var children = _a.children, className = _a.className, props = __rest(_a, ["children", "className"]);
1055
- return (jsxRuntime.jsx("h3", __assign({ className: react.cn("text-base font-medium", className) }, props, { children: children })));
1056
- };
1057
-
1058
- var H4 = function (_a) {
1059
- var children = _a.children, className = _a.className, props = __rest(_a, ["children", "className"]);
1060
- return (jsxRuntime.jsx("h4", __assign({ className: react.cn("text-sm font-medium ", className) }, props, { children: children })));
1061
- };
1062
-
1063
- /**
1064
- * Breadcrumbs - Wrapper simple del componente HeroUI Breadcrumbs
1065
- *
1066
- * Este componente es un wrapper directo del componente Breadcrumbs de HeroUI,
1067
- * proporcionando una interfaz simplificada y consistente con el resto de la librería.
1068
- *
1069
- * @example
1070
- * ```tsx
1071
- * // Uso básico
1072
- * <Breadcrumbs>
1073
- * <BreadcrumbItem href="/">Inicio</BreadcrumbItem>
1074
- * <BreadcrumbItem href="/products">Productos</BreadcrumbItem>
1075
- * <BreadcrumbItem>Detalle</BreadcrumbItem>
1076
- * </Breadcrumbs>
1077
- *
1078
- * // Con items como prop
1079
- * <Breadcrumbs
1080
- * items={[
1081
- * { label: "Inicio", href: "/" },
1082
- * { label: "Productos", href: "/products" },
1083
- * { label: "Detalle", isCurrent: true }
1084
- * ]}
1085
- * />
1086
- * ```
1087
- */
1088
- var BreadcrumbsComponent = function (_a) {
1089
- var items = _a.items, children = _a.children, heroUIProps = __rest(_a, ["items", "children"]);
1090
- return (jsxRuntime.jsx(react.Breadcrumbs, __assign({}, heroUIProps, { children: items
1091
- ? items.map(function (item, index) { return (jsxRuntime.jsx(react.BreadcrumbItem, { href: item.href, isCurrent: item.isCurrent, children: item.label }, "".concat(item.href || item.label, "-").concat(index))); })
1092
- : children })));
1093
- };
1094
-
1095
- var ConfigMenu = function (_a) {
1096
- var _b;
1097
- var options = _a.options, onLogout = _a.onLogout, translations = _a.translations;
1098
- return (jsxRuntime.jsxs(react.Dropdown, { className: "min-w-40", children: [jsxRuntime.jsx(react.DropdownTrigger, { children: jsxRuntime.jsx(react.Button, { isIconOnly: true, color: "default", startContent: jsxRuntime.jsx(IconComponent, { icon: "solar:settings-linear" }) }) }), jsxRuntime.jsxs(react.DropdownMenu, { "aria-label": "Configuration", children: [jsxRuntime.jsx(react.DropdownSection, { showDivider: true, className: "mb-0", children: options.map(function (item) { return (jsxRuntime.jsx(react.DropdownItem, { href: item.href, className: "data-[hover=true]:bg-primary-100 data-[hover=true]:text-default-700", classNames: {
1099
- base: "text-default-500",
1100
- }, startContent: item.icon ? jsxRuntime.jsx(IconComponent, { icon: item.icon }) : undefined, children: item.label }, item.label)); }) }), jsxRuntime.jsx(react.DropdownSection, { children: jsxRuntime.jsx(react.DropdownItem, { onPress: onLogout, className: "data-[hover=true]:bg-primary-100 data-[hover=true]:text-default-700", classNames: {
1101
- base: "text-default-500",
1102
- }, startContent: jsxRuntime.jsx(IconComponent, { icon: "solar:logout-2-linear" }), children: (_b = translations === null || translations === void 0 ? void 0 : translations.logout) !== null && _b !== void 0 ? _b : "Logout" }, "logout") })] })] }));
2271
+ var isClickable = !!onImageClick;
2272
+ return (jsxRuntime.jsx("div", { className: "flex flex-wrap gap-3 ".concat(className), children: normalizedImages.map(function (image, index) { return (jsxRuntime.jsx("div", { className: "relative", children: jsxRuntime.jsxs("div", { className: "relative ".concat(sizeClass), children: [jsxRuntime.jsx("img", { src: image.src, alt: image.alt || t.previewAlt, className: "\n\t\t\t\t\t\t\t\t".concat(sizeClass, " \n\t\t\t\t\t\t\t\tobject-contain \n\t\t\t\t\t\t\t\t").concat(radiusClass, " \n\t\t\t\t\t\t\t\t").concat(backgroundColor, " \n\t\t\t\t\t\t\t\t").concat(showBorder ? "border border-default-200 dark:border-default-700" : "", "\n\t\t\t\t\t\t\t\tshadow-sm\n\t\t\t\t\t\t\t\t").concat(isClickable ? "cursor-pointer hover:opacity-80 transition-opacity" : "", "\n\t\t\t\t\t\t\t"), onClick: isClickable ? function () { return handleImageClick(image, index); } : undefined, onKeyDown: isClickable
2273
+ ? function (e) {
2274
+ if (e.key === "Enter" || e.key === " ") {
2275
+ e.preventDefault();
2276
+ handleImageClick(image, index);
2277
+ }
2278
+ }
2279
+ : undefined, role: isClickable ? "button" : undefined, tabIndex: isClickable ? 0 : undefined, "aria-label": isClickable ? t.clickableImageAriaLabel : undefined }), showRemoveButton && onRemove && (jsxRuntime.jsx("button", { type: "button", onClick: function () { return handleRemove(image.id || "", index); }, "aria-label": t.removeButtonAriaLabel, className: "\n\t\t\t\t\t\t\t\t\tabsolute -top-2 -right-2 \n\t\t\t\t\t\t\t\t\tp-1 rounded-full \n\t\t\t\t\t\t\t\t\tbg-danger-500 hover:bg-danger-600 \n\t\t\t\t\t\t\t\t\ttext-white \n\t\t\t\t\t\t\t\t\tcursor-pointer \n\t\t\t\t\t\t\t\t\ttransition-colors\n\t\t\t\t\t\t\t\t\tfocus:outline-none \n\t\t\t\t\t\t\t\t\tfocus:ring-2 \n\t\t\t\t\t\t\t\t\tfocus:ring-danger-400 \n\t\t\t\t\t\t\t\t\tfocus:ring-offset-2\n\t\t\t\t\t\t\t\t", children: jsxRuntime.jsx(IconComponent, { size: size === "micro" ? "sm" : "md", icon: "solar:trash-bin-minimalistic-outline" }) }))] }) }, image.id || index)); }) }));
1103
2280
  };
1104
- ConfigMenu.displayName = "ConfigMenu";
1105
-
1106
- var NotificationButton = function (_a) {
1107
- var _b = _a.notificationCount, notificationCount = _b === void 0 ? 0 : _b;
1108
- return (jsxRuntime.jsx(react.Button, { isIconOnly: true, color: "secondary", variant: "flat", startContent: jsxRuntime.jsx(IconComponent, { icon: "solar:bell-bing-linear" }), children: notificationCount > 0 && (jsxRuntime.jsx("span", { className: "notification__alert", children: notificationCount })) }));
1109
- };
1110
- NotificationButton.displayName = "NotificationButton";
1111
-
1112
- var HeaderComponent = function (_a) {
1113
- var notificationCount = _a.notificationCount, options = _a.options, onMenuClick = _a.onMenuClick, onLogout = _a.onLogout, translations = _a.translations, breadcrumbs = _a.breadcrumbs;
1114
- return (jsxRuntime.jsx("header", { className: "header__container", children: jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-full", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [jsxRuntime.jsx(react.Button, { className: "sm:hidden", isIconOnly: true, variant: "light", startContent: jsxRuntime.jsx(IconComponent, { icon: "solar:hamburger-menu-linear" }), onPress: onMenuClick }), breadcrumbs && breadcrumbs.length > 0 && (jsxRuntime.jsx(BreadcrumbsComponent, { items: breadcrumbs }))] }), jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [jsxRuntime.jsx(NotificationButton, { notificationCount: notificationCount }), jsxRuntime.jsx(ConfigMenu, { options: options, onLogout: onLogout, translations: translations })] })] }) }));
1115
- };
1116
- HeaderComponent.displayName = "Header";
1117
2281
 
1118
2282
  function normalizeClass(value) {
1119
2283
  if (typeof value === "string") {
@@ -1126,7 +2290,7 @@ function normalizeClass(value) {
1126
2290
  }
1127
2291
  var getSectionClasses = function (isCollapsed, sectionClassesProp) {
1128
2292
  if (sectionClassesProp === void 0) { sectionClassesProp = {}; }
1129
- return (__assign(__assign({}, Object.fromEntries(Object.entries(sectionClassesProp).map(function (_a) {
2293
+ return (__assign$1(__assign$1({}, Object.fromEntries(Object.entries(sectionClassesProp).map(function (_a) {
1130
2294
  var k = _a[0], v = _a[1];
1131
2295
  return [k, normalizeClass(v)];
1132
2296
  }))), { base: normalizeClass(react.cn(sectionClassesProp === null || sectionClassesProp === void 0 ? void 0 : sectionClassesProp.base, "w-full", {
@@ -1139,7 +2303,7 @@ var getSectionClasses = function (isCollapsed, sectionClassesProp) {
1139
2303
  };
1140
2304
  var getItemClasses = function (isCollapsed, itemClassesProp) {
1141
2305
  if (itemClassesProp === void 0) { itemClassesProp = {}; }
1142
- return (__assign(__assign({}, Object.fromEntries(Object.entries(itemClassesProp).map(function (_a) {
2306
+ return (__assign$1(__assign$1({}, Object.fromEntries(Object.entries(itemClassesProp).map(function (_a) {
1143
2307
  var k = _a[0], v = _a[1];
1144
2308
  return [k, normalizeClass(v)];
1145
2309
  }))), { base: normalizeClass(react.cn(itemClassesProp === null || itemClassesProp === void 0 ? void 0 : itemClassesProp.base, {
@@ -1172,7 +2336,7 @@ var EnumMenuNavListItem;
1172
2336
  * @forwardRef
1173
2337
  */
1174
2338
  var MenuNavList = React.forwardRef(function (_a, ref) {
1175
- var items = _a.items, isCollapsed = _a.isCollapsed, defaultSelectedKey = _a.defaultSelectedKey; _a.onSelect; var hideEndContent = _a.hideEndContent, _b = _a.sectionClasses, sectionClassesProp = _b === void 0 ? {} : _b, _c = _a.itemClasses, itemClassesProp = _c === void 0 ? {} : _c, iconClassName = _a.iconClassName, classNames = _a.classNames, className = _a.className, props = __rest(_a, ["items", "isCollapsed", "defaultSelectedKey", "onSelect", "hideEndContent", "sectionClasses", "itemClasses", "iconClassName", "classNames", "className"]);
2339
+ var items = _a.items, isCollapsed = _a.isCollapsed, defaultSelectedKey = _a.defaultSelectedKey; _a.onSelect; var hideEndContent = _a.hideEndContent, _b = _a.sectionClasses, sectionClassesProp = _b === void 0 ? {} : _b, _c = _a.itemClasses, itemClassesProp = _c === void 0 ? {} : _c, iconClassName = _a.iconClassName, classNames = _a.classNames, className = _a.className, props = __rest$1(_a, ["items", "isCollapsed", "defaultSelectedKey", "onSelect", "hideEndContent", "sectionClasses", "itemClasses", "iconClassName", "classNames", "className"]);
1176
2340
  var _d = React.useState(defaultSelectedKey), selected = _d[0], setSelected = _d[1];
1177
2341
  // Component styles
1178
2342
  var sectionClasses = getSectionClasses(isCollapsed, sectionClassesProp);
@@ -1190,7 +2354,7 @@ var MenuNavList = React.forwardRef(function (_a, ref) {
1190
2354
  // Renders the item displayed inside the Popover when the menu is collapsed.
1191
2355
  var renderCompactItem = React.useCallback(function (item, parentKey) {
1192
2356
  var _a, _b;
1193
- return (React.createElement(react.ListboxItem, __assign({}, item, { key: item.key, endContent: (_a = item.endContent) !== null && _a !== void 0 ? _a : null, startContent: item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_b = item.startContent) !== null && _b !== void 0 ? _b : null)), textValue: item.title, title: item.title, className: "data-[hover=true]:text-default-600", onPress: function () { return handleItemPress(item, parentKey); } })));
2357
+ return (React.createElement(react.ListboxItem, __assign$1({}, item, { key: item.key, endContent: (_a = item.endContent) !== null && _a !== void 0 ? _a : null, startContent: item.icon ? (jsxRuntime.jsx(IconComponent$1, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_b = item.startContent) !== null && _b !== void 0 ? _b : null)), textValue: item.title, title: item.title, className: "data-[hover=true]:text-default-600", onPress: function () { return handleItemPress(item, parentKey); } })));
1194
2358
  }, [handleItemPress, iconClassName]);
1195
2359
  // Renders a nested item, i.e., an item that has sub-items.
1196
2360
  // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
@@ -1202,7 +2366,7 @@ var MenuNavList = React.forwardRef(function (_a, ref) {
1202
2366
  if (isNestType) {
1203
2367
  item.href = undefined;
1204
2368
  }
1205
- return (React.createElement(react.ListboxItem, __assign({}, item, { key: item.key, classNames: {
2369
+ return (React.createElement(react.ListboxItem, __assign$1({}, item, { key: item.key, classNames: {
1206
2370
  base: react.cn({
1207
2371
  "h-auto p-0": !isCollapsed && isNestType,
1208
2372
  }, {
@@ -1212,10 +2376,10 @@ var MenuNavList = React.forwardRef(function (_a, ref) {
1212
2376
  }, "rounded-large"),
1213
2377
  }, endContent: isCollapsed || isNestType || hideEndContent
1214
2378
  ? null
1215
- : ((_b = item.endContent) !== null && _b !== void 0 ? _b : null), startContent: isCollapsed || isNestType ? null : item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500 group-data-[selected=true]:text-foreground", iconClassName), icon: item.icon, size: "lg" })) : (((_c = item.startContent) !== null && _c !== void 0 ? _c : null)), title: isCollapsed || isNestType ? null : item.title }),
2379
+ : ((_b = item.endContent) !== null && _b !== void 0 ? _b : null), startContent: isCollapsed || isNestType ? null : item.icon ? (jsxRuntime.jsx(IconComponent$1, { className: react.cn("text-default-500 group-data-[selected=true]:text-foreground", iconClassName), icon: item.icon, size: "lg" })) : (((_c = item.startContent) !== null && _c !== void 0 ? _c : null)), title: isCollapsed || isNestType ? null : item.title }),
1216
2380
  isCollapsed && isNestType ? (jsxRuntime.jsxs(react.Popover, { placement: "right", offset: 10, children: [jsxRuntime.jsx(react.PopoverTrigger, { children: jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", children: jsxRuntime.jsx(react.Tooltip, { content: item.title, placement: "right", classNames: {
1217
2381
  base: "text-default-500",
1218
- }, children: jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", children: item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500 group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_d = item.startContent) !== null && _d !== void 0 ? _d : null)) }) }) }) }), jsxRuntime.jsx(react.PopoverContent, { className: "p-0", children: jsxRuntime.jsxs("div", { className: "min-w-[200px] rounded-large p-2", children: [jsxRuntime.jsx("div", { className: "p-2 text-small font-semibold text-default-500", children: item.title }), jsxRuntime.jsx(react.Listbox, { className: "mt-0.5 text-default-500", "aria-label": "Nested menu items", items: item.items, variant: "flat", children: item.items && ((_e = item.items) === null || _e === void 0 ? void 0 : _e.length) > 0
2382
+ }, children: jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", children: item.icon ? (jsxRuntime.jsx(IconComponent$1, { className: react.cn("text-default-500 group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_d = item.startContent) !== null && _d !== void 0 ? _d : null)) }) }) }) }), jsxRuntime.jsx(react.PopoverContent, { className: "p-0", children: jsxRuntime.jsxs("div", { className: "min-w-[200px] rounded-large p-2", children: [jsxRuntime.jsx("div", { className: "p-2 text-small font-semibold text-default-500", children: item.title }), jsxRuntime.jsx(react.Listbox, { className: "mt-0.5 text-default-500", "aria-label": "Nested menu items", items: item.items, variant: "flat", children: item.items && ((_e = item.items) === null || _e === void 0 ? void 0 : _e.length) > 0
1219
2383
  ? item.items.map(function (child) {
1220
2384
  return renderCompactItem(child, item.key);
1221
2385
  })
@@ -1224,7 +2388,7 @@ var MenuNavList = React.forwardRef(function (_a, ref) {
1224
2388
  heading: "pr-3 group-data-[selected=true]:bg-primary-100 rounded-large",
1225
2389
  trigger: "p-0",
1226
2390
  content: "py-0 pl-4",
1227
- }, title: item.icon ? (jsxRuntime.jsxs("div", { className: "flex h-11 items-center gap-2 px-3 py-1.5", children: [jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500 group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" }), jsxRuntime.jsx("span", { className: "text-small font-medium text-default-500 group-data-[selected=true]:text-default-600", children: item.title })] })) : (((_f = item.startContent) !== null && _f !== void 0 ? _f : null)), children: item.items && ((_g = item.items) === null || _g === void 0 ? void 0 : _g.length) > 0 ? (jsxRuntime.jsx(react.Listbox, { className: "mt-0.5 text-default-500", classNames: {
2391
+ }, title: item.icon ? (jsxRuntime.jsxs("div", { className: "flex h-11 items-center gap-2 px-3 py-1.5", children: [jsxRuntime.jsx(IconComponent$1, { className: react.cn("text-default-500 group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" }), jsxRuntime.jsx("span", { className: "text-small font-medium text-default-500 group-data-[selected=true]:text-default-600", children: item.title })] })) : (((_f = item.startContent) !== null && _f !== void 0 ? _f : null)), children: item.items && ((_g = item.items) === null || _g === void 0 ? void 0 : _g.length) > 0 ? (jsxRuntime.jsx(react.Listbox, { className: "mt-0.5 text-default-500", classNames: {
1228
2392
  list: react.cn("border-l border-default-200 pl-4"),
1229
2393
  }, items: item.items, variant: "flat", children: item.items.map(function (child) { return renderItem(child, item.key); }) })) : (renderItem(item)) }, item.key) })) : null));
1230
2394
  }, [isCollapsed, hideEndContent, iconClassName, items, selected]);
@@ -1239,13 +2403,13 @@ var MenuNavList = React.forwardRef(function (_a, ref) {
1239
2403
  return renderNestItem(item);
1240
2404
  }
1241
2405
  var isItemSelected = selected === item.key;
1242
- return (React.createElement(react.ListboxItem, __assign({}, item, { key: item.key, endContent: isCollapsed || hideEndContent ? null : ((_b = item.endContent) !== null && _b !== void 0 ? _b : null), startContent: isCollapsed ? null : item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_c = item.startContent) !== null && _c !== void 0 ? _c : null)), textValue: item.title, title: isCollapsed ? null : item.title, onPress: function () { return handleItemPress(item, parentKey); }, "aria-selected": isItemSelected, "aria-label": item.title || "Menu item ".concat(item.key) }), isCollapsed ? (jsxRuntime.jsx(react.Tooltip, { content: item.title, placement: "right", closeDelay: 200, shouldCloseOnBlur: false, classNames: {
2406
+ return (React.createElement(react.ListboxItem, __assign$1({}, item, { key: item.key, endContent: isCollapsed || hideEndContent ? null : ((_b = item.endContent) !== null && _b !== void 0 ? _b : null), startContent: isCollapsed ? null : item.icon ? (jsxRuntime.jsx(IconComponent$1, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_c = item.startContent) !== null && _c !== void 0 ? _c : null)), textValue: item.title, title: isCollapsed ? null : item.title, onPress: function () { return handleItemPress(item, parentKey); }, "aria-selected": isItemSelected, "aria-label": item.title || "Menu item ".concat(item.key) }), isCollapsed ? (jsxRuntime.jsx(react.Tooltip, { content: item.title, placement: "right", closeDelay: 200, shouldCloseOnBlur: false, classNames: {
1243
2407
  base: "text-default-500",
1244
- }, children: jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", "aria-hidden": "true", children: item.icon ? (jsxRuntime.jsx(IconComponent, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_d = item.startContent) !== null && _d !== void 0 ? _d : null)) }) })) : null));
2408
+ }, children: jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center", "aria-hidden": "true", children: item.icon ? (jsxRuntime.jsx(IconComponent$1, { className: react.cn("text-default-500", "group-data-[selected=true]:text-default-600", iconClassName), icon: item.icon, size: "lg" })) : (((_d = item.startContent) !== null && _d !== void 0 ? _d : null)) }) })) : null));
1245
2409
  },
1246
2410
  // eslint-disable-next-line react-hooks/exhaustive-deps
1247
2411
  [isCollapsed, hideEndContent, iconClassName, itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.base]);
1248
- return (jsxRuntime.jsx(react.Listbox, __assign({ ref: ref, hideSelectedIcon: true, as: "nav", className: react.cn("list-none", className), classNames: __assign(__assign({}, classNames), { list: react.cn("items-center", classNames === null || classNames === void 0 ? void 0 : classNames.list) }), color: "default", itemClasses: __assign(__assign({}, itemClasses), { base: react.cn("px-3 min-h-11 rounded-large h-[44px] data-[selected=true]:bg-primary-100", itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.base), title: react.cn("text-small font-medium text-default-500 group-data-[selected=true]:text-default-600 ", itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.title) }), items: items, selectedKeys: [selected], selectionMode: "single", variant: "flat" }, props, { children: function (item) {
2412
+ return (jsxRuntime.jsx(react.Listbox, __assign$1({ ref: ref, hideSelectedIcon: true, as: "nav", className: react.cn("list-none", className), classNames: __assign$1(__assign$1({}, classNames), { list: react.cn("items-center", classNames === null || classNames === void 0 ? void 0 : classNames.list) }), color: "default", itemClasses: __assign$1(__assign$1({}, itemClasses), { base: react.cn("px-3 min-h-11 rounded-large h-[44px] data-[selected=true]:bg-primary-100", itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.base), title: react.cn("text-small font-medium text-default-500 group-data-[selected=true]:text-default-600 ", itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.title) }), items: items, selectedKeys: [selected], selectionMode: "single", variant: "flat" }, props, { children: function (item) {
1249
2413
  var _a, _b;
1250
2414
  return item.items &&
1251
2415
  ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
@@ -1287,13 +2451,13 @@ var MenuComponent = React.memo(function Menu(_a) {
1287
2451
  }
1288
2452
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("button", { type: "button", "aria-label": "Close sidebar", className: "fixed inset-0 bg-black bg-opacity-40 z-40 xs:block sm:hidden", onClick: handleSidebarClose, style: { border: "none", padding: 0, margin: 0 } }), jsxRuntime.jsx("div", { className: "container__menu ".concat(isCollapsed
1289
2453
  ? "container__menu--collapsed"
1290
- : "container__menu--expanded"), children: jsxRuntime.jsxs("div", { className: "content__menu", children: [jsxRuntime.jsxs("div", { className: "content__menu--header", style: { flexDirection: isCollapsed ? "column-reverse" : "row" }, children: [jsxRuntime.jsxs("div", { className: "flex flex-row items-center justify-center ".concat(isCollapsed ? "gap-0" : "gap-2"), children: [jsxRuntime.jsx("div", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-foreground", children: jsxRuntime.jsx("img", { src: commerceInfo.logo, alt: "Logo of ".concat(commerceInfo.name) }) }), jsxRuntime.jsx("span", { className: "collapsible-item text-small font-bold ", children: commerceInfo.name })] }), jsxRuntime.jsxs("div", { className: "flex items-center", children: [jsxRuntime.jsx(IconComponent, { icon: "material-symbols-light:close", size: "lg", className: "cursor-pointer block sm:hidden", onClick: handleSidebarClose }), jsxRuntime.jsx(IconComponent, { icon: isCollapsed
2454
+ : "container__menu--expanded"), children: jsxRuntime.jsxs("div", { className: "content__menu", children: [jsxRuntime.jsxs("div", { className: "content__menu--header", style: { flexDirection: isCollapsed ? "column-reverse" : "row" }, children: [jsxRuntime.jsxs("div", { className: "flex flex-row items-center justify-center ".concat(isCollapsed ? "gap-0" : "gap-2"), children: [jsxRuntime.jsx("div", { className: "flex h-8 w-8 items-center justify-center rounded-full bg-foreground", children: jsxRuntime.jsx("img", { src: commerceInfo.logo, alt: "Logo of ".concat(commerceInfo.name) }) }), jsxRuntime.jsx("span", { className: "collapsible-item text-small font-bold ", children: commerceInfo.name })] }), jsxRuntime.jsxs("div", { className: "flex items-center", children: [jsxRuntime.jsx(IconComponent$1, { icon: "material-symbols-light:close", size: "lg", className: "cursor-pointer block sm:hidden", onClick: handleSidebarClose }), jsxRuntime.jsx(IconComponent$1, { icon: isCollapsed
1291
2455
  ? "solar:alt-arrow-right-outline"
1292
- : "solar:alt-arrow-left-outline", size: "lg", className: "hidden sm:block cursor-pointer", onClick: handleCollapseToggle })] })] }), jsxRuntime.jsx(react.Spacer, { y: 6 }), jsxRuntime.jsxs("div", { className: "content__menu--user ".concat(isCollapsed ? "gap-0" : "gap-3"), children: [jsxRuntime.jsx(react.Avatar, { size: "md", src: userInfo.avatar, color: userInfo.avatar === "" ? "warning" : "default", name: userInfo.name }), jsxRuntime.jsxs("div", { className: "collapsible-item flex flex-col", children: [jsxRuntime.jsx("p", { className: "text-small font-medium text-default-900", children: userInfo.name }), jsxRuntime.jsx("p", { className: "text-tiny text-default-400", children: userInfo.role })] })] }), jsxRuntime.jsx("div", { className: "".concat(!isCollapsed ? "flex-1" : "h-full", " min-h-0 py-6"), children: jsxRuntime.jsx("div", { className: "h-full overflow-y-auto pr-6 -mr-6 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: jsxRuntime.jsx(MenuNavList, { defaultSelectedKey: menuItems.selectedKey, items: menuItems.items, isCollapsed: isCollapsed }) }) }), upgradeCard && (jsxRuntime.jsxs("div", { className: "collapsible-item relative", children: [jsxRuntime.jsxs(react.Card, { className: "border-none overflow-visible shadow-none", shadow: "sm", children: [jsxRuntime.jsxs(react.CardBody, { className: "items-center py-5 text-center gap-1", children: [jsxRuntime.jsx("h3", { className: "text-medium font-medium text-default-900", children: upgradeCard.title }), jsxRuntime.jsx("p", { className: "text-small text-default-500 pb-3 whitespace-normal", children: upgradeCard.description })] }), jsxRuntime.jsx(react.CardFooter, { className: "absolute justify-center", style: { bottom: "-30px" }, children: jsxRuntime.jsx(react.Button, { className: "px-10 shadow-md", color: "primary", radius: "full", variant: "shadow", onPress: handleUpgradeClick, children: upgradeCard.buttonText }) })] }), jsxRuntime.jsx(react.Spacer, { y: 9 })] })), jsxRuntime.jsx("div", { className: "mt-auto flex flex-col justify-center items-center", children: jsxRuntime.jsx(react.Button, { fullWidth: true, className: " text-default-500 data-[hover=true]:text-default-600", startContent: jsxRuntime.jsx(IconComponent, { className: "text-default-500", icon: "solar:info-circle-line-duotone", size: "md" }), variant: "light", onPress: handleHelpClick, isIconOnly: isCollapsed, children: !isCollapsed && (jsxRuntime.jsx("span", { className: "collapsible-item", children: helpButton.title })) }) })] }) })] }));
2456
+ : "solar:alt-arrow-left-outline", size: "lg", className: "hidden sm:block cursor-pointer", onClick: handleCollapseToggle })] })] }), jsxRuntime.jsx(react.Spacer, { y: 6 }), jsxRuntime.jsxs("div", { className: "content__menu--user ".concat(isCollapsed ? "gap-0" : "gap-3"), children: [jsxRuntime.jsx(react.Avatar, { size: "md", src: userInfo.avatar, color: userInfo.avatar === "" ? "warning" : "default", name: userInfo.name }), jsxRuntime.jsxs("div", { className: "collapsible-item flex flex-col", children: [jsxRuntime.jsx("p", { className: "text-small font-medium text-default-900", children: userInfo.name }), jsxRuntime.jsx("p", { className: "text-tiny text-default-400", children: userInfo.role })] })] }), jsxRuntime.jsx("div", { className: "".concat(!isCollapsed ? "flex-1" : "h-full", " min-h-0 py-6"), children: jsxRuntime.jsx("div", { className: "h-full overflow-y-auto pr-6 -mr-6 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: jsxRuntime.jsx(MenuNavList, { defaultSelectedKey: menuItems.selectedKey, items: menuItems.items, isCollapsed: isCollapsed }) }) }), upgradeCard && (jsxRuntime.jsxs("div", { className: "collapsible-item relative", children: [jsxRuntime.jsxs(react.Card, { className: "border-none overflow-visible shadow-none", shadow: "sm", children: [jsxRuntime.jsxs(react.CardBody, { className: "items-center py-5 text-center gap-1", children: [jsxRuntime.jsx("h3", { className: "text-medium font-medium text-default-900", children: upgradeCard.title }), jsxRuntime.jsx("p", { className: "text-small text-default-500 pb-3 whitespace-normal", children: upgradeCard.description })] }), jsxRuntime.jsx(react.CardFooter, { className: "absolute justify-center", style: { bottom: "-30px" }, children: jsxRuntime.jsx(react.Button, { className: "px-10 shadow-md", color: "primary", radius: "full", variant: "shadow", onPress: handleUpgradeClick, children: upgradeCard.buttonText }) })] }), jsxRuntime.jsx(react.Spacer, { y: 9 })] })), jsxRuntime.jsx("div", { className: "mt-auto flex flex-col justify-center items-center", children: jsxRuntime.jsx(react.Button, { fullWidth: true, className: " text-default-500 data-[hover=true]:text-default-600", startContent: jsxRuntime.jsx(IconComponent$1, { className: "text-default-500", icon: "solar:info-circle-line-duotone", size: "md" }), variant: "light", onPress: handleHelpClick, isIconOnly: isCollapsed, children: !isCollapsed && (jsxRuntime.jsx("span", { className: "collapsible-item", children: helpButton.title })) }) })] }) })] }));
1293
2457
  });
1294
2458
 
1295
2459
  var StepIndicator = function (_a) {
1296
- var currentStep = _a.currentStep, totalSteps = _a.totalSteps, _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.showStepText, showStepText = _c === void 0 ? true : _c, stepTextFormatter = _a.stepTextFormatter, className = _a.className, props = __rest(_a, ["currentStep", "totalSteps", "color", "showStepText", "stepTextFormatter", "className"]);
2460
+ var currentStep = _a.currentStep, totalSteps = _a.totalSteps, _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.showStepText, showStepText = _c === void 0 ? true : _c, stepTextFormatter = _a.stepTextFormatter, className = _a.className, props = __rest$1(_a, ["currentStep", "totalSteps", "color", "showStepText", "stepTextFormatter", "className"]);
1297
2461
  var progressPercentage = Math.min((currentStep / totalSteps) * 100, 100);
1298
2462
  var colorClasses = {
1299
2463
  primary: "bg-primary",
@@ -1308,7 +2472,7 @@ var StepIndicator = function (_a) {
1308
2472
  var stepText = stepTextFormatter
1309
2473
  ? stepTextFormatter(currentStep, totalSteps)
1310
2474
  : defaultStepText(currentStep, totalSteps);
1311
- return (jsxRuntime.jsxs("div", __assign({ className: react.cn("w-full", className) }, props, { children: [showStepText && (jsxRuntime.jsx("div", { className: "text-center text-sm font-medium text-default-400 mb-3", children: stepText })), jsxRuntime.jsx("div", { className: "w-full bg-content2 rounded-full h-2 overflow-hidden", children: jsxRuntime.jsx("div", { className: react.cn("h-full transition-all duration-300 ease-out rounded-full", colorClasses[color]), style: { width: "".concat(progressPercentage, "%") } }) })] })));
2475
+ return (jsxRuntime.jsxs("div", __assign$1({ className: react.cn("w-full", className) }, props, { children: [showStepText && (jsxRuntime.jsx("div", { className: "text-center text-sm font-medium text-default-400 mb-3", children: stepText })), jsxRuntime.jsx("div", { className: "w-full bg-content2 rounded-full h-2 overflow-hidden", children: jsxRuntime.jsx("div", { className: react.cn("h-full transition-all duration-300 ease-out rounded-full", colorClasses[color]), style: { width: "".concat(progressPercentage, "%") } }) })] })));
1312
2476
  };
1313
2477
 
1314
2478
  /*
@@ -1379,9 +2543,9 @@ var defaultTranslations$6 = {
1379
2543
  checkIconTitle: "Check",
1380
2544
  };
1381
2545
  var VerticalSteps = React.forwardRef(function (_a, ref) {
1382
- var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.steps, stepsProp = _c === void 0 ? [] : _c, _d = _a.defaultStep, defaultStep = _d === void 0 ? 0 : _d, onStepChange = _a.onStepChange, currentStepProp = _a.currentStep, _e = _a.hideProgressBars, hideProgressBars = _e === void 0 ? false : _e, stepClassName = _a.stepClassName, className = _a.className, translations = _a.translations, props = __rest(_a, ["color", "steps", "defaultStep", "onStepChange", "currentStep", "hideProgressBars", "stepClassName", "className", "translations"]);
2546
+ var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.steps, stepsProp = _c === void 0 ? [] : _c, _d = _a.defaultStep, defaultStep = _d === void 0 ? 0 : _d, onStepChange = _a.onStepChange, currentStepProp = _a.currentStep, _e = _a.hideProgressBars, hideProgressBars = _e === void 0 ? false : _e, stepClassName = _a.stepClassName, className = _a.className, translations = _a.translations, props = __rest$1(_a, ["color", "steps", "defaultStep", "onStepChange", "currentStep", "hideProgressBars", "stepClassName", "className", "translations"]);
1383
2547
  var _f = $458b0a5536c1a7cf$export$40bfa8c7b0832715(currentStepProp, defaultStep, onStepChange), currentStep = _f[0], setCurrentStep = _f[1];
1384
- var t = __assign(__assign({}, defaultTranslations$6), translations);
2548
+ var t = __assign$1(__assign$1({}, defaultTranslations$6), translations);
1385
2549
  var steps = React.useMemo(function () {
1386
2550
  if (typeof stepsProp === "number") {
1387
2551
  return Array.from({ length: stepsProp }, function () { return ({}); });
@@ -1446,7 +2610,7 @@ var VerticalSteps = React.forwardRef(function (_a, ref) {
1446
2610
  var isDisabled = status === "inactive";
1447
2611
  return (
1448
2612
  // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
1449
- jsxRuntime.jsxs("li", { className: "relative", children: [jsxRuntime.jsx("div", { className: "flex w-full max-w-full items-center", children: jsxRuntime.jsxs("button", __assign({ type: "button", ref: ref, "aria-current": status === "active" ? "step" : undefined, className: react.cn("group rounded-large flex w-full cursor-pointer items-center justify-center gap-4 px-3 py-2.5", stepClassName, {
2613
+ jsxRuntime.jsxs("li", { className: "relative", children: [jsxRuntime.jsx("div", { className: "flex w-full max-w-full items-center", children: jsxRuntime.jsxs("button", __assign$1({ type: "button", ref: ref, "aria-current": status === "active" ? "step" : undefined, className: react.cn("group rounded-large flex w-full cursor-pointer items-center justify-center gap-4 px-3 py-2.5", stepClassName, {
1450
2614
  "cursor-not-allowed": isDisabled,
1451
2615
  }), onClick: function () { return setCurrentStep(stepIdx); }, disabled: isDisabled }, props, { children: [jsxRuntime.jsx("div", { className: "flex h-full items-center", children: jsxRuntime.jsx(framerMotion.LazyMotion, { features: framerMotion.domAnimation, children: jsxRuntime.jsx("div", { className: "relative", children: jsxRuntime.jsx(framerMotion.m.div, { animate: status, className: react.cn("border-medium text-large text-default-600 relative flex h-[34px] w-[34px] items-center justify-center rounded-full font-semibold", {
1452
2616
  "shadow-lg": status === "complete",
@@ -1465,7 +2629,7 @@ var VerticalSteps = React.forwardRef(function (_a, ref) {
1465
2629
  backgroundColor: "var(--complete-background-color)",
1466
2630
  borderColor: "var(--complete-border-color)",
1467
2631
  },
1468
- }, children: jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: status === "complete" ? (jsxRuntime.jsx(IconComponent, { className: " text-[var(--active-fg-color)] font-bold", icon: "material-symbols:check-rounded", title: t.checkIconTitle })) : (jsxRuntime.jsx("span", { children: stepIdx + 1 })) }) }) }) }) }), jsxRuntime.jsx("div", { className: "flex-1 text-left", children: jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("div", { className: react.cn("text-medium text-default-600 font-medium transition-[color,opacity] duration-300 group-active:opacity-70", {
2632
+ }, children: jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: status === "complete" ? (jsxRuntime.jsx(IconComponent$1, { className: " text-[var(--active-fg-color)] font-bold", icon: "material-symbols:check-rounded", title: t.checkIconTitle })) : (jsxRuntime.jsx("span", { children: stepIdx + 1 })) }) }) }) }) }), jsxRuntime.jsx("div", { className: "flex-1 text-left", children: jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("div", { className: react.cn("text-medium text-default-600 font-medium transition-[color,opacity] duration-300 group-active:opacity-70", {
1469
2633
  "text-default-300": status === "inactive",
1470
2634
  }), children: step.title }), jsxRuntime.jsx("div", { className: react.cn("text-tiny text-default-600 lg:text-small transition-[color,opacity] duration-300 group-active:opacity-70", {
1471
2635
  "text-default-300": status === "inactive",
@@ -1485,13 +2649,13 @@ var stepperClasses = react.cn(
1485
2649
  // dark
1486
2650
  "dark:[--step-color:rgba(255,255,255,0.1)]", "dark:[--active-color:hsl(var(--heroui-foreground-600))]", "dark:[--active-border-color:rgba(255,255,255,0.5)]", "dark:[--inactive-border-color:rgba(255,255,255,0.1)]", "dark:[--inactive-bar-color:rgba(255,255,255,0.1)]", "dark:[--inactive-color:rgba(255,255,255,0.2)]");
1487
2651
  var MultiStepSidebar = React.forwardRef(function (_a, ref) {
1488
- var children = _a.children, className = _a.className, currentPage = _a.currentPage; _a.onBack; _a.onNext; var onChangePage = _a.onChangePage, steps = _a.steps; _a.goBackTranslation; var onClose = _a.onClose, props = __rest(_a, ["children", "className", "currentPage", "onBack", "onNext", "onChangePage", "steps", "goBackTranslation", "onClose"]);
2652
+ var children = _a.children, className = _a.className, currentPage = _a.currentPage; _a.onBack; _a.onNext; var onChangePage = _a.onChangePage, steps = _a.steps; _a.goBackTranslation; var onClose = _a.onClose, props = __rest$1(_a, ["children", "className", "currentPage", "onBack", "onNext", "onChangePage", "steps", "goBackTranslation", "onClose"]);
1489
2653
  var handleOverlayClick = function (e) {
1490
2654
  if (e.target === e.currentTarget) {
1491
2655
  onClose === null || onClose === void 0 ? void 0 : onClose();
1492
2656
  }
1493
2657
  };
1494
- return (jsxRuntime.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-content3/50 backdrop-blur-sm", onClick: handleOverlayClick, children: jsxRuntime.jsxs("div", __assign({ ref: ref, className: react.cn("flex h-full w-full max-w-4xl rounded-lg bg-background shadow-lg lg:h-auto", className) }, props, { children: [jsxRuntime.jsx("div", { className: "hidden w-1/3 flex-col items-center justify-center gap-y-8 p-8 md:flex", children: jsxRuntime.jsx(VerticalSteps, { className: stepperClasses, color: "primary", currentStep: currentPage, steps: steps, onStepChange: onChangePage }) }), jsxRuntime.jsxs("div", { className: "relative flex h-auto justify-between w-full flex-col items-center gap-4 md:p-4 lg:w-2/3", children: [jsxRuntime.jsx(Button, { isIconOnly: true, className: "absolute right-4 top-4", size: "sm", variant: "light", color: "default", onPress: onClose, startContent: jsxRuntime.jsx(IconComponent, { className: "text-foreground", icon: "material-symbols:close-rounded", size: "lg" }) }), jsxRuntime.jsx("div", { className: "pt-9 w-10/12 md:hidden", children: jsxRuntime.jsx("div", { className: "flex w-full justify-center", children: jsxRuntime.jsx(StepIndicator, { className: react.cn(stepperClasses), currentStep: currentPage + 1, totalSteps: steps.length }) }) }), jsxRuntime.jsx("div", { className: " flex flex-col h-full w-full justify-between p-4 sm:max-w-md md:max-w-lg", children: children })] })] })) }));
2658
+ return (jsxRuntime.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-content3/50 backdrop-blur-sm", onClick: handleOverlayClick, children: jsxRuntime.jsxs("div", __assign$1({ ref: ref, className: react.cn("flex h-full w-full max-w-4xl rounded-lg bg-background shadow-lg lg:h-auto", className) }, props, { children: [jsxRuntime.jsx("div", { className: "hidden w-1/3 flex-col items-center justify-center gap-y-8 p-8 md:flex", children: jsxRuntime.jsx(VerticalSteps, { className: stepperClasses, color: "primary", currentStep: currentPage, steps: steps, onStepChange: onChangePage }) }), jsxRuntime.jsxs("div", { className: "relative flex h-auto justify-between w-full flex-col items-center gap-4 md:p-4 lg:w-2/3", children: [jsxRuntime.jsx(Button$1, { isIconOnly: true, className: "absolute right-4 top-4", size: "sm", variant: "light", color: "default", onPress: onClose, startContent: jsxRuntime.jsx(IconComponent$1, { className: "text-foreground", icon: "material-symbols:close-rounded", size: "lg" }) }), jsxRuntime.jsx("div", { className: "pt-9 w-10/12 md:hidden", children: jsxRuntime.jsx("div", { className: "flex w-full justify-center", children: jsxRuntime.jsx(StepIndicator, { className: react.cn(stepperClasses), currentStep: currentPage + 1, totalSteps: steps.length }) }) }), jsxRuntime.jsx("div", { className: " flex flex-col h-full w-full justify-between p-4 sm:max-w-md md:max-w-lg", children: children })] })] })) }));
1495
2659
  });
1496
2660
  MultiStepSidebar.displayName = "MultiStepSidebar";
1497
2661
 
@@ -1499,9 +2663,9 @@ var MultistepNavigationButtons = function (_a) {
1499
2663
  var nextButtonProps = _a.nextButtonProps, cancelButtonProps = _a.cancelButtonProps, className = _a.className;
1500
2664
  // const { children: backButtonChildren, ...restBackButtonProps } =
1501
2665
  // backButtonProps || {};
1502
- var _b = nextButtonProps || {}, nextButtonChildren = _b.children, restNextButtonProps = __rest(_b, ["children"]);
1503
- var _c = cancelButtonProps || {}, cancelButtonChildren = _c.children, restCancelButtonProps = __rest(_c, ["children"]);
1504
- return (jsxRuntime.jsx("div", { className: react.cn("flex w-full flex-col-reverse gap-2 pt-4 sm:flex-row sm:justify-between md:justify-end", className), children: jsxRuntime.jsxs("div", { className: "flex w-full flex-col-reverse gap-2 md:w-auto md:flex-row", children: [jsxRuntime.jsx(react.Button, __assign({ className: "w-full md:w-auto", color: "default", variant: "flat" }, restCancelButtonProps, { children: cancelButtonChildren || "Cancel" })), jsxRuntime.jsx(react.Button, __assign({ className: "w-full md:w-auto", color: "primary" }, restNextButtonProps, { children: nextButtonChildren || "Next" }))] }) }));
2666
+ var _b = nextButtonProps || {}, nextButtonChildren = _b.children, restNextButtonProps = __rest$1(_b, ["children"]);
2667
+ var _c = cancelButtonProps || {}, cancelButtonChildren = _c.children, restCancelButtonProps = __rest$1(_c, ["children"]);
2668
+ return (jsxRuntime.jsx("div", { className: react.cn("flex w-full flex-col-reverse gap-2 pt-4 sm:flex-row sm:justify-between md:justify-end", className), children: jsxRuntime.jsxs("div", { className: "flex w-full flex-col-reverse gap-2 md:w-auto md:flex-row", children: [jsxRuntime.jsx(react.Button, __assign$1({ className: "w-full md:w-auto", color: "default", variant: "flat" }, restCancelButtonProps, { children: cancelButtonChildren || "Cancel" })), jsxRuntime.jsx(react.Button, __assign$1({ className: "w-full md:w-auto", color: "primary" }, restNextButtonProps, { children: nextButtonChildren || "Next" }))] }) }));
1505
2669
  };
1506
2670
 
1507
2671
  var MultiStepWizard = function (_a) {
@@ -1512,7 +2676,7 @@ var MultiStepWizard = function (_a) {
1512
2676
  setPage(0);
1513
2677
  }
1514
2678
  }, [isOpen]);
1515
- var t = __assign({
2679
+ var t = __assign$1({
1516
2680
  continue: "Continue",
1517
2681
  goBack: "Back",
1518
2682
  cancel: "Cancel",
@@ -1569,7 +2733,7 @@ var MultiStepWizard = function (_a) {
1569
2733
  if (!isOpen) {
1570
2734
  return null;
1571
2735
  }
1572
- return (jsxRuntime.jsxs(MultiStepSidebar, { currentPage: page, goBackTranslation: t.goBack, steps: steps, onBack: onBack, onChangePage: onChangePage, onClose: onClose, onNext: onNext, children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(Button, { className: "w-fit text-default-600 mb-6", color: "default", variant: "light", onPress: onBack, isDisabled: page === 0, startContent: jsxRuntime.jsx(IconComponent, { className: "text-default-500", icon: "material-symbols:arrow-back-rounded", size: "sm" }), children: t.goBack || "Back" }), jsxRuntime.jsx("div", { className: "relative flex h-fit w-full flex-col text-center lg:justify-center lg:pt-0", children: content })] }), jsxRuntime.jsx(MultistepNavigationButtons, { backButtonProps: {
2736
+ return (jsxRuntime.jsxs(MultiStepSidebar, { currentPage: page, goBackTranslation: t.goBack, steps: steps, onBack: onBack, onChangePage: onChangePage, onClose: onClose, onNext: onNext, children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(Button$1, { className: "w-fit text-default-600 mb-6", color: "default", variant: "light", onPress: onBack, isDisabled: page === 0, startContent: jsxRuntime.jsx(IconComponent$1, { className: "text-default-500", icon: "material-symbols:arrow-back-rounded", size: "sm" }), children: t.goBack || "Back" }), jsxRuntime.jsx("div", { className: "relative flex h-fit w-full flex-col text-center lg:justify-center lg:pt-0", children: content })] }), jsxRuntime.jsx(MultistepNavigationButtons, { backButtonProps: {
1573
2737
  isDisabled: page === 0,
1574
2738
  onPress: onBack,
1575
2739
  children: t.goBack,
@@ -1584,8 +2748,8 @@ var MultiStepWizard = function (_a) {
1584
2748
  };
1585
2749
 
1586
2750
  var Pagination = function (_a) {
1587
- _a.size; var props = __rest(_a, ["size"]);
1588
- return jsxRuntime.jsx(react.Pagination, __assign({ showControls: true, isCompact: true }, props));
2751
+ _a.size; var props = __rest$1(_a, ["size"]);
2752
+ return jsxRuntime.jsx(react.Pagination, __assign$1({ showControls: true, isCompact: true }, props));
1589
2753
  };
1590
2754
 
1591
2755
  var Andorra = function () {
@@ -2038,7 +3202,7 @@ var Phone = function (_a) {
2038
3202
  var portalDropdownRef = React.useRef(null);
2039
3203
  var _l = React.useState({}), dropdownPosition = _l[0], setDropdownPosition = _l[1];
2040
3204
  var _m = React.useState(uniqueCountries), filteredCountries = _m[0], setFilteredCountries = _m[1];
2041
- var t = __assign(__assign({}, defaultTranslations$5), translations);
3205
+ var t = __assign$1(__assign$1({}, defaultTranslations$5), translations);
2042
3206
  var finalLabel = label || t.label;
2043
3207
  React.useEffect(function () {
2044
3208
  if (value) {
@@ -2127,7 +3291,7 @@ var defaultTranslations$4 = {
2127
3291
  */
2128
3292
  var PromotionalBanner = function (_a) {
2129
3293
  var message = _a.message, buttonText = _a.buttonText, _b = _a.messageHref, messageHref = _b === void 0 ? "#" : _b, _c = _a.buttonHref, buttonHref = _c === void 0 ? "#" : _c, _d = _a.showCloseButton, showCloseButton = _d === void 0 ? true : _d, _e = _a.isVisible, isVisible = _e === void 0 ? true : _e, _f = _a.gradientColors, gradientColors = _f === void 0 ? ["default-100", "danger-100", "secondary-100"] : _f, _g = _a.buttonGradientColors, buttonGradientColors = _g === void 0 ? ["#F871A0", "#9353D3"] : _g, onClose = _a.onClose, onMessageClick = _a.onMessageClick, onButtonClick = _a.onButtonClick, _h = _a.messageLinkProps, messageLinkProps = _h === void 0 ? {} : _h, _j = _a.buttonProps, buttonProps = _j === void 0 ? {} : _j, _k = _a.translations, translations = _k === void 0 ? {} : _k;
2130
- var t = __assign(__assign({}, defaultTranslations$4), translations);
3294
+ var t = __assign$1(__assign$1({}, defaultTranslations$4), translations);
2131
3295
  var finalMessage = message || t.message;
2132
3296
  var finalButtonText = buttonText || t.buttonText;
2133
3297
  var handleClose = function () {
@@ -2144,16 +3308,16 @@ var PromotionalBanner = function (_a) {
2144
3308
  }
2145
3309
  var fromColor = gradientColors[0], viaColor = gradientColors[1], toColor = gradientColors[2];
2146
3310
  var buttonGradient1 = buttonGradientColors[0], buttonGradient2 = buttonGradientColors[1];
2147
- return (jsxRuntime.jsxs("div", { className: "border-divider flex w-full items-center gap-x-3 border-b-1 bg-gradient-to-r from-".concat(fromColor, " via-").concat(viaColor, " to-").concat(toColor, " px-6 py-2 sm:px-3.5 sm:before:flex-1"), children: [jsxRuntime.jsx("p", { className: "text-small text-foreground", children: jsxRuntime.jsxs(react.Link, __assign({ className: "text-inherit", href: messageHref, onClick: handleMessageClick }, messageLinkProps, { children: [finalMessage, "\u00A0"] })) }), jsxRuntime.jsx(react.Button, __assign({ as: react.Link, className: "group text-small relative h-9 overflow-hidden bg-transparent font-normal", color: "default", endContent: jsxRuntime.jsx(IconComponent, { className: "flex-none transition-transform outline-hidden group-data-[hover=true]:translate-x-0.5 [&>path]:stroke-2", icon: "solar:arrow-right-linear", size: "sm" }), href: buttonHref, style: {
3311
+ return (jsxRuntime.jsxs("div", { className: "border-divider flex w-full items-center gap-x-3 border-b-1 bg-gradient-to-r from-".concat(fromColor, " via-").concat(viaColor, " to-").concat(toColor, " px-6 py-2 sm:px-3.5 sm:before:flex-1"), children: [jsxRuntime.jsx("p", { className: "text-small text-foreground", children: jsxRuntime.jsxs(react.Link, __assign$1({ className: "text-inherit", href: messageHref, onClick: handleMessageClick }, messageLinkProps, { children: [finalMessage, "\u00A0"] })) }), jsxRuntime.jsx(react.Button, __assign$1({ as: react.Link, className: "group text-small relative h-9 overflow-hidden bg-transparent font-normal", color: "default", endContent: jsxRuntime.jsx(IconComponent$1, { className: "flex-none transition-transform outline-hidden group-data-[hover=true]:translate-x-0.5 [&>path]:stroke-2", icon: "solar:arrow-right-linear", size: "sm" }), href: buttonHref, style: {
2148
3312
  border: "solid 2px transparent",
2149
3313
  backgroundImage: "linear-gradient(hsl(var(--heroui-danger-50)), hsl(var(--heroui-danger-50))), linear-gradient(to right, ".concat(buttonGradient1, ", ").concat(buttonGradient2, ")"),
2150
3314
  backgroundOrigin: "border-box",
2151
3315
  backgroundClip: "padding-box, border-box",
2152
- }, variant: "bordered", onClick: handleButtonClick }, buttonProps, { children: finalButtonText })), showCloseButton && (jsxRuntime.jsx("div", { className: "flex flex-1 justify-end", children: jsxRuntime.jsx(react.Button, { isIconOnly: true, "aria-label": t.closeButtonLabel, className: "-m-1", size: "lg", variant: "bordered", onClick: handleClose, children: jsxRuntime.jsx(IconComponent, { "aria-hidden": "true", className: "text-default-500", icon: "lucide:x", size: "md" }) }) }))] }));
3316
+ }, variant: "bordered", onClick: handleButtonClick }, buttonProps, { children: finalButtonText })), showCloseButton && (jsxRuntime.jsx("div", { className: "flex flex-1 justify-end", children: jsxRuntime.jsx(react.Button, { isIconOnly: true, "aria-label": t.closeButtonLabel, className: "-m-1", size: "lg", variant: "bordered", onClick: handleClose, children: jsxRuntime.jsx(IconComponent$1, { "aria-hidden": "true", className: "text-default-500", icon: "lucide:x", size: "md" }) }) }))] }));
2153
3317
  };
2154
3318
 
2155
3319
  var RowSteps = React.forwardRef(function (_a, ref) {
2156
- var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.steps, stepsProp = _c === void 0 ? [] : _c, _d = _a.defaultStep, defaultStep = _d === void 0 ? 0 : _d, onStepChange = _a.onStepChange, currentStepProp = _a.currentStep, _e = _a.hideProgressBars, hideProgressBars = _e === void 0 ? false : _e, stepClassName = _a.stepClassName, className = _a.className; _a.translations; var props = __rest(_a, ["color", "steps", "defaultStep", "onStepChange", "currentStep", "hideProgressBars", "stepClassName", "className", "translations"]);
3320
+ var _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.steps, stepsProp = _c === void 0 ? [] : _c, _d = _a.defaultStep, defaultStep = _d === void 0 ? 0 : _d, onStepChange = _a.onStepChange, currentStepProp = _a.currentStep, _e = _a.hideProgressBars, hideProgressBars = _e === void 0 ? false : _e, stepClassName = _a.stepClassName, className = _a.className; _a.translations; var props = __rest$1(_a, ["color", "steps", "defaultStep", "onStepChange", "currentStep", "hideProgressBars", "stepClassName", "className", "translations"]);
2157
3321
  var _f = $458b0a5536c1a7cf$export$40bfa8c7b0832715(currentStepProp, defaultStep, onStepChange), currentStep = _f[0], setCurrentStep = _f[1];
2158
3322
  var steps = React.useMemo(function () {
2159
3323
  if (typeof stepsProp === "number") {
@@ -2216,7 +3380,7 @@ var RowSteps = React.forwardRef(function (_a, ref) {
2216
3380
  : currentStep < stepIdx
2217
3381
  ? "inactive"
2218
3382
  : "complete";
2219
- return (jsxRuntime.jsx("li", { className: "relative flex w-full items-center pr-12 last:pr-0", children: jsxRuntime.jsxs("button", __assign({ type: "button", ref: ref, "aria-current": status === "active" ? "step" : undefined, className: react.cn("group rounded-large flex w-full cursor-pointer flex-row items-center justify-center gap-x-3 py-2.5", stepClassName), onClick: function () { return setCurrentStep(stepIdx); } }, props, { children: [jsxRuntime.jsx("div", { className: "h-ful relative flex items-center", children: jsxRuntime.jsx(framerMotion.LazyMotion, { features: framerMotion.domAnimation, children: jsxRuntime.jsx(framerMotion.m.div, { animate: status, className: "relative", children: jsxRuntime.jsx(framerMotion.m.div, { className: react.cn("border-medium text-large text-default-600 relative flex h-[34px] w-[34px] items-center justify-center rounded-full font-semibold", {
3383
+ return (jsxRuntime.jsx("li", { className: "relative flex w-full items-center pr-12 last:pr-0", children: jsxRuntime.jsxs("button", __assign$1({ type: "button", ref: ref, "aria-current": status === "active" ? "step" : undefined, className: react.cn("group rounded-large flex w-full cursor-pointer flex-row items-center justify-center gap-x-3 py-2.5", stepClassName), onClick: function () { return setCurrentStep(stepIdx); } }, props, { children: [jsxRuntime.jsx("div", { className: "h-ful relative flex items-center", children: jsxRuntime.jsx(framerMotion.LazyMotion, { features: framerMotion.domAnimation, children: jsxRuntime.jsx(framerMotion.m.div, { animate: status, className: "relative", children: jsxRuntime.jsx(framerMotion.m.div, { className: react.cn("border-medium text-large text-default-600 relative flex h-[34px] w-[34px] items-center justify-center rounded-full font-semibold", {
2220
3384
  "shadow-lg": status === "complete",
2221
3385
  }), initial: false, transition: { duration: 0.25 }, variants: {
2222
3386
  inactive: {
@@ -2233,7 +3397,7 @@ var RowSteps = React.forwardRef(function (_a, ref) {
2233
3397
  backgroundColor: "var(--complete-background-color)",
2234
3398
  borderColor: "var(--complete-border-color)",
2235
3399
  },
2236
- }, children: jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: status === "complete" ? (jsxRuntime.jsx(IconComponent, { className: " text-[var(--active-fg-color)] font-bold", icon: "material-symbols:check-rounded" })) : (jsxRuntime.jsx("span", { children: stepIdx + 1 })) }) }) }) }) }), step.title && (jsxRuntime.jsx("div", { className: "max-w-full flex-1 text-start", children: jsxRuntime.jsx("div", { className: react.cn("text-small text-default-600 lg:text-medium font-medium transition-[color,opacity] duration-300 group-active:opacity-80", {
3400
+ }, children: jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: status === "complete" ? (jsxRuntime.jsx(IconComponent$1, { className: " text-[var(--active-fg-color)] font-bold", icon: "material-symbols:check-rounded" })) : (jsxRuntime.jsx("span", { children: stepIdx + 1 })) }) }) }) }) }), step.title && (jsxRuntime.jsx("div", { className: "max-w-full flex-1 text-start", children: jsxRuntime.jsx("div", { className: react.cn("text-small text-default-600 lg:text-medium font-medium transition-[color,opacity] duration-300 group-active:opacity-80", {
2237
3401
  "text-default-300": status === "inactive",
2238
3402
  }), children: step.title }) })), stepIdx < steps.length - 1 && !hideProgressBars && (jsxRuntime.jsx("div", { "aria-hidden": "true", className: "pointer-events-none absolute right-0 w-10 flex-none items-center", style: {
2239
3403
  // @ts-ignore
@@ -2406,20 +3570,20 @@ class $35ea8db9cb2ccb90$export$680ea196effce5f {
2406
3570
  }
2407
3571
 
2408
3572
  var Switch = function (_a) {
2409
- var id = _a.id, props = __rest(_a, ["id"]);
3573
+ var id = _a.id, props = __rest$1(_a, ["id"]);
2410
3574
  var generatedId = React.useId();
2411
3575
  var autoId = id || generatedId;
2412
- return jsxRuntime.jsx(react.Switch, __assign({}, props, { id: autoId }));
3576
+ return jsxRuntime.jsx(react.Switch, __assign$1({}, props, { id: autoId }));
2413
3577
  };
2414
3578
 
2415
3579
  /**
2416
3580
  * TimeInput genérico reutilizable basado en HeroUI siguiendo las reglas de diseño BeweOS.
2417
3581
  */
2418
3582
  var TimeInput = function (_a) {
2419
- var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.radius, radius = _c === void 0 ? "md" : _c, _d = _a.variant, variant = _d === void 0 ? "bordered" : _d, props = __rest(_a, ["label", "id", "size", "radius", "variant"]);
3583
+ var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.radius, radius = _c === void 0 ? "md" : _c, _d = _a.variant, variant = _d === void 0 ? "bordered" : _d, props = __rest$1(_a, ["label", "id", "size", "radius", "variant"]);
2420
3584
  var generatedId = React.useId();
2421
3585
  var autoId = id || generatedId;
2422
- return (jsxRuntime.jsx(react.TimeInput, __assign({}, props, { id: autoId, size: size, radius: radius, variant: variant, label: label, labelPlacement: "outside-left", classNames: {
3586
+ return (jsxRuntime.jsx(react.TimeInput, __assign$1({}, props, { id: autoId, size: size, radius: radius, variant: variant, label: label, labelPlacement: "outside-left", classNames: {
2423
3587
  label: "text-default-600 text-tiny group-data-[filled=true]:text-default-600",
2424
3588
  inputWrapper: "focus-within:!border-primary-500",
2425
3589
  } })));
@@ -2514,7 +3678,7 @@ var defaultTranslations$3 = {
2514
3678
  */
2515
3679
  var ScheduleRow = function (_a) {
2516
3680
  var day = _a.day, daySchedule = _a.daySchedule, _b = _a.translations, translations = _b === void 0 ? {} : _b, _c = _a.showCopyToAll, showCopyToAll = _c === void 0 ? false : _c, onChange = _a.onChange, onCopyToAll = _a.onCopyToAll;
2517
- var t = __assign(__assign({}, defaultTranslations$3), translations);
3681
+ var t = __assign$1(__assign$1({}, defaultTranslations$3), translations);
2518
3682
  /**
2519
3683
  * @function validateTimeSlots
2520
3684
  * @description Validates all time slots to ensure the "from" time is not after the "to" time.
@@ -2524,13 +3688,13 @@ var ScheduleRow = function (_a) {
2524
3688
  var validateTimeSlots = function (timeSlots) {
2525
3689
  return timeSlots.map(function (slot) {
2526
3690
  if (slot.from && slot.to) {
2527
- var fromTime = new ($35ea8db9cb2ccb90$export$680ea196effce5f.bind.apply($35ea8db9cb2ccb90$export$680ea196effce5f, __spreadArray([void 0], slot.from.split(":").map(Number), false)))();
2528
- var toTime = new ($35ea8db9cb2ccb90$export$680ea196effce5f.bind.apply($35ea8db9cb2ccb90$export$680ea196effce5f, __spreadArray([void 0], slot.to.split(":").map(Number), false)))();
3691
+ var fromTime = new ($35ea8db9cb2ccb90$export$680ea196effce5f.bind.apply($35ea8db9cb2ccb90$export$680ea196effce5f, __spreadArray$1([void 0], slot.from.split(":").map(Number), false)))();
3692
+ var toTime = new ($35ea8db9cb2ccb90$export$680ea196effce5f.bind.apply($35ea8db9cb2ccb90$export$680ea196effce5f, __spreadArray$1([void 0], slot.to.split(":").map(Number), false)))();
2529
3693
  if (fromTime.compare(toTime) > 0) {
2530
- return __assign(__assign({}, slot), { error: "From time cannot be after to time" });
3694
+ return __assign$1(__assign$1({}, slot), { error: "From time cannot be after to time" });
2531
3695
  }
2532
3696
  }
2533
- return __assign(__assign({}, slot), { error: null });
3697
+ return __assign$1(__assign$1({}, slot), { error: null });
2534
3698
  });
2535
3699
  };
2536
3700
  /**
@@ -2564,7 +3728,7 @@ var ScheduleRow = function (_a) {
2564
3728
  * @description Toggles the `isOpen` status of the schedule for the day.
2565
3729
  */
2566
3730
  var handleToggleDay = function () {
2567
- onChange(__assign(__assign({}, daySchedule), { isOpen: !daySchedule.isOpen }));
3731
+ onChange(__assign$1(__assign$1({}, daySchedule), { isOpen: !daySchedule.isOpen }));
2568
3732
  };
2569
3733
  /**
2570
3734
  * @function handleTimeChange
@@ -2575,11 +3739,11 @@ var ScheduleRow = function (_a) {
2575
3739
  */
2576
3740
  var handleTimeChange = function (index, field, value) {
2577
3741
  var _a;
2578
- var newTimeSlots = __spreadArray([], daySchedule.timeSlots, true);
3742
+ var newTimeSlots = __spreadArray$1([], daySchedule.timeSlots, true);
2579
3743
  // Update the specific field
2580
- newTimeSlots[index] = __assign(__assign({}, newTimeSlots[index]), (_a = {}, _a[field] = fromTimeValue(value), _a));
3744
+ newTimeSlots[index] = __assign$1(__assign$1({}, newTimeSlots[index]), (_a = {}, _a[field] = fromTimeValue(value), _a));
2581
3745
  var validatedSlots = validateTimeSlots(newTimeSlots);
2582
- onChange(__assign(__assign({}, daySchedule), { timeSlots: validatedSlots }));
3746
+ onChange(__assign$1(__assign$1({}, daySchedule), { timeSlots: validatedSlots }));
2583
3747
  };
2584
3748
  /**
2585
3749
  * @function handleAddTimeSlot
@@ -2588,9 +3752,9 @@ var ScheduleRow = function (_a) {
2588
3752
  */
2589
3753
  var handleAddTimeSlot = function () {
2590
3754
  // Add a new empty slot
2591
- var newTimeSlots = __spreadArray(__spreadArray([], daySchedule.timeSlots, true), [{ from: "", to: "" }], false);
3755
+ var newTimeSlots = __spreadArray$1(__spreadArray$1([], daySchedule.timeSlots, true), [{ from: "", to: "" }], false);
2592
3756
  var validatedSlots = validateTimeSlots(newTimeSlots);
2593
- onChange(__assign(__assign({}, daySchedule), { timeSlots: validatedSlots }));
3757
+ onChange(__assign$1(__assign$1({}, daySchedule), { timeSlots: validatedSlots }));
2594
3758
  };
2595
3759
  /**
2596
3760
  * @function handleRemoveTimeSlot
@@ -2604,7 +3768,7 @@ var ScheduleRow = function (_a) {
2604
3768
  if (newTimeSlots.length === 0) {
2605
3769
  newTimeSlots = [{ from: "", to: "" }];
2606
3770
  }
2607
- onChange(__assign(__assign({}, daySchedule), { timeSlots: newTimeSlots }));
3771
+ onChange(__assign$1(__assign$1({}, daySchedule), { timeSlots: newTimeSlots }));
2608
3772
  };
2609
3773
  /**
2610
3774
  * @function getSlotsToDisplay
@@ -2621,12 +3785,12 @@ var ScheduleRow = function (_a) {
2621
3785
  // Return slots exactly as they are - no automatic additions
2622
3786
  return slots;
2623
3787
  };
2624
- return (jsxRuntime.jsxs("div", { className: "flex flex-col w-full gap-y-4 last:border-b-0 last:mb-0 last:pb-0 border-b border-default-200 xs:py-4 xl:p-4 first:pt-0", children: [jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-between", children: [jsxRuntime.jsxs("div", { className: "flex xs:space-x-2 sm:space-x-4", children: [jsxRuntime.jsx("h3", { className: "text-small font-semibold text-default-900 capitalize", children: day }), jsxRuntime.jsx(react.Chip, { size: "sm", color: daySchedule.isOpen ? "primary" : "default", className: "text-background", children: daySchedule.isOpen ? t.open : t.closed })] }), jsxRuntime.jsxs("div", { className: "flex xs:gap-2 sm:gap-5", children: [jsxRuntime.jsx(Switch, { size: "sm", color: "primary", isSelected: daySchedule.isOpen, onValueChange: handleToggleDay }), showCopyToAll && onCopyToAll && (jsxRuntime.jsx(Button, { size: "sm", variant: "bordered", onPress: function () { return onCopyToAll(day); }, children: t.copyToAll }))] })] }), daySchedule.isOpen && (jsxRuntime.jsx("div", { className: "flex flex-col justify-around gap-y-3 ", children: getSlotsToDisplay().map(function (slot, index) {
3788
+ return (jsxRuntime.jsxs("div", { className: "flex flex-col w-full gap-y-4 last:border-b-0 last:mb-0 last:pb-0 border-b border-default-200 xs:py-4 xl:p-4 first:pt-0", children: [jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-between", children: [jsxRuntime.jsxs("div", { className: "flex xs:space-x-2 sm:space-x-4", children: [jsxRuntime.jsx("h3", { className: "text-small font-semibold text-default-900 capitalize", children: day }), jsxRuntime.jsx(react.Chip, { size: "sm", color: daySchedule.isOpen ? "primary" : "default", className: "text-background", children: daySchedule.isOpen ? t.open : t.closed })] }), jsxRuntime.jsxs("div", { className: "flex xs:gap-2 sm:gap-5", children: [jsxRuntime.jsx(Switch, { size: "sm", color: "primary", isSelected: daySchedule.isOpen, onValueChange: handleToggleDay }), showCopyToAll && onCopyToAll && (jsxRuntime.jsx(Button$1, { size: "sm", variant: "bordered", onPress: function () { return onCopyToAll(day); }, children: t.copyToAll }))] })] }), daySchedule.isOpen && (jsxRuntime.jsx("div", { className: "flex flex-col justify-around gap-y-3 ", children: getSlotsToDisplay().map(function (slot, index) {
2625
3789
  var slotsToDisplay = getSlotsToDisplay();
2626
3790
  var isLastSlot = index === slotsToDisplay.length - 1;
2627
3791
  var isSlotFilled = slot.from && slot.to;
2628
3792
  var canDelete = slotsToDisplay.length > 1;
2629
- return (jsxRuntime.jsxs("div", { className: "flex items-center gap-1 w-full justify-between", children: [jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-1", children: [jsxRuntime.jsx(TimeInput, { label: t.from, className: "w-full", value: toTimeValue(slot.from), onChange: function (value) { return handleTimeChange(index, "from", value); }, isInvalid: !!slot.error }), jsxRuntime.jsx("span", { className: "text-default-900 xs:hidden xl:block", children: "-" }), jsxRuntime.jsx(TimeInput, { label: t.to, className: "w-full", value: toTimeValue(slot.to), onChange: function (value) { return handleTimeChange(index, "to", value); }, isInvalid: !!slot.error, errorMessage: slot.error })] }), isLastSlot ? (jsxRuntime.jsx(Button, { isIconOnly: true, size: "sm", color: "primary", variant: "light", onPress: handleAddTimeSlot, isDisabled: !isSlotFilled, startContent: jsxRuntime.jsx(IconComponent, { icon: "solar:add-circle-bold" }) })) : (jsxRuntime.jsx(Button, { isIconOnly: true, size: "sm", color: "danger", variant: "light", onPress: function () { return handleRemoveTimeSlot(index); }, isDisabled: !canDelete, startContent: jsxRuntime.jsx(IconComponent, { icon: "solar:trash-bin-minimalistic-outline" }) }))] }, "".concat(day, "-timeslot-").concat(index)));
3793
+ return (jsxRuntime.jsxs("div", { className: "flex items-center gap-1 w-full justify-between", children: [jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-1", children: [jsxRuntime.jsx(TimeInput, { label: t.from, className: "w-full", value: toTimeValue(slot.from), onChange: function (value) { return handleTimeChange(index, "from", value); }, isInvalid: !!slot.error }), jsxRuntime.jsx("span", { className: "text-default-900 xs:hidden xl:block", children: "-" }), jsxRuntime.jsx(TimeInput, { label: t.to, className: "w-full", value: toTimeValue(slot.to), onChange: function (value) { return handleTimeChange(index, "to", value); }, isInvalid: !!slot.error, errorMessage: slot.error })] }), isLastSlot ? (jsxRuntime.jsx(Button$1, { isIconOnly: true, size: "sm", color: "primary", variant: "light", onPress: handleAddTimeSlot, isDisabled: !isSlotFilled, startContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:add-circle-bold" }) })) : (jsxRuntime.jsx(Button$1, { isIconOnly: true, size: "sm", color: "danger", variant: "light", onPress: function () { return handleRemoveTimeSlot(index); }, isDisabled: !canDelete, startContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:trash-bin-minimalistic-outline" }) }))] }, "".concat(day, "-timeslot-").concat(index)));
2630
3794
  }) }))] }, day));
2631
3795
  };
2632
3796
 
@@ -2640,11 +3804,11 @@ var ScheduleRow = function (_a) {
2640
3804
  * - Follows BeweOS design guidelines
2641
3805
  */
2642
3806
  var SearchInput = function (_a) {
2643
- var _b = _a.searchPlaceholder, searchPlaceholder = _b === void 0 ? "Buscar..." : _b, _c = _a.searchIcon, searchIcon = _c === void 0 ? "solar:magnifer-outline" : _c, iconProps = _a.iconProps, onSearchChange = _a.onSearchChange, searchValue = _a.searchValue, value = _a.value, onValueChange = _a.onValueChange, placeholder = _a.placeholder, _d = _a.size, size = _d === void 0 ? "sm" : _d, _e = _a.className, className = _e === void 0 ? "flex-1 max-w-xs min-w-52" : _e, props = __rest(_a, ["searchPlaceholder", "searchIcon", "iconProps", "onSearchChange", "searchValue", "value", "onValueChange", "placeholder", "size", "className"]);
3807
+ var _b = _a.searchPlaceholder, searchPlaceholder = _b === void 0 ? "Buscar..." : _b, _c = _a.searchIcon, searchIcon = _c === void 0 ? "solar:magnifer-outline" : _c, iconProps = _a.iconProps, onSearchChange = _a.onSearchChange, searchValue = _a.searchValue, value = _a.value, onValueChange = _a.onValueChange, placeholder = _a.placeholder, _d = _a.size, size = _d === void 0 ? "sm" : _d, _e = _a.className, className = _e === void 0 ? "flex-1 max-w-xs min-w-52" : _e, props = __rest$1(_a, ["searchPlaceholder", "searchIcon", "iconProps", "onSearchChange", "searchValue", "value", "onValueChange", "placeholder", "size", "className"]);
2644
3808
  // Use searchValue/onSearchChange if provided, otherwise fall back to value/onValueChange
2645
3809
  var inputValue = searchValue !== null && searchValue !== void 0 ? searchValue : value;
2646
3810
  var handleValueChange = onSearchChange !== null && onSearchChange !== void 0 ? onSearchChange : onValueChange;
2647
- return (jsxRuntime.jsx(Input, __assign({}, props, { className: className, size: size, placeholder: placeholder || searchPlaceholder, value: inputValue, onValueChange: handleValueChange, endContent: jsxRuntime.jsx(IconComponent, __assign({ icon: searchIcon, className: "text-default-400", size: "sm" }, iconProps)) })));
3811
+ return (jsxRuntime.jsx(Input, __assign$1({}, props, { className: className, size: size, placeholder: placeholder || searchPlaceholder, value: inputValue, onValueChange: handleValueChange, endContent: jsxRuntime.jsx(IconComponent$1, __assign$1({ icon: searchIcon, className: "text-default-400", size: "sm" }, iconProps)) })));
2648
3812
  };
2649
3813
 
2650
3814
  /**
@@ -2657,10 +3821,10 @@ var SearchInput = function (_a) {
2657
3821
  * - Size: sm, md, lg (configurable)
2658
3822
  */
2659
3823
  var Select = function (_a) {
2660
- var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.variant, variant = _c === void 0 ? "bordered" : _c, _d = _a.radius, radius = _d === void 0 ? "md" : _d, placeholder = _a.placeholder, props = __rest(_a, ["label", "id", "size", "variant", "radius", "placeholder"]);
3824
+ var label = _a.label, id = _a.id, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.variant, variant = _c === void 0 ? "bordered" : _c, _d = _a.radius, radius = _d === void 0 ? "md" : _d, placeholder = _a.placeholder, props = __rest$1(_a, ["label", "id", "size", "variant", "radius", "placeholder"]);
2661
3825
  var generatedId = React.useId();
2662
3826
  var selectId = id || generatedId;
2663
- return (jsxRuntime.jsx("div", { className: "group", children: jsxRuntime.jsx(react.Select, __assign({}, props, { id: selectId, label: label, labelPlacement: "outside", placeholder: placeholder, variant: variant, size: size, radius: radius, classNames: {
3827
+ return (jsxRuntime.jsx("div", { className: "group", children: jsxRuntime.jsx(react.Select, __assign$1({}, props, { id: selectId, label: label, labelPlacement: "outside", placeholder: placeholder, variant: variant, size: size, radius: radius, classNames: {
2664
3828
  label: "text-default-600 text-tiny group-data-[filled=true]:text-default-600",
2665
3829
  trigger: "data-[open=true]:!border-primary-500 data-[focus=true]:!border-primary-500 data-[disabled=true]:bg-default-100",
2666
3830
  popoverContent: "[&_[data-focus-visible=true]]:!outline-none [&_[data-selectable=true]:focus]:!bg-primary-50 [&_li]:!text-default-500 [&_li[data-hover=true]]:!text-default-600",
@@ -2668,18 +3832,18 @@ var Select = function (_a) {
2668
3832
  };
2669
3833
 
2670
3834
  function AuraTable(_a) {
2671
- var columns = _a.columns, items = _a.items, renderCell = _a.renderCell, children = _a.children, props = __rest(_a, ["columns", "items", "renderCell", "children"]);
2672
- return (jsxRuntime.jsxs(react.Table, __assign({ removeWrapper: true, radius: "none" }, props, { children: [jsxRuntime.jsx(react.TableHeader, { columns: columns, children: function (column) { return jsxRuntime.jsx(react.TableColumn, { children: column.label }, column.key); } }), jsxRuntime.jsx(react.TableBody, { items: items, children: function (item) { return (jsxRuntime.jsx(react.TableRow, { children: function (columnKey) { return (jsxRuntime.jsx(react.TableCell, { children: renderCell ? renderCell(item, columnKey) : children })); } }, item.id)); } })] })));
3835
+ var columns = _a.columns, items = _a.items, renderCell = _a.renderCell, children = _a.children, props = __rest$1(_a, ["columns", "items", "renderCell", "children"]);
3836
+ return (jsxRuntime.jsxs(react.Table, __assign$1({ removeWrapper: true, radius: "none" }, props, { children: [jsxRuntime.jsx(react.TableHeader, { columns: columns, children: function (column) { return jsxRuntime.jsx(react.TableColumn, { children: column.label }, column.key); } }), jsxRuntime.jsx(react.TableBody, { items: items, children: function (item) { return (jsxRuntime.jsx(react.TableRow, { children: function (columnKey) { return (jsxRuntime.jsx(react.TableCell, { children: renderCell ? renderCell(item, columnKey) : children })); } }, item.id)); } })] })));
2673
3837
  }
2674
3838
 
2675
3839
  /**
2676
3840
  * Textarea component that wraps the HeroUI TextArea component.
2677
3841
  */
2678
3842
  var Textarea = function (_a) {
2679
- var id = _a.id, label = _a.label, placeholder = _a.placeholder, description = _a.description, errorMessage = _a.errorMessage, _b = _a.variant, variant = _b === void 0 ? "bordered" : _b, _c = _a.radius, radius = _c === void 0 ? "md" : _c, _d = _a.size, size = _d === void 0 ? "md" : _d; _a.labelPlacement; var props = __rest(_a, ["id", "label", "placeholder", "description", "errorMessage", "variant", "radius", "size", "labelPlacement"]);
3843
+ var id = _a.id, label = _a.label, placeholder = _a.placeholder, description = _a.description, errorMessage = _a.errorMessage, _b = _a.variant, variant = _b === void 0 ? "bordered" : _b, _c = _a.radius, radius = _c === void 0 ? "md" : _c, _d = _a.size, size = _d === void 0 ? "md" : _d; _a.labelPlacement; var props = __rest$1(_a, ["id", "label", "placeholder", "description", "errorMessage", "variant", "radius", "size", "labelPlacement"]);
2680
3844
  var generatedId = React.useId();
2681
3845
  var autoId = id || generatedId;
2682
- return (jsxRuntime.jsx(react.Textarea, __assign({}, props, { id: autoId, label: label, variant: variant, radius: radius, size: size, labelPlacement: "outside", placeholder: placeholder, description: description, errorMessage: errorMessage, classNames: {
3846
+ return (jsxRuntime.jsx(react.Textarea, __assign$1({}, props, { id: autoId, label: label, variant: variant, radius: radius, size: size, labelPlacement: "outside", placeholder: placeholder, description: description, errorMessage: errorMessage, classNames: {
2683
3847
  label: "text-default-600 text-tiny group-data-[filled=true]:text-default-600",
2684
3848
  inputWrapper: "data-[focus=true]:!border-primary-500 data-[focus=true]:!border-primary-500",
2685
3849
  } })));
@@ -2702,7 +3866,7 @@ var defaultTranslations$2 = {
2702
3866
  var ThemePicker = function (_a) {
2703
3867
  var value = _a.value, onChange = _a.onChange, className = _a.className, _b = _a.translations, translations = _b === void 0 ? {} : _b;
2704
3868
  // Combinar traducciones por defecto con las proporcionadas
2705
- var t = __assign(__assign({}, defaultTranslations$2), translations);
3869
+ var t = __assign$1(__assign$1({}, defaultTranslations$2), translations);
2706
3870
  var themes = [
2707
3871
  {
2708
3872
  key: "light",
@@ -3055,7 +4219,7 @@ var FilePreview = function (_a) {
3055
4219
  if (!(file === null || file === void 0 ? void 0 : file.type.startsWith("image/"))) {
3056
4220
  return null;
3057
4221
  }
3058
- return (jsxRuntime.jsxs("div", { className: "absolute inset-0 overflow-hidden z-10", children: [jsxRuntime.jsx("img", { src: previewUrl, alt: file.name, className: "w-full h-full object-cover" }), jsxRuntime.jsx(react.Button, { isIconOnly: true, size: "sm", color: "danger", variant: "solid", className: "absolute top-2 right-2 sm:top-3 sm:right-3 z-20 bg-red-100 hover:bg-red-200 text-red-600 min-w-8 h-8 sm:min-w-10 sm:h-10", onPress: onRemove, "aria-label": removeAriaLabel, children: jsxRuntime.jsx(IconComponent, { icon: "heroicons:trash", size: "sm" }) })] }));
4222
+ return (jsxRuntime.jsxs("div", { className: "absolute inset-0 overflow-hidden z-10", children: [jsxRuntime.jsx("img", { src: previewUrl, alt: file.name, className: "w-full h-full object-cover" }), jsxRuntime.jsx(react.Button, { isIconOnly: true, size: "sm", color: "danger", variant: "solid", className: "absolute top-2 right-2 sm:top-3 sm:right-3 z-20 bg-red-100 hover:bg-red-200 text-red-600 min-w-8 h-8 sm:min-w-10 sm:h-10", onPress: onRemove, "aria-label": removeAriaLabel, children: jsxRuntime.jsx(IconComponent$1, { icon: "heroicons:trash", size: "sm" }) })] }));
3059
4223
  };
3060
4224
  /**
3061
4225
  * Componente UploadDocument basado en Hero UI con funcionalidad mejorada
@@ -3094,7 +4258,7 @@ var UploadFile = function (_a) {
3094
4258
  var _q = React.useState(""), selectedImageUrl = _q[0], setSelectedImageUrl = _q[1];
3095
4259
  var _r = React.useState(null); _r[0]; var setOriginalFile = _r[1];
3096
4260
  // Combinar traducciones por defecto con las proporcionadas
3097
- var t = React.useMemo(function () { return (__assign(__assign({}, defaultTranslations$1), translations)); }, [translations]);
4261
+ var t = React.useMemo(function () { return (__assign$1(__assign$1({}, defaultTranslations$1), translations)); }, [translations]);
3098
4262
  // Actualizar texto si se pasa como prop (retrocompatibilidad)
3099
4263
  var finalText = text || t.uploadText;
3100
4264
  var finalSubText = subText || t.subText;
@@ -3266,7 +4430,7 @@ var UploadFile = function (_a) {
3266
4430
  var subTextClasses = "\n\t\ttext-tiny text-center\n\t\t".concat(disabled ? "text-default-400" : "text-default-500 dark:text-default-400", "\n\t");
3267
4431
  return (jsxRuntime.jsxs("div", { className: "relative", children: [jsxRuntime.jsx(react.Card, { className: containerClasses, style: containerStyle, isPressable: !(disabled || uploadImageRef.current), onPress: handleClick, children: jsxRuntime.jsxs(react.CardBody, { className: "flex flex-col items-center justify-center relative overflow-hidden ".concat(size === "micro" ? "gap-1" : size === "small" ? "gap-1.5" : "gap-3 sm:gap-4"), onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [uploadImageRef.current && (jsxRuntime.jsx(FilePreview, { file: uploadImageRef.current, onRemove: handleRemoveImage, removeAriaLabel: t.removeFileAriaLabel })), jsxRuntime.jsx("div", { className: uploadImageRef.current
3268
4432
  ? "opacity-0"
3269
- : "opacity-100 transition-opacity", children: jsxRuntime.jsxs("div", { className: "flex flex-col items-center ".concat(size === "micro" ? "gap-1" : size === "small" ? "gap-1.5" : "gap-3 sm:gap-4"), children: [jsxRuntime.jsx(IconComponent, { icon: icon, size: size === "micro" ? "sm" : size === "small" ? "md" : "xl", className: "".concat(size === "micro" ? "text-lg"
4433
+ : "opacity-100 transition-opacity", children: jsxRuntime.jsxs("div", { className: "flex flex-col items-center ".concat(size === "micro" ? "gap-1" : size === "small" ? "gap-1.5" : "gap-3 sm:gap-4"), children: [jsxRuntime.jsx(IconComponent$1, { icon: icon, size: size === "micro" ? "sm" : size === "small" ? "md" : "xl", className: "".concat(size === "micro" ? "text-lg"
3270
4434
  : size === "small" ? "text-xl sm:text-2xl"
3271
4435
  : "sm:text-4xl lg:text-5xl", " ").concat(disabled ? "text-gray-400" : iconColor || "text-primary") }), shouldShowText && (jsxRuntime.jsxs("div", { className: "text-center ".concat(size === "micro" ? "px-0.5"
3272
4436
  : size === "small" ? "px-1"
@@ -3321,7 +4485,7 @@ function WizardSidebar(_a) {
3321
4485
  ? "bg-primary-600 text-white shadow-lg scale-110 border-2 border-primary-600"
3322
4486
  : isCompleted
3323
4487
  ? "border-2 border-primary-600 dark:border-primary-400 text-primary-600 dark:text-primary-400 bg-transparent"
3324
- : "border-2 border-primary-300 dark:border-primary-700 text-primary-400 dark:text-primary-500 bg-transparent"), children: step.icon ? (jsxRuntime.jsx(IconComponent, { icon: step.icon, className: "text-base" })) : isCompleted ? (jsxRuntime.jsx(IconComponent, { icon: "solar:check-circle-bold", className: "text-base" })) : (step.number) }), jsxRuntime.jsx("div", { className: "flex-1 min-w-0", children: jsxRuntime.jsx("p", { className: "text-xs font-medium transition-colors leading-tight ".concat(isActive
4488
+ : "border-2 border-primary-300 dark:border-primary-700 text-primary-400 dark:text-primary-500 bg-transparent"), children: step.icon ? (jsxRuntime.jsx(IconComponent$1, { icon: step.icon, className: "text-base" })) : isCompleted ? (jsxRuntime.jsx(IconComponent$1, { icon: "solar:check-circle-bold", className: "text-base" })) : (step.number) }), jsxRuntime.jsx("div", { className: "flex-1 min-w-0", children: jsxRuntime.jsx("p", { className: "text-xs font-medium transition-colors leading-tight ".concat(isActive
3325
4489
  ? "text-primary-600 dark:text-primary-400"
3326
4490
  : isCompleted
3327
4491
  ? "text-primary-600 dark:text-primary-400"
@@ -3351,8 +4515,8 @@ function WizardNavigation(_a) {
3351
4515
  onNext();
3352
4516
  }
3353
4517
  };
3354
- return (jsxRuntime.jsxs("div", { className: "flex justify-between items-center ".concat(className), children: [showBack && !isFirstStep ? (jsxRuntime.jsx(react.Button, { variant: "light", size: "md", onPress: onBack, isDisabled: isBackDisabled || isLoading, startContent: jsxRuntime.jsx(IconComponent, { icon: "solar:alt-arrow-left-bold", className: "text-base" }), children: effectiveBackText })) : (jsxRuntime.jsx("div", {}) // Spacer para mantener el botón "Siguiente" a la derecha
3355
- ), jsxRuntime.jsx(react.Button, { color: "primary", variant: "solid", size: "md", onPress: handleNext, isDisabled: isNextDisabled || isLoading, isLoading: isLoading, endContent: isLastStep ? (jsxRuntime.jsx(IconComponent, { icon: "solar:check-circle-bold", className: "text-base" })) : (jsxRuntime.jsx(IconComponent, { icon: "solar:alt-arrow-right-bold", className: "text-base" })), children: isLastStep ? effectiveFinishText : effectiveNextText })] }));
4518
+ return (jsxRuntime.jsxs("div", { className: "flex justify-between items-center ".concat(className), children: [showBack && !isFirstStep ? (jsxRuntime.jsx(react.Button, { variant: "light", size: "md", onPress: onBack, isDisabled: isBackDisabled || isLoading, startContent: jsxRuntime.jsx(IconComponent$1, { icon: "solar:alt-arrow-left-bold", className: "text-base" }), children: effectiveBackText })) : (jsxRuntime.jsx("div", {}) // Spacer para mantener el botón "Siguiente" a la derecha
4519
+ ), jsxRuntime.jsx(react.Button, { color: "primary", variant: "solid", size: "md", onPress: handleNext, isDisabled: isNextDisabled || isLoading, isLoading: isLoading, endContent: isLastStep ? (jsxRuntime.jsx(IconComponent$1, { icon: "solar:check-circle-bold", className: "text-base" })) : (jsxRuntime.jsx(IconComponent$1, { icon: "solar:alt-arrow-right-bold", className: "text-base" })), children: isLastStep ? effectiveFinishText : effectiveNextText })] }));
3356
4520
  }
3357
4521
 
3358
4522
  /**
@@ -3406,7 +4570,7 @@ function Wizard(_a) {
3406
4570
  var steps = _a.steps, currentStep = _a.currentStep, onStepChange = _a.onStepChange, renderStep = _a.renderStep, _b = _a.navigationConfig, navigationConfig = _b === void 0 ? {} : _b, _c = _a.validations, validations = _c === void 0 ? [] : _c, onComplete = _a.onComplete, onBeforeStepChange = _a.onBeforeStepChange, onAfterStepChange = _a.onAfterStepChange, _d = _a.showSidebar, showSidebar = _d === void 0 ? true : _d, _e = _a.sidebarPosition, sidebarPosition = _e === void 0 ? "left" : _e, _f = _a.minHeight, minHeight = _f === void 0 ? "600px" : _f, _g = _a.className, className = _g === void 0 ? "" : _g, _h = _a.isLoading, isLoading = _h === void 0 ? false : _h, loadingText = _a.loadingText, _j = _a.isDisabled, isDisabled = _j === void 0 ? false : _j, _k = _a.translations, translations = _k === void 0 ? {} : _k;
3407
4571
  var _l = React.useState(false), isTransitioning = _l[0], setIsTransitioning = _l[1];
3408
4572
  // Merge default translations with provided ones
3409
- var t = React.useMemo(function () { return (__assign(__assign({}, defaultTranslations), translations)); }, [translations]);
4573
+ var t = React.useMemo(function () { return (__assign$1(__assign$1({}, defaultTranslations), translations)); }, [translations]);
3410
4574
  // Use loadingText prop for backward compatibility, but prefer translations
3411
4575
  var effectiveLoadingText = loadingText !== null && loadingText !== void 0 ? loadingText : t.loadingText;
3412
4576
  // Configuración de navegación con valores por defecto
@@ -3644,7 +4808,7 @@ var NavigationLoadingOverlay = function (_a) {
3644
4808
  var DrawerFiltersFooter = function (_a) {
3645
4809
  var onClearFilters = _a.onClearFilters, onCancel = _a.onCancel, onApplyFilters = _a.onApplyFilters, _b = _a.translations, translations = _b === void 0 ? {} : _b;
3646
4810
  var _c = translations.clearFilters, clearFilters = _c === void 0 ? "Limpiar filtro" : _c, _d = translations.cancel, cancel = _d === void 0 ? "Cancelar" : _d, _e = translations.applyFilters, applyFilters = _e === void 0 ? "Aplicar filtro" : _e;
3647
- return (jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-6 py-10 bg-content1", children: [jsxRuntime.jsx(Button, { variant: "light", color: "primary", onPress: onClearFilters, className: "text-primary", children: clearFilters }), jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [jsxRuntime.jsx(Button, { variant: "bordered", color: "primary", onPress: onCancel, children: cancel }), jsxRuntime.jsx(Button, { variant: "solid", color: "primary", onPress: onApplyFilters, children: applyFilters })] })] }));
4811
+ return (jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-6 py-10 bg-content1", children: [jsxRuntime.jsx(Button$1, { variant: "light", color: "primary", onPress: onClearFilters, className: "text-primary", children: clearFilters }), jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [jsxRuntime.jsx(Button$1, { variant: "bordered", color: "primary", onPress: onCancel, children: cancel }), jsxRuntime.jsx(Button$1, { variant: "solid", color: "primary", onPress: onApplyFilters, children: applyFilters })] })] }));
3648
4812
  };
3649
4813
 
3650
4814
  /**
@@ -3679,7 +4843,7 @@ var RangeFilter = function (_a) {
3679
4843
  tooltipProducts: "productos",
3680
4844
  tooltipProduct: "producto",
3681
4845
  };
3682
- var t = __assign(__assign({}, defaultTranslations), translations);
4846
+ var t = __assign$1(__assign$1({}, defaultTranslations), translations);
3683
4847
  // Function to check if a bar is in the selected range
3684
4848
  var isBarInRange = function (barStart, barEnd) {
3685
4849
  return barStart >= currentValue[0] && barEnd <= currentValue[1];
@@ -3721,7 +4885,7 @@ var RangeFilter = function (_a) {
3721
4885
  alignSelf: "flex-end",
3722
4886
  opacity: inRange ? 1 : 0.4,
3723
4887
  }, title: "".concat(bar.priceRange, ": ").concat(bar.count, " ").concat(bar.count !== 1 ? t.tooltipProducts : t.tooltipProduct), children: jsxRuntime.jsx("div", { className: "absolute bottom-full left-1/2 transform -translate-x-1/2 mb-1 px-2 py-1 bg-default-900 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-10", children: jsxRuntime.jsxs("div", { className: "text-center", children: [jsxRuntime.jsx("div", { className: "font-medium", children: formatValue(bar.midPrice) }), jsxRuntime.jsxs("div", { className: "text-xs opacity-75", children: [bar.count, " ", bar.count !== 1 ? t.tooltipProducts : t.tooltipProduct] })] }) }) }, "".concat(bar.binStart, "-").concat(bar.binEnd)));
3724
- }) }) }), jsxRuntime.jsx("div", { className: "px-2", children: jsxRuntime.jsx(react.Slider, __assign({ step: step, minValue: minValue, maxValue: maxValue, defaultValue: [minValue, maxValue], value: currentValue, onChange: function (newValue) {
4888
+ }) }) }), jsxRuntime.jsx("div", { className: "px-2", children: jsxRuntime.jsx(react.Slider, __assign$1({ step: step, minValue: minValue, maxValue: maxValue, defaultValue: [minValue, maxValue], value: currentValue, onChange: function (newValue) {
3725
4889
  var _a = newValue, min = _a[0], max = _a[1];
3726
4890
  setCurrentValue([min, max]);
3727
4891
  onChange([min, max]);
@@ -3835,7 +4999,7 @@ var FilterSection = function (_a) {
3835
4999
  "--tw-shadow-colored": "var(--heroui-box-shadow-medium)",
3836
5000
  }, children: [jsxRuntime.jsxs("button", { type: "button", className: "flex items-center justify-between w-full text-left p-4", onClick: handleToggleExpanded, children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [jsxRuntime.jsx(H2, { className: "text-base font-normal text-foreground", children: filter.title }), hasActiveFilter() && (jsxRuntime.jsx("span", { className: "text-xs px-2 py-1 rounded-full text-black dark:text-white", style: {
3837
5001
  backgroundColor: "hsl(var(--heroui-default) / var(--heroui-default-opacity, var(--tw-bg-opacity)))",
3838
- }, children: getActiveFilterCount() }))] }), jsxRuntime.jsx(IconComponent, { icon: internalExpanded
5002
+ }, children: getActiveFilterCount() }))] }), jsxRuntime.jsx(IconComponent$1, { icon: internalExpanded
3839
5003
  ? "solar:alt-arrow-down-outline"
3840
5004
  : "solar:alt-arrow-right-outline", size: "sm", className: "text-default-500" })] }), internalExpanded && (jsxRuntime.jsxs("div", { className: "px-4 pb-4", onClick: function (e) { return e.stopPropagation(); }, children: [filter.description && (jsxRuntime.jsx(P, { className: "text-default-500 mb-4", children: filter.description })), renderFilterContent()] }))] }));
3841
5005
  };
@@ -3958,7 +5122,7 @@ var DrawerFilters = function (_a) {
3958
5122
  var handleFilterChange = React.useCallback(function (filterKey, value) {
3959
5123
  setFilterValues(function (prev) {
3960
5124
  var _a;
3961
- return (__assign(__assign({}, prev), (_a = {}, _a[filterKey] = value, _a)));
5125
+ return (__assign$1(__assign$1({}, prev), (_a = {}, _a[filterKey] = value, _a)));
3962
5126
  });
3963
5127
  }, []);
3964
5128
  // Clear all filters
@@ -4048,7 +5212,7 @@ var DrawerFilters = function (_a) {
4048
5212
  DrawerFilters.displayName = "DrawerFilters";
4049
5213
 
4050
5214
  var Modal = function (props) {
4051
- return (jsxRuntime.jsx(react.Modal, __assign({ shouldBlockScroll: true, radius: "lg", className: "py-9 px-6" }, props)));
5215
+ return (jsxRuntime.jsx(react.Modal, __assign$1({ shouldBlockScroll: true, radius: "lg", className: "py-9 px-6" }, props)));
4052
5216
  };
4053
5217
 
4054
5218
  var ModalContent = react.ModalContent;
@@ -4075,16 +5239,16 @@ var paddingClasses = {
4075
5239
  * - Hereda de HeroUI Card con personalización BeweOS
4076
5240
  */
4077
5241
  var Card = function (_a) {
4078
- var children = _a.children, _b = _a.className, className = _b === void 0 ? "" : _b, _c = _a.shadow, shadow = _c === void 0 ? "sm" : _c, _d = _a.radius, radius = _d === void 0 ? "sm" : _d, _e = _a.padding, padding = _e === void 0 ? "md" : _e, props = __rest(_a, ["children", "className", "shadow", "radius", "padding"]);
5242
+ var children = _a.children, _b = _a.className, className = _b === void 0 ? "" : _b, _c = _a.shadow, shadow = _c === void 0 ? "sm" : _c, _d = _a.radius, radius = _d === void 0 ? "sm" : _d, _e = _a.padding, padding = _e === void 0 ? "md" : _e, props = __rest$1(_a, ["children", "className", "shadow", "radius", "padding"]);
4079
5243
  var paddingClass = paddingClasses[padding];
4080
5244
  var combinedClassName = [paddingClass, className].filter(Boolean).join(" ");
4081
- return (jsxRuntime.jsx(react.Card, __assign({ shadow: shadow, radius: radius, className: combinedClassName }, props, { children: children })));
5245
+ return (jsxRuntime.jsx(react.Card, __assign$1({ shadow: shadow, radius: radius, className: combinedClassName }, props, { children: children })));
4082
5246
  };
4083
5247
 
4084
5248
  /**
4085
5249
  * @file This file contains the theme configurations for the application.
4086
5250
  */
4087
- var ALL_THEMES = __spreadArray(["light", "dark"], Object.keys(themeColors), true);
5251
+ var ALL_THEMES = __spreadArray$1(["light", "dark"], Object.keys(themeColors$1), true);
4088
5252
 
4089
5253
  /**
4090
5254
  * Custom hook to manage the theme state and side effects.
@@ -4168,13 +5332,13 @@ var AuraToastProvider = function (_a) {
4168
5332
  clearTimeout(timerRef.current);
4169
5333
  timerRef.current = null;
4170
5334
  }
4171
- setToast(function (currentToast) { return (__assign(__assign({}, currentToast), { isVisible: false })); });
5335
+ setToast(function (currentToast) { return (__assign$1(__assign$1({}, currentToast), { isVisible: false })); });
4172
5336
  }, []);
4173
5337
  var showToast = React.useCallback(function (options) {
4174
5338
  if (timerRef.current) {
4175
5339
  clearTimeout(timerRef.current);
4176
5340
  }
4177
- setToast(__assign({ isVisible: true }, options));
5341
+ setToast(__assign$1({ isVisible: true }, options));
4178
5342
  var duration = options.duration === undefined ? 3000 : options.duration;
4179
5343
  if (duration > 0) {
4180
5344
  timerRef.current = setTimeout(function () {
@@ -4232,7 +5396,7 @@ exports.AuraAutocomplete = AuraAutocomplete;
4232
5396
  exports.AuraTable = AuraTable;
4233
5397
  exports.AuraToastProvider = AuraToastProvider;
4234
5398
  exports.BreadcrumbsComponent = BreadcrumbsComponent;
4235
- exports.Button = Button;
5399
+ exports.Button = Button$1;
4236
5400
  exports.Card = Card;
4237
5401
  exports.Chip = Chip;
4238
5402
  exports.ColorSelector = ColorSelector;
@@ -4246,7 +5410,8 @@ exports.H2 = H2;
4246
5410
  exports.H3 = H3;
4247
5411
  exports.H4 = H4;
4248
5412
  exports.HeaderComponent = HeaderComponent;
4249
- exports.IconComponent = IconComponent;
5413
+ exports.IconComponent = IconComponent$1;
5414
+ exports.ImagePreview = ImagePreview;
4250
5415
  exports.Input = Input;
4251
5416
  exports.MenuComponent = MenuComponent;
4252
5417
  exports.Modal = Modal;
@@ -4281,8 +5446,8 @@ exports.Wizard = Wizard;
4281
5446
  exports.WizardNavigation = WizardNavigation;
4282
5447
  exports.WizardSidebar = WizardSidebar;
4283
5448
  exports.defaultTranslations = defaultTranslations$3;
4284
- exports.sizeMap = sizeMap;
4285
- exports.themeColors = themeColors;
5449
+ exports.sizeMap = sizeMap$1;
5450
+ exports.themeColors = themeColors$1;
4286
5451
  exports.useAuraToast = useAuraToast;
4287
5452
  exports.useNavigationLoading = useNavigationLoading;
4288
5453
  exports.useThemeContext = useThemeContext;