@itilite/lumina-ui 1.0.2-alpha → 1.0.3-alpha
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/AdvancedDateRangePicker-D7xn4So6.d.mts +59 -0
- package/dist/AdvancedDateRangePicker-D7xn4So6.d.ts +59 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.mts +1 -1
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.ts +1 -1
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.js +896 -77
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.mjs +6 -2
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.js +5 -5
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.mjs +1 -1
- package/dist/atom/Table/Table.js +4 -3
- package/dist/atom/Table/Table.mjs +1 -1
- package/dist/chunk-27LRL4RO.mjs +428 -0
- package/dist/chunk-3HXZIFV6.mjs +438 -0
- package/dist/chunk-62VAYFZA.mjs +437 -0
- package/dist/chunk-6ON32H2N.mjs +431 -0
- package/dist/chunk-6XIT27XY.mjs +269 -0
- package/dist/chunk-772C454L.mjs +438 -0
- package/dist/chunk-7L267Y4P.mjs +429 -0
- package/dist/chunk-7WSVCE2C.mjs +269 -0
- package/dist/chunk-BFFLWW7N.mjs +250 -0
- package/dist/chunk-FTL3PFC2.mjs +438 -0
- package/dist/chunk-GZ4P7OL3.mjs +429 -0
- package/dist/chunk-K2A4TWA3.mjs +430 -0
- package/dist/chunk-L3L42SIL.mjs +429 -0
- package/dist/chunk-MA23J4WQ.mjs +430 -0
- package/dist/chunk-QRGHJP7U.mjs +437 -0
- package/dist/chunk-RC6IGURJ.mjs +428 -0
- package/dist/chunk-TQDZWJZP.mjs +269 -0
- package/dist/chunk-ZGV6QMVM.mjs +437 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +41 -32
- package/dist/index.mjs +14 -14
- package/dist/styles.css +385 -250
- package/package.json +1 -1
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Select_default
|
|
3
|
+
} from "./chunk-GU5F7Z7I.mjs";
|
|
4
|
+
import {
|
|
5
|
+
InternalCalendar_default
|
|
6
|
+
} from "./chunk-TQDZWJZP.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", "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", "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 fromDateError = useMemo(() => fromDateStr.length > 0 && (fromDateStr.length < 10 || !validateDateString(fromDateStr)), [fromDateStr]);
|
|
238
|
+
const toDateError = useMemo(() => toDateStr.length > 0 && (toDateStr.length < 10 || !validateDateString(toDateStr)), [toDateStr]);
|
|
239
|
+
const fromTimeError = useMemo(() => fromTimeStr.length > 0 && (fromTimeStr.length < 8 || !validateTimeString(fromTimeStr)), [fromTimeStr]);
|
|
240
|
+
const toTimeError = useMemo(() => toTimeStr.length > 0 && (toTimeStr.length < 8 || !validateTimeString(toTimeStr)), [toTimeStr]);
|
|
241
|
+
const isReady = useMemo(() => {
|
|
242
|
+
return startDate !== null && endDate !== null && validateDateString(fromDateStr) && validateDateString(toDateStr) && validateTimeString(fromTimeStr) && validateTimeString(toTimeStr) && dayjs(startDate).isSameOrBefore(dayjs(endDate), "day");
|
|
243
|
+
}, [startDate, endDate, fromDateStr, toDateStr, fromTimeStr, toTimeStr]);
|
|
244
|
+
useEffect(() => {
|
|
245
|
+
var _a2, _b2, _c2;
|
|
246
|
+
if (value) {
|
|
247
|
+
setStartDate((_a2 = value.startDate) != null ? _a2 : null);
|
|
248
|
+
setEndDate((_b2 = value.endDate) != null ? _b2 : null);
|
|
249
|
+
setTimezone((_c2 = value.timezone) != null ? _c2 : defaultTimezone);
|
|
250
|
+
if (value.startTime) setFromTimeStr(formatTime(value.startTime));
|
|
251
|
+
if (value.endTime) setToTimeStr(formatTime(value.endTime));
|
|
252
|
+
}
|
|
253
|
+
}, [value, defaultTimezone]);
|
|
254
|
+
useEffect(() => {
|
|
255
|
+
setFromDateStr(formatForDisplay(startDate));
|
|
256
|
+
}, [startDate]);
|
|
257
|
+
useEffect(() => {
|
|
258
|
+
setToDateStr(formatForDisplay(endDate));
|
|
259
|
+
}, [endDate]);
|
|
260
|
+
const rangeValue = useMemo(() => [
|
|
261
|
+
startDate ? startDate.toISOString() : "",
|
|
262
|
+
endDate ? endDate.toISOString() : ""
|
|
263
|
+
], [startDate, endDate]);
|
|
264
|
+
const handleRangeChange = useCallback(
|
|
265
|
+
(range) => {
|
|
266
|
+
const [s, e] = range;
|
|
267
|
+
if (s) {
|
|
268
|
+
const sDateByDayjs = dayjs(s, "D MMM, YYYY").toDate();
|
|
269
|
+
setStartDate(sDateByDayjs);
|
|
270
|
+
} else {
|
|
271
|
+
setStartDate(null);
|
|
272
|
+
}
|
|
273
|
+
if (e) {
|
|
274
|
+
const eDateByDayjs = dayjs(e, "D MMM, YYYY").toDate();
|
|
275
|
+
setEndDate(eDateByDayjs);
|
|
276
|
+
} else {
|
|
277
|
+
setEndDate(null);
|
|
278
|
+
}
|
|
279
|
+
setActivePreset("custom");
|
|
280
|
+
},
|
|
281
|
+
[]
|
|
282
|
+
);
|
|
283
|
+
const handlePreset = useCallback(
|
|
284
|
+
(preset) => {
|
|
285
|
+
const [s, e] = preset.getRange();
|
|
286
|
+
setStartDate(s);
|
|
287
|
+
setEndDate(e);
|
|
288
|
+
setActivePreset(preset.key);
|
|
289
|
+
},
|
|
290
|
+
[]
|
|
291
|
+
);
|
|
292
|
+
const handleFromDateChange = useCallback((v) => {
|
|
293
|
+
const masked = applyDateMask(v, fromDateStr);
|
|
294
|
+
setFromDateStr(masked);
|
|
295
|
+
setActivePreset("custom");
|
|
296
|
+
if (masked.length === 10) {
|
|
297
|
+
const parsed = parseDateInput(masked);
|
|
298
|
+
if (parsed) {
|
|
299
|
+
setStartDate(parsed);
|
|
300
|
+
if (endDate && dayjs(parsed).isAfter(dayjs(endDate), "day")) {
|
|
301
|
+
setEndDate(null);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}, [fromDateStr, endDate]);
|
|
306
|
+
const handleToDateChange = useCallback((v) => {
|
|
307
|
+
const masked = applyDateMask(v, toDateStr);
|
|
308
|
+
setToDateStr(masked);
|
|
309
|
+
setActivePreset("custom");
|
|
310
|
+
if (masked.length === 10) {
|
|
311
|
+
const parsed = parseDateInput(masked);
|
|
312
|
+
if (parsed) {
|
|
313
|
+
setEndDate(parsed);
|
|
314
|
+
if (startDate && dayjs(parsed).isBefore(dayjs(startDate), "day")) {
|
|
315
|
+
setStartDate(null);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}, [toDateStr, startDate]);
|
|
320
|
+
const handleFromTimeChange = useCallback((v) => {
|
|
321
|
+
const masked = applyTimeMask(v, fromTimeStr);
|
|
322
|
+
setFromTimeStr(masked);
|
|
323
|
+
setActivePreset("custom");
|
|
324
|
+
}, [fromTimeStr]);
|
|
325
|
+
const handleToTimeChange = useCallback((v) => {
|
|
326
|
+
const masked = applyTimeMask(v, toTimeStr);
|
|
327
|
+
setToTimeStr(masked);
|
|
328
|
+
setActivePreset("custom");
|
|
329
|
+
}, [toTimeStr]);
|
|
330
|
+
const handleDone = useCallback(() => {
|
|
331
|
+
var _a2, _b2;
|
|
332
|
+
if (!isReady) return;
|
|
333
|
+
const fromTime = (_a2 = parseTimeInput(fromTimeStr)) != null ? _a2 : DEFAULT_TIME;
|
|
334
|
+
const toTime = (_b2 = parseTimeInput(toTimeStr)) != null ? _b2 : DEFAULT_TIME;
|
|
335
|
+
onChange == null ? void 0 : onChange({
|
|
336
|
+
startDate,
|
|
337
|
+
endDate,
|
|
338
|
+
startTime: fromTime,
|
|
339
|
+
endTime: toTime,
|
|
340
|
+
timezone
|
|
341
|
+
});
|
|
342
|
+
}, [isReady, onChange, startDate, endDate, fromTimeStr, toTimeStr, timezone]);
|
|
343
|
+
return /* @__PURE__ */ jsxs("div", { className: clsx(AdvancedDateRangePicker_module_default.root, className), id, children: [
|
|
344
|
+
/* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.inner, children: [
|
|
345
|
+
/* @__PURE__ */ jsx("aside", { className: AdvancedDateRangePicker_module_default.left, children: PRESETS.map((p) => /* @__PURE__ */ jsx(
|
|
346
|
+
"button",
|
|
347
|
+
{
|
|
348
|
+
type: "button",
|
|
349
|
+
onClick: () => handlePreset(p),
|
|
350
|
+
className: clsx(AdvancedDateRangePicker_module_default.sidebarItem, {
|
|
351
|
+
[AdvancedDateRangePicker_module_default.sidebarItemActive]: activePreset === p.key
|
|
352
|
+
}),
|
|
353
|
+
children: p.label
|
|
354
|
+
},
|
|
355
|
+
p.key
|
|
356
|
+
)) }),
|
|
357
|
+
/* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.main, children: [
|
|
358
|
+
/* @__PURE__ */ jsxs("header", { className: AdvancedDateRangePicker_module_default.header, children: [
|
|
359
|
+
/* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.timezoneWrapper, children: [
|
|
360
|
+
/* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: "Timezone" }),
|
|
361
|
+
isTimezoneDisabled ? (
|
|
362
|
+
/* Disabled state: plain text badge instead of empty dropdown */
|
|
363
|
+
/* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.timezoneDisabledBadge, children: timezone })
|
|
364
|
+
) : /* @__PURE__ */ jsx(
|
|
365
|
+
Select_default,
|
|
366
|
+
{
|
|
367
|
+
value: timezone,
|
|
368
|
+
onChange: (val) => {
|
|
369
|
+
if (val) setTimezone(String(val));
|
|
370
|
+
},
|
|
371
|
+
options: timezoneOptions,
|
|
372
|
+
size: "small",
|
|
373
|
+
allowClear: false,
|
|
374
|
+
enableSearch: false,
|
|
375
|
+
wrapperClassName: AdvancedDateRangePicker_module_default.timezoneSelectContainer
|
|
376
|
+
}
|
|
377
|
+
)
|
|
378
|
+
] }),
|
|
379
|
+
/* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.dateTimeWrapper, children: [
|
|
380
|
+
/* @__PURE__ */ jsx(
|
|
381
|
+
DateTimeInputGroup,
|
|
382
|
+
{
|
|
383
|
+
label: "From",
|
|
384
|
+
dateValue: fromDateStr,
|
|
385
|
+
timeValue: fromTimeStr,
|
|
386
|
+
dateError: fromDateError,
|
|
387
|
+
timeError: fromTimeError,
|
|
388
|
+
onDateChange: handleFromDateChange,
|
|
389
|
+
onTimeChange: handleFromTimeChange
|
|
390
|
+
}
|
|
391
|
+
),
|
|
392
|
+
/* @__PURE__ */ jsx(
|
|
393
|
+
DateTimeInputGroup,
|
|
394
|
+
{
|
|
395
|
+
label: "To",
|
|
396
|
+
dateValue: toDateStr,
|
|
397
|
+
timeValue: toTimeStr,
|
|
398
|
+
dateError: toDateError,
|
|
399
|
+
timeError: toTimeError,
|
|
400
|
+
onDateChange: handleToDateChange,
|
|
401
|
+
onTimeChange: handleToTimeChange
|
|
402
|
+
}
|
|
403
|
+
)
|
|
404
|
+
] })
|
|
405
|
+
] }),
|
|
406
|
+
/* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.body, children: /* @__PURE__ */ jsx(
|
|
407
|
+
InternalCalendar_default,
|
|
408
|
+
{
|
|
409
|
+
id: `${id}-calendar`,
|
|
410
|
+
dateRange: rangeValue,
|
|
411
|
+
onChange: handleRangeChange,
|
|
412
|
+
disablePastDates,
|
|
413
|
+
minDate,
|
|
414
|
+
maxDate,
|
|
415
|
+
showSingleCalendar
|
|
416
|
+
}
|
|
417
|
+
) })
|
|
418
|
+
] })
|
|
419
|
+
] }),
|
|
420
|
+
/* @__PURE__ */ jsx("footer", { className: AdvancedDateRangePicker_module_default.footer, children: /* @__PURE__ */ jsx(
|
|
421
|
+
Button_default,
|
|
422
|
+
{
|
|
423
|
+
onClick: handleDone,
|
|
424
|
+
disabled: disabled || !isReady,
|
|
425
|
+
shape: "round",
|
|
426
|
+
children: confirmLabel
|
|
427
|
+
}
|
|
428
|
+
) })
|
|
429
|
+
] });
|
|
430
|
+
}
|
|
431
|
+
AdvancedDateRangePicker.displayName = "AdvancedDateRangePicker";
|
|
432
|
+
var AdvancedDateRangePicker_default = AdvancedDateRangePicker;
|
|
433
|
+
|
|
434
|
+
export {
|
|
435
|
+
AdvancedDateRangePicker,
|
|
436
|
+
AdvancedDateRangePicker_default
|
|
437
|
+
};
|
package/dist/index.d.mts
CHANGED
|
@@ -7,7 +7,7 @@ export { Tooltip } from './atom/Tooltip/Tooltip.mjs';
|
|
|
7
7
|
export { Avatar } from './atom/Avatar/Avatar.mjs';
|
|
8
8
|
export { Tag } from './atom/Tag/Tag.mjs';
|
|
9
9
|
export { RangePicker } from './atom/RangePicker/RangePicker.mjs';
|
|
10
|
-
export { A as AdvancedDateRangePicker, D as DateRangePickerProps, a as DateRangeValue, P as PresetOption, T as TimeValue, b as TimezoneOption } from './AdvancedDateRangePicker-
|
|
10
|
+
export { A as AdvancedDateRangePicker, D as DateRangePickerProps, a as DateRangeValue, P as PresetOption, T as TimeValue, b as TimezoneOption } from './AdvancedDateRangePicker-D7xn4So6.mjs';
|
|
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';
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { Tooltip } from './atom/Tooltip/Tooltip.js';
|
|
|
7
7
|
export { Avatar } from './atom/Avatar/Avatar.js';
|
|
8
8
|
export { Tag } from './atom/Tag/Tag.js';
|
|
9
9
|
export { RangePicker } from './atom/RangePicker/RangePicker.js';
|
|
10
|
-
export { A as AdvancedDateRangePicker, D as DateRangePickerProps, a as DateRangeValue, P as PresetOption, T as TimeValue, b as TimezoneOption } from './AdvancedDateRangePicker-
|
|
10
|
+
export { A as AdvancedDateRangePicker, D as DateRangePickerProps, a as DateRangeValue, P as PresetOption, T as TimeValue, b as TimezoneOption } from './AdvancedDateRangePicker-D7xn4So6.js';
|
|
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';
|
package/dist/index.js
CHANGED
|
@@ -1957,7 +1957,7 @@ var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat.j
|
|
|
1957
1957
|
var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore.js"));
|
|
1958
1958
|
|
|
1959
1959
|
// src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.module.scss
|
|
1960
|
-
var AdvancedDateRangePicker_module_default = { "root": "AdvancedDateRangePicker-module__root___udir8", "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", "
|
|
1960
|
+
var AdvancedDateRangePicker_module_default = { "root": "AdvancedDateRangePicker-module__root___udir8", "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" };
|
|
1961
1961
|
|
|
1962
1962
|
// src/atom/AdvancedDateRangePicker/InternalCalendar.tsx
|
|
1963
1963
|
var import_react4 = require("react");
|
|
@@ -2157,14 +2157,14 @@ var InternalCalendar = ({
|
|
|
2157
2157
|
] }) }),
|
|
2158
2158
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-grid tw-grid-cols-7 tw-mb-2", children: dayNames.map((day) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-py-2 tw-text-center tw-typography-caption2 tw-text-gray-500", children: day }, day)) }),
|
|
2159
2159
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-grid tw-grid-cols-7", children: days.map((date, index) => {
|
|
2160
|
-
if (!date) return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-h-
|
|
2160
|
+
if (!date) return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-h-7" }, index);
|
|
2161
2161
|
const isStart = isSameDate(date, startDate);
|
|
2162
2162
|
const isEnd = isSameDate(date, endDate);
|
|
2163
2163
|
const isInRange = isDateBetweenRange(date);
|
|
2164
2164
|
const isSelected = isDateInRange(date);
|
|
2165
2165
|
const isDisabled = isDateDisabled(date);
|
|
2166
2166
|
const isHovering = isSelectingEnd && hoverDate && isSameDate(date, hoverDate);
|
|
2167
|
-
let cellClasses = "tw-relative tw-z-20 tw-h-
|
|
2167
|
+
let cellClasses = "tw-relative tw-z-20 tw-h-7 tw-w-7 tw-flex tw-items-center tw-justify-center tw-typography-caption1Bold tw-cursor-pointer tw-transition-all ";
|
|
2168
2168
|
if (isDisabled) {
|
|
2169
2169
|
cellClasses += "tw-text-gray-300 tw-cursor-not-allowed ";
|
|
2170
2170
|
} else if (isStart || isEnd) {
|
|
@@ -2178,9 +2178,9 @@ var InternalCalendar = ({
|
|
|
2178
2178
|
cellClasses += "tw-border-2 tw-border-gray-400 tw-border-dashed ";
|
|
2179
2179
|
}
|
|
2180
2180
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "tw-relative tw-flex tw-justify-center", children: [
|
|
2181
|
-
isInRange && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-absolute tw-inset-y-1 tw-inset-x-0 tw-bg-[#
|
|
2182
|
-
isStart && endDate && !isSameDate(startDate, endDate) && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-absolute tw-inset-y-1 tw-right-0 tw-left-1/2 tw-bg-[#
|
|
2183
|
-
isEnd && startDate && !isSameDate(startDate, endDate) && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-absolute tw-inset-y-1 tw-left-0 tw-right-1/2 tw-bg-[#
|
|
2181
|
+
isInRange && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-absolute tw-inset-y-1 tw-inset-x-0 tw-bg-[#E5E9ED] tw-z-10" }),
|
|
2182
|
+
isStart && endDate && !isSameDate(startDate, endDate) && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-absolute tw-inset-y-1 tw-right-0 tw-left-1/2 tw-bg-[#E5E9ED] tw-z-10" }),
|
|
2183
|
+
isEnd && startDate && !isSameDate(startDate, endDate) && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "tw-absolute tw-inset-y-1 tw-left-0 tw-right-1/2 tw-bg-[#E5E9ED] tw-z-10" }),
|
|
2184
2184
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2185
2185
|
"div",
|
|
2186
2186
|
{
|
|
@@ -2370,16 +2370,16 @@ var DateTimeInputGroup = (0, import_react5.memo)(function DateTimeInputGroup2({
|
|
|
2370
2370
|
const [isDateFocused, setIsDateFocused] = (0, import_react5.useState)(false);
|
|
2371
2371
|
const [isTimeFocused, setIsTimeFocused] = (0, import_react5.useState)(false);
|
|
2372
2372
|
const showDateError = dateError && !isDateFocused;
|
|
2373
|
-
const showTimeError = timeError && !isTimeFocused
|
|
2373
|
+
const showTimeError = timeError && !isTimeFocused;
|
|
2374
2374
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: AdvancedDateRangePicker_module_default.headerGroup, children: [
|
|
2375
2375
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: label }),
|
|
2376
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.
|
|
2377
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: AdvancedDateRangePicker_module_default.
|
|
2376
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: AdvancedDateRangePicker_module_default.dateTimeColumn, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: AdvancedDateRangePicker_module_default.dateTimeGroup, children: [
|
|
2377
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: AdvancedDateRangePicker_module_default.inputWrapper, children: [
|
|
2378
2378
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2379
2379
|
"input",
|
|
2380
2380
|
{
|
|
2381
2381
|
type: "text",
|
|
2382
|
-
placeholder: "
|
|
2382
|
+
placeholder: "dd-mm-yyyy",
|
|
2383
2383
|
value: dateValue,
|
|
2384
2384
|
onFocus: () => setIsDateFocused(true),
|
|
2385
2385
|
onBlur: () => setIsDateFocused(false),
|
|
@@ -2387,6 +2387,9 @@ var DateTimeInputGroup = (0, import_react5.memo)(function DateTimeInputGroup2({
|
|
|
2387
2387
|
className: (0, import_clsx10.default)(AdvancedDateRangePicker_module_default.dateInput, { [AdvancedDateRangePicker_module_default.inputError]: showDateError })
|
|
2388
2388
|
}
|
|
2389
2389
|
),
|
|
2390
|
+
showDateError && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: AdvancedDateRangePicker_module_default.errorMessage, children: "Enter valid date" })
|
|
2391
|
+
] }),
|
|
2392
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: AdvancedDateRangePicker_module_default.inputWrapper, children: [
|
|
2390
2393
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2391
2394
|
"input",
|
|
2392
2395
|
{
|
|
@@ -2398,11 +2401,10 @@ var DateTimeInputGroup = (0, import_react5.memo)(function DateTimeInputGroup2({
|
|
|
2398
2401
|
onChange: (e) => onTimeChange(e.target.value),
|
|
2399
2402
|
className: (0, import_clsx10.default)(AdvancedDateRangePicker_module_default.timeInput, { [AdvancedDateRangePicker_module_default.inputError]: showTimeError })
|
|
2400
2403
|
}
|
|
2401
|
-
)
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
] })
|
|
2404
|
+
),
|
|
2405
|
+
showTimeError && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: AdvancedDateRangePicker_module_default.errorMessage, children: "Enter valid time" })
|
|
2406
|
+
] })
|
|
2407
|
+
] }) })
|
|
2406
2408
|
] });
|
|
2407
2409
|
});
|
|
2408
2410
|
function AdvancedDateRangePicker({
|
|
@@ -2418,7 +2420,8 @@ function AdvancedDateRangePicker({
|
|
|
2418
2420
|
id = "adv-drp",
|
|
2419
2421
|
defaultTimezone = "UTC",
|
|
2420
2422
|
isTimezoneDisabled = false,
|
|
2421
|
-
timezoneOptions = []
|
|
2423
|
+
timezoneOptions = [],
|
|
2424
|
+
defaultPreset = "custom"
|
|
2422
2425
|
}) {
|
|
2423
2426
|
var _a, _b, _c;
|
|
2424
2427
|
const PRESETS = (0, import_react5.useMemo)(() => getPresets(), []);
|
|
@@ -2433,7 +2436,7 @@ function AdvancedDateRangePicker({
|
|
|
2433
2436
|
const [toTimeStr, setToTimeStr] = (0, import_react5.useState)(
|
|
2434
2437
|
(value == null ? void 0 : value.endTime) ? formatTime(value.endTime) : "12:00 PM"
|
|
2435
2438
|
);
|
|
2436
|
-
const [activePreset, setActivePreset] = (0, import_react5.useState)(
|
|
2439
|
+
const [activePreset, setActivePreset] = (0, import_react5.useState)(defaultPreset);
|
|
2437
2440
|
const fromDateError = (0, import_react5.useMemo)(() => fromDateStr.length > 0 && (fromDateStr.length < 10 || !validateDateString(fromDateStr)), [fromDateStr]);
|
|
2438
2441
|
const toDateError = (0, import_react5.useMemo)(() => toDateStr.length > 0 && (toDateStr.length < 10 || !validateDateString(toDateStr)), [toDateStr]);
|
|
2439
2442
|
const fromTimeError = (0, import_react5.useMemo)(() => fromTimeStr.length > 0 && (fromTimeStr.length < 8 || !validateTimeString(fromTimeStr)), [fromTimeStr]);
|
|
@@ -2556,20 +2559,27 @@ function AdvancedDateRangePicker({
|
|
|
2556
2559
|
)) }),
|
|
2557
2560
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: AdvancedDateRangePicker_module_default.main, children: [
|
|
2558
2561
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("header", { className: AdvancedDateRangePicker_module_default.header, children: [
|
|
2559
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className:
|
|
2562
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: AdvancedDateRangePicker_module_default.timezoneWrapper, children: [
|
|
2560
2563
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: "Timezone" }),
|
|
2561
|
-
|
|
2562
|
-
|
|
2564
|
+
isTimezoneDisabled ? (
|
|
2565
|
+
/* Disabled state: plain text badge instead of empty dropdown */
|
|
2566
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: AdvancedDateRangePicker_module_default.timezoneDisabledBadge, children: timezone })
|
|
2567
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2568
|
+
Select_default,
|
|
2563
2569
|
{
|
|
2564
2570
|
value: timezone,
|
|
2565
|
-
onChange: (
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2571
|
+
onChange: (val) => {
|
|
2572
|
+
if (val) setTimezone(String(val));
|
|
2573
|
+
},
|
|
2574
|
+
options: timezoneOptions,
|
|
2575
|
+
size: "small",
|
|
2576
|
+
allowClear: false,
|
|
2577
|
+
enableSearch: false,
|
|
2578
|
+
wrapperClassName: AdvancedDateRangePicker_module_default.timezoneSelectContainer,
|
|
2579
|
+
inputClassName: AdvancedDateRangePicker_module_default.timezoneSelectInput
|
|
2569
2580
|
}
|
|
2570
2581
|
)
|
|
2571
2582
|
] }),
|
|
2572
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: AdvancedDateRangePicker_module_default.headerSeparator }),
|
|
2573
2583
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: AdvancedDateRangePicker_module_default.dateTimeWrapper, children: [
|
|
2574
2584
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2575
2585
|
DateTimeInputGroup,
|
|
@@ -2583,7 +2593,6 @@ function AdvancedDateRangePicker({
|
|
|
2583
2593
|
onTimeChange: handleFromTimeChange
|
|
2584
2594
|
}
|
|
2585
2595
|
),
|
|
2586
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: AdvancedDateRangePicker_module_default.headerSeparator }),
|
|
2587
2596
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2588
2597
|
DateTimeInputGroup,
|
|
2589
2598
|
{
|
|
@@ -2613,12 +2622,11 @@ function AdvancedDateRangePicker({
|
|
|
2613
2622
|
] })
|
|
2614
2623
|
] }),
|
|
2615
2624
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("footer", { className: AdvancedDateRangePicker_module_default.footer, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2616
|
-
|
|
2625
|
+
Button_default,
|
|
2617
2626
|
{
|
|
2618
|
-
type: "button",
|
|
2619
2627
|
onClick: handleDone,
|
|
2620
2628
|
disabled: disabled || !isReady,
|
|
2621
|
-
|
|
2629
|
+
shape: "round",
|
|
2622
2630
|
children: confirmLabel
|
|
2623
2631
|
}
|
|
2624
2632
|
) })
|
|
@@ -2811,6 +2819,7 @@ function processColumns(columns) {
|
|
|
2811
2819
|
});
|
|
2812
2820
|
}
|
|
2813
2821
|
function Table(props) {
|
|
2822
|
+
var _b;
|
|
2814
2823
|
const _a = props, {
|
|
2815
2824
|
size = "middle",
|
|
2816
2825
|
variant = "default",
|
|
@@ -2876,10 +2885,10 @@ function Table(props) {
|
|
|
2876
2885
|
return __spreadProps(__spreadValues({}, base), {
|
|
2877
2886
|
style: __spreadValues({ cursor: "pointer" }, base.style),
|
|
2878
2887
|
onClick: (e) => {
|
|
2879
|
-
var _a3,
|
|
2888
|
+
var _a3, _b2;
|
|
2880
2889
|
(_a3 = base.onClick) == null ? void 0 : _a3.call(base, e);
|
|
2881
2890
|
const key = getKey(record, index);
|
|
2882
|
-
const current2 = (
|
|
2891
|
+
const current2 = (_b2 = rowSelection.selectedRowKeys) != null ? _b2 : [];
|
|
2883
2892
|
const isSelected = current2.some((k) => k === key);
|
|
2884
2893
|
const newKeys = isSelected ? current2.filter((k) => k !== key) : [...current2, key];
|
|
2885
2894
|
const newRows = (dataSource != null ? dataSource : []).filter(
|
|
@@ -2918,7 +2927,7 @@ function Table(props) {
|
|
|
2918
2927
|
emptyText: loading && loadingIndicator ? loadingIndicator : loading ? " " : emptyState
|
|
2919
2928
|
}
|
|
2920
2929
|
}, rest), {
|
|
2921
|
-
loading: loadingIndicator ?
|
|
2930
|
+
loading: loadingIndicator ? { spinning: !!loading && ((_b = dataSource == null ? void 0 : dataSource.length) != null ? _b : 0) > 0, indicator: loadingIndicator } : loading,
|
|
2922
2931
|
rowClassName: (_, index) => {
|
|
2923
2932
|
var _a2;
|
|
2924
2933
|
return (0, import_clsx12.default)({
|