@itilite/lumina-ui 1.2.2 → 1.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.mjs +1 -1
  2. package/dist/atom/Switch/Switch.d.mts +1 -1
  3. package/dist/atom/Switch/Switch.d.ts +1 -1
  4. package/dist/atom/Switch/Switch.js +2 -2
  5. package/dist/atom/Switch/Switch.mjs +1 -1
  6. package/dist/{chunk-TMSPSGSS.mjs → chunk-IIJUGDEJ.mjs} +3 -3
  7. package/dist/{chunk-E27NPVR4.mjs → chunk-LTP5I3GX.mjs} +3 -3
  8. package/dist/chunk-O6PQFAXN.mjs +47 -0
  9. package/dist/index.js +2 -2
  10. package/dist/index.mjs +6 -6
  11. package/dist/styles.css +847 -824
  12. package/package.json +28 -27
  13. package/dist/AdvancedDateRangePicker-D7xn4So6.d.mts +0 -59
  14. package/dist/AdvancedDateRangePicker-D7xn4So6.d.ts +0 -59
  15. package/dist/AdvancedDateRangePicker-D9Sdk4rK.d.mts +0 -64
  16. package/dist/AdvancedDateRangePicker-D9Sdk4rK.d.ts +0 -64
  17. package/dist/AdvancedDateRangePicker-DGg-rucL.d.mts +0 -62
  18. package/dist/AdvancedDateRangePicker-DGg-rucL.d.ts +0 -62
  19. package/dist/AdvancedDateRangePicker-Di3rHxqf.d.mts +0 -64
  20. package/dist/AdvancedDateRangePicker-Di3rHxqf.d.ts +0 -64
  21. package/dist/AdvancedDateRangePicker-Dxug2Mcf.d.mts +0 -60
  22. package/dist/AdvancedDateRangePicker-Dxug2Mcf.d.ts +0 -60
  23. package/dist/AdvancedDateRangePicker-ozItnkhp.d.mts +0 -57
  24. package/dist/AdvancedDateRangePicker-ozItnkhp.d.ts +0 -57
  25. package/dist/Table-BOq-_9Nr.d.mts +0 -121
  26. package/dist/Table-BOq-_9Nr.d.ts +0 -121
  27. package/dist/Table-BxaCiQmh.d.mts +0 -82
  28. package/dist/Table-BxaCiQmh.d.ts +0 -82
  29. package/dist/Table-CnzP9dkc.d.mts +0 -82
  30. package/dist/Table-CnzP9dkc.d.ts +0 -82
  31. package/dist/Table-DNvoh2P8.d.mts +0 -127
  32. package/dist/Table-DNvoh2P8.d.ts +0 -127
  33. package/dist/Table-DSFYzrpU.d.mts +0 -129
  34. package/dist/Table-DSFYzrpU.d.ts +0 -129
  35. package/dist/Table-DmfNNnuD.d.mts +0 -86
  36. package/dist/Table-DmfNNnuD.d.ts +0 -86
  37. package/dist/Table-DoCPt3ri.d.mts +0 -129
  38. package/dist/Table-DoCPt3ri.d.ts +0 -129
  39. package/dist/chunk-27LRL4RO.mjs +0 -428
  40. package/dist/chunk-2IT3XM7C.mjs +0 -473
  41. package/dist/chunk-3HXZIFV6.mjs +0 -438
  42. package/dist/chunk-4JX54OKI.mjs +0 -627
  43. package/dist/chunk-53O7JM5I.mjs +0 -424
  44. package/dist/chunk-5JXIJTAS.mjs +0 -448
  45. package/dist/chunk-5OUMKJWI.mjs +0 -301
  46. package/dist/chunk-5PMUTA6S.mjs +0 -303
  47. package/dist/chunk-5PQ43JFX.mjs +0 -440
  48. package/dist/chunk-62VAYFZA.mjs +0 -437
  49. package/dist/chunk-6ON32H2N.mjs +0 -431
  50. package/dist/chunk-6RIZXTFP.mjs +0 -290
  51. package/dist/chunk-6XIT27XY.mjs +0 -269
  52. package/dist/chunk-772C454L.mjs +0 -438
  53. package/dist/chunk-7L267Y4P.mjs +0 -429
  54. package/dist/chunk-7WSVCE2C.mjs +0 -269
  55. package/dist/chunk-ANJI6SPV.mjs +0 -283
  56. package/dist/chunk-BFFLWW7N.mjs +0 -250
  57. package/dist/chunk-C5VYFNVC.mjs +0 -441
  58. package/dist/chunk-CDYPIUWU.mjs +0 -681
  59. package/dist/chunk-DL7BZMGE.mjs +0 -295
  60. package/dist/chunk-DXPVJNGY.mjs +0 -284
  61. package/dist/chunk-FTL3PFC2.mjs +0 -438
  62. package/dist/chunk-G4P6XGQX.mjs +0 -278
  63. package/dist/chunk-GGWY2SYX.mjs +0 -452
  64. package/dist/chunk-GZ4P7OL3.mjs +0 -429
  65. package/dist/chunk-I6GLPWHS.mjs +0 -278
  66. package/dist/chunk-IPVJEGDI.mjs +0 -476
  67. package/dist/chunk-J4YYP4IZ.mjs +0 -0
  68. package/dist/chunk-J5JDQ4R6.mjs +0 -278
  69. package/dist/chunk-K2A4TWA3.mjs +0 -430
  70. package/dist/chunk-L3L42SIL.mjs +0 -429
  71. package/dist/chunk-LRNKIRH3.mjs +0 -289
  72. package/dist/chunk-MA23J4WQ.mjs +0 -430
  73. package/dist/chunk-N4DPPZVJ.mjs +0 -269
  74. package/dist/chunk-PQ3B2FEB.mjs +0 -249
  75. package/dist/chunk-QQA7KWAJ.mjs +0 -477
  76. package/dist/chunk-QRGHJP7U.mjs +0 -437
  77. package/dist/chunk-QU73KNTT.mjs +0 -452
  78. package/dist/chunk-RC6IGURJ.mjs +0 -428
  79. package/dist/chunk-SKPCOHON.mjs +0 -473
  80. package/dist/chunk-SRKN7WS7.mjs +0 -448
  81. package/dist/chunk-T43CWNOG.mjs +0 -283
  82. package/dist/chunk-TE5EOIIW.mjs +0 -301
  83. package/dist/chunk-TQDZWJZP.mjs +0 -269
  84. package/dist/chunk-UAGSPM3T.mjs +0 -288
  85. package/dist/chunk-UC4NTBDH.mjs +0 -439
  86. package/dist/chunk-UPSQTJJ4.mjs +0 -294
  87. package/dist/chunk-V3CHJHUX.mjs +0 -424
  88. package/dist/chunk-X3NDICAU.mjs +0 -284
  89. package/dist/chunk-XECXKSTC.mjs +0 -453
  90. package/dist/chunk-XIVTXS3Y.mjs +0 -439
  91. package/dist/chunk-ZGV6QMVM.mjs +0 -437
@@ -1,448 +0,0 @@
1
- import {
2
- Select_default
3
- } from "./chunk-GU5F7Z7I.mjs";
4
- import {
5
- InternalCalendar_default
6
- } from "./chunk-6XIT27XY.mjs";
7
- import {
8
- Button_default
9
- } from "./chunk-AF2RKLH6.mjs";
10
-
11
- // src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.tsx
12
- import { memo, useCallback, useEffect, useMemo, useState } from "react";
13
- import clsx from "clsx";
14
- import dayjs from "dayjs";
15
- import customParseFormat from "dayjs/plugin/customParseFormat.js";
16
- import isSameOrBefore from "dayjs/plugin/isSameOrBefore.js";
17
-
18
- // src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.module.scss
19
- var AdvancedDateRangePicker_module_default = { "root": "AdvancedDateRangePicker-module__root___udir8", "singleCalendar": "AdvancedDateRangePicker-module__singleCalendar___qy2-H", "inner": "AdvancedDateRangePicker-module__inner___P4OHa", "left": "AdvancedDateRangePicker-module__left___T6E84", "sidebarItem": "AdvancedDateRangePicker-module__sidebarItem___-NXPm", "sidebarItemActive": "AdvancedDateRangePicker-module__sidebarItemActive___5GmBY", "main": "AdvancedDateRangePicker-module__main___G4MU9", "header": "AdvancedDateRangePicker-module__header___mxXEE", "timezoneWrapper": "AdvancedDateRangePicker-module__timezoneWrapper___886Qm", "dateTimeWrapper": "AdvancedDateRangePicker-module__dateTimeWrapper___unDQJ", "headerGroup": "AdvancedDateRangePicker-module__headerGroup___J7mJB", "headerLabel": "AdvancedDateRangePicker-module__headerLabel___Yvhkr", "headerSeparator": "AdvancedDateRangePicker-module__headerSeparator___Vwx6P", "timezoneSelect": "AdvancedDateRangePicker-module__timezoneSelect___f4oln", "timezoneSelectContainer": "AdvancedDateRangePicker-module__timezoneSelectContainer___8SMc4", "timezoneSelectInput": "AdvancedDateRangePicker-module__timezoneSelectInput___ol0-7", "timezoneDisabledBadge": "AdvancedDateRangePicker-module__timezoneDisabledBadge___VBxOd", "inputWrapper": "AdvancedDateRangePicker-module__inputWrapper___bFFNF", "dateTimeColumn": "AdvancedDateRangePicker-module__dateTimeColumn___tdDV3", "dateTimeGroup": "AdvancedDateRangePicker-module__dateTimeGroup___azF09", "dateInput": "AdvancedDateRangePicker-module__dateInput___0t9ww", "inputError": "AdvancedDateRangePicker-module__inputError___A5hid", "timeInput": "AdvancedDateRangePicker-module__timeInput___Jalr9", "errorMessage": "AdvancedDateRangePicker-module__errorMessage___gx7ag", "body": "AdvancedDateRangePicker-module__body___f8XYj", "footer": "AdvancedDateRangePicker-module__footer___rsJ2w", "doneBtn": "AdvancedDateRangePicker-module__doneBtn___mt-Sv" };
20
-
21
- // src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.tsx
22
- import { jsx, jsxs } from "react/jsx-runtime";
23
- dayjs.extend(customParseFormat);
24
- dayjs.extend(isSameOrBefore);
25
- var DEFAULT_TIME = { hour: "12", minute: "00", period: "PM" };
26
- function getPresets() {
27
- const today = /* @__PURE__ */ new Date();
28
- today.setHours(0, 0, 0, 0);
29
- return [
30
- {
31
- label: "Custom",
32
- key: "custom",
33
- getRange: () => [null, null]
34
- },
35
- {
36
- label: "Yesterday",
37
- key: "yesterday",
38
- getRange: () => {
39
- const d = new Date(today);
40
- d.setDate(d.getDate() - 1);
41
- return [d, d];
42
- }
43
- },
44
- {
45
- label: "Previous week",
46
- key: "previous-week",
47
- getRange: () => {
48
- const dayOfWeek = today.getDay();
49
- const start = new Date(today);
50
- start.setDate(today.getDate() - dayOfWeek - 6);
51
- const end = new Date(today);
52
- return [start, end];
53
- }
54
- },
55
- {
56
- label: "This month",
57
- key: "this-month",
58
- getRange: () => {
59
- const start = new Date(today.getFullYear(), today.getMonth(), 1);
60
- const end = new Date(today.getFullYear(), today.getMonth() + 1, 0);
61
- return [start, end];
62
- }
63
- },
64
- {
65
- label: "Previous month",
66
- key: "previous-month",
67
- getRange: () => {
68
- const start = new Date(today.getFullYear(), today.getMonth() - 1, 1);
69
- const end = new Date(today.getFullYear(), today.getMonth(), 0);
70
- return [start, end];
71
- }
72
- },
73
- {
74
- label: "Previous quarter",
75
- key: "previous-quarter",
76
- getRange: () => {
77
- const month = today.getMonth();
78
- const quarter = Math.floor(month / 3);
79
- const startMonth = (quarter - 1) * 3;
80
- const start = new Date(today.getFullYear(), startMonth, 1);
81
- const end = new Date(today.getFullYear(), startMonth + 3, 0);
82
- return [start, end];
83
- }
84
- }
85
- ];
86
- }
87
- function applyDateMask(v, prev) {
88
- if (v.length < prev.length) return v;
89
- const digits = v.replace(/[^\d]/g, "").slice(0, 8);
90
- if (digits.length >= 2) {
91
- const d = Number(digits.slice(0, 2));
92
- if (d < 1 || d > 31) return prev;
93
- }
94
- if (digits.length >= 4) {
95
- const m = Number(digits.slice(2, 4));
96
- if (m < 1 || m > 12) return prev;
97
- }
98
- let result = "";
99
- if (digits.length > 0) result += digits.slice(0, 2);
100
- if (digits.length >= 2) result += "-";
101
- if (digits.length > 2) result += digits.slice(2, 4);
102
- if (digits.length >= 4) result += "-";
103
- if (digits.length > 4) result += digits.slice(4, 8);
104
- return result.slice(0, 10);
105
- }
106
- function applyTimeMask(v, prev) {
107
- if (v.length < prev.length) return v;
108
- const digits = v.replace(/[^\d]/g, "").slice(0, 4);
109
- if (digits.length >= 2) {
110
- const h = Number(digits.slice(0, 2));
111
- if (h < 1 || h > 12) return prev;
112
- }
113
- if (digits.length >= 4) {
114
- const m = Number(digits.slice(2, 4));
115
- if (m > 59) return prev;
116
- }
117
- let result = "";
118
- if (digits.length > 0) result += digits.slice(0, 2);
119
- if (digits.length >= 2) result += ":";
120
- if (digits.length > 2) result += digits.slice(2, 4);
121
- if (v.toUpperCase().includes("A")) result += " AM";
122
- else if (v.toUpperCase().includes("P")) result += " PM";
123
- else if (digits.length === 4) result += " ";
124
- return result.slice(0, 8);
125
- }
126
- function formatForDisplay(date) {
127
- if (!date) return "";
128
- return dayjs(date).format("DD-MM-YYYY");
129
- }
130
- function validateDateString(raw) {
131
- const regex = /^(0[1-9]|[12][0-9]|3[01])-(0[1-9]|1[0-2])-\d{4}$/;
132
- if (!regex.test(raw)) return false;
133
- const [d, m, y] = raw.split("-").map(Number);
134
- const date = new Date(y, m - 1, d);
135
- return date.getFullYear() === y && date.getMonth() === m - 1 && date.getDate() === d;
136
- }
137
- function validateTimeString(raw) {
138
- const regex = /^(0[1-9]|1[0-2]):(0[0-9]|[1-5][0-9])\s(AM|PM)$/i;
139
- return regex.test(raw);
140
- }
141
- function parseDateInput(raw) {
142
- if (!validateDateString(raw)) return null;
143
- return dayjs(raw, "DD-MM-YYYY", true).toDate();
144
- }
145
- function parseTimeInput(raw) {
146
- if (!validateTimeString(raw)) return null;
147
- const match = raw.match(/^(\d{1,2}):(\d{2})\s*(AM|PM)$/i);
148
- if (!match) return null;
149
- return {
150
- hour: match[1].padStart(2, "0"),
151
- minute: match[2].padStart(2, "0"),
152
- period: match[3].toUpperCase()
153
- };
154
- }
155
- function formatTime(t) {
156
- return `${t.hour}:${t.minute} ${t.period}`;
157
- }
158
- var DateTimeInputGroup = memo(function DateTimeInputGroup2({
159
- label,
160
- dateValue,
161
- timeValue,
162
- dateError,
163
- timeError,
164
- onDateChange,
165
- onTimeChange
166
- }) {
167
- const [isDateFocused, setIsDateFocused] = useState(false);
168
- const [isTimeFocused, setIsTimeFocused] = useState(false);
169
- const showDateError = dateError && !isDateFocused;
170
- const showTimeError = timeError && !isTimeFocused;
171
- return /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.headerGroup, children: [
172
- /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: label }),
173
- /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.dateTimeColumn, children: /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.dateTimeGroup, children: [
174
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.inputWrapper, children: [
175
- /* @__PURE__ */ jsx(
176
- "input",
177
- {
178
- type: "text",
179
- placeholder: "dd-mm-yyyy",
180
- value: dateValue,
181
- onFocus: () => setIsDateFocused(true),
182
- onBlur: () => setIsDateFocused(false),
183
- onChange: (e) => onDateChange(e.target.value),
184
- className: clsx(AdvancedDateRangePicker_module_default.dateInput, { [AdvancedDateRangePicker_module_default.inputError]: showDateError })
185
- }
186
- ),
187
- showDateError && /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.errorMessage, children: "Enter valid date" })
188
- ] }),
189
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.inputWrapper, children: [
190
- /* @__PURE__ */ jsx(
191
- "input",
192
- {
193
- type: "text",
194
- placeholder: "12:00 PM",
195
- value: timeValue,
196
- onFocus: () => setIsTimeFocused(true),
197
- onBlur: () => setIsTimeFocused(false),
198
- onChange: (e) => onTimeChange(e.target.value),
199
- className: clsx(AdvancedDateRangePicker_module_default.timeInput, { [AdvancedDateRangePicker_module_default.inputError]: showTimeError })
200
- }
201
- ),
202
- showTimeError && /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.errorMessage, children: "Enter valid time" })
203
- ] })
204
- ] }) })
205
- ] });
206
- });
207
- function AdvancedDateRangePicker({
208
- value,
209
- onChange,
210
- confirmLabel = "Done",
211
- className = "",
212
- disabled = false,
213
- disablePastDates = false,
214
- minDate = null,
215
- maxDate = null,
216
- showSingleCalendar = false,
217
- id = "adv-drp",
218
- defaultTimezone = "UTC",
219
- isTimezoneDisabled = false,
220
- timezoneOptions = [],
221
- defaultPreset = "custom"
222
- }) {
223
- var _a, _b, _c;
224
- const PRESETS = useMemo(() => getPresets(), []);
225
- const [startDate, setStartDate] = useState((_a = value == null ? void 0 : value.startDate) != null ? _a : null);
226
- const [endDate, setEndDate] = useState((_b = value == null ? void 0 : value.endDate) != null ? _b : null);
227
- const [timezone, setTimezone] = useState((_c = value == null ? void 0 : value.timezone) != null ? _c : defaultTimezone);
228
- const [fromDateStr, setFromDateStr] = useState(formatForDisplay(startDate));
229
- const [toDateStr, setToDateStr] = useState(formatForDisplay(endDate));
230
- const [fromTimeStr, setFromTimeStr] = useState(
231
- (value == null ? void 0 : value.startTime) ? formatTime(value.startTime) : "12:00 PM"
232
- );
233
- const [toTimeStr, setToTimeStr] = useState(
234
- (value == null ? void 0 : value.endTime) ? formatTime(value.endTime) : "12:00 PM"
235
- );
236
- const [activePreset, setActivePreset] = useState(defaultPreset);
237
- const [isMobile, setIsMobile] = useState(false);
238
- useEffect(() => {
239
- const checkMobile = () => {
240
- setIsMobile(window.innerWidth < 1024);
241
- };
242
- checkMobile();
243
- window.addEventListener("resize", checkMobile);
244
- return () => window.removeEventListener("resize", checkMobile);
245
- }, []);
246
- const isSingle = showSingleCalendar || isMobile;
247
- const fromDateError = useMemo(() => fromDateStr.length > 0 && (fromDateStr.length < 10 || !validateDateString(fromDateStr)), [fromDateStr]);
248
- const toDateError = useMemo(() => toDateStr.length > 0 && (toDateStr.length < 10 || !validateDateString(toDateStr)), [toDateStr]);
249
- const fromTimeError = useMemo(() => fromTimeStr.length > 0 && (fromTimeStr.length < 8 || !validateTimeString(fromTimeStr)), [fromTimeStr]);
250
- const toTimeError = useMemo(() => toTimeStr.length > 0 && (toTimeStr.length < 8 || !validateTimeString(toTimeStr)), [toTimeStr]);
251
- const isReady = useMemo(() => {
252
- return startDate !== null && endDate !== null && validateDateString(fromDateStr) && validateDateString(toDateStr) && validateTimeString(fromTimeStr) && validateTimeString(toTimeStr) && dayjs(startDate).isSameOrBefore(dayjs(endDate), "day");
253
- }, [startDate, endDate, fromDateStr, toDateStr, fromTimeStr, toTimeStr]);
254
- useEffect(() => {
255
- var _a2, _b2, _c2;
256
- if (value) {
257
- setStartDate((_a2 = value.startDate) != null ? _a2 : null);
258
- setEndDate((_b2 = value.endDate) != null ? _b2 : null);
259
- setTimezone((_c2 = value.timezone) != null ? _c2 : defaultTimezone);
260
- if (value.startTime) setFromTimeStr(formatTime(value.startTime));
261
- if (value.endTime) setToTimeStr(formatTime(value.endTime));
262
- }
263
- }, [value, defaultTimezone]);
264
- useEffect(() => {
265
- setFromDateStr(formatForDisplay(startDate));
266
- }, [startDate]);
267
- useEffect(() => {
268
- setToDateStr(formatForDisplay(endDate));
269
- }, [endDate]);
270
- const rangeValue = useMemo(() => [
271
- startDate ? startDate.toISOString() : "",
272
- endDate ? endDate.toISOString() : ""
273
- ], [startDate, endDate]);
274
- const handleRangeChange = useCallback(
275
- (range) => {
276
- const [s, e] = range;
277
- if (s) {
278
- const sDateByDayjs = dayjs(s, "D MMM, YYYY").toDate();
279
- setStartDate(sDateByDayjs);
280
- } else {
281
- setStartDate(null);
282
- }
283
- if (e) {
284
- const eDateByDayjs = dayjs(e, "D MMM, YYYY").toDate();
285
- setEndDate(eDateByDayjs);
286
- } else {
287
- setEndDate(null);
288
- }
289
- setActivePreset("custom");
290
- },
291
- []
292
- );
293
- const handlePreset = useCallback(
294
- (preset) => {
295
- const [s, e] = preset.getRange();
296
- setStartDate(s);
297
- setEndDate(e);
298
- setActivePreset(preset.key);
299
- },
300
- []
301
- );
302
- const handleFromDateChange = useCallback((v) => {
303
- const masked = applyDateMask(v, fromDateStr);
304
- setFromDateStr(masked);
305
- setActivePreset("custom");
306
- if (masked.length === 10) {
307
- const parsed = parseDateInput(masked);
308
- if (parsed) {
309
- setStartDate(parsed);
310
- if (endDate && dayjs(parsed).isAfter(dayjs(endDate), "day")) {
311
- setEndDate(null);
312
- }
313
- }
314
- }
315
- }, [fromDateStr, endDate]);
316
- const handleToDateChange = useCallback((v) => {
317
- const masked = applyDateMask(v, toDateStr);
318
- setToDateStr(masked);
319
- setActivePreset("custom");
320
- if (masked.length === 10) {
321
- const parsed = parseDateInput(masked);
322
- if (parsed) {
323
- setEndDate(parsed);
324
- if (startDate && dayjs(parsed).isBefore(dayjs(startDate), "day")) {
325
- setStartDate(null);
326
- }
327
- }
328
- }
329
- }, [toDateStr, startDate]);
330
- const handleFromTimeChange = useCallback((v) => {
331
- const masked = applyTimeMask(v, fromTimeStr);
332
- setFromTimeStr(masked);
333
- setActivePreset("custom");
334
- }, [fromTimeStr]);
335
- const handleToTimeChange = useCallback((v) => {
336
- const masked = applyTimeMask(v, toTimeStr);
337
- setToTimeStr(masked);
338
- setActivePreset("custom");
339
- }, [toTimeStr]);
340
- const handleDone = useCallback(() => {
341
- var _a2, _b2;
342
- if (!isReady) return;
343
- const fromTime = (_a2 = parseTimeInput(fromTimeStr)) != null ? _a2 : DEFAULT_TIME;
344
- const toTime = (_b2 = parseTimeInput(toTimeStr)) != null ? _b2 : DEFAULT_TIME;
345
- onChange == null ? void 0 : onChange({
346
- startDate,
347
- endDate,
348
- startTime: fromTime,
349
- endTime: toTime,
350
- timezone
351
- });
352
- }, [isReady, onChange, startDate, endDate, fromTimeStr, toTimeStr, timezone]);
353
- return /* @__PURE__ */ jsxs("div", { className: clsx(AdvancedDateRangePicker_module_default.root, className, { [AdvancedDateRangePicker_module_default.singleCalendar]: isSingle }), id, children: [
354
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.inner, children: [
355
- /* @__PURE__ */ jsx("aside", { className: AdvancedDateRangePicker_module_default.left, children: PRESETS.map((p) => /* @__PURE__ */ jsx(
356
- "button",
357
- {
358
- type: "button",
359
- onClick: () => handlePreset(p),
360
- className: clsx(AdvancedDateRangePicker_module_default.sidebarItem, {
361
- [AdvancedDateRangePicker_module_default.sidebarItemActive]: activePreset === p.key
362
- }),
363
- children: p.label
364
- },
365
- p.key
366
- )) }),
367
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.main, children: [
368
- /* @__PURE__ */ jsxs("header", { className: AdvancedDateRangePicker_module_default.header, children: [
369
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.timezoneWrapper, children: [
370
- /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: "Timezone" }),
371
- isTimezoneDisabled ? (
372
- /* Disabled state: plain text badge instead of empty dropdown */
373
- /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.timezoneDisabledBadge, children: timezone })
374
- ) : /* @__PURE__ */ jsx(
375
- Select_default,
376
- {
377
- value: timezone,
378
- onChange: (val) => {
379
- if (val) setTimezone(String(val));
380
- },
381
- options: timezoneOptions,
382
- size: "small",
383
- allowClear: false,
384
- enableSearch: false,
385
- wrapperClassName: AdvancedDateRangePicker_module_default.timezoneSelectContainer,
386
- inputClassName: AdvancedDateRangePicker_module_default.timezoneSelectInput
387
- }
388
- )
389
- ] }),
390
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.dateTimeWrapper, children: [
391
- /* @__PURE__ */ jsx(
392
- DateTimeInputGroup,
393
- {
394
- label: "From",
395
- dateValue: fromDateStr,
396
- timeValue: fromTimeStr,
397
- dateError: fromDateError,
398
- timeError: fromTimeError,
399
- onDateChange: handleFromDateChange,
400
- onTimeChange: handleFromTimeChange
401
- }
402
- ),
403
- /* @__PURE__ */ jsx(
404
- DateTimeInputGroup,
405
- {
406
- label: "To",
407
- dateValue: toDateStr,
408
- timeValue: toTimeStr,
409
- dateError: toDateError,
410
- timeError: toTimeError,
411
- onDateChange: handleToDateChange,
412
- onTimeChange: handleToTimeChange
413
- }
414
- )
415
- ] })
416
- ] }),
417
- /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.body, children: /* @__PURE__ */ jsx(
418
- InternalCalendar_default,
419
- {
420
- id: `${id}-calendar`,
421
- dateRange: rangeValue,
422
- onChange: handleRangeChange,
423
- disablePastDates,
424
- minDate,
425
- maxDate,
426
- showSingleCalendar: isSingle
427
- }
428
- ) })
429
- ] })
430
- ] }),
431
- /* @__PURE__ */ jsx("footer", { className: AdvancedDateRangePicker_module_default.footer, children: /* @__PURE__ */ jsx(
432
- Button_default,
433
- {
434
- onClick: handleDone,
435
- disabled: disabled || !isReady,
436
- shape: "round",
437
- children: confirmLabel
438
- }
439
- ) })
440
- ] });
441
- }
442
- AdvancedDateRangePicker.displayName = "AdvancedDateRangePicker";
443
- var AdvancedDateRangePicker_default = AdvancedDateRangePicker;
444
-
445
- export {
446
- AdvancedDateRangePicker,
447
- AdvancedDateRangePicker_default
448
- };