@beweco/aurora-ui 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/assets/css/styles.css +1 -1
  2. package/dist/index.cjs.js +470 -96
  3. package/dist/index.esm.js +376 -7
  4. package/dist/types/components/drawer-filters/DrawerFilters.d.ts +14 -0
  5. package/dist/types/components/drawer-filters/DrawerFilters.d.ts.map +1 -0
  6. package/dist/types/components/drawer-filters/DrawerFilters.types.d.ts +101 -0
  7. package/dist/types/components/drawer-filters/DrawerFilters.types.d.ts.map +1 -0
  8. package/dist/types/components/drawer-filters/_internal/DrawerFiltersFooter.d.ts +7 -0
  9. package/dist/types/components/drawer-filters/_internal/DrawerFiltersFooter.d.ts.map +1 -0
  10. package/dist/types/components/drawer-filters/_internal/DrawerFiltersHeader.d.ts +7 -0
  11. package/dist/types/components/drawer-filters/_internal/DrawerFiltersHeader.d.ts.map +1 -0
  12. package/dist/types/components/drawer-filters/_internal/FilterSection.d.ts +4 -0
  13. package/dist/types/components/drawer-filters/_internal/FilterSection.d.ts.map +1 -0
  14. package/dist/types/components/drawer-filters/index.d.ts +3 -0
  15. package/dist/types/components/drawer-filters/index.d.ts.map +1 -0
  16. package/dist/types/components/modal/_internal/ModalBody.d.ts +1 -1
  17. package/dist/types/components/modal/_internal/ModalBody.d.ts.map +1 -1
  18. package/dist/types/components/modal/_internal/ModalFooter.d.ts +1 -1
  19. package/dist/types/components/modal/_internal/ModalFooter.d.ts.map +1 -1
  20. package/dist/types/components/modal/_internal/ModalHeader.d.ts +1 -1
  21. package/dist/types/components/modal/_internal/ModalHeader.d.ts.map +1 -1
  22. package/dist/types/components/multi-step-wizard/MultiStepWizard.types.d.ts +1 -0
  23. package/dist/types/components/multi-step-wizard/MultiStepWizard.types.d.ts.map +1 -1
  24. package/dist/types/components/range-filter/RangeFilter.d.ts +7 -0
  25. package/dist/types/components/range-filter/RangeFilter.d.ts.map +1 -0
  26. package/dist/types/components/range-filter/RangeFilter.types.d.ts +33 -0
  27. package/dist/types/components/range-filter/RangeFilter.types.d.ts.map +1 -0
  28. package/dist/types/components/range-filter/index.d.ts +3 -0
  29. package/dist/types/components/range-filter/index.d.ts.map +1 -0
  30. package/dist/types/components/vertical-steps/VerticalSteps.d.ts.map +1 -1
  31. package/dist/types/components/vertical-steps/VerticalSteps.types.d.ts +2 -0
  32. package/dist/types/components/vertical-steps/VerticalSteps.types.d.ts.map +1 -1
  33. package/dist/types/index.d.ts +4 -0
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/package.json +4 -2
package/dist/index.esm.js CHANGED
@@ -1,5 +1,6 @@
1
- import { Button as Button$1, DatePicker as DatePicker$1, DateRangePicker as DateRangePicker$1, Input as Input$1, RadioGroup, Radio, cn, Card as Card$1, Spacer, Tabs, Tab, Chip as Chip$1, Dropdown, DropdownTrigger, DropdownMenu, DropdownItem, Autocomplete, Breadcrumbs, BreadcrumbItem, DropdownSection, ListboxItem, Popover, PopoverTrigger, Tooltip as Tooltip$1, PopoverContent, Listbox, Accordion, AccordionItem, ListboxSection, Avatar, CardBody, CardFooter, Pagination as Pagination$1, Link, Switch as Switch$1, TimeInput as TimeInput$1, Select as Select$1, Table, TableHeader, TableColumn, TableBody, TableRow, TableCell, Textarea as Textarea$1, Alert, Modal as Modal$1, ModalContent as ModalContent$1, ModalHeader as ModalHeader$1, ModalBody as ModalBody$1, Slider, ModalFooter as ModalFooter$1, Spinner } from '@heroui/react';
1
+ import { Button as Button$1, DatePicker as DatePicker$1, DateRangePicker as DateRangePicker$1, Input as Input$1, RadioGroup, Radio, cn, Card as Card$1, Spacer, Tabs, Tab, Chip as Chip$1, Dropdown, DropdownTrigger, DropdownMenu, DropdownItem, Autocomplete, Breadcrumbs, BreadcrumbItem, DropdownSection, ListboxItem, Popover, PopoverTrigger, Tooltip as Tooltip$1, PopoverContent, Listbox, Accordion, AccordionItem, ListboxSection, Avatar, CardBody, CardFooter, Pagination as Pagination$1, Link, Switch as Switch$1, TimeInput as TimeInput$1, Select as Select$1, Table, TableHeader, TableColumn, TableBody, TableRow, TableCell, Textarea as Textarea$1, Alert, Modal as Modal$1, ModalContent as ModalContent$1, ModalHeader as ModalHeader$1, ModalBody as ModalBody$1, Slider, ModalFooter as ModalFooter$1, Spinner, SelectItem, Drawer, DrawerContent, DrawerBody } from '@heroui/react';
2
2
  export * from '@heroui/react';
3
+ export { Slider } from '@heroui/react';
3
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
5
  import React, { useId, useState, useCallback, useMemo, createContext, useContext, createElement, useRef, useEffect, useLayoutEffect } from 'react';
5
6
  import { Icon } from '@iconify/react';
@@ -1402,12 +1403,15 @@ var VerticalSteps = React.forwardRef(function (_a, ref) {
1402
1403
  return (jsx("nav", { "aria-label": "Progress", className: "max-w-fit", children: jsx("ol", { className: cn("flex flex-col gap-y-3", colors, className), children: steps === null || steps === void 0 ? void 0 : steps.map(function (step, stepIdx) {
1403
1404
  var status = currentStep === stepIdx
1404
1405
  ? "active"
1405
- : currentStep < stepIdx
1406
- ? "inactive"
1407
- : "complete";
1406
+ : step.isCompleted
1407
+ ? "complete"
1408
+ : "inactive";
1409
+ var isDisabled = status === "inactive";
1408
1410
  return (
1409
1411
  // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
1410
- jsxs("li", { className: "relative", children: [jsx("div", { className: "flex w-full max-w-full items-center", children: jsxs("button", __assign({ type: "button", ref: ref, "aria-current": status === "active" ? "step" : undefined, className: cn("group rounded-large flex w-full cursor-pointer items-center justify-center gap-4 px-3 py-2.5", stepClassName), onClick: function () { return setCurrentStep(stepIdx); } }, props, { children: [jsx("div", { className: "flex h-full items-center", children: jsx(LazyMotion, { features: domAnimation, children: jsx("div", { className: "relative", children: jsx(m.div, { animate: status, className: cn("border-medium text-large text-default-600 relative flex h-[34px] w-[34px] items-center justify-center rounded-full font-semibold", {
1412
+ jsxs("li", { className: "relative", children: [jsx("div", { className: "flex w-full max-w-full items-center", children: jsxs("button", __assign({ type: "button", ref: ref, "aria-current": status === "active" ? "step" : undefined, className: cn("group rounded-large flex w-full cursor-pointer items-center justify-center gap-4 px-3 py-2.5", stepClassName, {
1413
+ "cursor-not-allowed": isDisabled,
1414
+ }), onClick: function () { return setCurrentStep(stepIdx); }, disabled: isDisabled }, props, { children: [jsx("div", { className: "flex h-full items-center", children: jsx(LazyMotion, { features: domAnimation, children: jsx("div", { className: "relative", children: jsx(m.div, { animate: status, className: cn("border-medium text-large text-default-600 relative flex h-[34px] w-[34px] items-center justify-center rounded-full font-semibold", {
1411
1415
  "shadow-lg": status === "complete",
1412
1416
  }), "data-status": status, initial: false, transition: { duration: 0.25 }, variants: {
1413
1417
  inactive: {
@@ -2203,7 +2207,7 @@ function GlobalToast() {
2203
2207
  if (!toast.isVisible) {
2204
2208
  return null;
2205
2209
  }
2206
- return (jsx("div", { className: "fixed top-4 right-4 z-50 w-full max-w-sm", children: jsx(Alert, { hideIconWrapper: true, color: toast.color, variant: "flat", title: toast.title, description: toast.description, isClosable: true, onClose: hideToast }) }));
2210
+ return (jsx("div", { className: "fixed top-4 right-4 z-[2000] w-full max-w-sm", children: jsx(Alert, { hideIconWrapper: true, color: toast.color, variant: "flat", title: toast.title, description: toast.description, isClosable: true, onClose: hideToast }) }));
2207
2211
  }
2208
2212
 
2209
2213
  // Traducciones por defecto en español
@@ -2715,6 +2719,371 @@ var NavigationLoadingOverlay = function (_a) {
2715
2719
  return (jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center", children: [jsx("div", { className: "absolute inset-0 bg-black/10 backdrop-blur-sm" }), jsx("div", { className: "flex flex-col items-center gap-4", children: jsx(Spinner, { size: "lg", color: "primary", className: "drop-shadow-sm" }) })] }));
2716
2720
  };
2717
2721
 
2722
+ /**
2723
+ * Footer of the DrawerFilters with action buttons.
2724
+ */
2725
+ var DrawerFiltersFooter = function (_a) {
2726
+ var onClearFilters = _a.onClearFilters, onCancel = _a.onCancel, onApplyFilters = _a.onApplyFilters, _b = _a.translations, translations = _b === void 0 ? {} : _b;
2727
+ 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;
2728
+ return (jsxs("div", { className: "flex items-center justify-between px-6 py-10 bg-content1", children: [jsx(Button, { variant: "light", color: "primary", onPress: onClearFilters, className: "text-primary", children: clearFilters }), jsxs("div", { className: "flex items-center gap-3", children: [jsx(Button, { variant: "bordered", color: "primary", onPress: onCancel, children: cancel }), jsx(Button, { variant: "solid", color: "primary", onPress: onApplyFilters, children: applyFilters })] })] }));
2729
+ };
2730
+
2731
+ /**
2732
+ * Header of the DrawerFilters with title and description.
2733
+ */
2734
+ var DrawerFiltersHeader = function (_a) {
2735
+ var title = _a.title, description = _a.description;
2736
+ return (jsxs("div", { className: "px-6 pt-10", children: [jsx(H2, { className: "text-xl font-semibold text-foreground mb-2", children: title }), jsx(P, { className: "text-default-500", children: description })] }));
2737
+ };
2738
+
2739
+ /**
2740
+ * RangeFilter component with histogram visualization for range selection.
2741
+ */
2742
+ var RangeFilter = function (_a) {
2743
+ var title = _a.title, description = _a.description, value = _a.value, onChange = _a.onChange, minValue = _a.minValue, maxValue = _a.maxValue, _b = _a.step, step = _b === void 0 ? 1000 : _b, data = _a.data, _c = _a.formatValue, formatValue = _c === void 0 ? function (val) { return val.toString(); } : _c, _d = _a.bins, bins = _d === void 0 ? 20 : _d, _e = _a.translations, translations = _e === void 0 ? {} : _e, _f = _a.sliderProps, sliderProps = _f === void 0 ? {} : _f, _g = _a.className, className = _g === void 0 ? "" : _g;
2744
+ // If no value is provided or is empty, use the default range
2745
+ var initialValue = value || [minValue, maxValue];
2746
+ // Internal state to handle the slider value
2747
+ var _h = useState(initialValue), currentValue = _h[0], setCurrentValue = _h[1];
2748
+ // Synchronize with the external value when it changes
2749
+ useEffect(function () {
2750
+ if (value) {
2751
+ setCurrentValue(value);
2752
+ }
2753
+ }, [value]);
2754
+ // Default translations
2755
+ var defaultTranslations = {
2756
+ title: title,
2757
+ description: description || "",
2758
+ minLabel: "Mínimo",
2759
+ maxLabel: "Máximo",
2760
+ tooltipProducts: "productos",
2761
+ tooltipProduct: "producto",
2762
+ };
2763
+ var t = __assign(__assign({}, defaultTranslations), translations);
2764
+ // Function to check if a bar is in the selected range
2765
+ var isBarInRange = function (barStart, barEnd) {
2766
+ return barStart >= currentValue[0] && barEnd <= currentValue[1];
2767
+ };
2768
+ // Generate data for the histogram
2769
+ var histogramData = useMemo(function () {
2770
+ var binWidth = (maxValue - minValue) / bins;
2771
+ var histogram = new Array(bins).fill(0);
2772
+ // Count elements in each range
2773
+ for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
2774
+ var item = data_1[_i];
2775
+ var binIndex = Math.min(Math.floor((item - minValue) / binWidth), bins - 1);
2776
+ histogram[binIndex]++;
2777
+ }
2778
+ return histogram.map(function (count, index) {
2779
+ var binStart = minValue + index * binWidth;
2780
+ var binEnd = minValue + (index + 1) * binWidth;
2781
+ var binMidPoint = (binStart + binEnd) / 2;
2782
+ // Calculate height based on the value (the higher the value, the higher the height)
2783
+ // Normalize the middle value of the bin with respect to the total range
2784
+ var valueRatio = (binMidPoint - minValue) / (maxValue - minValue);
2785
+ // The height goes from 20% (minimum value) to 100% (maximum value)
2786
+ // All bars maintain visual height, regardless of whether they have data
2787
+ var heightPercentage = Math.max(20, valueRatio * 80 + 20);
2788
+ return {
2789
+ height: heightPercentage,
2790
+ binStart: binStart,
2791
+ binEnd: binEnd,
2792
+ count: count,
2793
+ priceRange: "".concat(formatValue(binStart), " - ").concat(formatValue(binEnd)),
2794
+ midPrice: binMidPoint,
2795
+ };
2796
+ });
2797
+ }, [data, minValue, maxValue, bins, formatValue]);
2798
+ return (jsxs("div", { className: "flex flex-col gap-4 ".concat(className), children: [jsx("div", { className: "flex flex-col gap-1", children: t.description && (jsx("p", { className: "text-xs text-default-500", children: t.description })) }), jsx("div", { className: "relative h-16 bg-default-50 rounded-lg p-2", children: jsx("div", { className: "flex items-end h-full", style: { gap: "1px" }, children: histogramData.map(function (bar, _index) {
2799
+ var inRange = isBarInRange(bar.binStart, bar.binEnd);
2800
+ return (jsx("div", { className: "flex-1 rounded-t-sm transition-all duration-200 group relative ".concat(inRange ? "bg-primary-400" : "bg-default-300"), style: {
2801
+ height: "".concat(bar.height, "%"),
2802
+ alignSelf: "flex-end",
2803
+ opacity: inRange ? 1 : 0.4,
2804
+ }, title: "".concat(bar.priceRange, ": ").concat(bar.count, " ").concat(bar.count !== 1 ? t.tooltipProducts : t.tooltipProduct), children: 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: jsxs("div", { className: "text-center", children: [jsx("div", { className: "font-medium", children: formatValue(bar.midPrice) }), jsxs("div", { className: "text-xs opacity-75", children: [bar.count, " ", bar.count !== 1 ? t.tooltipProducts : t.tooltipProduct] })] }) }) }, "".concat(bar.binStart, "-").concat(bar.binEnd)));
2805
+ }) }) }), jsx("div", { className: "px-2", children: jsx(Slider, __assign({ step: step, minValue: minValue, maxValue: maxValue, defaultValue: [minValue, maxValue], value: currentValue, onChange: function (newValue) {
2806
+ var _a = newValue, min = _a[0], max = _a[1];
2807
+ setCurrentValue([min, max]);
2808
+ onChange([min, max]);
2809
+ }, className: "w-full", isDisabled: false, showSteps: false, showOutline: false, showTooltip: false }, sliderProps)) }), jsxs("div", { className: "flex justify-between items-center text-sm", children: [jsxs("div", { className: "flex flex-col items-start", children: [jsx("span", { className: "text-xs text-default-500", children: t.minLabel }), jsx("span", { className: "font-medium text-default-700", children: formatValue(currentValue[0]) })] }), jsxs("div", { className: "flex flex-col items-end", children: [jsx("span", { className: "text-xs text-default-500", children: t.maxLabel }), jsx("span", { className: "font-medium text-default-700", children: formatValue(currentValue[1]) })] })] })] }));
2810
+ };
2811
+
2812
+ // =========================================================================
2813
+ // BASE FILTER SECTION COMPONENT
2814
+ // =========================================================================
2815
+ var FilterSection = function (_a) {
2816
+ var filter = _a.filter, value = _a.value, onChange = _a.onChange, _b = _a.isExpanded, isExpanded = _b === void 0 ? false : _b, onToggleExpanded = _a.onToggleExpanded;
2817
+ var _c = useState(isExpanded), internalExpanded = _c[0], setInternalExpanded = _c[1];
2818
+ var handleToggleExpanded = function () {
2819
+ var newExpanded = !internalExpanded;
2820
+ setInternalExpanded(newExpanded);
2821
+ onToggleExpanded === null || onToggleExpanded === void 0 ? void 0 : onToggleExpanded();
2822
+ };
2823
+ var hasActiveFilter = function () {
2824
+ if (!value) {
2825
+ return false;
2826
+ }
2827
+ switch (filter.type) {
2828
+ case "select":
2829
+ return value && "value" in value && value.value !== "";
2830
+ case "multiselect":
2831
+ return (value &&
2832
+ "values" in value &&
2833
+ Array.isArray(value.values) &&
2834
+ value.values.length > 0);
2835
+ case "range":
2836
+ return (value &&
2837
+ "min" in value &&
2838
+ "max" in value &&
2839
+ (value.min !== undefined || value.max !== undefined));
2840
+ case "date":
2841
+ return (value &&
2842
+ "type" in value &&
2843
+ value.type &&
2844
+ ((value.type === "singleDay" && value.date) ||
2845
+ (value.type === "dateRange" &&
2846
+ value.dateRange &&
2847
+ value.dateRange.start &&
2848
+ value.dateRange.end)));
2849
+ default:
2850
+ return false;
2851
+ }
2852
+ };
2853
+ var getActiveFilterCount = function () {
2854
+ if (!value) {
2855
+ return 0;
2856
+ }
2857
+ switch (filter.type) {
2858
+ case "select":
2859
+ return value && "value" in value && value.value !== "" ? 1 : 0;
2860
+ case "multiselect":
2861
+ return value && "values" in value && Array.isArray(value.values)
2862
+ ? value.values.length
2863
+ : 0;
2864
+ case "range":
2865
+ return value &&
2866
+ "min" in value &&
2867
+ "max" in value &&
2868
+ (value.min !== undefined || value.max !== undefined)
2869
+ ? 1
2870
+ : 0;
2871
+ case "date":
2872
+ return value &&
2873
+ "type" in value &&
2874
+ value.type &&
2875
+ ((value.type === "singleDay" && value.date) ||
2876
+ (value.type === "dateRange" &&
2877
+ value.dateRange &&
2878
+ value.dateRange.start &&
2879
+ value.dateRange.end))
2880
+ ? 1
2881
+ : 0;
2882
+ default:
2883
+ return 0;
2884
+ }
2885
+ };
2886
+ var renderFilterContent = function () {
2887
+ switch (filter.type) {
2888
+ case "select":
2889
+ return (jsx(SelectFilter, { filter: filter, value: value, onChange: onChange }));
2890
+ case "multiselect":
2891
+ return (jsx(MultiSelectFilter, { filter: filter, value: value, onChange: onChange }));
2892
+ case "range":
2893
+ return (jsx(RangeFilterComponent, { filter: filter, value: value, onChange: onChange }));
2894
+ case "date":
2895
+ return (jsx(DateFilter, { filter: filter, value: value, onChange: onChange }));
2896
+ default:
2897
+ return null;
2898
+ }
2899
+ };
2900
+ return (jsxs("div", { className: "bg-white rounded-xl max-w-sm", style: {
2901
+ border: "0 solid #e5e7eb",
2902
+ boxShadow: "var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)",
2903
+ "--tw-shadow": "var(--heroui-box-shadow-medium)",
2904
+ "--tw-shadow-colored": "var(--heroui-box-shadow-medium)",
2905
+ }, children: [jsxs("button", { type: "button", className: "flex items-center justify-between w-full text-left p-4", onClick: handleToggleExpanded, children: [jsxs("div", { className: "flex items-center gap-3", children: [jsx(H2, { className: "text-base font-normal text-foreground", children: filter.title }), hasActiveFilter() && (jsx("span", { className: "text-xs px-2 py-1 rounded-full text-black dark:text-white", style: {
2906
+ backgroundColor: "hsl(var(--heroui-default) / var(--heroui-default-opacity, var(--tw-bg-opacity)))",
2907
+ }, children: getActiveFilterCount() }))] }), jsx(IconComponent, { icon: internalExpanded
2908
+ ? "solar:alt-arrow-down-outline"
2909
+ : "solar:alt-arrow-right-outline", size: "sm", className: "text-default-500" })] }), internalExpanded && (jsxs("div", { className: "px-4 pb-4", onClick: function (e) { return e.stopPropagation(); }, children: [filter.description && (jsx(P, { className: "text-default-500 mb-4", children: filter.description })), renderFilterContent()] }))] }));
2910
+ };
2911
+ // =========================================================================
2912
+ // SELECT FILTER
2913
+ // =========================================================================
2914
+ var SelectFilter = function (_a) {
2915
+ var filter = _a.filter, value = _a.value, onChange = _a.onChange;
2916
+ var currentValue = (value === null || value === void 0 ? void 0 : value.value) || "";
2917
+ return (jsx(Select, { placeholder: "Seleccionar ".concat(filter.title.toLowerCase()), selectedKeys: currentValue ? [currentValue] : [], onSelectionChange: function (keys) {
2918
+ var selectedKey = Array.from(keys)[0];
2919
+ onChange({ value: selectedKey || "" });
2920
+ }, className: "w-full", children: filter.data.map(function (item) { return (jsx(SelectItem, { children: item.label }, item.value)); }) }));
2921
+ };
2922
+ // =========================================================================
2923
+ // MULTISELECT FILTER
2924
+ // =========================================================================
2925
+ var MultiSelectFilter = function (_a) {
2926
+ var filter = _a.filter, value = _a.value, onChange = _a.onChange;
2927
+ var currentValues = (value === null || value === void 0 ? void 0 : value.values) || [];
2928
+ return (jsx(Select, { placeholder: "Seleccionar ".concat(filter.title.toLowerCase()), selectedKeys: currentValues, onSelectionChange: function (keys) {
2929
+ var selectedKeys = Array.from(keys);
2930
+ onChange({ values: selectedKeys });
2931
+ }, selectionMode: "multiple", className: "w-full", children: filter.data.map(function (item) { return (jsx(SelectItem, { children: item.label }, item.value)); }) }));
2932
+ };
2933
+ // =========================================================================
2934
+ // RANGE FILTER
2935
+ // =========================================================================
2936
+ var RangeFilterComponent = function (_a) {
2937
+ var filter = _a.filter, value = _a.value, onChange = _a.onChange;
2938
+ var currentValue = value || { min: filter.data.min, max: filter.data.max };
2939
+ var rangeValue = [currentValue.min, currentValue.max];
2940
+ var handleChange = function (newValue) {
2941
+ var min = newValue[0], max = newValue[1];
2942
+ onChange({ min: min, max: max });
2943
+ };
2944
+ // Generate data array for histogram (simple implementation)
2945
+ var data = Array.from({
2946
+ length: Math.ceil((filter.data.max - filter.data.min) / (filter.data.step || 1)) + 1,
2947
+ }, function (_, i) { return filter.data.min + i * (filter.data.step || 1); });
2948
+ return (jsx(RangeFilter, { title: "Rango de ".concat(filter.title.toLowerCase()), minValue: filter.data.min, maxValue: filter.data.max, step: filter.data.step || 1, data: data, value: rangeValue, onChange: handleChange, className: "w-full" }));
2949
+ };
2950
+ // =========================================================================
2951
+ // DATE FILTER
2952
+ // =========================================================================
2953
+ var DateFilter = function (_a) {
2954
+ _a.filter; var value = _a.value, onChange = _a.onChange;
2955
+ var handleDateSelectorChange = function (dateSelectorValue) {
2956
+ onChange({
2957
+ type: dateSelectorValue.type === HolidayType.SingleDay
2958
+ ? "singleDay"
2959
+ : "dateRange",
2960
+ date: dateSelectorValue.date ? dateSelectorValue.date.toString() : null,
2961
+ dateRange: dateSelectorValue.dateRange
2962
+ ? {
2963
+ start: dateSelectorValue.dateRange.start
2964
+ ? dateSelectorValue.dateRange.start.toString()
2965
+ : null,
2966
+ end: dateSelectorValue.dateRange.end
2967
+ ? dateSelectorValue.dateRange.end.toString()
2968
+ : null,
2969
+ }
2970
+ : null,
2971
+ });
2972
+ };
2973
+ // Convert our internal format to DateSelector format
2974
+ var getInitialType = function () {
2975
+ if ((value === null || value === void 0 ? void 0 : value.type) === "dateRange") {
2976
+ return HolidayType.DateRange;
2977
+ }
2978
+ return HolidayType.SingleDay;
2979
+ };
2980
+ // For now, we'll let DateSelector handle its own state
2981
+ // The component will reset when the filter value changes
2982
+ var getInitialDate = function () {
2983
+ return undefined;
2984
+ };
2985
+ var getInitialDateRange = function () {
2986
+ return undefined;
2987
+ };
2988
+ return (jsx(DateSelector, { initialType: getInitialType(), initialDate: getInitialDate(), initialDateRange: getInitialDateRange(), onChange: handleDateSelectorChange, className: "w-full" }));
2989
+ };
2990
+
2991
+ /**
2992
+ * DrawerFilters - Generic component for dynamic filters in drawer.
2993
+ *
2994
+ * Características:
2995
+ * - Dynamic header with title and description
2996
+ * - Body with configurable filters (select, multiselect, range, date)
2997
+ * - Footer with action buttons (clear, cancel, apply)
2998
+ * - Internal state management of filters
2999
+ * - Callback for applying filters with processed values
3000
+ */
3001
+ var DrawerFilters = function (_a) {
3002
+ var isOpen = _a.isOpen, onOpenChange = _a.onOpenChange, config = _a.config, onApplyFilters = _a.onApplyFilters, onClearFilters = _a.onClearFilters, onCancel = _a.onCancel, className = _a.className, translations = _a.translations;
3003
+ var _b = useState({}), filterValues = _b[0], setFilterValues = _b[1];
3004
+ // Handle changes in individual filters
3005
+ var handleFilterChange = useCallback(function (filterKey, value) {
3006
+ setFilterValues(function (prev) {
3007
+ var _a;
3008
+ return (__assign(__assign({}, prev), (_a = {}, _a[filterKey] = value, _a)));
3009
+ });
3010
+ }, []);
3011
+ // Clear all filters
3012
+ var handleClearFilters = useCallback(function () {
3013
+ setFilterValues({});
3014
+ onClearFilters === null || onClearFilters === void 0 ? void 0 : onClearFilters();
3015
+ }, [onClearFilters]);
3016
+ // Handle drawer open/close changes
3017
+ var handleOpenChange = useCallback(function (open) {
3018
+ // Only close if explicitly requested (not from internal interactions)
3019
+ if (!open) {
3020
+ onOpenChange(false);
3021
+ }
3022
+ }, [onOpenChange]);
3023
+ // Cancel and close drawer
3024
+ var handleCancel = useCallback(function () {
3025
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
3026
+ onOpenChange(false);
3027
+ }, [onCancel, onOpenChange]);
3028
+ // Apply filters and process values
3029
+ var handleApplyFilters = useCallback(function () {
3030
+ var processedFilters = {};
3031
+ var _loop_1 = function (key, value) {
3032
+ if (value === undefined || value === null) {
3033
+ return "continue";
3034
+ }
3035
+ var filterConfig = config.data.find(function (f) { return f.key === key; });
3036
+ if (!filterConfig) {
3037
+ return "continue";
3038
+ }
3039
+ switch (filterConfig.type) {
3040
+ case "select":
3041
+ processedFilters[key] = value.value;
3042
+ break;
3043
+ case "date":
3044
+ if (value && "type" in value) {
3045
+ if (value.type === "singleDay" && value.date) {
3046
+ processedFilters[key] = value.date;
3047
+ }
3048
+ else if (value.type === "dateRange" &&
3049
+ value.dateRange &&
3050
+ value.dateRange.start &&
3051
+ value.dateRange.end) {
3052
+ processedFilters[key] =
3053
+ "".concat(value.dateRange.start, "-").concat(value.dateRange.end);
3054
+ }
3055
+ }
3056
+ break;
3057
+ case "multiselect":
3058
+ if ("values" in value &&
3059
+ Array.isArray(value.values) &&
3060
+ value.values.length > 0) {
3061
+ processedFilters[key] = value.values.join(",");
3062
+ }
3063
+ break;
3064
+ case "range":
3065
+ if ("min" in value &&
3066
+ "max" in value &&
3067
+ (value.min !== undefined || value.max !== undefined)) {
3068
+ processedFilters[key] = "".concat(value.min || 0, "-").concat(value.max || 0);
3069
+ }
3070
+ break;
3071
+ }
3072
+ };
3073
+ // Procesar cada filtro según su tipo
3074
+ for (var _i = 0, _a = Object.entries(filterValues); _i < _a.length; _i++) {
3075
+ var _b = _a[_i], key = _b[0], value = _b[1];
3076
+ _loop_1(key, value);
3077
+ }
3078
+ onApplyFilters(processedFilters);
3079
+ onOpenChange(false);
3080
+ }, [filterValues, config.data, onApplyFilters, onOpenChange]);
3081
+ return (jsx(Drawer, { isOpen: isOpen, onOpenChange: handleOpenChange, placement: "right", size: "md", className: cn("drawer-filters", className), isDismissable: false, hideCloseButton: false, children: jsxs(DrawerContent, { children: [jsx(DrawerFiltersHeader, { title: config.title, description: config.description }), jsx(DrawerBody, { className: "px-6 py-10", children: jsx("div", { className: "space-y-3", children: config.data.map(function (filter) {
3082
+ return (jsx(FilterSection, { filter: filter, value: filterValues[filter.key], onChange: function (value) { return handleFilterChange(filter.key, value); } }, filter.key));
3083
+ }) }) }), jsx(DrawerFiltersFooter, { onClearFilters: handleClearFilters, onCancel: handleCancel, onApplyFilters: handleApplyFilters, translations: translations })] }) }));
3084
+ };
3085
+ DrawerFilters.displayName = "DrawerFilters";
3086
+
2718
3087
  var Modal = function (props) {
2719
3088
  return (jsx(Modal$1, __assign({ shouldBlockScroll: true, radius: "lg", className: "py-9 px-6" }, props)));
2720
3089
  };
@@ -2886,4 +3255,4 @@ var NavigationLoadingProvider = function (_a) {
2886
3255
  return (jsxs(NavigationLoadingContext.Provider, { value: value, children: [children, jsx(NavigationLoadingOverlay, { isVisible: isVisible })] }));
2887
3256
  };
2888
3257
 
2889
- export { AddHolidayForm, AnalyticsCard, AuraAutocomplete, AuraTable, AuraToastProvider, BreadcrumbsComponent, Button, Card, Chip, ColorSelector, DatePicker, DateRangePicker, DateSelector, GlobalToast, H1, H2, H3, H4, HeaderComponent, HolidayType, IconComponent, Input, MenuComponent, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, MultiStepWizard, NavigationLoadingContext, NavigationLoadingOverlay, NavigationLoadingProvider, P, Pagination, Phone, PromotionalBanner, RowSteps, ScheduleRow, SearchInput, Select, StepIndicator, Switch as SwitchComponent, Textarea, ThemeContext, ThemePicker, ThemeProvider, TimeInput as TimeInputComponent, ToastContext, UploadFile, VerticalSteps, sizeMap, themeColors, useAuraToast, useNavigationLoading, useThemeContext };
3258
+ export { AddHolidayForm, AnalyticsCard, AuraAutocomplete, AuraTable, AuraToastProvider, BreadcrumbsComponent, Button, Card, Chip, ColorSelector, DatePicker, DateRangePicker, DateSelector, DrawerFilters, GlobalToast, H1, H2, H3, H4, HeaderComponent, HolidayType, IconComponent, Input, MenuComponent, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, MultiStepWizard, NavigationLoadingContext, NavigationLoadingOverlay, NavigationLoadingProvider, P, Pagination, Phone, PromotionalBanner, RangeFilter, RowSteps, ScheduleRow, SearchInput, Select, StepIndicator, Switch as SwitchComponent, Textarea, ThemeContext, ThemePicker, ThemeProvider, TimeInput as TimeInputComponent, ToastContext, UploadFile, VerticalSteps, sizeMap, themeColors, useAuraToast, useNavigationLoading, useThemeContext };
@@ -0,0 +1,14 @@
1
+ import type React from "react";
2
+ import type { DrawerFiltersProps } from "./DrawerFilters.types";
3
+ /**
4
+ * DrawerFilters - Generic component for dynamic filters in drawer.
5
+ *
6
+ * Características:
7
+ * - Dynamic header with title and description
8
+ * - Body with configurable filters (select, multiselect, range, date)
9
+ * - Footer with action buttons (clear, cancel, apply)
10
+ * - Internal state management of filters
11
+ * - Callback for applying filters with processed values
12
+ */
13
+ export declare const DrawerFilters: React.FC<DrawerFiltersProps>;
14
+ //# sourceMappingURL=DrawerFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer-filters/DrawerFilters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAEX,kBAAkB,EAKlB,MAAM,uBAAuB,CAAC;AAK/B;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyJtD,CAAC"}
@@ -0,0 +1,101 @@
1
+ export type FilterType = "select" | "multiselect" | "range" | "date";
2
+ export interface BaseFilterData {
3
+ key: string;
4
+ title: string;
5
+ description?: string;
6
+ type: FilterType;
7
+ }
8
+ export interface SelectFilterData extends BaseFilterData {
9
+ type: "select";
10
+ data: Array<{
11
+ label: string;
12
+ value: string;
13
+ }>;
14
+ }
15
+ export interface MultiSelectFilterData extends BaseFilterData {
16
+ type: "multiselect";
17
+ data: Array<{
18
+ label: string;
19
+ value: string;
20
+ }>;
21
+ }
22
+ export interface RangeFilterData extends BaseFilterData {
23
+ type: "range";
24
+ data: {
25
+ min: number;
26
+ max: number;
27
+ step?: number;
28
+ unit?: string;
29
+ };
30
+ }
31
+ export interface DateFilterData extends BaseFilterData {
32
+ type: "date";
33
+ data: {
34
+ min?: string;
35
+ max?: string;
36
+ placeholder?: string;
37
+ };
38
+ }
39
+ export type FilterData = SelectFilterData | MultiSelectFilterData | RangeFilterData | DateFilterData;
40
+ export interface DrawerFiltersConfig {
41
+ title: string;
42
+ description: string;
43
+ data: FilterData[];
44
+ }
45
+ export interface DrawerFiltersProps {
46
+ isOpen: boolean;
47
+ onOpenChange: (isOpen: boolean) => void;
48
+ config: DrawerFiltersConfig;
49
+ onApplyFilters: (filters: Record<string, SelectFilterValue | MultiSelectFilterValue | RangeFilterValue | DateFilterValue>) => void;
50
+ onClearFilters?: () => void;
51
+ onCancel?: () => void;
52
+ className?: string;
53
+ translations?: {
54
+ clearFilters?: string;
55
+ cancel?: string;
56
+ applyFilters?: string;
57
+ };
58
+ }
59
+ export interface FilterSectionProps {
60
+ filter: FilterData;
61
+ value?: SelectFilterValue | MultiSelectFilterValue | RangeFilterValue | DateFilterValue;
62
+ onChange: (value: SelectFilterValue | MultiSelectFilterValue | RangeFilterValue | DateFilterValue) => void;
63
+ isExpanded?: boolean;
64
+ onToggleExpanded?: () => void;
65
+ }
66
+ export interface DrawerFiltersHeaderProps {
67
+ title: string;
68
+ description: string;
69
+ }
70
+ export interface DrawerFiltersFooterProps {
71
+ onClearFilters: () => void;
72
+ onCancel: () => void;
73
+ onApplyFilters: () => void;
74
+ translations?: {
75
+ clearFilters?: string;
76
+ cancel?: string;
77
+ applyFilters?: string;
78
+ };
79
+ }
80
+ export interface FilterValues {
81
+ [key: string]: SelectFilterValue | MultiSelectFilterValue | RangeFilterValue | DateFilterValue;
82
+ }
83
+ export interface SelectFilterValue {
84
+ value: string;
85
+ }
86
+ export interface MultiSelectFilterValue {
87
+ values: string[];
88
+ }
89
+ export interface RangeFilterValue {
90
+ min: number;
91
+ max: number;
92
+ }
93
+ export interface DateFilterValue {
94
+ type: "singleDay" | "dateRange";
95
+ date: string | null;
96
+ dateRange: {
97
+ start: string | null;
98
+ end: string | null;
99
+ } | null;
100
+ }
101
+ //# sourceMappingURL=DrawerFilters.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerFilters.types.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer-filters/DrawerFilters.types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAErE,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACH;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC5D,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACH;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACtD,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;AAED,MAAM,MAAM,UAAU,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,cAAc,CAAC;AAMlB,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,CACf,OAAO,EAAE,MAAM,CACd,MAAM,EACJ,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,CACjB,KACG,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACF;AAMD,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EACH,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,CAAC;IACnB,QAAQ,EAAE,CACT,KAAK,EACF,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,KACd,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACxC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACF;AAMD,MAAM,WAAW,YAAY;IAC5B,CAAC,GAAG,EAAE,MAAM,GACT,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QACV,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACnB,GAAG,IAAI,CAAC;CACT"}
@@ -0,0 +1,7 @@
1
+ import type React from "react";
2
+ import type { DrawerFiltersFooterProps } from "../DrawerFilters.types";
3
+ /**
4
+ * Footer of the DrawerFilters with action buttons.
5
+ */
6
+ export declare const DrawerFiltersFooter: React.FC<DrawerFiltersFooterProps>;
7
+ //# sourceMappingURL=DrawerFiltersFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerFiltersFooter.d.ts","sourceRoot":"","sources":["../../../../../src/components/drawer-filters/_internal/DrawerFiltersFooter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAiClE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type React from "react";
2
+ import type { DrawerFiltersHeaderProps } from "../DrawerFilters.types";
3
+ /**
4
+ * Header of the DrawerFilters with title and description.
5
+ */
6
+ export declare const DrawerFiltersHeader: React.FC<DrawerFiltersHeaderProps>;
7
+ //# sourceMappingURL=DrawerFiltersHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerFiltersHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/drawer-filters/_internal/DrawerFiltersHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAUlE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type React from "react";
2
+ import type { FilterSectionProps } from "../DrawerFilters.types";
3
+ export declare const FilterSection: React.FC<FilterSectionProps>;
4
+ //# sourceMappingURL=FilterSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/drawer-filters/_internal/FilterSection.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAGX,kBAAkB,EAOlB,MAAM,wBAAwB,CAAC;AAMhC,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsLtD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { DrawerFilters } from "./DrawerFilters";
2
+ export type { DrawerFiltersProps, DrawerFiltersConfig, FilterData, FilterType, FilterValues, SelectFilterData, MultiSelectFilterData, RangeFilterData, DateFilterData, } from "./DrawerFilters.types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer-filters/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,YAAY,EACX,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,cAAc,GACd,MAAM,uBAAuB,CAAC"}
@@ -1,3 +1,3 @@
1
- declare const ModalBody: import("@heroui/system-rsc").InternalForwardRefRenderFunction<"div", import("@heroui/react").ModalBodyProps, never>;
1
+ declare const ModalBody: import("@heroui/react").InternalForwardRefRenderFunction<"div", import("@heroui/react").ModalBodyProps, never>;
2
2
  export default ModalBody;
3
3
  //# sourceMappingURL=ModalBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/modal/_internal/ModalBody.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,SAAS,qHAAkB,CAAC;AAElC,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"ModalBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/modal/_internal/ModalBody.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,SAAS,gHAAkB,CAAC;AAElC,eAAe,SAAS,CAAC"}
@@ -1,3 +1,3 @@
1
- declare const ModalFooter: import("@heroui/system-rsc").InternalForwardRefRenderFunction<"footer", import("@heroui/react").ModalFooterProps, never>;
1
+ declare const ModalFooter: import("@heroui/react").InternalForwardRefRenderFunction<"footer", import("@heroui/react").ModalFooterProps, never>;
2
2
  export default ModalFooter;
3
3
  //# sourceMappingURL=ModalFooter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalFooter.d.ts","sourceRoot":"","sources":["../../../../../src/components/modal/_internal/ModalFooter.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,0HAAoB,CAAC;AAEtC,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ModalFooter.d.ts","sourceRoot":"","sources":["../../../../../src/components/modal/_internal/ModalFooter.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,qHAAoB,CAAC;AAEtC,eAAe,WAAW,CAAC"}
@@ -1,3 +1,3 @@
1
- declare const ModalHeader: import("@heroui/system-rsc").InternalForwardRefRenderFunction<"header", import("@heroui/react").ModalHeaderProps, never>;
1
+ declare const ModalHeader: import("@heroui/react").InternalForwardRefRenderFunction<"header", import("@heroui/react").ModalHeaderProps, never>;
2
2
  export default ModalHeader;
3
3
  //# sourceMappingURL=ModalHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/modal/_internal/ModalHeader.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,0HAAoB,CAAC;AAEtC,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/modal/_internal/ModalHeader.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,qHAAoB,CAAC;AAEtC,eAAe,WAAW,CAAC"}
@@ -4,6 +4,7 @@ export interface Step {
4
4
  description: string;
5
5
  content: React.ReactNode;
6
6
  isStepValid?: boolean;
7
+ isCompleted?: boolean;
7
8
  }
8
9
  export interface MultiStepWizardProps {
9
10
  isOpen?: boolean;