lizaui 14.0.7 → 14.0.8
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/calendar/index.js +50 -28
- package/dist/calendar/index.js.map +1 -1
- package/package.json +1 -1
package/dist/calendar/index.js
CHANGED
|
@@ -12,7 +12,6 @@ import DateRangePicker from "@wojtekmaj/react-daterange-picker";
|
|
|
12
12
|
import CalendarComponent from "react-calendar";
|
|
13
13
|
import DatePicker from "react-date-picker";
|
|
14
14
|
import { FaCalendar } from "react-icons/fa";
|
|
15
|
-
import { MdOutlineClose } from "react-icons/md";
|
|
16
15
|
// src/components/calendar/icon/icon-calendar.tsx
|
|
17
16
|
var IconCalendar = (t0) => {
|
|
18
17
|
const $ = c(6);
|
|
@@ -40,42 +39,65 @@ var IconCalendar = (t0) => {
|
|
|
40
39
|
return t4;
|
|
41
40
|
};
|
|
42
41
|
var IconCloseCalendar = (t0) => {
|
|
43
|
-
const $ = c(
|
|
42
|
+
const $ = c(12);
|
|
44
43
|
const { disabled, error, onClick } = t0;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if ($[0] !== disabled || $[1] !== t1 || $[2] !== t2) {
|
|
49
|
-
t3 = clsx$1("w-5 h-5", {
|
|
50
|
-
"fill-gray-400": disabled,
|
|
51
|
-
"fill-gray-500": t1,
|
|
52
|
-
"fill-red-500": t2
|
|
53
|
-
});
|
|
54
|
-
$[0] = disabled;
|
|
55
|
-
$[1] = t1;
|
|
56
|
-
$[2] = t2;
|
|
57
|
-
$[3] = t3;
|
|
58
|
-
} else t3 = $[3];
|
|
59
|
-
let t4;
|
|
60
|
-
if ($[4] !== onClick) {
|
|
61
|
-
t4 = (e) => {
|
|
44
|
+
let t1;
|
|
45
|
+
if ($[0] !== onClick) {
|
|
46
|
+
t1 = (e) => {
|
|
62
47
|
e.stopPropagation();
|
|
63
48
|
onClick();
|
|
64
49
|
};
|
|
65
|
-
$[
|
|
50
|
+
$[0] = onClick;
|
|
51
|
+
$[1] = t1;
|
|
52
|
+
} else t1 = $[1];
|
|
53
|
+
const t2 = !disabled && !error;
|
|
54
|
+
const t3 = error && !disabled;
|
|
55
|
+
let t4;
|
|
56
|
+
if ($[2] !== disabled || $[3] !== t2 || $[4] !== t3) {
|
|
57
|
+
t4 = clsx$1("icon-close-to-calendar", {
|
|
58
|
+
"color-gray-400": disabled,
|
|
59
|
+
"color-gray-500": t2,
|
|
60
|
+
"color-danger-500": t3
|
|
61
|
+
});
|
|
62
|
+
$[2] = disabled;
|
|
63
|
+
$[3] = t2;
|
|
64
|
+
$[4] = t3;
|
|
66
65
|
$[5] = t4;
|
|
67
66
|
} else t4 = $[5];
|
|
68
67
|
let t5;
|
|
69
|
-
if ($[6]
|
|
70
|
-
t5 = /* @__PURE__ */ jsx(
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
69
|
+
t5 = /* @__PURE__ */ jsx("path", {
|
|
70
|
+
d: "M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z",
|
|
71
|
+
fill: "currentColor"
|
|
72
|
+
});
|
|
73
|
+
$[6] = t5;
|
|
74
|
+
} else t5 = $[6];
|
|
75
|
+
let t6;
|
|
76
|
+
if ($[7] !== t4) {
|
|
77
|
+
t6 = /* @__PURE__ */ jsx("svg", {
|
|
78
|
+
"aria-hidden": "true",
|
|
79
|
+
focusable: "false",
|
|
80
|
+
height: "18",
|
|
81
|
+
viewBox: "0 0 24 24",
|
|
82
|
+
width: "18",
|
|
83
|
+
className: t4,
|
|
84
|
+
children: t5
|
|
73
85
|
});
|
|
74
|
-
$[6] = t3;
|
|
75
86
|
$[7] = t4;
|
|
76
|
-
$[8] =
|
|
77
|
-
} else
|
|
78
|
-
|
|
87
|
+
$[8] = t6;
|
|
88
|
+
} else t6 = $[8];
|
|
89
|
+
let t7;
|
|
90
|
+
if ($[9] !== t1 || $[10] !== t6) {
|
|
91
|
+
t7 = /* @__PURE__ */ jsx("div", {
|
|
92
|
+
className: "absolute top-0 h-full flex items-center px-1.5 z-[1] opacity-70 hover:opacity-100 cursor-pointer rounded-full right-1",
|
|
93
|
+
onClick: t1,
|
|
94
|
+
children: t6
|
|
95
|
+
});
|
|
96
|
+
$[9] = t1;
|
|
97
|
+
$[10] = t6;
|
|
98
|
+
$[11] = t7;
|
|
99
|
+
} else t7 = $[11];
|
|
100
|
+
return t7;
|
|
79
101
|
};
|
|
80
102
|
// src/components/calendar/date-picker/date-picker.style.ts
|
|
81
103
|
var CalendarStyle = styled.div`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["{ disabled, error }: IconCalendarProps","!disabled && !error","error && !disabled","clsx({\r\n\t\t\t\t\"fill-gray-400\": disabled,\r\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\r\n\t\t\t\t\"fill-red-500\": error && !disabled,\r\n\t\t\t})","<FaCalendar\r\n\t\t\tclassName={clsx({\r\n\t\t\t\t\"fill-gray-400\": disabled,\r\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\r\n\t\t\t\t\"fill-red-500\": error && !disabled,\r\n\t\t\t})}\r\n\t\t/>","{ disabled, error, onClick }: IconCloseProps","clsx(\"w-5 h-5\", {\r\n\t\t\t\t\"fill-gray-400\": disabled,\r\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\r\n\t\t\t\t\"fill-red-500\": error && !disabled,\r\n\t\t\t})","(e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\tonClick();\r\n\t\t\t}","<MdOutlineClose\r\n\t\t\tclassName={clsx(\"w-5 h-5\", {\r\n\t\t\t\t\"fill-gray-400\": disabled,\r\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\r\n\t\t\t\t\"fill-red-500\": error && !disabled,\r\n\t\t\t})}\r\n\t\t\tonClick={(e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\tonClick();\r\n\t\t\t}}\r\n\t\t/>","showDoubleView = false","color = \"primary\"","showCalendar = false","locale = \"es\"","format = \"MM/dd/yyyy\"","type = \"date-picker\"","size = \"md\"","radius = \"input\"","tileContent = null","showActionButtons = true","popoverAnimation = \"zoom\"","popoverAlign = \"start\"","dayPlaceholder = \"dd\"","monthPlaceholder = \"mm\"","yearPlaceholder = \"yyyy\"","{\r\n\tid,\r\n\tvalue,\r\n\tshowDoubleView = false,\r\n\tclassNameContainer,\r\n\tclassName,\r\n\tcolor = \"primary\",\r\n\tminDate,\r\n\tmaxDate,\r\n\tshowCalendar = false,\r\n\tloading,\r\n\twidthCalendar,\r\n\tlocale = \"es\",\r\n\tformat = \"MM/dd/yyyy\",\r\n\tdisabled,\r\n\terror,\r\n\tlabel,\r\n\ttouched,\r\n\trequired,\r\n\tonChange,\r\n\tonCloseCalendar,\r\n\tonOpenCalendar,\r\n\ttileDisabled,\r\n\tonClearCalendar,\r\n\tonInvalidChange,\r\n\tonKeyDown,\r\n\tonKeyUp,\r\n\tonBlur,\r\n\ttype = \"date-picker\",\r\n\tsize = \"md\",\r\n\tradius = \"input\",\r\n\ttileContent = null,\r\n\tshowActionButtons = true,\r\n\tpopoverAnimation = \"zoom\",\r\n\tpopoverAlign = \"start\",\r\n\tdayPlaceholder = \"dd\",\r\n\tmonthPlaceholder = \"mm\",\r\n\tyearPlaceholder = \"yyyy\",\r\n}: CalendarProps","() => {\r\n\t\tif (showDoubleView || widthCalendar) return;\r\n\t\tconst element = document.getElementById(uui);\r\n\r\n\t\tif (element) setMeasuredWidth(element.clientWidth);\r\n\t}","[showDoubleView, uui, widthCalendar]","(value: ValueCalendar) => {\r\n\t\tonChange(value);\r\n\t\tsetShow(false);\r\n\t}","value","() => {\r\n\t\tconst dateNow = new Date();\r\n\r\n\t\tconst date = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate(), 0, 0, 0);\r\n\r\n\t\tif (type === \"date-range-picker\") {\r\n\t\t\thandleChange([date, date]);\r\n\t\t} else {\r\n\t\t\thandleChange(date);\r\n\t\t}\r\n\t}","useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0), [])","(d: Date, n: number) => startOfDay(new Date(d.getFullYear(), d.getMonth(), d.getDate() + n))","d","useCallback((d: Date, n: number) => startOfDay(new Date(d.getFullYear(), d.getMonth(), d.getDate() + n)), [startOfDay])","useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0), [])","useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59, 999), [])","(a?: Date | null, b?: Date | null) => {\r\n\t\tif (!a || !b) return false;\r\n\t\treturn a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\r\n\t}","(range?: ValueCalendar, target?: ValueCalendar) => {\r\n\t\tif (!Array.isArray(range) || !Array.isArray(target)) return false;\r\n\t\tconst [r0, r1] = range as (Date | null | undefined)[];\r\n\t\tconst [t0, t1] = target as (Date | null | undefined)[];\r\n\t\treturn isSameDay(r0, t0) && isSameDay(r1, t1);\r\n\t}","t0","t1","useMemo<PresetItem[]>(() => {\r\n\t\t// «Hoy» se calcula al usar el preset, no al memoizar: si el componente sigue montado pasada la medianoche,\r\n\t\t// los atajos no quedan con el día anterior.\r\n\t\tconst today = () => startOfDay(new Date());\r\n\t\tif (type === \"date-picker\") {\r\n\t\t\treturn [\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => today() },\r\n\t\t\t\t{ key: \"tomorrow\", label: \"Mañana\", getValue: () => addDays(today(), 1) },\r\n\t\t\t\t{ key: \"in7\", label: \"+7 días\", getValue: () => addDays(today(), 7) },\r\n\t\t\t\t{ key: \"in30\", label: \"+30 días\", getValue: () => addDays(today(), 30) },\r\n\t\t\t\t{ key: \"clear\", label: \"Limpiar\", action: () => onChange(null), separator: true },\r\n\t\t\t];\r\n\t\t} else {\r\n\t\t\tconst lastMonth = () => addDays(startOfMonth(today()), -1);\r\n\t\t\tconst nextMonth = () => addDays(endOfMonth(today()), 1);\r\n\r\n\t\t\treturn [\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => [today(), today()] },\r\n\t\t\t\t{ key: \"last7\", label: \"Últimos 7 días\", getValue: () => [addDays(today(), -6), today()] },\r\n\t\t\t\t{ key: \"next7\", label: \"Próx. 7 días\", getValue: () => [today(), addDays(today(), 6)] },\r\n\t\t\t\t{ key: \"thisMonth\", label: \"Este mes\", getValue: () => [startOfMonth(today()), endOfMonth(today())] },\r\n\t\t\t\t{ key: \"nextMonth\", label: \"Próximo mes\", getValue: () => [startOfMonth(nextMonth()), endOfMonth(nextMonth())] },\r\n\t\t\t\t{ key: \"lastMonth\", label: \"Mes pasado\", getValue: () => [startOfMonth(lastMonth()), endOfMonth(lastMonth())] },\r\n\t\t\t];\r\n\t\t}\r\n\t}, [type, onChange, addDays, startOfDay, startOfMonth, endOfMonth])","() => startOfDay(new Date())","{ key: \"today\", label: \"Hoy\", getValue: () => today() }","{ key: \"tomorrow\", label: \"Mañana\", getValue: () => addDays(today(), 1) }","{ key: \"in7\", label: \"+7 días\", getValue: () => addDays(today(), 7) }","{ key: \"in30\", label: \"+30 días\", getValue: () => addDays(today(), 30) }","[\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => today() },\r\n\t\t\t\t{ key: \"tomorrow\", label: \"Mañana\", getValue: () => addDays(today(), 1) },\r\n\t\t\t\t{ key: \"in7\", label: \"+7 días\", getValue: () => addDays(today(), 7) },\r\n\t\t\t\t{ key: \"in30\", label: \"+30 días\", getValue: () => addDays(today(), 30) },\r\n\t\t\t\t{ key: \"clear\", label: \"Limpiar\", action: () => onChange(null), separator: true },\r\n\t\t\t]","() => addDays(startOfMonth(today()), -1)","() => addDays(endOfMonth(today()), 1)","{ key: \"today\", label: \"Hoy\", getValue: () => [today(), today()] }","{ key: \"last7\", label: \"Últimos 7 días\", getValue: () => [addDays(today(), -6), today()] }","{ key: \"next7\", label: \"Próx. 7 días\", getValue: () => [today(), addDays(today(), 6)] }","{ key: \"thisMonth\", label: \"Este mes\", getValue: () => [startOfMonth(today()), endOfMonth(today())] }","{ key: \"nextMonth\", label: \"Próximo mes\", getValue: () => [startOfMonth(nextMonth()), endOfMonth(nextMonth())] }","[\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => [today(), today()] },\r\n\t\t\t\t{ key: \"last7\", label: \"Últimos 7 días\", getValue: () => [addDays(today(), -6), today()] },\r\n\t\t\t\t{ key: \"next7\", label: \"Próx. 7 días\", getValue: () => [today(), addDays(today(), 6)] },\r\n\t\t\t\t{ key: \"thisMonth\", label: \"Este mes\", getValue: () => [startOfMonth(today()), endOfMonth(today())] },\r\n\t\t\t\t{ key: \"nextMonth\", label: \"Próximo mes\", getValue: () => [startOfMonth(nextMonth()), endOfMonth(nextMonth())] },\r\n\t\t\t\t{ key: \"lastMonth\", label: \"Mes pasado\", getValue: () => [startOfMonth(lastMonth()), endOfMonth(lastMonth())] },\r\n\t\t\t]","(preset: PresetItem) => {\r\n\t\tif (preset.getValue) {\r\n\t\t\tconst pv = preset.getValue();\r\n\t\t\tif (type === \"date-picker\") {\r\n\t\t\t\treturn !Array.isArray(value) && !Array.isArray(pv) && isSameDay(value as Date | null, pv as Date | null);\r\n\t\t\t} else {\r\n\t\t\t\treturn Array.isArray(value) && Array.isArray(pv) && isSameRange(value, pv);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}","(preset: PresetItem) => {\r\n\t\tif (preset.action) {\r\n\t\t\tpreset.action();\r\n\t\t\tsetShow(false);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (preset.getValue) {\r\n\t\t\tconst v = preset.getValue();\r\n\t\t\tonChange(v);\r\n\t\t\tsetShow(false);\r\n\t\t}\r\n\t}","preset","() => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tsetShow(false);\r\n\r\n\t\tif (onCloseCalendar) onCloseCalendar();\r\n\t}","() => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tconst status = !show;\r\n\t\tsetShow(status);\r\n\r\n\t\tif (status && onOpenCalendar) onOpenCalendar();\r\n\t\telse if (onCloseCalendar) onCloseCalendar();\r\n\t}","() => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tif (onClearCalendar) return onClearCalendar();\r\n\r\n\t\tonChange(null);\r\n\t}","cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\r\n\t\t\"text-danger\": isInvalid,\r\n\t})","{\r\n\t\t\t\tzIndex: \"100\",\r\n\t\t\t}","show.toString()","showDoubleView.toString()","loading ? /* <Loading size=\"sm\" color=\"secondary\" /> */ <p>loading</p> : null","showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)","type === \"date-range-picker\"","type === \"date-range-picker\" ? \"range\" : \"start\"","<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />","<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />","locale === \"es\" ? \"Mes anterior\" : \"Previous month\"","locale === \"es\" ? \"Mes siguiente\" : \"Next month\"","<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>","<div className=\"w-full relative flex gap-2\">\r\n\t\t\t\t\t\t{showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>","<CalendarStyle\r\n\t\t\t\t\tcolor={color}\r\n\t\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\t\tclassName=\"shadow-medium bg-content1 rounded-2xl overflow-hidden\"\r\n\t\t\t\t\tradius={radius}\r\n\t\t\t\t>\r\n\t\t\t\t\t{loading ? /* <Loading size=\"sm\" color=\"secondary\" /> */ <p>loading</p> : null}\r\n\t\t\t\t\t<div className=\"w-full relative flex gap-2\">\r\n\t\t\t\t\t\t{showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</CalendarStyle>","[\"bottom\", \"top\"]","twMerge(classNameContainer, \"relative date-picker-component-container\")","label && (\r\n\t\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\r\n\t\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)","type === \"date-picker\" ? (\r\n\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full h-input-default\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<DateRangePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)","() => false","!disabled && error ? <LabelError text={error} /> : null","<CalendarStyle\r\n\t\t\t\tcolor={color}\r\n\t\t\t\tclassName={twMerge(classNameContainer, \"relative date-picker-component-container\")}\r\n\t\t\t\tonClick={handleOpenCalendar}\r\n\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\tid={uui}\r\n\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\terror={error}\r\n\t\t\t\tsize={size}\r\n\t\t\t\tradius={radius}\r\n\t\t\t>\r\n\t\t\t\t{label && (\r\n\t\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\r\n\t\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t\t{type === \"date-picker\" ? (\r\n\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full h-input-default\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<DateRangePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{!disabled && error ? <LabelError text={error} /> : null}\r\n\t\t\t</CalendarStyle>","<Popover\r\n\t\t\tisOpen={show}\r\n\t\t\tanimation={popoverAnimation}\r\n\t\t\tcontainerStyle={{\r\n\t\t\t\tzIndex: \"100\",\r\n\t\t\t}}\r\n\t\t\talign={popoverAlign}\r\n\t\t\tcontent={\r\n\t\t\t\t<CalendarStyle\r\n\t\t\t\t\tcolor={color}\r\n\t\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\t\tclassName=\"shadow-medium bg-content1 rounded-2xl overflow-hidden\"\r\n\t\t\t\t\tradius={radius}\r\n\t\t\t\t>\r\n\t\t\t\t\t{loading ? /* <Loading size=\"sm\" color=\"secondary\" /> */ <p>loading</p> : null}\r\n\t\t\t\t\t<div className=\"w-full relative flex gap-2\">\r\n\t\t\t\t\t\t{showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</CalendarStyle>\r\n\t\t\t}\r\n\t\t\tpositions={[\"bottom\", \"top\"]}\r\n\t\t\treposition\r\n\t\t\tonClickOutside={handleCloseCalendar}\r\n\t\t\tclickOutsideCapture={true}\r\n\t\t>\r\n\t\t\t<CalendarStyle\r\n\t\t\t\tcolor={color}\r\n\t\t\t\tclassName={twMerge(classNameContainer, \"relative date-picker-component-container\")}\r\n\t\t\t\tonClick={handleOpenCalendar}\r\n\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\tid={uui}\r\n\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\terror={error}\r\n\t\t\t\tsize={size}\r\n\t\t\t\tradius={radius}\r\n\t\t\t>\r\n\t\t\t\t{label && (\r\n\t\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\r\n\t\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t\t{type === \"date-picker\" ? (\r\n\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full h-input-default\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<DateRangePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{!disabled && error ? <LabelError text={error} /> : null}\r\n\t\t\t</CalendarStyle>\r\n\t\t</Popover>","(d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0)","(d: Date) => new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0)","(d: Date) => new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59, 999)"],"sources":["../../src/components/calendar/icon/icon-calendar.tsx","../../src/components/calendar/date-picker/date-picker.style.ts","../../src/components/calendar/date-picker/date-picker.tsx"],"sourcesContent":["import clsx from \"clsx\";\r\nimport { FaClock, FaCalendar } from \"react-icons/fa\";\r\nimport { MdOutlineClose } from \"react-icons/md\";\r\n\r\nexport interface IconCalendarProps {\r\n\tdisabled?: boolean;\r\n\terror?: string;\r\n}\r\nexport interface IconCloseProps extends IconCalendarProps {\r\n\tonClick: () => void;\r\n}\r\n\r\nexport const IconCalendar = ({ disabled, error }: IconCalendarProps) => {\r\n\treturn (\r\n\t\t<FaCalendar\r\n\t\t\tclassName={clsx({\r\n\t\t\t\t\"fill-gray-400\": disabled,\r\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\r\n\t\t\t\t\"fill-red-500\": error && !disabled,\r\n\t\t\t})}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport const IconCloseCalendar = ({ disabled, error, onClick }: IconCloseProps) => {\r\n\treturn (\r\n\t\t<MdOutlineClose\r\n\t\t\tclassName={clsx(\"w-5 h-5\", {\r\n\t\t\t\t\"fill-gray-400\": disabled,\r\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\r\n\t\t\t\t\"fill-red-500\": error && !disabled,\r\n\t\t\t})}\r\n\t\t\tonClick={(e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\tonClick();\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport const IconTimeCalendar = ({ disabled, error }: IconCalendarProps) => {\r\n\treturn (\r\n\t\t<FaClock\r\n\t\t\tclassName={clsx(\"w-5 h-5\", {\r\n\t\t\t\t\"fill-gray-400\": disabled,\r\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\r\n\t\t\t\t\"fill-danger-500\": error && !disabled,\r\n\t\t\t})}\r\n\t\t/>\r\n\t);\r\n};\r\n","import type { ColorProps, ExcludeType, RadiusProps, SizeProps } from \"@/types\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nexport const CalendarStyle = styled.div<{\r\n\tcolor?: ExcludeType<ColorProps, \"secondary\">;\r\n\tshowcalendar: string;\r\n\twidthcalendar: number;\r\n\tshowdoubleview: string;\r\n\terror?: string;\r\n\tsize?: ExcludeType<SizeProps, \"xs\">;\r\n\tradius?: RadiusProps;\r\n}>`\r\n\tposition: relative;\r\n\r\n\tinput[type=\"number\"]::-webkit-inner-spin-button,\r\n\tinput[type=\"number\"]::-webkit-outer-spin-button {\r\n\t\t-webkit-appearance: none;\r\n\t\tmargin: 0;\r\n\t}\r\n\r\n\tinput[type=\"number\"] {\r\n\t\t-moz-appearance: none;\r\n\t\tappearance: none;\r\n\t}\r\n\r\n\t.react-daterange-picker--disabled,\r\n\t.react-date-picker--disabled {\r\n\t\tborder-radius: 6px;\r\n\t}\r\n\r\n\t.react-date-picker--disabled .react-date-picker__wrapper,\r\n\t.react-daterange-picker--disabled .react-daterange-picker__wrapper {\r\n\t\tborder: 1px solid var(--color-gray-300);\r\n\t\tbox-shadow: inherit !important;\r\n\t\tbackground-color: var(--color-gray-50);\r\n\t}\r\n\r\n\t.react-date-picker__inputGroup__input,\r\n\t.react-date-picker__inputGroup__divider,\r\n\t.react-date-picker__inputGroup__leadingZero,\r\n\t.react-daterange-picker__inputGroup__input,\r\n\t.react-daterange-picker__inputGroup__divider,\r\n\t.react-daterange-picker__inputGroup__leadingZero,\r\n\t.react-daterange-picker__range-divider {\r\n\t\tfont-size: 14px;\r\n\t\tcolor: ${({ error }) => (error ? \"var(--color-danger)\" : \"var(--color-gray-500)\")};\r\n\t\toutline: none;\r\n\t\tborder: 0px;\r\n\t}\r\n\r\n\t.react-date-picker__inputGroup__input:invalid,\r\n\t.react-daterange-picker__inputGroup__input:invalid {\r\n\t\tcolor: var(--color-danger);\r\n\t}\r\n\r\n\t.react-date-picker__wrapper,\r\n\t.react-daterange-picker__wrapper {\r\n\t\tmin-height: var(--input-default);\r\n\t\tpadding-right: 8px;\r\n\t\tpadding-left: 8px;\r\n\t\tborder: 1px solid var(--input);\r\n\t\tborder-radius: ${({ radius }) => {\r\n\t\t\tlet radiusInput = \"var(--radius-md)\";\r\n\r\n\t\t\tif (radius === \"lg\") {\r\n\t\t\t\tradiusInput = \"var(--radius-lg)\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"sm\") {\r\n\t\t\t\tradiusInput = \"var(--radius-sm)\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"xs\") {\r\n\t\t\t\tradiusInput = \"var(--radius-xs)\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"full\") {\r\n\t\t\t\tradiusInput = \"calc(infinity * 1px)\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"none\") {\r\n\t\t\t\tradiusInput = \"0px\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"input\") {\r\n\t\t\t\tradiusInput = \"var(--radius-input)\";\r\n\t\t\t}\r\n\r\n\t\t\treturn radiusInput;\r\n\t\t}};\r\n\t\tbackground-color: var(--select-input-bg);\r\n\t\tdisplay: flex;\r\n\t\tflex-grow: 1;\r\n\t\tflex-shrink: 0;\r\n\r\n\t\t${({ showcalendar, error }) => {\r\n\t\t\tif (error) {\r\n\t\t\t\treturn css`\r\n\t\t\t\t\t/* box-shadow: var(--shadow-inputError); */\r\n\t\t\t\t\tborder-color: var(--color-danger);\r\n\t\t\t\t`;\r\n\t\t\t} else if (showcalendar === \"true\") {\r\n\t\t\t\treturn css`\r\n\t\t\t\t\t/* box-shadow: var(--shadow-inputBase); */\r\n\t\t\t\t\t/* border-color: var(--color-primary-700); */\r\n\t\t\t\t`;\r\n\t\t\t}\r\n\t\t}}\r\n\t\t${({ size }) => {\r\n\t\t\tif (size === \"sm\")\r\n\t\t\t\treturn css`\r\n\t\t\t\t\tpadding-top: 2px;\r\n\t\t\t\t\tpadding-bottom: 2px;\r\n\t\t\t\t`;\r\n\t\t\telse if (size === \"md\")\r\n\t\t\t\treturn css`\r\n\t\t\t\t\tpadding-top: 4px;\r\n\t\t\t\t\tpadding-bottom: 4px;\r\n\t\t\t\t`;\r\n\t\t\telse if (size === \"lg\")\r\n\t\t\t\treturn css`\r\n\t\t\t\t\tpadding-top: 6px;\r\n\t\t\t\t\tpadding-bottom: 6px;\r\n\t\t\t\t`;\r\n\t\t}}\r\n\t}\r\n\r\n\t/* ============== DATE ============== */\r\n\r\n\t.react-date-picker__button {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.react-date-picker__inputGroup {\r\n\t\tpadding: 0;\r\n\t\torder: 2;\r\n\r\n\t\tbox-sizing: content-box;\r\n\t\tflex-grow: 1;\r\n\t\tmin-width: calc(12px + 3.674em);\r\n\t}\r\n\r\n\t.react-date-picker__calendar-button {\r\n\t\torder: 1;\r\n\t\tmargin-right: 8px;\r\n\t}\r\n\r\n\t.react-date-picker__clear-button {\r\n\t\torder: 3;\r\n\t}\r\n\r\n\t.react-date-picker--disabled .react-date-picker__inputGroup__input,\r\n\t.react-date-picker--disabled .react-date-picker__inputGroup__divider,\r\n\t.react-date-picker--disabled .react-date-picker__inputGroup__leadingZero {\r\n\t\tcolor: var(--color-green-700);\r\n\t}\r\n\r\n\t/* ============ RANGE ============= */\r\n\r\n\t.react-daterange-picker__button {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.react-daterange-picker__wrapper .react-daterange-picker__inputGroup:first-child {\r\n\t\torder: 2;\r\n\t}\r\n\t.react-daterange-picker__range-divider {\r\n\t\torder: 3;\r\n\t}\r\n\t.react-daterange-picker__wrapper .react-daterange-picker__inputGroup:nth-child(3) {\r\n\t\torder: 4;\r\n\t}\r\n\t.react-daterange-picker__clear-button {\r\n\t\torder: 5;\r\n\t}\r\n\r\n\t.react-daterange-picker__calendar-button {\r\n\t\torder: 1;\r\n\t\tmargin-right: 8px;\r\n\t}\r\n\r\n\t.react-daterange-picker--disabled .react-daterange-picker__inputGroup__input,\r\n\t.react-daterange-picker--disabled .react-date-picker__inputGroup__divider,\r\n\t.react-daterange-picker--disabled .react-daterange-picker__inputGroup__leadingZero,\r\n\t.react-daterange-picker--disabled .react-daterange-picker__range-divider {\r\n\t\tcolor: var(--color-gray-400);\r\n\t}\r\n\r\n\t/* =========== RANGE ============== */\r\n\r\n\t/* .react-date-picker__calendar {\r\n\t\tmax-width: 100vw;\r\n\t\twidth: auto;\r\n\t\tposition: absolute;\r\n\t\ttop: 100%;\r\n\t\tleft: 0;\r\n\t\tz-index: 10px;\r\n\t} */\r\n\r\n\t/* =============================================================================\r\n\t * react-calendar — estilo upstream (calendar.css / range-calendar.css v3)\r\n\t *\r\n\t * Modelo: cada día es la \"pista\" del rango (fondo continuo, sin huecos entre columnas)\r\n\t * y el círculo interactivo vive en ::before. Inicio/fin = círculo sólido, hoy = círculo\r\n\t * suave, hover = círculo neutro. Los extremos de fila y los cortes contra días de otro\r\n\t * mes se redondean para que el rango se lea como una cápsula por semana.\r\n\t *\r\n\t * Los selectores se anidan bajo .react-calendar para ganar en especificidad a\r\n\t * react-calendar/dist/Calendar.css sin depender del orden de carga.\r\n\t * ========================================================================== */\r\n\r\n\t${({ color = \"primary\" }) => {\r\n\t\tconst accents: Record<string, [string, string]> = {\r\n\t\t\tprimary: [\"var(--color-primary)\", \"var(--color-primary-foreground)\"],\r\n\t\t\tsuccess: [\"var(--color-success)\", \"var(--color-success-foreground)\"],\r\n\t\t\twarning: [\"var(--color-warning)\", \"var(--color-warning-foreground)\"],\r\n\t\t\tdanger: [\"var(--color-danger)\", \"var(--color-danger-foreground)\"],\r\n\t\t\tdefault: [\"var(--color-foreground)\", \"var(--color-content1)\"],\r\n\t\t};\r\n\t\tconst [accent, accentForeground] = accents[color] ?? accents.primary;\r\n\r\n\t\treturn css`\r\n\t\t\t--cal-accent: ${accent};\r\n\t\t\t--cal-accent-foreground: ${accentForeground};\r\n\t\t\t--cal-accent-hover: color-mix(in oklab, var(--cal-accent) 88%, black);\r\n\t\t\t--cal-accent-soft: color-mix(in oklab, var(--cal-accent) 14%, transparent);\r\n\t\t\t--cal-accent-soft-hover: color-mix(in oklab, var(--cal-accent) 24%, transparent);\r\n\t\t`;\r\n\t}}\r\n\r\n\t.react-calendar {\r\n\t\t--cal-cell: 36px;\r\n\t\t--cal-gap: 24px;\r\n\t\t--cal-cap: 9999px;\r\n\t\t--cal-edge: 8px;\r\n\t\t--cal-ease: cubic-bezier(0.22, 1, 0.36, 1);\r\n\r\n\t\twidth: calc(var(--cal-cell) * 7 + 24px);\r\n\t\tmax-width: 100%;\r\n\t\tpadding: 12px;\r\n\t\tborder: none;\r\n\t\tbackground: transparent;\r\n\t\tfont-family: inherit;\r\n\t\tline-height: normal;\r\n\t\tcolor: var(--color-foreground);\r\n\r\n\t\t&.react-calendar--doubleView {\r\n\t\t\twidth: calc(var(--cal-cell) * 14 + var(--cal-gap) + 24px);\r\n\t\t}\r\n\r\n\t\tbutton {\r\n\t\t\tfont: inherit;\r\n\t\t}\r\n\r\n\t\t/* ---------------------------------------------------------------- header */\r\n\t\t.react-calendar__navigation {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tgap: 2px;\r\n\t\t\theight: auto;\r\n\t\t\tmargin-bottom: 12px;\r\n\t\t\tpadding: 0 2px;\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__arrow.react-calendar__navigation__prev2-button,\r\n\t\t.react-calendar__navigation__arrow.react-calendar__navigation__next2-button {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\r\n\t\t/* Título a la izquierda y flechas juntas a la derecha, como upstream. */\r\n\t\t.react-calendar__navigation__label {\r\n\t\t\torder: 0;\r\n\t\t\tflex: 1;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: flex-start;\r\n\t\t\tmin-width: 0;\r\n\t\t\theight: 28px;\r\n\t\t\tpadding: 0 8px;\r\n\t\t\tborder-radius: var(--cal-cap);\r\n\t\t\tbackground: transparent;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t\ttext-align: left;\r\n\t\t\ttransition: background-color 100ms var(--cal-ease);\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__label span {\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__prev-button {\r\n\t\t\torder: 1;\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__next-button {\r\n\t\t\torder: 2;\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__arrow {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t\tflex: none;\r\n\t\t\twidth: 28px;\r\n\t\t\tmin-width: 28px;\r\n\t\t\theight: 28px;\r\n\t\t\tpadding: 0;\r\n\t\t\tborder-radius: var(--cal-cap);\r\n\t\t\tbackground: transparent;\r\n\t\t\tcolor: var(--cal-accent);\r\n\t\t\ttransition:\r\n\t\t\t\tbackground-color 100ms var(--cal-ease),\r\n\t\t\t\ttransform 200ms var(--cal-ease),\r\n\t\t\t\topacity 150ms var(--cal-ease);\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation button:enabled:focus {\r\n\t\t\tbackground: transparent;\r\n\t\t}\r\n\r\n\t\t@media (hover: hover) {\r\n\t\t\t.react-calendar__navigation button:enabled:hover {\r\n\t\t\t\tbackground-color: var(--color-default-100);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__arrow:enabled:active {\r\n\t\t\ttransform: scale(0.92);\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation button:disabled {\r\n\t\t\tbackground: transparent;\r\n\t\t\topacity: 0.35;\r\n\t\t\tcursor: not-allowed;\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation button:focus-visible {\r\n\t\t\toutline: 2px solid var(--cal-accent);\r\n\t\t\toutline-offset: 1px;\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------------------ month view */\r\n\t\t.react-calendar__viewContainer {\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t&.react-calendar--doubleView .react-calendar__viewContainer {\r\n\t\t\tdisplay: flex;\r\n\t\t\tgap: var(--cal-gap);\r\n\t\t\tmargin: 0;\r\n\r\n\t\t\t> * {\r\n\t\t\t\twidth: auto;\r\n\t\t\t\tflex: 1 1 0;\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__weekdays {\r\n\t\t\tdisplay: grid !important;\r\n\t\t\tgrid-template-columns: repeat(7, var(--cal-cell));\r\n\t\t\tmargin-bottom: 4px;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-weight: 500;\r\n\t\t\ttext-transform: none;\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__weekdays__weekday {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t\theight: 24px;\r\n\t\t\tpadding: 0;\r\n\t\t\tcolor: var(--color-default-500);\r\n\t\t\ttext-transform: capitalize;\r\n\r\n\t\t\tabbr {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t\tcursor: default;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__days {\r\n\t\t\tdisplay: grid !important;\r\n\t\t\tgrid-template-columns: repeat(7, var(--cal-cell));\r\n\t\t\trow-gap: 4px;\r\n\t\t\tcolumn-gap: 0;\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------------------------ días */\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile {\r\n\t\t\tposition: relative;\r\n\t\t\tisolation: isolate;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t\twidth: var(--cal-cell);\r\n\t\t\tmax-width: none;\r\n\t\t\theight: var(--cal-cell);\r\n\t\t\tmargin: 0 !important;\r\n\t\t\tpadding: 0;\r\n\t\t\tborder-radius: 0;\r\n\t\t\tbackground: transparent;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 500;\r\n\t\t\tline-height: 1;\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t\t-webkit-tap-highlight-color: transparent;\r\n\r\n\t\t\t/* Círculo interactivo */\r\n\t\t\t&::before {\r\n\t\t\t\tcontent: \"\";\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tinset: 0;\r\n\t\t\t\tz-index: -1;\r\n\t\t\t\tborder-radius: var(--cal-cap);\r\n\t\t\t\tbackground: transparent;\r\n\t\t\t\ttransition:\r\n\t\t\t\t\tbackground-color 120ms var(--cal-ease),\r\n\t\t\t\t\tscale 200ms var(--cal-ease);\r\n\t\t\t}\r\n\r\n\t\t\tabbr {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus-visible {\r\n\t\t\t\toutline: none;\r\n\t\t\t}\r\n\r\n\t\t\t/* Anillo hacia adentro: react-calendar pone overflow:hidden inline en cada día. */\r\n\t\t\t&:focus-visible::before {\r\n\t\t\t\tbox-shadow:\r\n\t\t\t\t\tinset 0 0 0 2px var(--cal-accent),\r\n\t\t\t\t\tinset 0 0 0 4px var(--color-content1);\r\n\t\t\t}\r\n\r\n\t\t\t&:enabled:active::before {\r\n\t\t\t\tscale: 0.9;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Fines de semana sin color especial (react-calendar los pinta en rojo). */\r\n\t\t.react-calendar__month-view__days > .react-calendar__month-view__days__day--weekend {\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t}\r\n\r\n\t\t/* Hover neutro solo en días libres y solo con puntero real (evita \"pegados\" en táctil). */\r\n\t\t@media (hover: hover) {\r\n\t\t\t.react-calendar__month-view__days > .react-calendar__tile:enabled:hover:not(\r\n\t\t\t\t\t.react-calendar__tile--range,\r\n\t\t\t\t\t.react-calendar__tile--hoverStart,\r\n\t\t\t\t\t.react-calendar__tile--hoverEnd\r\n\t\t\t\t)::before {\r\n\t\t\t\tbackground-color: var(--color-default-100);\r\n\t\t\t}\r\n\r\n\t\t\t/* Dentro de un rango ya elegido el hover refuerza el tono del acento en vez de un gris encima de la pista. */\r\n\t\t\t&:not(.react-calendar--selectRange)\r\n\t\t\t\t.react-calendar__month-view__days\r\n\t\t\t\t> .react-calendar__tile--range:enabled:hover:not(\r\n\t\t\t\t\t.react-calendar__tile--rangeStart,\r\n\t\t\t\t\t.react-calendar__tile--rangeEnd,\r\n\t\t\t\t\t.react-calendar__month-view__days__day--neighboringMonth\r\n\t\t\t\t)::before {\r\n\t\t\t\tbackground-color: var(--cal-accent-soft-hover);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Hoy */\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile--now {\r\n\t\t\tcolor: var(--cal-accent);\r\n\r\n\t\t\t&::before {\r\n\t\t\t\tbackground-color: var(--cal-accent-soft);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t@media (hover: hover) {\r\n\t\t\t.react-calendar__month-view__days > .react-calendar__tile--now:enabled:hover::before {\r\n\t\t\t\tbackground-color: var(--cal-accent-soft-hover);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Días de otro mes (sin el círculo de hoy: en doble vista duplicaría el del otro mes) */\r\n\t\t.react-calendar__month-view__days > .react-calendar__month-view__days__day--neighboringMonth {\r\n\t\t\tcolor: var(--color-default-400);\r\n\t\t\topacity: 0.6;\r\n\r\n\t\t\t&::before {\r\n\t\t\t\tbackground-color: transparent;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Deshabilitados */\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile:disabled {\r\n\t\t\tbackground: transparent;\r\n\t\t\tcolor: var(--color-default-300);\r\n\t\t\ttext-decoration: line-through;\r\n\t\t\tcursor: not-allowed;\r\n\r\n\t\t\t&::before {\r\n\t\t\t\tbackground: transparent;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------------ rango: la pista */\r\n\t\t/* Primer selector: rango confirmado. Segundo: vista previa mientras se elige el segundo extremo. */\r\n\t\t&:not(.react-calendar--selectRange)\r\n\t\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile--range:not(.react-calendar__month-view__days__day--neighboringMonth, .react-calendar__tile--rangeBothEnds),\r\n\t\t&.react-calendar--selectRange\r\n\t\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile--hover:not(.react-calendar__month-view__days__day--neighboringMonth, .react-calendar__tile--hoverBothEnds) {\r\n\t\t\tbackground-color: var(--cal-accent-soft);\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t}\r\n\r\n\t\t/* Extremos de fila: la pista se corta con un redondeo suave para que cada semana se lea como una cápsula. */\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile:nth-child(7n + 1),\r\n\t\t.react-calendar__month-view__days > .react-calendar__month-view__days__day--neighboringMonth + .react-calendar__tile {\r\n\t\t\tborder-start-start-radius: var(--cal-edge);\r\n\t\t\tborder-end-start-radius: var(--cal-edge);\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile:nth-child(7n),\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile:has(+ .react-calendar__month-view__days__day--neighboringMonth) {\r\n\t\t\tborder-start-end-radius: var(--cal-edge);\r\n\t\t\tborder-end-end-radius: var(--cal-edge);\r\n\t\t}\r\n\r\n\t\t/* Inicio y fin: el borde de la pista abraza el círculo. */\r\n\t\t&:not(.react-calendar--selectRange) .react-calendar__month-view__days > .react-calendar__tile--rangeStart,\r\n\t\t&.react-calendar--selectRange .react-calendar__month-view__days > .react-calendar__tile--hoverStart {\r\n\t\t\tborder-start-start-radius: var(--cal-cap);\r\n\t\t\tborder-end-start-radius: var(--cal-cap);\r\n\t\t}\r\n\r\n\t\t&:not(.react-calendar--selectRange) .react-calendar__month-view__days > .react-calendar__tile--rangeEnd,\r\n\t\t&.react-calendar--selectRange .react-calendar__month-view__days > .react-calendar__tile--hoverEnd {\r\n\t\t\tborder-start-end-radius: var(--cal-cap);\r\n\t\t\tborder-end-end-radius: var(--cal-cap);\r\n\t\t}\r\n\r\n\t\t/* Un extremo pegado al borde de fila no deja asomar la pista detrás del círculo. */\r\n\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile:is(.react-calendar__tile--rangeEnd, .react-calendar__tile--hoverEnd):is(\r\n\t\t\t\t:nth-child(7n + 1),\r\n\t\t\t\t.react-calendar__month-view__days__day--neighboringMonth + *\r\n\t\t\t) {\r\n\t\t\tborder-start-start-radius: var(--cal-cap);\r\n\t\t\tborder-end-start-radius: var(--cal-cap);\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile:is(.react-calendar__tile--rangeStart, .react-calendar__tile--hoverStart):is(\r\n\t\t\t\t:nth-child(7n),\r\n\t\t\t\t:has(+ .react-calendar__month-view__days__day--neighboringMonth)\r\n\t\t\t) {\r\n\t\t\tborder-start-end-radius: var(--cal-cap);\r\n\t\t\tborder-end-end-radius: var(--cal-cap);\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------- rango: círculos sólidos */\r\n\t\t/* .react-calendar__tile repetido: iguala la especificidad de la pista para que el texto blanco del extremo gane. */\r\n\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile.react-calendar__tile--rangeStart:not(.react-calendar__month-view__days__day--neighboringMonth),\r\n\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile.react-calendar__tile--rangeEnd:not(.react-calendar__month-view__days__day--neighboringMonth),\r\n\t\t&.react-calendar--selectRange\r\n\t\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile--hoverStart:not(.react-calendar__month-view__days__day--neighboringMonth),\r\n\t\t&.react-calendar--selectRange\r\n\t\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile--hoverEnd:not(.react-calendar__month-view__days__day--neighboringMonth) {\r\n\t\t\tcolor: var(--cal-accent-foreground);\r\n\r\n\t\t\t&::before {\r\n\t\t\t\tbackground-color: var(--cal-accent);\r\n\t\t\t}\r\n\r\n\t\t\t&:enabled:active::before {\r\n\t\t\t\tbackground-color: var(--cal-accent-hover);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------- año / década / siglo */\r\n\t\t.react-calendar__year-view__months,\r\n\t\t.react-calendar__decade-view__years,\r\n\t\t.react-calendar__century-view__decades {\r\n\t\t\trow-gap: 4px;\r\n\t\t}\r\n\r\n\t\t.react-calendar__year-view .react-calendar__tile,\r\n\t\t.react-calendar__decade-view .react-calendar__tile,\r\n\t\t.react-calendar__century-view .react-calendar__tile {\r\n\t\t\tpadding: 12px 4px;\r\n\t\t\tborder-radius: var(--cal-cap);\r\n\t\t\tbackground: transparent;\r\n\t\t\tfont-size: 13px;\r\n\t\t\tfont-weight: 500;\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t\ttext-transform: capitalize;\r\n\t\t\ttransition: background-color 120ms var(--cal-ease);\r\n\r\n\t\t\tabbr {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\r\n\t\t\t&:enabled:focus {\r\n\t\t\t\tbackground: transparent;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus-visible {\r\n\t\t\t\toutline: 2px solid var(--cal-accent);\r\n\t\t\t\toutline-offset: -2px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t@media (hover: hover) {\r\n\t\t\t.react-calendar__year-view .react-calendar__tile:enabled:hover,\r\n\t\t\t.react-calendar__decade-view .react-calendar__tile:enabled:hover,\r\n\t\t\t.react-calendar__century-view .react-calendar__tile:enabled:hover {\r\n\t\t\t\tbackground-color: var(--color-default-100);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.react-calendar__year-view .react-calendar__tile--now,\r\n\t\t.react-calendar__decade-view .react-calendar__tile--now,\r\n\t\t.react-calendar__century-view .react-calendar__tile--now {\r\n\t\t\tcolor: var(--cal-accent);\r\n\t\t}\r\n\r\n\t\t.react-calendar__year-view .react-calendar__tile--hasActive,\r\n\t\t.react-calendar__year-view .react-calendar__tile--active,\r\n\t\t.react-calendar__decade-view .react-calendar__tile--hasActive,\r\n\t\t.react-calendar__decade-view .react-calendar__tile--active,\r\n\t\t.react-calendar__century-view .react-calendar__tile--hasActive,\r\n\t\t.react-calendar__century-view .react-calendar__tile--active {\r\n\t\t\tbackground-color: var(--cal-accent);\r\n\t\t\tcolor: var(--cal-accent-foreground);\r\n\t\t}\r\n\r\n\t\t.react-calendar__year-view .react-calendar__tile:disabled,\r\n\t\t.react-calendar__decade-view .react-calendar__tile:disabled,\r\n\t\t.react-calendar__century-view .react-calendar__tile:disabled {\r\n\t\t\tbackground: transparent;\r\n\t\t\tcolor: var(--color-default-300);\r\n\t\t\tcursor: not-allowed;\r\n\t\t}\r\n\t}\r\n\r\n\t@media (prefers-reduced-motion: reduce) {\r\n\t\t.react-calendar *,\r\n\t\t.react-calendar *::before {\r\n\t\t\ttransition: none !important;\r\n\t\t}\r\n\t}\r\n`;\r\n","import \"@wojtekmaj/react-daterange-picker/dist/DateRangePicker.css\";\r\nimport \"react-calendar/dist/Calendar.css\";\r\nimport \"react-date-picker/dist/DatePicker.css\";\r\n\r\nimport DateRangePicker from \"@wojtekmaj/react-daterange-picker\";\r\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\r\nimport CalendarComponent from \"react-calendar\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport { Popover } from \"../../tiny-popover\";\r\n\r\nimport React, { useCallback, useLayoutEffect, useMemo, useState } from \"react\";\r\n\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nimport { LabelError } from \"@/components/label-error\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { IconCalendar, IconCloseCalendar } from \"../icon/icon-calendar\";\r\nimport type { ValueCalendar } from \"../interface/calendar-shared.interface\";\r\nimport { CalendarStyle } from \"./date-picker.style\";\r\nimport type { CalendarProps } from \"./interface/date-picker.interface\";\r\n\r\n/** \"septiembre de 2026\" → \"Septiembre de 2026\": solo la primera letra en mayúscula (el CSS `capitalize` daba \"Septiembre De 2026\"). */\r\nconst formatMonthYearLabel = (locale: string | undefined, date: Date) => {\r\n\tconst label = date.toLocaleDateString(locale, { month: \"long\", year: \"numeric\" });\r\n\treturn label.charAt(0).toLocaleUpperCase(locale) + label.slice(1);\r\n};\r\n\r\nexport const CalendarPicker = ({\r\n\tid,\r\n\tvalue,\r\n\tshowDoubleView = false,\r\n\tclassNameContainer,\r\n\tclassName,\r\n\tcolor = \"primary\",\r\n\tminDate,\r\n\tmaxDate,\r\n\tshowCalendar = false,\r\n\tloading,\r\n\twidthCalendar,\r\n\tlocale = \"es\",\r\n\tformat = \"MM/dd/yyyy\",\r\n\tdisabled,\r\n\terror,\r\n\tlabel,\r\n\ttouched,\r\n\trequired,\r\n\tonChange,\r\n\tonCloseCalendar,\r\n\tonOpenCalendar,\r\n\ttileDisabled,\r\n\tonClearCalendar,\r\n\tonInvalidChange,\r\n\tonKeyDown,\r\n\tonKeyUp,\r\n\tonBlur,\r\n\ttype = \"date-picker\",\r\n\tsize = \"md\",\r\n\tradius = \"input\",\r\n\ttileContent = null,\r\n\tshowActionButtons = true,\r\n\tpopoverAnimation = \"zoom\",\r\n\tpopoverAlign = \"start\",\r\n\tdayPlaceholder = \"dd\",\r\n\tmonthPlaceholder = \"mm\",\r\n\tyearPlaceholder = \"yyyy\",\r\n}: CalendarProps) => {\r\n\tconst [show, setShow] = useState<boolean>(showCalendar);\r\n\tconst [measuredWidth, setMeasuredWidth] = useState(0);\r\n\t// Id estable del contenedor (antes `uuidv4()` en cada render: cambiaba el id del DOM y re-medía siempre).\r\n\tconst uui = React.useId();\r\n\tconst inputId = React.useId();\r\n\tconst resolvedId = id || inputId;\r\n\r\n\tconst isInvalid = !disabled && !!error && touched;\r\n\r\n\t// El calendario simple iguala el ancho del input. Va en estado: un ref no re-renderiza y el valor quedaba viejo.\r\n\tuseLayoutEffect(() => {\r\n\t\tif (showDoubleView || widthCalendar) return;\r\n\t\tconst element = document.getElementById(uui);\r\n\r\n\t\tif (element) setMeasuredWidth(element.clientWidth);\r\n\t}, [showDoubleView, uui, widthCalendar]);\r\n\r\n\tconst calendarWidth = showDoubleView ? 0 : widthCalendar || measuredWidth;\r\n\r\n\tconst handleChange = (value: ValueCalendar) => {\r\n\t\tonChange(value);\r\n\t\tsetShow(false);\r\n\t};\r\n\tconst handleChangeToDay = () => {\r\n\t\tconst dateNow = new Date();\r\n\r\n\t\tconst date = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate(), 0, 0, 0);\r\n\r\n\t\tif (type === \"date-range-picker\") {\r\n\t\t\thandleChange([date, date]);\r\n\t\t} else {\r\n\t\t\thandleChange(date);\r\n\t\t}\r\n\t};\r\n\r\n\t// Helpers de fechas normalizados al inicio del día\r\n\tconst startOfDay = useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0), []);\r\n\tconst addDays = useCallback((d: Date, n: number) => startOfDay(new Date(d.getFullYear(), d.getMonth(), d.getDate() + n)), [startOfDay]);\r\n\tconst startOfMonth = useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0), []);\r\n\tconst endOfMonth = useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59, 999), []);\r\n\r\n\t// Comparadores\r\n\tconst isSameDay = (a?: Date | null, b?: Date | null) => {\r\n\t\tif (!a || !b) return false;\r\n\t\treturn a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\r\n\t};\r\n\tconst isSameRange = (range?: ValueCalendar, target?: ValueCalendar) => {\r\n\t\tif (!Array.isArray(range) || !Array.isArray(target)) return false;\r\n\t\tconst [r0, r1] = range as (Date | null | undefined)[];\r\n\t\tconst [t0, t1] = target as (Date | null | undefined)[];\r\n\t\treturn isSameDay(r0, t0) && isSameDay(r1, t1);\r\n\t};\r\n\r\n\t// Presets según tipo\r\n\tinterface PresetItem {\r\n\t\tkey: string;\r\n\t\tlabel: string;\r\n\t\tgetValue?: () => ValueCalendar;\r\n\t\taction?: () => void;\r\n\t\tseparator?: boolean; // para agrupar visualmente\r\n\t}\r\n\r\n\tconst presets = useMemo<PresetItem[]>(() => {\r\n\t\t// «Hoy» se calcula al usar el preset, no al memoizar: si el componente sigue montado pasada la medianoche,\r\n\t\t// los atajos no quedan con el día anterior.\r\n\t\tconst today = () => startOfDay(new Date());\r\n\t\tif (type === \"date-picker\") {\r\n\t\t\treturn [\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => today() },\r\n\t\t\t\t{ key: \"tomorrow\", label: \"Mañana\", getValue: () => addDays(today(), 1) },\r\n\t\t\t\t{ key: \"in7\", label: \"+7 días\", getValue: () => addDays(today(), 7) },\r\n\t\t\t\t{ key: \"in30\", label: \"+30 días\", getValue: () => addDays(today(), 30) },\r\n\t\t\t\t{ key: \"clear\", label: \"Limpiar\", action: () => onChange(null), separator: true },\r\n\t\t\t];\r\n\t\t} else {\r\n\t\t\tconst lastMonth = () => addDays(startOfMonth(today()), -1);\r\n\t\t\tconst nextMonth = () => addDays(endOfMonth(today()), 1);\r\n\r\n\t\t\treturn [\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => [today(), today()] },\r\n\t\t\t\t{ key: \"last7\", label: \"Últimos 7 días\", getValue: () => [addDays(today(), -6), today()] },\r\n\t\t\t\t{ key: \"next7\", label: \"Próx. 7 días\", getValue: () => [today(), addDays(today(), 6)] },\r\n\t\t\t\t{ key: \"thisMonth\", label: \"Este mes\", getValue: () => [startOfMonth(today()), endOfMonth(today())] },\r\n\t\t\t\t{ key: \"nextMonth\", label: \"Próximo mes\", getValue: () => [startOfMonth(nextMonth()), endOfMonth(nextMonth())] },\r\n\t\t\t\t{ key: \"lastMonth\", label: \"Mes pasado\", getValue: () => [startOfMonth(lastMonth()), endOfMonth(lastMonth())] },\r\n\t\t\t];\r\n\t\t}\r\n\t}, [type, onChange, addDays, startOfDay, startOfMonth, endOfMonth]);\r\n\r\n\t// Determinar preset activo\r\n\tconst isPresetActive = (preset: PresetItem) => {\r\n\t\tif (preset.getValue) {\r\n\t\t\tconst pv = preset.getValue();\r\n\t\t\tif (type === \"date-picker\") {\r\n\t\t\t\treturn !Array.isArray(value) && !Array.isArray(pv) && isSameDay(value as Date | null, pv as Date | null);\r\n\t\t\t} else {\r\n\t\t\t\treturn Array.isArray(value) && Array.isArray(pv) && isSameRange(value, pv);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst handlePresetClick = (preset: PresetItem) => {\r\n\t\tif (preset.action) {\r\n\t\t\tpreset.action();\r\n\t\t\tsetShow(false);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (preset.getValue) {\r\n\t\t\tconst v = preset.getValue();\r\n\t\t\tonChange(v);\r\n\t\t\tsetShow(false);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleCloseCalendar = () => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tsetShow(false);\r\n\r\n\t\tif (onCloseCalendar) onCloseCalendar();\r\n\t};\r\n\r\n\tconst handleOpenCalendar = () => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tconst status = !show;\r\n\t\tsetShow(status);\r\n\r\n\t\tif (status && onOpenCalendar) onOpenCalendar();\r\n\t\telse if (onCloseCalendar) onCloseCalendar();\r\n\t};\r\n\r\n\tconst handleClearCalendar = () => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tif (onClearCalendar) return onClearCalendar();\r\n\r\n\t\tonChange(null);\r\n\t};\r\n\r\n\tconst labelClass = cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\r\n\t\t\"text-danger\": isInvalid,\r\n\t});\r\n\r\n\treturn (\r\n\t\t<Popover\r\n\t\t\tisOpen={show}\r\n\t\t\tanimation={popoverAnimation}\r\n\t\t\tcontainerStyle={{\r\n\t\t\t\tzIndex: \"100\",\r\n\t\t\t}}\r\n\t\t\talign={popoverAlign}\r\n\t\t\tcontent={\r\n\t\t\t\t<CalendarStyle\r\n\t\t\t\t\tcolor={color}\r\n\t\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\t\tclassName=\"shadow-medium bg-content1 rounded-2xl overflow-hidden\"\r\n\t\t\t\t\tradius={radius}\r\n\t\t\t\t>\r\n\t\t\t\t\t{loading ? /* <Loading size=\"sm\" color=\"secondary\" /> */ <p>loading</p> : null}\r\n\t\t\t\t\t<div className=\"w-full relative flex gap-2\">\r\n\t\t\t\t\t\t{showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</CalendarStyle>\r\n\t\t\t}\r\n\t\t\tpositions={[\"bottom\", \"top\"]}\r\n\t\t\treposition\r\n\t\t\tonClickOutside={handleCloseCalendar}\r\n\t\t\tclickOutsideCapture={true}\r\n\t\t>\r\n\t\t\t<CalendarStyle\r\n\t\t\t\tcolor={color}\r\n\t\t\t\tclassName={twMerge(classNameContainer, \"relative date-picker-component-container\")}\r\n\t\t\t\tonClick={handleOpenCalendar}\r\n\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\tid={uui}\r\n\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\terror={error}\r\n\t\t\t\tsize={size}\r\n\t\t\t\tradius={radius}\r\n\t\t\t>\r\n\t\t\t\t{label && (\r\n\t\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\r\n\t\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t\t{type === \"date-picker\" ? (\r\n\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full h-input-default\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<DateRangePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{!disabled && error ? <LabelError text={error} /> : null}\r\n\t\t\t</CalendarStyle>\r\n\t\t</Popover>\r\n\t);\r\n};\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["{ disabled, error }: IconCalendarProps","!disabled && !error","error && !disabled","clsx({\n\t\t\t\t\"fill-gray-400\": disabled,\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\n\t\t\t\t\"fill-red-500\": error && !disabled,\n\t\t\t})","<FaCalendar\n\t\t\tclassName={clsx({\n\t\t\t\t\"fill-gray-400\": disabled,\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\n\t\t\t\t\"fill-red-500\": error && !disabled,\n\t\t\t})}\n\t\t/>","{ disabled, error, onClick }: IconCloseProps","(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\tonClick();\n\t\t\t}","clsx(\"icon-close-to-calendar\", {\n\t\t\t\t\t\"color-gray-400\": disabled,\n\t\t\t\t\t\"color-gray-500\": !disabled && !error,\n\t\t\t\t\t\"color-danger-500\": error && !disabled,\n\t\t\t\t})","<path\n\t\t\t\t\td=\"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t></path>","<svg\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\theight=\"18\"\n\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\twidth=\"18\"\n\t\t\t\tclassName={clsx(\"icon-close-to-calendar\", {\n\t\t\t\t\t\"color-gray-400\": disabled,\n\t\t\t\t\t\"color-gray-500\": !disabled && !error,\n\t\t\t\t\t\"color-danger-500\": error && !disabled,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td=\"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t></path>\n\t\t\t</svg>","<div\n\t\t\tclassName=\"absolute top-0 h-full flex items-center px-1.5 z-[1] opacity-70 hover:opacity-100 cursor-pointer rounded-full right-1\"\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\tonClick();\n\t\t\t}}\n\t\t>\n\t\t\t<svg\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\theight=\"18\"\n\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\twidth=\"18\"\n\t\t\t\tclassName={clsx(\"icon-close-to-calendar\", {\n\t\t\t\t\t\"color-gray-400\": disabled,\n\t\t\t\t\t\"color-gray-500\": !disabled && !error,\n\t\t\t\t\t\"color-danger-500\": error && !disabled,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td=\"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t></path>\n\t\t\t</svg>\n\t\t</div>","showDoubleView = false","color = \"primary\"","showCalendar = false","locale = \"es\"","format = \"MM/dd/yyyy\"","type = \"date-picker\"","size = \"md\"","radius = \"input\"","tileContent = null","showActionButtons = true","popoverAnimation = \"zoom\"","popoverAlign = \"start\"","dayPlaceholder = \"dd\"","monthPlaceholder = \"mm\"","yearPlaceholder = \"yyyy\"","{\r\n\tid,\r\n\tvalue,\r\n\tshowDoubleView = false,\r\n\tclassNameContainer,\r\n\tclassName,\r\n\tcolor = \"primary\",\r\n\tminDate,\r\n\tmaxDate,\r\n\tshowCalendar = false,\r\n\tloading,\r\n\twidthCalendar,\r\n\tlocale = \"es\",\r\n\tformat = \"MM/dd/yyyy\",\r\n\tdisabled,\r\n\terror,\r\n\tlabel,\r\n\ttouched,\r\n\trequired,\r\n\tonChange,\r\n\tonCloseCalendar,\r\n\tonOpenCalendar,\r\n\ttileDisabled,\r\n\tonClearCalendar,\r\n\tonInvalidChange,\r\n\tonKeyDown,\r\n\tonKeyUp,\r\n\tonBlur,\r\n\ttype = \"date-picker\",\r\n\tsize = \"md\",\r\n\tradius = \"input\",\r\n\ttileContent = null,\r\n\tshowActionButtons = true,\r\n\tpopoverAnimation = \"zoom\",\r\n\tpopoverAlign = \"start\",\r\n\tdayPlaceholder = \"dd\",\r\n\tmonthPlaceholder = \"mm\",\r\n\tyearPlaceholder = \"yyyy\",\r\n}: CalendarProps","() => {\r\n\t\tif (showDoubleView || widthCalendar) return;\r\n\t\tconst element = document.getElementById(uui);\r\n\r\n\t\tif (element) setMeasuredWidth(element.clientWidth);\r\n\t}","[showDoubleView, uui, widthCalendar]","(value: ValueCalendar) => {\r\n\t\tonChange(value);\r\n\t\tsetShow(false);\r\n\t}","value","() => {\r\n\t\tconst dateNow = new Date();\r\n\r\n\t\tconst date = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate(), 0, 0, 0);\r\n\r\n\t\tif (type === \"date-range-picker\") {\r\n\t\t\thandleChange([date, date]);\r\n\t\t} else {\r\n\t\t\thandleChange(date);\r\n\t\t}\r\n\t}","useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0), [])","(d: Date, n: number) => startOfDay(new Date(d.getFullYear(), d.getMonth(), d.getDate() + n))","d","useCallback((d: Date, n: number) => startOfDay(new Date(d.getFullYear(), d.getMonth(), d.getDate() + n)), [startOfDay])","useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0), [])","useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59, 999), [])","(a?: Date | null, b?: Date | null) => {\r\n\t\tif (!a || !b) return false;\r\n\t\treturn a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\r\n\t}","(range?: ValueCalendar, target?: ValueCalendar) => {\r\n\t\tif (!Array.isArray(range) || !Array.isArray(target)) return false;\r\n\t\tconst [r0, r1] = range as (Date | null | undefined)[];\r\n\t\tconst [t0, t1] = target as (Date | null | undefined)[];\r\n\t\treturn isSameDay(r0, t0) && isSameDay(r1, t1);\r\n\t}","t0","t1","useMemo<PresetItem[]>(() => {\r\n\t\t// «Hoy» se calcula al usar el preset, no al memoizar: si el componente sigue montado pasada la medianoche,\r\n\t\t// los atajos no quedan con el día anterior.\r\n\t\tconst today = () => startOfDay(new Date());\r\n\t\tif (type === \"date-picker\") {\r\n\t\t\treturn [\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => today() },\r\n\t\t\t\t{ key: \"tomorrow\", label: \"Mañana\", getValue: () => addDays(today(), 1) },\r\n\t\t\t\t{ key: \"in7\", label: \"+7 días\", getValue: () => addDays(today(), 7) },\r\n\t\t\t\t{ key: \"in30\", label: \"+30 días\", getValue: () => addDays(today(), 30) },\r\n\t\t\t\t{ key: \"clear\", label: \"Limpiar\", action: () => onChange(null), separator: true },\r\n\t\t\t];\r\n\t\t} else {\r\n\t\t\tconst lastMonth = () => addDays(startOfMonth(today()), -1);\r\n\t\t\tconst nextMonth = () => addDays(endOfMonth(today()), 1);\r\n\r\n\t\t\treturn [\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => [today(), today()] },\r\n\t\t\t\t{ key: \"last7\", label: \"Últimos 7 días\", getValue: () => [addDays(today(), -6), today()] },\r\n\t\t\t\t{ key: \"next7\", label: \"Próx. 7 días\", getValue: () => [today(), addDays(today(), 6)] },\r\n\t\t\t\t{ key: \"thisMonth\", label: \"Este mes\", getValue: () => [startOfMonth(today()), endOfMonth(today())] },\r\n\t\t\t\t{ key: \"nextMonth\", label: \"Próximo mes\", getValue: () => [startOfMonth(nextMonth()), endOfMonth(nextMonth())] },\r\n\t\t\t\t{ key: \"lastMonth\", label: \"Mes pasado\", getValue: () => [startOfMonth(lastMonth()), endOfMonth(lastMonth())] },\r\n\t\t\t];\r\n\t\t}\r\n\t}, [type, onChange, addDays, startOfDay, startOfMonth, endOfMonth])","() => startOfDay(new Date())","{ key: \"today\", label: \"Hoy\", getValue: () => today() }","{ key: \"tomorrow\", label: \"Mañana\", getValue: () => addDays(today(), 1) }","{ key: \"in7\", label: \"+7 días\", getValue: () => addDays(today(), 7) }","{ key: \"in30\", label: \"+30 días\", getValue: () => addDays(today(), 30) }","[\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => today() },\r\n\t\t\t\t{ key: \"tomorrow\", label: \"Mañana\", getValue: () => addDays(today(), 1) },\r\n\t\t\t\t{ key: \"in7\", label: \"+7 días\", getValue: () => addDays(today(), 7) },\r\n\t\t\t\t{ key: \"in30\", label: \"+30 días\", getValue: () => addDays(today(), 30) },\r\n\t\t\t\t{ key: \"clear\", label: \"Limpiar\", action: () => onChange(null), separator: true },\r\n\t\t\t]","() => addDays(startOfMonth(today()), -1)","() => addDays(endOfMonth(today()), 1)","{ key: \"today\", label: \"Hoy\", getValue: () => [today(), today()] }","{ key: \"last7\", label: \"Últimos 7 días\", getValue: () => [addDays(today(), -6), today()] }","{ key: \"next7\", label: \"Próx. 7 días\", getValue: () => [today(), addDays(today(), 6)] }","{ key: \"thisMonth\", label: \"Este mes\", getValue: () => [startOfMonth(today()), endOfMonth(today())] }","{ key: \"nextMonth\", label: \"Próximo mes\", getValue: () => [startOfMonth(nextMonth()), endOfMonth(nextMonth())] }","[\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => [today(), today()] },\r\n\t\t\t\t{ key: \"last7\", label: \"Últimos 7 días\", getValue: () => [addDays(today(), -6), today()] },\r\n\t\t\t\t{ key: \"next7\", label: \"Próx. 7 días\", getValue: () => [today(), addDays(today(), 6)] },\r\n\t\t\t\t{ key: \"thisMonth\", label: \"Este mes\", getValue: () => [startOfMonth(today()), endOfMonth(today())] },\r\n\t\t\t\t{ key: \"nextMonth\", label: \"Próximo mes\", getValue: () => [startOfMonth(nextMonth()), endOfMonth(nextMonth())] },\r\n\t\t\t\t{ key: \"lastMonth\", label: \"Mes pasado\", getValue: () => [startOfMonth(lastMonth()), endOfMonth(lastMonth())] },\r\n\t\t\t]","(preset: PresetItem) => {\r\n\t\tif (preset.getValue) {\r\n\t\t\tconst pv = preset.getValue();\r\n\t\t\tif (type === \"date-picker\") {\r\n\t\t\t\treturn !Array.isArray(value) && !Array.isArray(pv) && isSameDay(value as Date | null, pv as Date | null);\r\n\t\t\t} else {\r\n\t\t\t\treturn Array.isArray(value) && Array.isArray(pv) && isSameRange(value, pv);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}","(preset: PresetItem) => {\r\n\t\tif (preset.action) {\r\n\t\t\tpreset.action();\r\n\t\t\tsetShow(false);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (preset.getValue) {\r\n\t\t\tconst v = preset.getValue();\r\n\t\t\tonChange(v);\r\n\t\t\tsetShow(false);\r\n\t\t}\r\n\t}","preset","() => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tsetShow(false);\r\n\r\n\t\tif (onCloseCalendar) onCloseCalendar();\r\n\t}","() => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tconst status = !show;\r\n\t\tsetShow(status);\r\n\r\n\t\tif (status && onOpenCalendar) onOpenCalendar();\r\n\t\telse if (onCloseCalendar) onCloseCalendar();\r\n\t}","() => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tif (onClearCalendar) return onClearCalendar();\r\n\r\n\t\tonChange(null);\r\n\t}","cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\r\n\t\t\"text-danger\": isInvalid,\r\n\t})","{\r\n\t\t\t\tzIndex: \"100\",\r\n\t\t\t}","show.toString()","showDoubleView.toString()","loading ? /* <Loading size=\"sm\" color=\"secondary\" /> */ <p>loading</p> : null","showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)","type === \"date-range-picker\"","type === \"date-range-picker\" ? \"range\" : \"start\"","<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />","<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />","locale === \"es\" ? \"Mes anterior\" : \"Previous month\"","locale === \"es\" ? \"Mes siguiente\" : \"Next month\"","<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>","<div className=\"w-full relative flex gap-2\">\r\n\t\t\t\t\t\t{showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>","<CalendarStyle\r\n\t\t\t\t\tcolor={color}\r\n\t\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\t\tclassName=\"shadow-medium bg-content1 rounded-2xl overflow-hidden\"\r\n\t\t\t\t\tradius={radius}\r\n\t\t\t\t>\r\n\t\t\t\t\t{loading ? /* <Loading size=\"sm\" color=\"secondary\" /> */ <p>loading</p> : null}\r\n\t\t\t\t\t<div className=\"w-full relative flex gap-2\">\r\n\t\t\t\t\t\t{showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</CalendarStyle>","[\"bottom\", \"top\"]","twMerge(classNameContainer, \"relative date-picker-component-container\")","label && (\r\n\t\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\r\n\t\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)","type === \"date-picker\" ? (\r\n\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full h-input-default\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<DateRangePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)","() => false","!disabled && error ? <LabelError text={error} /> : null","<CalendarStyle\r\n\t\t\t\tcolor={color}\r\n\t\t\t\tclassName={twMerge(classNameContainer, \"relative date-picker-component-container\")}\r\n\t\t\t\tonClick={handleOpenCalendar}\r\n\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\tid={uui}\r\n\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\terror={error}\r\n\t\t\t\tsize={size}\r\n\t\t\t\tradius={radius}\r\n\t\t\t>\r\n\t\t\t\t{label && (\r\n\t\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\r\n\t\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t\t{type === \"date-picker\" ? (\r\n\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full h-input-default\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<DateRangePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{!disabled && error ? <LabelError text={error} /> : null}\r\n\t\t\t</CalendarStyle>","<Popover\r\n\t\t\tisOpen={show}\r\n\t\t\tanimation={popoverAnimation}\r\n\t\t\tcontainerStyle={{\r\n\t\t\t\tzIndex: \"100\",\r\n\t\t\t}}\r\n\t\t\talign={popoverAlign}\r\n\t\t\tcontent={\r\n\t\t\t\t<CalendarStyle\r\n\t\t\t\t\tcolor={color}\r\n\t\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\t\tclassName=\"shadow-medium bg-content1 rounded-2xl overflow-hidden\"\r\n\t\t\t\t\tradius={radius}\r\n\t\t\t\t>\r\n\t\t\t\t\t{loading ? /* <Loading size=\"sm\" color=\"secondary\" /> */ <p>loading</p> : null}\r\n\t\t\t\t\t<div className=\"w-full relative flex gap-2\">\r\n\t\t\t\t\t\t{showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</CalendarStyle>\r\n\t\t\t}\r\n\t\t\tpositions={[\"bottom\", \"top\"]}\r\n\t\t\treposition\r\n\t\t\tonClickOutside={handleCloseCalendar}\r\n\t\t\tclickOutsideCapture={true}\r\n\t\t>\r\n\t\t\t<CalendarStyle\r\n\t\t\t\tcolor={color}\r\n\t\t\t\tclassName={twMerge(classNameContainer, \"relative date-picker-component-container\")}\r\n\t\t\t\tonClick={handleOpenCalendar}\r\n\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\tid={uui}\r\n\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\terror={error}\r\n\t\t\t\tsize={size}\r\n\t\t\t\tradius={radius}\r\n\t\t\t>\r\n\t\t\t\t{label && (\r\n\t\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\r\n\t\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t\t{type === \"date-picker\" ? (\r\n\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full h-input-default\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<DateRangePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{!disabled && error ? <LabelError text={error} /> : null}\r\n\t\t\t</CalendarStyle>\r\n\t\t</Popover>","(d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0)","(d: Date) => new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0)","(d: Date) => new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59, 999)"],"sources":["../../src/components/calendar/icon/icon-calendar.tsx","../../src/components/calendar/date-picker/date-picker.style.ts","../../src/components/calendar/date-picker/date-picker.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { FaCalendar, FaClock } from \"react-icons/fa\";\n\nexport interface IconCalendarProps {\n\tdisabled?: boolean;\n\terror?: string;\n}\nexport interface IconCloseProps extends IconCalendarProps {\n\tonClick: () => void;\n}\n\nexport const IconCalendar = ({ disabled, error }: IconCalendarProps) => {\n\treturn (\n\t\t<FaCalendar\n\t\t\tclassName={clsx({\n\t\t\t\t\"fill-gray-400\": disabled,\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\n\t\t\t\t\"fill-red-500\": error && !disabled,\n\t\t\t})}\n\t\t/>\n\t);\n};\n\nexport const IconCloseCalendar = ({ disabled, error, onClick }: IconCloseProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"absolute top-0 h-full flex items-center px-1.5 z-[1] opacity-70 hover:opacity-100 cursor-pointer rounded-full right-1\"\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\tonClick();\n\t\t\t}}\n\t\t>\n\t\t\t<svg\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\theight=\"18\"\n\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\twidth=\"18\"\n\t\t\t\tclassName={clsx(\"icon-close-to-calendar\", {\n\t\t\t\t\t\"color-gray-400\": disabled,\n\t\t\t\t\t\"color-gray-500\": !disabled && !error,\n\t\t\t\t\t\"color-danger-500\": error && !disabled,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td=\"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t></path>\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nexport const IconTimeCalendar = ({ disabled, error }: IconCalendarProps) => {\n\treturn (\n\t\t<FaClock\n\t\t\tclassName={clsx(\"w-5 h-5\", {\n\t\t\t\t\"fill-gray-400\": disabled,\n\t\t\t\t\"fill-gray-500\": !disabled && !error,\n\t\t\t\t\"fill-danger-500\": error && !disabled,\n\t\t\t})}\n\t\t/>\n\t);\n};\n","import type { ColorProps, ExcludeType, RadiusProps, SizeProps } from \"@/types\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nexport const CalendarStyle = styled.div<{\r\n\tcolor?: ExcludeType<ColorProps, \"secondary\">;\r\n\tshowcalendar: string;\r\n\twidthcalendar: number;\r\n\tshowdoubleview: string;\r\n\terror?: string;\r\n\tsize?: ExcludeType<SizeProps, \"xs\">;\r\n\tradius?: RadiusProps;\r\n}>`\r\n\tposition: relative;\r\n\r\n\tinput[type=\"number\"]::-webkit-inner-spin-button,\r\n\tinput[type=\"number\"]::-webkit-outer-spin-button {\r\n\t\t-webkit-appearance: none;\r\n\t\tmargin: 0;\r\n\t}\r\n\r\n\tinput[type=\"number\"] {\r\n\t\t-moz-appearance: none;\r\n\t\tappearance: none;\r\n\t}\r\n\r\n\t.react-daterange-picker--disabled,\r\n\t.react-date-picker--disabled {\r\n\t\tborder-radius: 6px;\r\n\t}\r\n\r\n\t.react-date-picker--disabled .react-date-picker__wrapper,\r\n\t.react-daterange-picker--disabled .react-daterange-picker__wrapper {\r\n\t\tborder: 1px solid var(--color-gray-300);\r\n\t\tbox-shadow: inherit !important;\r\n\t\tbackground-color: var(--color-gray-50);\r\n\t}\r\n\r\n\t.react-date-picker__inputGroup__input,\r\n\t.react-date-picker__inputGroup__divider,\r\n\t.react-date-picker__inputGroup__leadingZero,\r\n\t.react-daterange-picker__inputGroup__input,\r\n\t.react-daterange-picker__inputGroup__divider,\r\n\t.react-daterange-picker__inputGroup__leadingZero,\r\n\t.react-daterange-picker__range-divider {\r\n\t\tfont-size: 14px;\r\n\t\tcolor: ${({ error }) => (error ? \"var(--color-danger)\" : \"var(--color-gray-500)\")};\r\n\t\toutline: none;\r\n\t\tborder: 0px;\r\n\t}\r\n\r\n\t.react-date-picker__inputGroup__input:invalid,\r\n\t.react-daterange-picker__inputGroup__input:invalid {\r\n\t\tcolor: var(--color-danger);\r\n\t}\r\n\r\n\t.react-date-picker__wrapper,\r\n\t.react-daterange-picker__wrapper {\r\n\t\tmin-height: var(--input-default);\r\n\t\tpadding-right: 8px;\r\n\t\tpadding-left: 8px;\r\n\t\tborder: 1px solid var(--input);\r\n\t\tborder-radius: ${({ radius }) => {\r\n\t\t\tlet radiusInput = \"var(--radius-md)\";\r\n\r\n\t\t\tif (radius === \"lg\") {\r\n\t\t\t\tradiusInput = \"var(--radius-lg)\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"sm\") {\r\n\t\t\t\tradiusInput = \"var(--radius-sm)\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"xs\") {\r\n\t\t\t\tradiusInput = \"var(--radius-xs)\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"full\") {\r\n\t\t\t\tradiusInput = \"calc(infinity * 1px)\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"none\") {\r\n\t\t\t\tradiusInput = \"0px\";\r\n\t\t\t}\r\n\r\n\t\t\tif (radius === \"input\") {\r\n\t\t\t\tradiusInput = \"var(--radius-input)\";\r\n\t\t\t}\r\n\r\n\t\t\treturn radiusInput;\r\n\t\t}};\r\n\t\tbackground-color: var(--select-input-bg);\r\n\t\tdisplay: flex;\r\n\t\tflex-grow: 1;\r\n\t\tflex-shrink: 0;\r\n\r\n\t\t${({ showcalendar, error }) => {\r\n\t\t\tif (error) {\r\n\t\t\t\treturn css`\r\n\t\t\t\t\t/* box-shadow: var(--shadow-inputError); */\r\n\t\t\t\t\tborder-color: var(--color-danger);\r\n\t\t\t\t`;\r\n\t\t\t} else if (showcalendar === \"true\") {\r\n\t\t\t\treturn css`\r\n\t\t\t\t\t/* box-shadow: var(--shadow-inputBase); */\r\n\t\t\t\t\t/* border-color: var(--color-primary-700); */\r\n\t\t\t\t`;\r\n\t\t\t}\r\n\t\t}}\r\n\t\t${({ size }) => {\r\n\t\t\tif (size === \"sm\")\r\n\t\t\t\treturn css`\r\n\t\t\t\t\tpadding-top: 2px;\r\n\t\t\t\t\tpadding-bottom: 2px;\r\n\t\t\t\t`;\r\n\t\t\telse if (size === \"md\")\r\n\t\t\t\treturn css`\r\n\t\t\t\t\tpadding-top: 4px;\r\n\t\t\t\t\tpadding-bottom: 4px;\r\n\t\t\t\t`;\r\n\t\t\telse if (size === \"lg\")\r\n\t\t\t\treturn css`\r\n\t\t\t\t\tpadding-top: 6px;\r\n\t\t\t\t\tpadding-bottom: 6px;\r\n\t\t\t\t`;\r\n\t\t}}\r\n\t}\r\n\r\n\t/* ============== DATE ============== */\r\n\r\n\t.react-date-picker__button {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.react-date-picker__inputGroup {\r\n\t\tpadding: 0;\r\n\t\torder: 2;\r\n\r\n\t\tbox-sizing: content-box;\r\n\t\tflex-grow: 1;\r\n\t\tmin-width: calc(12px + 3.674em);\r\n\t}\r\n\r\n\t.react-date-picker__calendar-button {\r\n\t\torder: 1;\r\n\t\tmargin-right: 8px;\r\n\t}\r\n\r\n\t.react-date-picker__clear-button {\r\n\t\torder: 3;\r\n\t}\r\n\r\n\t.react-date-picker--disabled .react-date-picker__inputGroup__input,\r\n\t.react-date-picker--disabled .react-date-picker__inputGroup__divider,\r\n\t.react-date-picker--disabled .react-date-picker__inputGroup__leadingZero {\r\n\t\tcolor: var(--color-green-700);\r\n\t}\r\n\r\n\t/* ============ RANGE ============= */\r\n\r\n\t.react-daterange-picker__button {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.react-daterange-picker__wrapper .react-daterange-picker__inputGroup:first-child {\r\n\t\torder: 2;\r\n\t}\r\n\t.react-daterange-picker__range-divider {\r\n\t\torder: 3;\r\n\t}\r\n\t.react-daterange-picker__wrapper .react-daterange-picker__inputGroup:nth-child(3) {\r\n\t\torder: 4;\r\n\t}\r\n\t.react-daterange-picker__clear-button {\r\n\t\torder: 5;\r\n\t}\r\n\r\n\t.react-daterange-picker__calendar-button {\r\n\t\torder: 1;\r\n\t\tmargin-right: 8px;\r\n\t}\r\n\r\n\t.react-daterange-picker--disabled .react-daterange-picker__inputGroup__input,\r\n\t.react-daterange-picker--disabled .react-date-picker__inputGroup__divider,\r\n\t.react-daterange-picker--disabled .react-daterange-picker__inputGroup__leadingZero,\r\n\t.react-daterange-picker--disabled .react-daterange-picker__range-divider {\r\n\t\tcolor: var(--color-gray-400);\r\n\t}\r\n\r\n\t/* =========== RANGE ============== */\r\n\r\n\t/* .react-date-picker__calendar {\r\n\t\tmax-width: 100vw;\r\n\t\twidth: auto;\r\n\t\tposition: absolute;\r\n\t\ttop: 100%;\r\n\t\tleft: 0;\r\n\t\tz-index: 10px;\r\n\t} */\r\n\r\n\t/* =============================================================================\r\n\t * react-calendar — estilo upstream (calendar.css / range-calendar.css v3)\r\n\t *\r\n\t * Modelo: cada día es la \"pista\" del rango (fondo continuo, sin huecos entre columnas)\r\n\t * y el círculo interactivo vive en ::before. Inicio/fin = círculo sólido, hoy = círculo\r\n\t * suave, hover = círculo neutro. Los extremos de fila y los cortes contra días de otro\r\n\t * mes se redondean para que el rango se lea como una cápsula por semana.\r\n\t *\r\n\t * Los selectores se anidan bajo .react-calendar para ganar en especificidad a\r\n\t * react-calendar/dist/Calendar.css sin depender del orden de carga.\r\n\t * ========================================================================== */\r\n\r\n\t${({ color = \"primary\" }) => {\r\n\t\tconst accents: Record<string, [string, string]> = {\r\n\t\t\tprimary: [\"var(--color-primary)\", \"var(--color-primary-foreground)\"],\r\n\t\t\tsuccess: [\"var(--color-success)\", \"var(--color-success-foreground)\"],\r\n\t\t\twarning: [\"var(--color-warning)\", \"var(--color-warning-foreground)\"],\r\n\t\t\tdanger: [\"var(--color-danger)\", \"var(--color-danger-foreground)\"],\r\n\t\t\tdefault: [\"var(--color-foreground)\", \"var(--color-content1)\"],\r\n\t\t};\r\n\t\tconst [accent, accentForeground] = accents[color] ?? accents.primary;\r\n\r\n\t\treturn css`\r\n\t\t\t--cal-accent: ${accent};\r\n\t\t\t--cal-accent-foreground: ${accentForeground};\r\n\t\t\t--cal-accent-hover: color-mix(in oklab, var(--cal-accent) 88%, black);\r\n\t\t\t--cal-accent-soft: color-mix(in oklab, var(--cal-accent) 14%, transparent);\r\n\t\t\t--cal-accent-soft-hover: color-mix(in oklab, var(--cal-accent) 24%, transparent);\r\n\t\t`;\r\n\t}}\r\n\r\n\t.react-calendar {\r\n\t\t--cal-cell: 36px;\r\n\t\t--cal-gap: 24px;\r\n\t\t--cal-cap: 9999px;\r\n\t\t--cal-edge: 8px;\r\n\t\t--cal-ease: cubic-bezier(0.22, 1, 0.36, 1);\r\n\r\n\t\twidth: calc(var(--cal-cell) * 7 + 24px);\r\n\t\tmax-width: 100%;\r\n\t\tpadding: 12px;\r\n\t\tborder: none;\r\n\t\tbackground: transparent;\r\n\t\tfont-family: inherit;\r\n\t\tline-height: normal;\r\n\t\tcolor: var(--color-foreground);\r\n\r\n\t\t&.react-calendar--doubleView {\r\n\t\t\twidth: calc(var(--cal-cell) * 14 + var(--cal-gap) + 24px);\r\n\t\t}\r\n\r\n\t\tbutton {\r\n\t\t\tfont: inherit;\r\n\t\t}\r\n\r\n\t\t/* ---------------------------------------------------------------- header */\r\n\t\t.react-calendar__navigation {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tgap: 2px;\r\n\t\t\theight: auto;\r\n\t\t\tmargin-bottom: 12px;\r\n\t\t\tpadding: 0 2px;\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__arrow.react-calendar__navigation__prev2-button,\r\n\t\t.react-calendar__navigation__arrow.react-calendar__navigation__next2-button {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\r\n\t\t/* Título a la izquierda y flechas juntas a la derecha, como upstream. */\r\n\t\t.react-calendar__navigation__label {\r\n\t\t\torder: 0;\r\n\t\t\tflex: 1;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: flex-start;\r\n\t\t\tmin-width: 0;\r\n\t\t\theight: 28px;\r\n\t\t\tpadding: 0 8px;\r\n\t\t\tborder-radius: var(--cal-cap);\r\n\t\t\tbackground: transparent;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t\ttext-align: left;\r\n\t\t\ttransition: background-color 100ms var(--cal-ease);\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__label span {\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__prev-button {\r\n\t\t\torder: 1;\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__next-button {\r\n\t\t\torder: 2;\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__arrow {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t\tflex: none;\r\n\t\t\twidth: 28px;\r\n\t\t\tmin-width: 28px;\r\n\t\t\theight: 28px;\r\n\t\t\tpadding: 0;\r\n\t\t\tborder-radius: var(--cal-cap);\r\n\t\t\tbackground: transparent;\r\n\t\t\tcolor: var(--cal-accent);\r\n\t\t\ttransition:\r\n\t\t\t\tbackground-color 100ms var(--cal-ease),\r\n\t\t\t\ttransform 200ms var(--cal-ease),\r\n\t\t\t\topacity 150ms var(--cal-ease);\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation button:enabled:focus {\r\n\t\t\tbackground: transparent;\r\n\t\t}\r\n\r\n\t\t@media (hover: hover) {\r\n\t\t\t.react-calendar__navigation button:enabled:hover {\r\n\t\t\t\tbackground-color: var(--color-default-100);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation__arrow:enabled:active {\r\n\t\t\ttransform: scale(0.92);\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation button:disabled {\r\n\t\t\tbackground: transparent;\r\n\t\t\topacity: 0.35;\r\n\t\t\tcursor: not-allowed;\r\n\t\t}\r\n\r\n\t\t.react-calendar__navigation button:focus-visible {\r\n\t\t\toutline: 2px solid var(--cal-accent);\r\n\t\t\toutline-offset: 1px;\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------------------ month view */\r\n\t\t.react-calendar__viewContainer {\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t&.react-calendar--doubleView .react-calendar__viewContainer {\r\n\t\t\tdisplay: flex;\r\n\t\t\tgap: var(--cal-gap);\r\n\t\t\tmargin: 0;\r\n\r\n\t\t\t> * {\r\n\t\t\t\twidth: auto;\r\n\t\t\t\tflex: 1 1 0;\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__weekdays {\r\n\t\t\tdisplay: grid !important;\r\n\t\t\tgrid-template-columns: repeat(7, var(--cal-cell));\r\n\t\t\tmargin-bottom: 4px;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-weight: 500;\r\n\t\t\ttext-transform: none;\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__weekdays__weekday {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t\theight: 24px;\r\n\t\t\tpadding: 0;\r\n\t\t\tcolor: var(--color-default-500);\r\n\t\t\ttext-transform: capitalize;\r\n\r\n\t\t\tabbr {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t\tcursor: default;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__days {\r\n\t\t\tdisplay: grid !important;\r\n\t\t\tgrid-template-columns: repeat(7, var(--cal-cell));\r\n\t\t\trow-gap: 4px;\r\n\t\t\tcolumn-gap: 0;\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------------------------ días */\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile {\r\n\t\t\tposition: relative;\r\n\t\t\tisolation: isolate;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: center;\r\n\t\t\twidth: var(--cal-cell);\r\n\t\t\tmax-width: none;\r\n\t\t\theight: var(--cal-cell);\r\n\t\t\tmargin: 0 !important;\r\n\t\t\tpadding: 0;\r\n\t\t\tborder-radius: 0;\r\n\t\t\tbackground: transparent;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 500;\r\n\t\t\tline-height: 1;\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t\t-webkit-tap-highlight-color: transparent;\r\n\r\n\t\t\t/* Círculo interactivo */\r\n\t\t\t&::before {\r\n\t\t\t\tcontent: \"\";\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tinset: 0;\r\n\t\t\t\tz-index: -1;\r\n\t\t\t\tborder-radius: var(--cal-cap);\r\n\t\t\t\tbackground: transparent;\r\n\t\t\t\ttransition:\r\n\t\t\t\t\tbackground-color 120ms var(--cal-ease),\r\n\t\t\t\t\tscale 200ms var(--cal-ease);\r\n\t\t\t}\r\n\r\n\t\t\tabbr {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus-visible {\r\n\t\t\t\toutline: none;\r\n\t\t\t}\r\n\r\n\t\t\t/* Anillo hacia adentro: react-calendar pone overflow:hidden inline en cada día. */\r\n\t\t\t&:focus-visible::before {\r\n\t\t\t\tbox-shadow:\r\n\t\t\t\t\tinset 0 0 0 2px var(--cal-accent),\r\n\t\t\t\t\tinset 0 0 0 4px var(--color-content1);\r\n\t\t\t}\r\n\r\n\t\t\t&:enabled:active::before {\r\n\t\t\t\tscale: 0.9;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Fines de semana sin color especial (react-calendar los pinta en rojo). */\r\n\t\t.react-calendar__month-view__days > .react-calendar__month-view__days__day--weekend {\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t}\r\n\r\n\t\t/* Hover neutro solo en días libres y solo con puntero real (evita \"pegados\" en táctil). */\r\n\t\t@media (hover: hover) {\r\n\t\t\t.react-calendar__month-view__days > .react-calendar__tile:enabled:hover:not(\r\n\t\t\t\t\t.react-calendar__tile--range,\r\n\t\t\t\t\t.react-calendar__tile--hoverStart,\r\n\t\t\t\t\t.react-calendar__tile--hoverEnd\r\n\t\t\t\t)::before {\r\n\t\t\t\tbackground-color: var(--color-default-100);\r\n\t\t\t}\r\n\r\n\t\t\t/* Dentro de un rango ya elegido el hover refuerza el tono del acento en vez de un gris encima de la pista. */\r\n\t\t\t&:not(.react-calendar--selectRange)\r\n\t\t\t\t.react-calendar__month-view__days\r\n\t\t\t\t> .react-calendar__tile--range:enabled:hover:not(\r\n\t\t\t\t\t.react-calendar__tile--rangeStart,\r\n\t\t\t\t\t.react-calendar__tile--rangeEnd,\r\n\t\t\t\t\t.react-calendar__month-view__days__day--neighboringMonth\r\n\t\t\t\t)::before {\r\n\t\t\t\tbackground-color: var(--cal-accent-soft-hover);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Hoy */\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile--now {\r\n\t\t\tcolor: var(--cal-accent);\r\n\r\n\t\t\t&::before {\r\n\t\t\t\tbackground-color: var(--cal-accent-soft);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t@media (hover: hover) {\r\n\t\t\t.react-calendar__month-view__days > .react-calendar__tile--now:enabled:hover::before {\r\n\t\t\t\tbackground-color: var(--cal-accent-soft-hover);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Días de otro mes (sin el círculo de hoy: en doble vista duplicaría el del otro mes) */\r\n\t\t.react-calendar__month-view__days > .react-calendar__month-view__days__day--neighboringMonth {\r\n\t\t\tcolor: var(--color-default-400);\r\n\t\t\topacity: 0.6;\r\n\r\n\t\t\t&::before {\r\n\t\t\t\tbackground-color: transparent;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* Deshabilitados */\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile:disabled {\r\n\t\t\tbackground: transparent;\r\n\t\t\tcolor: var(--color-default-300);\r\n\t\t\ttext-decoration: line-through;\r\n\t\t\tcursor: not-allowed;\r\n\r\n\t\t\t&::before {\r\n\t\t\t\tbackground: transparent;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------------ rango: la pista */\r\n\t\t/* Primer selector: rango confirmado. Segundo: vista previa mientras se elige el segundo extremo. */\r\n\t\t&:not(.react-calendar--selectRange)\r\n\t\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile--range:not(.react-calendar__month-view__days__day--neighboringMonth, .react-calendar__tile--rangeBothEnds),\r\n\t\t&.react-calendar--selectRange\r\n\t\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile--hover:not(.react-calendar__month-view__days__day--neighboringMonth, .react-calendar__tile--hoverBothEnds) {\r\n\t\t\tbackground-color: var(--cal-accent-soft);\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t}\r\n\r\n\t\t/* Extremos de fila: la pista se corta con un redondeo suave para que cada semana se lea como una cápsula. */\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile:nth-child(7n + 1),\r\n\t\t.react-calendar__month-view__days > .react-calendar__month-view__days__day--neighboringMonth + .react-calendar__tile {\r\n\t\t\tborder-start-start-radius: var(--cal-edge);\r\n\t\t\tborder-end-start-radius: var(--cal-edge);\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile:nth-child(7n),\r\n\t\t.react-calendar__month-view__days > .react-calendar__tile:has(+ .react-calendar__month-view__days__day--neighboringMonth) {\r\n\t\t\tborder-start-end-radius: var(--cal-edge);\r\n\t\t\tborder-end-end-radius: var(--cal-edge);\r\n\t\t}\r\n\r\n\t\t/* Inicio y fin: el borde de la pista abraza el círculo. */\r\n\t\t&:not(.react-calendar--selectRange) .react-calendar__month-view__days > .react-calendar__tile--rangeStart,\r\n\t\t&.react-calendar--selectRange .react-calendar__month-view__days > .react-calendar__tile--hoverStart {\r\n\t\t\tborder-start-start-radius: var(--cal-cap);\r\n\t\t\tborder-end-start-radius: var(--cal-cap);\r\n\t\t}\r\n\r\n\t\t&:not(.react-calendar--selectRange) .react-calendar__month-view__days > .react-calendar__tile--rangeEnd,\r\n\t\t&.react-calendar--selectRange .react-calendar__month-view__days > .react-calendar__tile--hoverEnd {\r\n\t\t\tborder-start-end-radius: var(--cal-cap);\r\n\t\t\tborder-end-end-radius: var(--cal-cap);\r\n\t\t}\r\n\r\n\t\t/* Un extremo pegado al borde de fila no deja asomar la pista detrás del círculo. */\r\n\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile:is(.react-calendar__tile--rangeEnd, .react-calendar__tile--hoverEnd):is(\r\n\t\t\t\t:nth-child(7n + 1),\r\n\t\t\t\t.react-calendar__month-view__days__day--neighboringMonth + *\r\n\t\t\t) {\r\n\t\t\tborder-start-start-radius: var(--cal-cap);\r\n\t\t\tborder-end-start-radius: var(--cal-cap);\r\n\t\t}\r\n\r\n\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile:is(.react-calendar__tile--rangeStart, .react-calendar__tile--hoverStart):is(\r\n\t\t\t\t:nth-child(7n),\r\n\t\t\t\t:has(+ .react-calendar__month-view__days__day--neighboringMonth)\r\n\t\t\t) {\r\n\t\t\tborder-start-end-radius: var(--cal-cap);\r\n\t\t\tborder-end-end-radius: var(--cal-cap);\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------- rango: círculos sólidos */\r\n\t\t/* .react-calendar__tile repetido: iguala la especificidad de la pista para que el texto blanco del extremo gane. */\r\n\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile.react-calendar__tile--rangeStart:not(.react-calendar__month-view__days__day--neighboringMonth),\r\n\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile.react-calendar__tile--rangeEnd:not(.react-calendar__month-view__days__day--neighboringMonth),\r\n\t\t&.react-calendar--selectRange\r\n\t\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile--hoverStart:not(.react-calendar__month-view__days__day--neighboringMonth),\r\n\t\t&.react-calendar--selectRange\r\n\t\t\t.react-calendar__month-view__days\r\n\t\t\t> .react-calendar__tile--hoverEnd:not(.react-calendar__month-view__days__day--neighboringMonth) {\r\n\t\t\tcolor: var(--cal-accent-foreground);\r\n\r\n\t\t\t&::before {\r\n\t\t\t\tbackground-color: var(--cal-accent);\r\n\t\t\t}\r\n\r\n\t\t\t&:enabled:active::before {\r\n\t\t\t\tbackground-color: var(--cal-accent-hover);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* ------------------------------------------------- año / década / siglo */\r\n\t\t.react-calendar__year-view__months,\r\n\t\t.react-calendar__decade-view__years,\r\n\t\t.react-calendar__century-view__decades {\r\n\t\t\trow-gap: 4px;\r\n\t\t}\r\n\r\n\t\t.react-calendar__year-view .react-calendar__tile,\r\n\t\t.react-calendar__decade-view .react-calendar__tile,\r\n\t\t.react-calendar__century-view .react-calendar__tile {\r\n\t\t\tpadding: 12px 4px;\r\n\t\t\tborder-radius: var(--cal-cap);\r\n\t\t\tbackground: transparent;\r\n\t\t\tfont-size: 13px;\r\n\t\t\tfont-weight: 500;\r\n\t\t\tcolor: var(--color-foreground);\r\n\t\t\ttext-transform: capitalize;\r\n\t\t\ttransition: background-color 120ms var(--cal-ease);\r\n\r\n\t\t\tabbr {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t}\r\n\r\n\t\t\t&:enabled:focus {\r\n\t\t\t\tbackground: transparent;\r\n\t\t\t}\r\n\r\n\t\t\t&:focus-visible {\r\n\t\t\t\toutline: 2px solid var(--cal-accent);\r\n\t\t\t\toutline-offset: -2px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t@media (hover: hover) {\r\n\t\t\t.react-calendar__year-view .react-calendar__tile:enabled:hover,\r\n\t\t\t.react-calendar__decade-view .react-calendar__tile:enabled:hover,\r\n\t\t\t.react-calendar__century-view .react-calendar__tile:enabled:hover {\r\n\t\t\t\tbackground-color: var(--color-default-100);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.react-calendar__year-view .react-calendar__tile--now,\r\n\t\t.react-calendar__decade-view .react-calendar__tile--now,\r\n\t\t.react-calendar__century-view .react-calendar__tile--now {\r\n\t\t\tcolor: var(--cal-accent);\r\n\t\t}\r\n\r\n\t\t.react-calendar__year-view .react-calendar__tile--hasActive,\r\n\t\t.react-calendar__year-view .react-calendar__tile--active,\r\n\t\t.react-calendar__decade-view .react-calendar__tile--hasActive,\r\n\t\t.react-calendar__decade-view .react-calendar__tile--active,\r\n\t\t.react-calendar__century-view .react-calendar__tile--hasActive,\r\n\t\t.react-calendar__century-view .react-calendar__tile--active {\r\n\t\t\tbackground-color: var(--cal-accent);\r\n\t\t\tcolor: var(--cal-accent-foreground);\r\n\t\t}\r\n\r\n\t\t.react-calendar__year-view .react-calendar__tile:disabled,\r\n\t\t.react-calendar__decade-view .react-calendar__tile:disabled,\r\n\t\t.react-calendar__century-view .react-calendar__tile:disabled {\r\n\t\t\tbackground: transparent;\r\n\t\t\tcolor: var(--color-default-300);\r\n\t\t\tcursor: not-allowed;\r\n\t\t}\r\n\t}\r\n\r\n\t@media (prefers-reduced-motion: reduce) {\r\n\t\t.react-calendar *,\r\n\t\t.react-calendar *::before {\r\n\t\t\ttransition: none !important;\r\n\t\t}\r\n\t}\r\n`;\r\n","import \"@wojtekmaj/react-daterange-picker/dist/DateRangePicker.css\";\r\nimport \"react-calendar/dist/Calendar.css\";\r\nimport \"react-date-picker/dist/DatePicker.css\";\r\n\r\nimport DateRangePicker from \"@wojtekmaj/react-daterange-picker\";\r\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\r\nimport CalendarComponent from \"react-calendar\";\r\nimport DatePicker from \"react-date-picker\";\r\nimport { Popover } from \"../../tiny-popover\";\r\n\r\nimport React, { useCallback, useLayoutEffect, useMemo, useState } from \"react\";\r\n\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nimport { LabelError } from \"@/components/label-error\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { IconCalendar, IconCloseCalendar } from \"../icon/icon-calendar\";\r\nimport type { ValueCalendar } from \"../interface/calendar-shared.interface\";\r\nimport { CalendarStyle } from \"./date-picker.style\";\r\nimport type { CalendarProps } from \"./interface/date-picker.interface\";\r\n\r\n/** \"septiembre de 2026\" → \"Septiembre de 2026\": solo la primera letra en mayúscula (el CSS `capitalize` daba \"Septiembre De 2026\"). */\r\nconst formatMonthYearLabel = (locale: string | undefined, date: Date) => {\r\n\tconst label = date.toLocaleDateString(locale, { month: \"long\", year: \"numeric\" });\r\n\treturn label.charAt(0).toLocaleUpperCase(locale) + label.slice(1);\r\n};\r\n\r\nexport const CalendarPicker = ({\r\n\tid,\r\n\tvalue,\r\n\tshowDoubleView = false,\r\n\tclassNameContainer,\r\n\tclassName,\r\n\tcolor = \"primary\",\r\n\tminDate,\r\n\tmaxDate,\r\n\tshowCalendar = false,\r\n\tloading,\r\n\twidthCalendar,\r\n\tlocale = \"es\",\r\n\tformat = \"MM/dd/yyyy\",\r\n\tdisabled,\r\n\terror,\r\n\tlabel,\r\n\ttouched,\r\n\trequired,\r\n\tonChange,\r\n\tonCloseCalendar,\r\n\tonOpenCalendar,\r\n\ttileDisabled,\r\n\tonClearCalendar,\r\n\tonInvalidChange,\r\n\tonKeyDown,\r\n\tonKeyUp,\r\n\tonBlur,\r\n\ttype = \"date-picker\",\r\n\tsize = \"md\",\r\n\tradius = \"input\",\r\n\ttileContent = null,\r\n\tshowActionButtons = true,\r\n\tpopoverAnimation = \"zoom\",\r\n\tpopoverAlign = \"start\",\r\n\tdayPlaceholder = \"dd\",\r\n\tmonthPlaceholder = \"mm\",\r\n\tyearPlaceholder = \"yyyy\",\r\n}: CalendarProps) => {\r\n\tconst [show, setShow] = useState<boolean>(showCalendar);\r\n\tconst [measuredWidth, setMeasuredWidth] = useState(0);\r\n\t// Id estable del contenedor (antes `uuidv4()` en cada render: cambiaba el id del DOM y re-medía siempre).\r\n\tconst uui = React.useId();\r\n\tconst inputId = React.useId();\r\n\tconst resolvedId = id || inputId;\r\n\r\n\tconst isInvalid = !disabled && !!error && touched;\r\n\r\n\t// El calendario simple iguala el ancho del input. Va en estado: un ref no re-renderiza y el valor quedaba viejo.\r\n\tuseLayoutEffect(() => {\r\n\t\tif (showDoubleView || widthCalendar) return;\r\n\t\tconst element = document.getElementById(uui);\r\n\r\n\t\tif (element) setMeasuredWidth(element.clientWidth);\r\n\t}, [showDoubleView, uui, widthCalendar]);\r\n\r\n\tconst calendarWidth = showDoubleView ? 0 : widthCalendar || measuredWidth;\r\n\r\n\tconst handleChange = (value: ValueCalendar) => {\r\n\t\tonChange(value);\r\n\t\tsetShow(false);\r\n\t};\r\n\tconst handleChangeToDay = () => {\r\n\t\tconst dateNow = new Date();\r\n\r\n\t\tconst date = new Date(dateNow.getFullYear(), dateNow.getMonth(), dateNow.getDate(), 0, 0, 0);\r\n\r\n\t\tif (type === \"date-range-picker\") {\r\n\t\t\thandleChange([date, date]);\r\n\t\t} else {\r\n\t\t\thandleChange(date);\r\n\t\t}\r\n\t};\r\n\r\n\t// Helpers de fechas normalizados al inicio del día\r\n\tconst startOfDay = useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0), []);\r\n\tconst addDays = useCallback((d: Date, n: number) => startOfDay(new Date(d.getFullYear(), d.getMonth(), d.getDate() + n)), [startOfDay]);\r\n\tconst startOfMonth = useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0), []);\r\n\tconst endOfMonth = useCallback((d: Date) => new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59, 999), []);\r\n\r\n\t// Comparadores\r\n\tconst isSameDay = (a?: Date | null, b?: Date | null) => {\r\n\t\tif (!a || !b) return false;\r\n\t\treturn a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\r\n\t};\r\n\tconst isSameRange = (range?: ValueCalendar, target?: ValueCalendar) => {\r\n\t\tif (!Array.isArray(range) || !Array.isArray(target)) return false;\r\n\t\tconst [r0, r1] = range as (Date | null | undefined)[];\r\n\t\tconst [t0, t1] = target as (Date | null | undefined)[];\r\n\t\treturn isSameDay(r0, t0) && isSameDay(r1, t1);\r\n\t};\r\n\r\n\t// Presets según tipo\r\n\tinterface PresetItem {\r\n\t\tkey: string;\r\n\t\tlabel: string;\r\n\t\tgetValue?: () => ValueCalendar;\r\n\t\taction?: () => void;\r\n\t\tseparator?: boolean; // para agrupar visualmente\r\n\t}\r\n\r\n\tconst presets = useMemo<PresetItem[]>(() => {\r\n\t\t// «Hoy» se calcula al usar el preset, no al memoizar: si el componente sigue montado pasada la medianoche,\r\n\t\t// los atajos no quedan con el día anterior.\r\n\t\tconst today = () => startOfDay(new Date());\r\n\t\tif (type === \"date-picker\") {\r\n\t\t\treturn [\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => today() },\r\n\t\t\t\t{ key: \"tomorrow\", label: \"Mañana\", getValue: () => addDays(today(), 1) },\r\n\t\t\t\t{ key: \"in7\", label: \"+7 días\", getValue: () => addDays(today(), 7) },\r\n\t\t\t\t{ key: \"in30\", label: \"+30 días\", getValue: () => addDays(today(), 30) },\r\n\t\t\t\t{ key: \"clear\", label: \"Limpiar\", action: () => onChange(null), separator: true },\r\n\t\t\t];\r\n\t\t} else {\r\n\t\t\tconst lastMonth = () => addDays(startOfMonth(today()), -1);\r\n\t\t\tconst nextMonth = () => addDays(endOfMonth(today()), 1);\r\n\r\n\t\t\treturn [\r\n\t\t\t\t{ key: \"today\", label: \"Hoy\", getValue: () => [today(), today()] },\r\n\t\t\t\t{ key: \"last7\", label: \"Últimos 7 días\", getValue: () => [addDays(today(), -6), today()] },\r\n\t\t\t\t{ key: \"next7\", label: \"Próx. 7 días\", getValue: () => [today(), addDays(today(), 6)] },\r\n\t\t\t\t{ key: \"thisMonth\", label: \"Este mes\", getValue: () => [startOfMonth(today()), endOfMonth(today())] },\r\n\t\t\t\t{ key: \"nextMonth\", label: \"Próximo mes\", getValue: () => [startOfMonth(nextMonth()), endOfMonth(nextMonth())] },\r\n\t\t\t\t{ key: \"lastMonth\", label: \"Mes pasado\", getValue: () => [startOfMonth(lastMonth()), endOfMonth(lastMonth())] },\r\n\t\t\t];\r\n\t\t}\r\n\t}, [type, onChange, addDays, startOfDay, startOfMonth, endOfMonth]);\r\n\r\n\t// Determinar preset activo\r\n\tconst isPresetActive = (preset: PresetItem) => {\r\n\t\tif (preset.getValue) {\r\n\t\t\tconst pv = preset.getValue();\r\n\t\t\tif (type === \"date-picker\") {\r\n\t\t\t\treturn !Array.isArray(value) && !Array.isArray(pv) && isSameDay(value as Date | null, pv as Date | null);\r\n\t\t\t} else {\r\n\t\t\t\treturn Array.isArray(value) && Array.isArray(pv) && isSameRange(value, pv);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst handlePresetClick = (preset: PresetItem) => {\r\n\t\tif (preset.action) {\r\n\t\t\tpreset.action();\r\n\t\t\tsetShow(false);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (preset.getValue) {\r\n\t\t\tconst v = preset.getValue();\r\n\t\t\tonChange(v);\r\n\t\t\tsetShow(false);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleCloseCalendar = () => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tsetShow(false);\r\n\r\n\t\tif (onCloseCalendar) onCloseCalendar();\r\n\t};\r\n\r\n\tconst handleOpenCalendar = () => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tconst status = !show;\r\n\t\tsetShow(status);\r\n\r\n\t\tif (status && onOpenCalendar) onOpenCalendar();\r\n\t\telse if (onCloseCalendar) onCloseCalendar();\r\n\t};\r\n\r\n\tconst handleClearCalendar = () => {\r\n\t\tif (disabled) return;\r\n\r\n\t\tif (onClearCalendar) return onClearCalendar();\r\n\r\n\t\tonChange(null);\r\n\t};\r\n\r\n\tconst labelClass = cn(\"form-control-label block font-normal text-sm text-foreground dark:text-default-600 mb-1\", {\r\n\t\t\"text-danger\": isInvalid,\r\n\t});\r\n\r\n\treturn (\r\n\t\t<Popover\r\n\t\t\tisOpen={show}\r\n\t\t\tanimation={popoverAnimation}\r\n\t\t\tcontainerStyle={{\r\n\t\t\t\tzIndex: \"100\",\r\n\t\t\t}}\r\n\t\t\talign={popoverAlign}\r\n\t\t\tcontent={\r\n\t\t\t\t<CalendarStyle\r\n\t\t\t\t\tcolor={color}\r\n\t\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\t\tclassName=\"shadow-medium bg-content1 rounded-2xl overflow-hidden\"\r\n\t\t\t\t\tradius={radius}\r\n\t\t\t\t>\r\n\t\t\t\t\t{loading ? /* <Loading size=\"sm\" color=\"secondary\" /> */ <p>loading</p> : null}\r\n\t\t\t\t\t<div className=\"w-full relative flex gap-2\">\r\n\t\t\t\t\t\t{showActionButtons && (\r\n\t\t\t\t\t\t\t<div className=\"w-[150px] border-r border-default-100 px-2 py-3 flex flex-col gap-0.5 overflow-y-auto max-h-[360px]\">\r\n\t\t\t\t\t\t\t\t<span className=\"px-2 text-xs font-medium text-default-400 mb-1 select-none uppercase tracking-wide\">Atajos</span>\r\n\t\t\t\t\t\t\t\t{presets.map((p) => {\r\n\t\t\t\t\t\t\t\t\tconst active = isPresetActive(p);\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tkey={p.key}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePresetClick(p)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={twMerge(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer transition-colors\",\r\n\t\t\t\t\t\t\t\t\t\t\t\tactive ? \"bg-primary/15 text-primary font-medium\" : \"bg-transparent hover:bg-default-100\",\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tdata-active={active || undefined}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{p.label}\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t<div className=\"mt-2 pt-2 border-t border-default-100 flex flex-col gap-1\">\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleChangeToDay}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-left rounded-full px-3 py-1.5 text-sm w-full cursor-pointer bg-transparent hover:bg-default-100 transition-colors\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tIr a hoy (Cerrar)\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\t\tshowDoubleView={showDoubleView}\r\n\t\t\t\t\t\t\tcalendarType=\"gregory\"\r\n\t\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\t\ttileDisabled={tileDisabled}\r\n\t\t\t\t\t\t\tselectRange={type === \"date-range-picker\"}\r\n\t\t\t\t\t\t\treturnValue={type === \"date-range-picker\" ? \"range\" : \"start\"}\r\n\t\t\t\t\t\t\tformatMonthYear={formatMonthYearLabel}\r\n\t\t\t\t\t\t\tprevLabel={<ChevronLeft aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tnextLabel={<ChevronRight aria-hidden className=\"size-4\" strokeWidth={2.25} />}\r\n\t\t\t\t\t\t\tprevAriaLabel={locale === \"es\" ? \"Mes anterior\" : \"Previous month\"}\r\n\t\t\t\t\t\t\tnextAriaLabel={locale === \"es\" ? \"Mes siguiente\" : \"Next month\"}\r\n\t\t\t\t\t\t\ttileContent={tileContent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</CalendarStyle>\r\n\t\t\t}\r\n\t\t\tpositions={[\"bottom\", \"top\"]}\r\n\t\t\treposition\r\n\t\t\tonClickOutside={handleCloseCalendar}\r\n\t\t\tclickOutsideCapture={true}\r\n\t\t>\r\n\t\t\t<CalendarStyle\r\n\t\t\t\tcolor={color}\r\n\t\t\t\tclassName={twMerge(classNameContainer, \"relative date-picker-component-container\")}\r\n\t\t\t\tonClick={handleOpenCalendar}\r\n\t\t\t\tshowcalendar={show.toString()}\r\n\t\t\t\tid={uui}\r\n\t\t\t\twidthcalendar={calendarWidth}\r\n\t\t\t\tshowdoubleview={showDoubleView.toString()}\r\n\t\t\t\terror={error}\r\n\t\t\t\tsize={size}\r\n\t\t\t\tradius={radius}\r\n\t\t\t>\r\n\t\t\t\t{label && (\r\n\t\t\t\t\t<label htmlFor={resolvedId} className={labelClass}>\r\n\t\t\t\t\t\t{label} {required && <span className=\"text-danger\">*</span>}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t\t{type === \"date-picker\" ? (\r\n\t\t\t\t\t<DatePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full h-input-default\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tonBlur={onBlur}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<DateRangePicker\r\n\t\t\t\t\t\tid={resolvedId}\r\n\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\t\tcalendarIcon={<IconCalendar disabled={disabled} error={error} />}\r\n\t\t\t\t\t\tshouldOpenCalendar={() => false}\r\n\t\t\t\t\t\tclassName={twMerge(\"w-full\", className)}\r\n\t\t\t\t\t\tformat={format}\r\n\t\t\t\t\t\tlocale={locale}\r\n\t\t\t\t\t\tshowLeadingZeros\r\n\t\t\t\t\t\tclearIcon={<IconCloseCalendar disabled={disabled} error={error} onClick={handleClearCalendar} />}\r\n\t\t\t\t\t\tminDate={minDate}\r\n\t\t\t\t\t\tmaxDate={maxDate}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\tonInvalidChange={onInvalidChange}\r\n\t\t\t\t\t\tisOpen={false}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tonKeyUp={onKeyUp}\r\n\t\t\t\t\t\tdayPlaceholder={dayPlaceholder}\r\n\t\t\t\t\t\tmonthPlaceholder={monthPlaceholder}\r\n\t\t\t\t\t\tyearPlaceholder={yearPlaceholder}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{!disabled && error ? <LabelError text={error} /> : null}\r\n\t\t\t</CalendarStyle>\r\n\t\t</Popover>\r\n\t);\r\n};\r\n"],"mappings":"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"}
|