@itilite/lumina-ui 1.2.0 → 1.2.1

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.
@@ -0,0 +1,477 @@
1
+ import {
2
+ Select_default
3
+ } from "./chunk-GU5F7Z7I.mjs";
4
+ import {
5
+ InternalCalendar_default
6
+ } from "./chunk-FPH63V2R.mjs";
7
+ import {
8
+ Button_default
9
+ } from "./chunk-AF2RKLH6.mjs";
10
+
11
+ // src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.tsx
12
+ import { memo, useCallback, useEffect, useMemo, useRef, 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", "hidePresets": "AdvancedDateRangePicker-module__hidePresets___-m2-P", "inner": "AdvancedDateRangePicker-module__inner___P4OHa", "left": "AdvancedDateRangePicker-module__left___T6E84", "sidebarItem": "AdvancedDateRangePicker-module__sidebarItem___-NXPm", "sidebarItemActive": "AdvancedDateRangePicker-module__sidebarItemActive___5GmBY", "sidebarItemText": "AdvancedDateRangePicker-module__sidebarItemText___X9qO-", "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 daysToLastSunday = today.getDay() === 0 ? 7 : today.getDay();
49
+ const lastSunday = new Date(today);
50
+ lastSunday.setDate(today.getDate() - daysToLastSunday);
51
+ const monday = new Date(lastSunday);
52
+ monday.setDate(lastSunday.getDate() - 6);
53
+ return [monday, lastSunday];
54
+ }
55
+ },
56
+ {
57
+ label: "This month",
58
+ key: "this-month",
59
+ getRange: () => {
60
+ const start = new Date(today.getFullYear(), today.getMonth(), 1);
61
+ const end = new Date(today.getFullYear(), today.getMonth() + 1, 0);
62
+ return [start, end];
63
+ }
64
+ },
65
+ {
66
+ label: "Previous month",
67
+ key: "previous-month",
68
+ getRange: () => {
69
+ const start = new Date(today.getFullYear(), today.getMonth() - 1, 1);
70
+ const end = new Date(today.getFullYear(), today.getMonth(), 0);
71
+ return [start, end];
72
+ }
73
+ },
74
+ {
75
+ label: "Previous quarter",
76
+ key: "previous-quarter",
77
+ getRange: () => {
78
+ const month = today.getMonth();
79
+ const quarter = Math.floor(month / 3);
80
+ const startMonth = (quarter - 1) * 3;
81
+ const start = new Date(today.getFullYear(), startMonth, 1);
82
+ const end = new Date(today.getFullYear(), startMonth + 3, 0);
83
+ return [start, end];
84
+ }
85
+ }
86
+ ];
87
+ }
88
+ function applyDateMask(v, prev) {
89
+ if (v.length < prev.length) return v;
90
+ const digits = v.replace(/[^\d]/g, "").slice(0, 8);
91
+ if (digits.length >= 2) {
92
+ const d = Number(digits.slice(0, 2));
93
+ if (d < 1 || d > 31) return prev;
94
+ }
95
+ if (digits.length >= 4) {
96
+ const m = Number(digits.slice(2, 4));
97
+ if (m < 1 || m > 12) return prev;
98
+ }
99
+ let result = "";
100
+ if (digits.length > 0) result += digits.slice(0, 2);
101
+ if (digits.length >= 2) result += "-";
102
+ if (digits.length > 2) result += digits.slice(2, 4);
103
+ if (digits.length >= 4) result += "-";
104
+ if (digits.length > 4) result += digits.slice(4, 8);
105
+ return result.slice(0, 10);
106
+ }
107
+ function applyTimeMask(v, prev) {
108
+ if (v.length < prev.length) return v;
109
+ const digits = v.replace(/[^\d]/g, "").slice(0, 4);
110
+ if (digits.length >= 2) {
111
+ const h = Number(digits.slice(0, 2));
112
+ if (h < 1 || h > 12) return prev;
113
+ }
114
+ if (digits.length >= 4) {
115
+ const m = Number(digits.slice(2, 4));
116
+ if (m > 59) return prev;
117
+ }
118
+ let result = "";
119
+ if (digits.length > 0) result += digits.slice(0, 2);
120
+ if (digits.length >= 2) result += ":";
121
+ if (digits.length > 2) result += digits.slice(2, 4);
122
+ if (v.toUpperCase().includes("A")) result += " AM";
123
+ else if (v.toUpperCase().includes("P")) result += " PM";
124
+ else if (digits.length === 4) result += " ";
125
+ return result.slice(0, 8);
126
+ }
127
+ function formatForDisplay(date) {
128
+ if (!date) return "";
129
+ return dayjs(date).format("DD-MM-YYYY");
130
+ }
131
+ function validateDateString(raw) {
132
+ const regex = /^(0[1-9]|[12][0-9]|3[01])-(0[1-9]|1[0-2])-\d{4}$/;
133
+ if (!regex.test(raw)) return false;
134
+ const [d, m, y] = raw.split("-").map(Number);
135
+ const date = new Date(y, m - 1, d);
136
+ return date.getFullYear() === y && date.getMonth() === m - 1 && date.getDate() === d;
137
+ }
138
+ function validateTimeString(raw) {
139
+ const regex = /^(0[1-9]|1[0-2]):(0[0-9]|[1-5][0-9])\s(AM|PM)$/i;
140
+ return regex.test(raw);
141
+ }
142
+ function parseDateInput(raw) {
143
+ if (!validateDateString(raw)) return null;
144
+ return dayjs(raw, "DD-MM-YYYY", true).toDate();
145
+ }
146
+ function parseTimeInput(raw) {
147
+ if (!validateTimeString(raw)) return null;
148
+ const match = raw.match(/^(\d{1,2}):(\d{2})\s*(AM|PM)$/i);
149
+ if (!match) return null;
150
+ return {
151
+ hour: match[1].padStart(2, "0"),
152
+ minute: match[2].padStart(2, "0"),
153
+ period: match[3].toUpperCase()
154
+ };
155
+ }
156
+ function formatTime(t) {
157
+ return `${t.hour}:${t.minute} ${t.period}`;
158
+ }
159
+ var DateTimeInputGroup = memo(function DateTimeInputGroup2({
160
+ label,
161
+ dateValue,
162
+ timeValue,
163
+ dateError,
164
+ timeError,
165
+ onDateChange,
166
+ onTimeChange
167
+ }) {
168
+ const [isDateFocused, setIsDateFocused] = useState(false);
169
+ const [isTimeFocused, setIsTimeFocused] = useState(false);
170
+ const showDateError = dateError && !isDateFocused;
171
+ const showTimeError = timeError && !isTimeFocused;
172
+ return /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.headerGroup, children: [
173
+ /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: label }),
174
+ /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.dateTimeColumn, children: /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.dateTimeGroup, children: [
175
+ /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.inputWrapper, children: [
176
+ /* @__PURE__ */ jsx(
177
+ "input",
178
+ {
179
+ type: "text",
180
+ placeholder: "dd-mm-yyyy",
181
+ value: dateValue,
182
+ onFocus: () => setIsDateFocused(true),
183
+ onBlur: () => setIsDateFocused(false),
184
+ onChange: (e) => onDateChange(e.target.value),
185
+ className: clsx(AdvancedDateRangePicker_module_default.dateInput, { [AdvancedDateRangePicker_module_default.inputError]: showDateError })
186
+ }
187
+ ),
188
+ showDateError && /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.errorMessage, children: "Enter valid date" })
189
+ ] }),
190
+ /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.inputWrapper, children: [
191
+ /* @__PURE__ */ jsx(
192
+ "input",
193
+ {
194
+ type: "text",
195
+ placeholder: "12:00 PM",
196
+ value: timeValue,
197
+ onFocus: () => setIsTimeFocused(true),
198
+ onBlur: () => setIsTimeFocused(false),
199
+ onChange: (e) => onTimeChange(e.target.value),
200
+ className: clsx(AdvancedDateRangePicker_module_default.timeInput, { [AdvancedDateRangePicker_module_default.inputError]: showTimeError })
201
+ }
202
+ ),
203
+ showTimeError && /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.errorMessage, children: "Enter valid time" })
204
+ ] })
205
+ ] }) })
206
+ ] });
207
+ });
208
+ function AdvancedDateRangePicker({
209
+ value,
210
+ onChange,
211
+ confirmLabel = "Done",
212
+ className = "",
213
+ disabled = false,
214
+ disablePastDates = false,
215
+ minDate = null,
216
+ maxDate = null,
217
+ showSingleCalendar = false,
218
+ id = "adv-drp",
219
+ defaultTimezone = "UTC",
220
+ isTimezoneDisabled = false,
221
+ timezoneOptions = [],
222
+ defaultPreset = "custom",
223
+ presets,
224
+ hidePresets = false,
225
+ hideFooter = false
226
+ }) {
227
+ var _a, _b, _c;
228
+ const PRESETS = useMemo(() => presets || getPresets(), [presets]);
229
+ const [startDate, setStartDate] = useState((_a = value == null ? void 0 : value.startDate) != null ? _a : null);
230
+ const [endDate, setEndDate] = useState((_b = value == null ? void 0 : value.endDate) != null ? _b : null);
231
+ const [timezone, setTimezone] = useState((_c = value == null ? void 0 : value.timezone) != null ? _c : defaultTimezone);
232
+ const [fromDateStr, setFromDateStr] = useState(formatForDisplay(startDate));
233
+ const [toDateStr, setToDateStr] = useState(formatForDisplay(endDate));
234
+ const [fromTimeStr, setFromTimeStr] = useState(
235
+ (value == null ? void 0 : value.startTime) ? formatTime(value.startTime) : "12:00 PM"
236
+ );
237
+ const [toTimeStr, setToTimeStr] = useState(
238
+ (value == null ? void 0 : value.endTime) ? formatTime(value.endTime) : "12:00 PM"
239
+ );
240
+ const [activePreset, setActivePreset] = useState(defaultPreset);
241
+ const lastReportedValue = useRef("");
242
+ const isSingle = showSingleCalendar;
243
+ const fromDateError = useMemo(() => fromDateStr.length > 0 && (fromDateStr.length < 10 || !validateDateString(fromDateStr)), [fromDateStr]);
244
+ const toDateError = useMemo(() => toDateStr.length > 0 && (toDateStr.length < 10 || !validateDateString(toDateStr)), [toDateStr]);
245
+ const fromTimeError = useMemo(() => fromTimeStr.length > 0 && (fromTimeStr.length < 8 || !validateTimeString(fromTimeStr)), [fromTimeStr]);
246
+ const toTimeError = useMemo(() => toTimeStr.length > 0 && (toTimeStr.length < 8 || !validateTimeString(toTimeStr)), [toTimeStr]);
247
+ const isReady = useMemo(() => {
248
+ return startDate !== null && endDate !== null && validateDateString(fromDateStr) && validateDateString(toDateStr) && validateTimeString(fromTimeStr) && validateTimeString(toTimeStr) && dayjs(startDate).isSameOrBefore(dayjs(endDate), "day");
249
+ }, [startDate, endDate, fromDateStr, toDateStr, fromTimeStr, toTimeStr]);
250
+ useEffect(() => {
251
+ var _a2, _b2, _c2;
252
+ if (value) {
253
+ const isSameStart = value.startDate === startDate || value.startDate && startDate && dayjs(value.startDate).isSame(dayjs(startDate), "day");
254
+ const isSameEnd = value.endDate === endDate || value.endDate && endDate && dayjs(value.endDate).isSame(dayjs(endDate), "day");
255
+ const isSameTimezone = value.timezone === timezone;
256
+ const isSameStartTime = !value.startTime || formatTime(value.startTime) === fromTimeStr;
257
+ const isSameEndTime = !value.endTime || formatTime(value.endTime) === toTimeStr;
258
+ const isSamePreset = value.activePreset === activePreset;
259
+ if (!isSameStart || !isSameEnd || !isSameTimezone || !isSameStartTime || !isSameEndTime || !isSamePreset) {
260
+ if (!isSameStart) setStartDate((_a2 = value.startDate) != null ? _a2 : null);
261
+ if (!isSameEnd) setEndDate((_b2 = value.endDate) != null ? _b2 : null);
262
+ if (!isSameTimezone) setTimezone((_c2 = value.timezone) != null ? _c2 : defaultTimezone);
263
+ if (value.startTime && !isSameStartTime) setFromTimeStr(formatTime(value.startTime));
264
+ if (value.endTime && !isSameEndTime) setToTimeStr(formatTime(value.endTime));
265
+ if (value.activePreset && !isSamePreset) setActivePreset(value.activePreset);
266
+ }
267
+ }
268
+ }, [value, defaultTimezone, PRESETS]);
269
+ useEffect(() => {
270
+ setFromDateStr(formatForDisplay(startDate));
271
+ }, [startDate]);
272
+ useEffect(() => {
273
+ var _a2, _b2;
274
+ if (hideFooter && isReady) {
275
+ const fromTime = (_a2 = parseTimeInput(fromTimeStr)) != null ? _a2 : DEFAULT_TIME;
276
+ const toTime = (_b2 = parseTimeInput(toTimeStr)) != null ? _b2 : DEFAULT_TIME;
277
+ const serialized = `${startDate == null ? void 0 : startDate.toISOString()}_${endDate == null ? void 0 : endDate.toISOString()}_${fromTimeStr}_${toTimeStr}_${timezone}_${activePreset}`;
278
+ if (serialized !== lastReportedValue.current) {
279
+ lastReportedValue.current = serialized;
280
+ onChange == null ? void 0 : onChange({
281
+ startDate,
282
+ endDate,
283
+ startTime: fromTime,
284
+ endTime: toTime,
285
+ timezone,
286
+ activePreset
287
+ });
288
+ }
289
+ }
290
+ }, [hideFooter, isReady, onChange, startDate, endDate, fromTimeStr, toTimeStr, timezone, activePreset]);
291
+ useEffect(() => {
292
+ setToDateStr(formatForDisplay(endDate));
293
+ }, [endDate]);
294
+ const rangeValue = useMemo(() => [
295
+ startDate ? startDate.toISOString() : "",
296
+ endDate ? endDate.toISOString() : ""
297
+ ], [startDate, endDate]);
298
+ const handleRangeChange = useCallback(
299
+ (range) => {
300
+ const [s, e] = range;
301
+ if (s) {
302
+ const sDateByDayjs = dayjs(s, "D MMM, YYYY").toDate();
303
+ setStartDate(sDateByDayjs);
304
+ } else {
305
+ setStartDate(null);
306
+ }
307
+ if (e) {
308
+ const eDateByDayjs = dayjs(e, "D MMM, YYYY").toDate();
309
+ setEndDate(eDateByDayjs);
310
+ } else {
311
+ setEndDate(null);
312
+ }
313
+ setActivePreset("custom");
314
+ },
315
+ []
316
+ );
317
+ const handlePreset = useCallback(
318
+ (preset) => {
319
+ const [s, e] = preset.getRange();
320
+ setStartDate(s);
321
+ setEndDate(e);
322
+ setActivePreset(preset.key);
323
+ },
324
+ []
325
+ );
326
+ const handleFromDateChange = useCallback((v) => {
327
+ const masked = applyDateMask(v, fromDateStr);
328
+ setFromDateStr(masked);
329
+ setActivePreset("custom");
330
+ if (masked.length === 10) {
331
+ const parsed = parseDateInput(masked);
332
+ if (parsed) {
333
+ setStartDate(parsed);
334
+ if (endDate && dayjs(parsed).isAfter(dayjs(endDate), "day")) {
335
+ setEndDate(null);
336
+ }
337
+ }
338
+ }
339
+ }, [fromDateStr, endDate]);
340
+ const handleToDateChange = useCallback((v) => {
341
+ const masked = applyDateMask(v, toDateStr);
342
+ setToDateStr(masked);
343
+ setActivePreset("custom");
344
+ if (masked.length === 10) {
345
+ const parsed = parseDateInput(masked);
346
+ if (parsed) {
347
+ setEndDate(parsed);
348
+ if (startDate && dayjs(parsed).isBefore(dayjs(startDate), "day")) {
349
+ setStartDate(null);
350
+ }
351
+ }
352
+ }
353
+ }, [toDateStr, startDate]);
354
+ const handleFromTimeChange = useCallback((v) => {
355
+ const masked = applyTimeMask(v, fromTimeStr);
356
+ setFromTimeStr(masked);
357
+ setActivePreset("custom");
358
+ }, [fromTimeStr]);
359
+ const handleToTimeChange = useCallback((v) => {
360
+ const masked = applyTimeMask(v, toTimeStr);
361
+ setToTimeStr(masked);
362
+ setActivePreset("custom");
363
+ }, [toTimeStr]);
364
+ const handleDone = useCallback(() => {
365
+ var _a2, _b2;
366
+ if (!isReady) return;
367
+ const fromTime = (_a2 = parseTimeInput(fromTimeStr)) != null ? _a2 : DEFAULT_TIME;
368
+ const toTime = (_b2 = parseTimeInput(toTimeStr)) != null ? _b2 : DEFAULT_TIME;
369
+ onChange == null ? void 0 : onChange({
370
+ startDate,
371
+ endDate,
372
+ startTime: fromTime,
373
+ endTime: toTime,
374
+ timezone,
375
+ activePreset
376
+ });
377
+ }, [isReady, onChange, startDate, endDate, fromTimeStr, toTimeStr, timezone, activePreset]);
378
+ return /* @__PURE__ */ jsxs("div", { className: clsx(AdvancedDateRangePicker_module_default.root, className, {
379
+ [AdvancedDateRangePicker_module_default.singleCalendar]: isSingle,
380
+ [AdvancedDateRangePicker_module_default.hidePresets]: hidePresets
381
+ }), id, children: [
382
+ /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.inner, children: [
383
+ !hidePresets && /* @__PURE__ */ jsx("aside", { className: AdvancedDateRangePicker_module_default.left, children: PRESETS.map((p) => /* @__PURE__ */ jsx(
384
+ "button",
385
+ {
386
+ type: "button",
387
+ onClick: () => handlePreset(p),
388
+ className: clsx(AdvancedDateRangePicker_module_default.sidebarItem, {
389
+ [AdvancedDateRangePicker_module_default.sidebarItemActive]: activePreset === p.key
390
+ }),
391
+ title: p.label,
392
+ children: /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.sidebarItemText, children: p.label })
393
+ },
394
+ p.key
395
+ )) }),
396
+ /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.main, children: [
397
+ /* @__PURE__ */ jsxs("header", { className: AdvancedDateRangePicker_module_default.header, children: [
398
+ /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.timezoneWrapper, children: [
399
+ /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: "Timezone" }),
400
+ isTimezoneDisabled ? (
401
+ /* Disabled state: plain text badge instead of empty dropdown */
402
+ /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.timezoneDisabledBadge, children: timezone })
403
+ ) : /* @__PURE__ */ jsx(
404
+ Select_default,
405
+ {
406
+ value: timezone,
407
+ onChange: (val) => {
408
+ if (val) setTimezone(String(val));
409
+ },
410
+ options: timezoneOptions,
411
+ size: "small",
412
+ allowClear: false,
413
+ enableSearch: false,
414
+ wrapperClassName: AdvancedDateRangePicker_module_default.timezoneSelectContainer,
415
+ inputClassName: AdvancedDateRangePicker_module_default.timezoneSelectInput
416
+ }
417
+ )
418
+ ] }),
419
+ /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.dateTimeWrapper, children: [
420
+ /* @__PURE__ */ jsx(
421
+ DateTimeInputGroup,
422
+ {
423
+ label: "From",
424
+ dateValue: fromDateStr,
425
+ timeValue: fromTimeStr,
426
+ dateError: fromDateError,
427
+ timeError: fromTimeError,
428
+ onDateChange: handleFromDateChange,
429
+ onTimeChange: handleFromTimeChange
430
+ }
431
+ ),
432
+ /* @__PURE__ */ jsx(
433
+ DateTimeInputGroup,
434
+ {
435
+ label: "To",
436
+ dateValue: toDateStr,
437
+ timeValue: toTimeStr,
438
+ dateError: toDateError,
439
+ timeError: toTimeError,
440
+ onDateChange: handleToDateChange,
441
+ onTimeChange: handleToTimeChange
442
+ }
443
+ )
444
+ ] })
445
+ ] }),
446
+ /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.body, children: /* @__PURE__ */ jsx(
447
+ InternalCalendar_default,
448
+ {
449
+ id: `${id}-calendar`,
450
+ dateRange: rangeValue,
451
+ onChange: handleRangeChange,
452
+ disablePastDates,
453
+ minDate,
454
+ maxDate,
455
+ showSingleCalendar: isSingle
456
+ }
457
+ ) })
458
+ ] })
459
+ ] }),
460
+ !hideFooter && /* @__PURE__ */ jsx("footer", { className: AdvancedDateRangePicker_module_default.footer, children: /* @__PURE__ */ jsx(
461
+ Button_default,
462
+ {
463
+ onClick: handleDone,
464
+ disabled: disabled || !isReady,
465
+ shape: "round",
466
+ children: confirmLabel
467
+ }
468
+ ) })
469
+ ] });
470
+ }
471
+ AdvancedDateRangePicker.displayName = "AdvancedDateRangePicker";
472
+ var AdvancedDateRangePicker_default = AdvancedDateRangePicker;
473
+
474
+ export {
475
+ AdvancedDateRangePicker,
476
+ AdvancedDateRangePicker_default
477
+ };
package/dist/index.d.mts CHANGED
@@ -11,7 +11,7 @@ export { A as AdvancedDateRangePicker, D as DateRangePickerProps, a as DateRange
11
11
  export { Select } from './atom/Select/Select.mjs';
12
12
  export { LoadingSpinner } from './atom/LoadingSpinner/LoadingSpinner.mjs';
13
13
  export { Slider } from './atom/Slider/Slider.mjs';
14
- export { L as LuminaColumnHeaderProps, a as LuminaColumnType, b as LuminaColumnsType, S as SortOrder, T as Table, c as TableProps } from './Table-BxaCiQmh.mjs';
14
+ export { L as LuminaColumnHeaderProps, a as LuminaColumnType, b as LuminaColumnsType, S as SortOrder, T as Table, c as TableProps } from './Table-BfGn3Pa0.mjs';
15
15
  export { UserProfile } from './molecules/UserProfile/UserProfile.mjs';
16
16
  export { TablePaginationConfig } from 'antd';
17
17
  import 'react';
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export { A as AdvancedDateRangePicker, D as DateRangePickerProps, a as DateRange
11
11
  export { Select } from './atom/Select/Select.js';
12
12
  export { LoadingSpinner } from './atom/LoadingSpinner/LoadingSpinner.js';
13
13
  export { Slider } from './atom/Slider/Slider.js';
14
- export { L as LuminaColumnHeaderProps, a as LuminaColumnType, b as LuminaColumnsType, S as SortOrder, T as Table, c as TableProps } from './Table-BxaCiQmh.js';
14
+ export { L as LuminaColumnHeaderProps, a as LuminaColumnType, b as LuminaColumnsType, S as SortOrder, T as Table, c as TableProps } from './Table-BfGn3Pa0.js';
15
15
  export { UserProfile } from './molecules/UserProfile/UserProfile.js';
16
16
  export { TablePaginationConfig } from 'antd';
17
17
  import 'react';
package/dist/index.js CHANGED
@@ -1948,7 +1948,7 @@ var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat.j
1948
1948
  var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore.js"));
1949
1949
 
1950
1950
  // src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.module.scss
1951
- var AdvancedDateRangePicker_module_default = { "root": "AdvancedDateRangePicker-module__root___udir8", "singleCalendar": "AdvancedDateRangePicker-module__singleCalendar___qy2-H", "hidePresets": "AdvancedDateRangePicker-module__hidePresets___-m2-P", "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" };
1951
+ var AdvancedDateRangePicker_module_default = { "root": "AdvancedDateRangePicker-module__root___udir8", "singleCalendar": "AdvancedDateRangePicker-module__singleCalendar___qy2-H", "hidePresets": "AdvancedDateRangePicker-module__hidePresets___-m2-P", "inner": "AdvancedDateRangePicker-module__inner___P4OHa", "left": "AdvancedDateRangePicker-module__left___T6E84", "sidebarItem": "AdvancedDateRangePicker-module__sidebarItem___-NXPm", "sidebarItemActive": "AdvancedDateRangePicker-module__sidebarItemActive___5GmBY", "sidebarItemText": "AdvancedDateRangePicker-module__sidebarItemText___X9qO-", "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" };
1952
1952
 
1953
1953
  // src/atom/AdvancedDateRangePicker/InternalCalendar.tsx
1954
1954
  var import_react4 = require("react");
@@ -2582,7 +2582,8 @@ function AdvancedDateRangePicker({
2582
2582
  className: (0, import_clsx10.default)(AdvancedDateRangePicker_module_default.sidebarItem, {
2583
2583
  [AdvancedDateRangePicker_module_default.sidebarItemActive]: activePreset === p.key
2584
2584
  }),
2585
- children: p.label
2585
+ title: p.label,
2586
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: AdvancedDateRangePicker_module_default.sidebarItemText, children: p.label })
2586
2587
  },
2587
2588
  p.key
2588
2589
  )) }),
@@ -2803,7 +2804,7 @@ function ColumnHeader({
2803
2804
  onClick: () => onSortChange == null ? void 0 : onSortChange(nextSortOrder(sortOrder)),
2804
2805
  "aria-label": typeof label === "string" ? `Sort by ${label}` : "Sort",
2805
2806
  children: [
2806
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: (0, import_clsx12.default)(Table_module_default.columnHeaderLabel, "tw-typography-caption2Bold tw-text-color-text-weak", className), children: label }),
2807
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: (0, import_clsx12.default)(Table_module_default.columnHeaderLabel, className), children: label }),
2807
2808
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2808
2809
  "span",
2809
2810
  {
@@ -2815,7 +2816,7 @@ function ColumnHeader({
2815
2816
  )
2816
2817
  ]
2817
2818
  }
2818
- ) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: (0, import_clsx12.default)(Table_module_default.columnHeaderLabel, "tw-typography-caption2Bold tw-text-color-text-weak", className), children: label }) }),
2819
+ ) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: (0, import_clsx12.default)(Table_module_default.columnHeaderLabel, className), children: label }) }),
2819
2820
  hasFilter && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: Table_module_default.columnHeaderFilterWrapper, children: [
2820
2821
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2821
2822
  "button",
package/dist/index.mjs CHANGED
@@ -2,26 +2,26 @@ import {
2
2
  UserProfile_default
3
3
  } from "./chunk-N2WTNCQU.mjs";
4
4
  import {
5
- Radio_default
6
- } from "./chunk-2EBPXGRY.mjs";
5
+ Modal_default
6
+ } from "./chunk-UQJ3BDM4.mjs";
7
7
  import {
8
8
  RangePicker_default
9
9
  } from "./chunk-PSBEYGD4.mjs";
10
- import {
11
- Slider_default
12
- } from "./chunk-D3N7VFER.mjs";
13
10
  import {
14
11
  Switch_default
15
12
  } from "./chunk-MNARBWAJ.mjs";
13
+ import {
14
+ Slider_default
15
+ } from "./chunk-D3N7VFER.mjs";
16
16
  import {
17
17
  Table_default
18
- } from "./chunk-ANJI6SPV.mjs";
18
+ } from "./chunk-GOIABK2Y.mjs";
19
19
  import {
20
20
  Tag_default
21
21
  } from "./chunk-4VZB2KR2.mjs";
22
22
  import {
23
23
  AdvancedDateRangePicker_default
24
- } from "./chunk-IPVJEGDI.mjs";
24
+ } from "./chunk-Z3N4E2C5.mjs";
25
25
  import {
26
26
  Select_default
27
27
  } from "./chunk-GU5F7Z7I.mjs";
@@ -33,6 +33,9 @@ import "./chunk-ZTRM4HZJ.mjs";
33
33
  import {
34
34
  Avatar_default
35
35
  } from "./chunk-IWO2Y5QX.mjs";
36
+ import {
37
+ Button_default
38
+ } from "./chunk-AF2RKLH6.mjs";
36
39
  import {
37
40
  Checkbox_default
38
41
  } from "./chunk-UQZNUEZE.mjs";
@@ -40,11 +43,8 @@ import {
40
43
  LoadingSpinner_default
41
44
  } from "./chunk-QKTMWS4J.mjs";
42
45
  import {
43
- Modal_default
44
- } from "./chunk-UQJ3BDM4.mjs";
45
- import {
46
- Button_default
47
- } from "./chunk-AF2RKLH6.mjs";
46
+ Radio_default
47
+ } from "./chunk-2EBPXGRY.mjs";
48
48
  import "./chunk-FWCSY2DS.mjs";
49
49
  export {
50
50
  AdvancedDateRangePicker_default as AdvancedDateRangePicker,