@itilite/lumina-ui 1.0.0-alpha → 1.0.1-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.
Files changed (185) hide show
  1. package/dist/{AdvancedDateRangePicker-Eh6n4ne0.d.mts → AdvancedDateRangePicker-ozItnkhp.d.mts} +1 -1
  2. package/dist/{AdvancedDateRangePicker-Eh6n4ne0.d.ts → AdvancedDateRangePicker-ozItnkhp.d.ts} +1 -1
  3. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.mts +1 -1
  4. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.ts +1 -1
  5. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.mts +1 -2
  6. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.ts +1 -2
  7. package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +2 -2
  8. package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +2 -2
  9. package/dist/index.d.mts +14 -15
  10. package/dist/index.d.ts +14 -15
  11. package/dist/index.mjs +8 -8
  12. package/dist/styles.css +328 -312
  13. package/package.json +1 -1
  14. package/dist/AdvancedDateRangePicker-CN9WN0rH.d.mts +0 -56
  15. package/dist/AdvancedDateRangePicker-CN9WN0rH.d.ts +0 -56
  16. package/dist/AdvancedDateRangePicker-CzN1HGsC.d.mts +0 -57
  17. package/dist/AdvancedDateRangePicker-CzN1HGsC.d.ts +0 -57
  18. package/dist/AdvancedDateRangePicker-DAPxgRl3.d.mts +0 -54
  19. package/dist/AdvancedDateRangePicker-DAPxgRl3.d.ts +0 -54
  20. package/dist/AdvancedDateRangePicker-DW94285G.d.mts +0 -56
  21. package/dist/AdvancedDateRangePicker-DW94285G.d.ts +0 -56
  22. package/dist/Avatar-DX2JwvAs.d.mts +0 -17
  23. package/dist/Avatar-DX2JwvAs.d.ts +0 -17
  24. package/dist/Table-BA0D3p1m.d.mts +0 -78
  25. package/dist/Table-BA0D3p1m.d.ts +0 -78
  26. package/dist/Table-BLZ6c46U.d.mts +0 -77
  27. package/dist/Table-BLZ6c46U.d.ts +0 -77
  28. package/dist/Table-BMqYnFi4.d.mts +0 -25
  29. package/dist/Table-BMqYnFi4.d.ts +0 -25
  30. package/dist/Table-BRcthrYV.d.mts +0 -98
  31. package/dist/Table-BRcthrYV.d.ts +0 -98
  32. package/dist/Table-BWlFCfBG.d.mts +0 -106
  33. package/dist/Table-BWlFCfBG.d.ts +0 -106
  34. package/dist/Table-CHFmNrme.d.mts +0 -77
  35. package/dist/Table-CHFmNrme.d.ts +0 -77
  36. package/dist/Table-CX6UwQiD.d.mts +0 -116
  37. package/dist/Table-CX6UwQiD.d.ts +0 -116
  38. package/dist/Table-Chud2XSq.d.mts +0 -99
  39. package/dist/Table-Chud2XSq.d.ts +0 -99
  40. package/dist/Table-D5QRe_j3.d.mts +0 -121
  41. package/dist/Table-D5QRe_j3.d.ts +0 -121
  42. package/dist/Table-DAgFGahx.d.mts +0 -39
  43. package/dist/Table-DAgFGahx.d.ts +0 -39
  44. package/dist/Table-DWniK7At.d.mts +0 -87
  45. package/dist/Table-DWniK7At.d.ts +0 -87
  46. package/dist/Table-PyFlnUDu.d.mts +0 -47
  47. package/dist/Table-PyFlnUDu.d.ts +0 -47
  48. package/dist/Table-wqyg13Y9.d.mts +0 -77
  49. package/dist/Table-wqyg13Y9.d.ts +0 -77
  50. package/dist/Tag-l7I5oeyk.d.mts +0 -13
  51. package/dist/Tag-l7I5oeyk.d.ts +0 -13
  52. package/dist/atom/Table/LuminaPagination.d.mts +0 -7
  53. package/dist/atom/Table/LuminaPagination.d.ts +0 -7
  54. package/dist/atom/Table/LuminaPagination.js +0 -153
  55. package/dist/atom/Table/LuminaPagination.mjs +0 -9
  56. package/dist/atom/Table/TableAccordion.d.mts +0 -9
  57. package/dist/atom/Table/TableAccordion.d.ts +0 -9
  58. package/dist/atom/Table/TableAccordion.js +0 -91
  59. package/dist/atom/Table/TableAccordion.mjs +0 -10
  60. package/dist/atom/Table/TableColumnHeader.d.mts +0 -7
  61. package/dist/atom/Table/TableColumnHeader.d.ts +0 -7
  62. package/dist/atom/Table/TableColumnHeader.js +0 -151
  63. package/dist/atom/Table/TableColumnHeader.mjs +0 -10
  64. package/dist/atom/Table/TableToolbar.d.mts +0 -9
  65. package/dist/atom/Table/TableToolbar.d.ts +0 -9
  66. package/dist/atom/Table/TableToolbar.js +0 -114
  67. package/dist/atom/Table/TableToolbar.mjs +0 -10
  68. package/dist/atom/Table/__tests__/Table.test.d.mts +0 -2
  69. package/dist/atom/Table/__tests__/Table.test.d.ts +0 -2
  70. package/dist/atom/Table/__tests__/Table.test.js +0 -61133
  71. package/dist/atom/Table/__tests__/Table.test.mjs +0 -59522
  72. package/dist/atom/TableAccordion/index.d.mts +0 -17
  73. package/dist/atom/TableAccordion/index.d.ts +0 -17
  74. package/dist/atom/TableAccordion/index.js +0 -91
  75. package/dist/atom/TableAccordion/index.mjs +0 -9
  76. package/dist/atom/TableToolbar/index.d.mts +0 -23
  77. package/dist/atom/TableToolbar/index.d.ts +0 -23
  78. package/dist/atom/TableToolbar/index.js +0 -114
  79. package/dist/atom/TableToolbar/index.mjs +0 -9
  80. package/dist/chunk-2PIFDGVK.mjs +0 -420
  81. package/dist/chunk-35KDS27M.mjs +0 -618
  82. package/dist/chunk-3S4X3YO2.mjs +0 -64
  83. package/dist/chunk-3XUHGVYA.mjs +0 -77
  84. package/dist/chunk-5HF6Y37C.mjs +0 -642
  85. package/dist/chunk-5OGQ4YIR.mjs +0 -238
  86. package/dist/chunk-6FCSXN7R.mjs +0 -388
  87. package/dist/chunk-7W72LPSU.mjs +0 -66
  88. package/dist/chunk-A66QDQHK.mjs +0 -627
  89. package/dist/chunk-ABLIL47F.mjs +0 -618
  90. package/dist/chunk-AEPDEUGY.mjs +0 -627
  91. package/dist/chunk-AFLEGUF3.mjs +0 -232
  92. package/dist/chunk-APCEITHQ.mjs +0 -232
  93. package/dist/chunk-AVQBFGBT.mjs +0 -141
  94. package/dist/chunk-B5BOBELW.mjs +0 -213
  95. package/dist/chunk-BQ4PVLJ4.mjs +0 -262
  96. package/dist/chunk-DBNLBCQK.mjs +0 -64
  97. package/dist/chunk-DLLT6V65.mjs +0 -141
  98. package/dist/chunk-DOQQRYTS.mjs +0 -73
  99. package/dist/chunk-DSVR2DVF.mjs +0 -660
  100. package/dist/chunk-DXUPULDI.mjs +0 -424
  101. package/dist/chunk-E465D6OH.mjs +0 -644
  102. package/dist/chunk-E4FCLHYA.mjs +0 -678
  103. package/dist/chunk-ENQN5BAN.mjs +0 -225
  104. package/dist/chunk-F6VMSH4N.mjs +0 -79
  105. package/dist/chunk-FKGGN3FA.mjs +0 -412
  106. package/dist/chunk-GFTO2N3Q.mjs +0 -432
  107. package/dist/chunk-GM6H6RPJ.mjs +0 -232
  108. package/dist/chunk-HF3VJBMY.mjs +0 -244
  109. package/dist/chunk-HISCHZ5H.mjs +0 -77
  110. package/dist/chunk-HWQBE6PT.mjs +0 -99
  111. package/dist/chunk-HXM657YW.mjs +0 -115
  112. package/dist/chunk-I5VHKSQR.mjs +0 -64
  113. package/dist/chunk-ICSZZNTY.mjs +0 -384
  114. package/dist/chunk-IZGLD7U3.mjs +0 -667
  115. package/dist/chunk-J7X2PZG6.mjs +0 -232
  116. package/dist/chunk-JUXBLRMQ.mjs +0 -50
  117. package/dist/chunk-JXFSGADI.mjs +0 -678
  118. package/dist/chunk-KGKRSR6D.mjs +0 -388
  119. package/dist/chunk-KQKNFGWZ.mjs +0 -388
  120. package/dist/chunk-LCH4DXJY.mjs +0 -92
  121. package/dist/chunk-LCXU3K57.mjs +0 -232
  122. package/dist/chunk-LRN4XOIR.mjs +0 -71
  123. package/dist/chunk-LROMXY35.mjs +0 -116
  124. package/dist/chunk-LUNPHYAR.mjs +0 -681
  125. package/dist/chunk-LVOTEPLC.mjs +0 -64
  126. package/dist/chunk-M2ZM3X5Y.mjs +0 -56
  127. package/dist/chunk-M4MIYHAV.mjs +0 -43
  128. package/dist/chunk-M7F7DOC4.mjs +0 -41
  129. package/dist/chunk-MHWFVML4.mjs +0 -115
  130. package/dist/chunk-MPTVYTYS.mjs +0 -0
  131. package/dist/chunk-MQFW3LZR.mjs +0 -111
  132. package/dist/chunk-N355RJGH.mjs +0 -141
  133. package/dist/chunk-N3YFQDW7.mjs +0 -77
  134. package/dist/chunk-NGCBOOIE.mjs +0 -225
  135. package/dist/chunk-NWQQYJSP.mjs +0 -688
  136. package/dist/chunk-NYQV556V.mjs +0 -667
  137. package/dist/chunk-O5C3355V.mjs +0 -246
  138. package/dist/chunk-OCP43S7U.mjs +0 -241
  139. package/dist/chunk-OHLFRULE.mjs +0 -432
  140. package/dist/chunk-PLO46EKV.mjs +0 -65
  141. package/dist/chunk-PSBEYGD4.mjs +0 -618
  142. package/dist/chunk-PWIBJI6Z.mjs +0 -115
  143. package/dist/chunk-Q5KPXEH5.mjs +0 -223
  144. package/dist/chunk-QC34HHAY.mjs +0 -57
  145. package/dist/chunk-QVWV36BK.mjs +0 -73
  146. package/dist/chunk-QWK3MYDM.mjs +0 -64
  147. package/dist/chunk-RE44YAMD.mjs +0 -47
  148. package/dist/chunk-RH6DAYBU.mjs +0 -369
  149. package/dist/chunk-RSSEJENT.mjs +0 -269
  150. package/dist/chunk-SJBS5QCJ.mjs +0 -225
  151. package/dist/chunk-SWRFCTJW.mjs +0 -77
  152. package/dist/chunk-T4XNCAIB.mjs +0 -231
  153. package/dist/chunk-TCX5IFQ4.mjs +0 -627
  154. package/dist/chunk-TSAUBT2F.mjs +0 -74
  155. package/dist/chunk-U7Q7ILSE.mjs +0 -690
  156. package/dist/chunk-UHTUJJH7.mjs +0 -112
  157. package/dist/chunk-UOHYCMUS.mjs +0 -53
  158. package/dist/chunk-UQZBL3F7.mjs +0 -0
  159. package/dist/chunk-URGYNKJM.mjs +0 -229
  160. package/dist/chunk-UTMZY37A.mjs +0 -141
  161. package/dist/chunk-UUEPD2FH.mjs +0 -141
  162. package/dist/chunk-VQOUJQIF.mjs +0 -249
  163. package/dist/chunk-VY3QH43W.mjs +0 -6
  164. package/dist/chunk-W2N3AWY6.mjs +0 -80
  165. package/dist/chunk-WUVS6S7N.mjs +0 -119
  166. package/dist/chunk-WZS2K7X3.mjs +0 -688
  167. package/dist/chunk-X76GNSBB.mjs +0 -87
  168. package/dist/chunk-XG7CZXBW.mjs +0 -244
  169. package/dist/chunk-XXKIBYXD.mjs +0 -109
  170. package/dist/chunk-XXTUVMAY.mjs +0 -51
  171. package/dist/chunk-Y3BIY4DW.mjs +0 -618
  172. package/dist/chunk-Y7FP6ZMW.mjs +0 -225
  173. package/dist/chunk-YELLXCMY.mjs +0 -265
  174. package/dist/chunk-YQEEM26W.mjs +0 -232
  175. package/dist/chunk-ZGFE3OPJ.mjs +0 -678
  176. package/dist/chunk-ZMJ3KDDY.mjs +0 -618
  177. package/dist/chunk-ZYPWQ53U.mjs +0 -6
  178. package/dist/dist-U2IPN4FB.mjs +0 -567
  179. package/dist/magic-string.es-XOWQCRDO.mjs +0 -1311
  180. package/dist/types-CA0Wby2L.d.mts +0 -67
  181. package/dist/types-CA0Wby2L.d.ts +0 -67
  182. package/dist/types-CncMmuJM.d.mts +0 -44
  183. package/dist/types-CncMmuJM.d.ts +0 -44
  184. package/dist/types-D4fdeMWQ.d.mts +0 -62
  185. package/dist/types-D4fdeMWQ.d.ts +0 -62
@@ -1,420 +0,0 @@
1
- import {
2
- InternalCalendar_default
3
- } from "./chunk-YELLXCMY.mjs";
4
-
5
- // src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.tsx
6
- import { memo, useCallback, useEffect, useMemo, useState } from "react";
7
- import clsx from "clsx";
8
- import dayjs from "dayjs";
9
- import customParseFormat from "dayjs/plugin/customParseFormat";
10
-
11
- // src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.module.scss
12
- 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", "headerGroup": "AdvancedDateRangePicker-module__headerGroup___J7mJB", "headerLabel": "AdvancedDateRangePicker-module__headerLabel___Yvhkr", "timezoneWrapper": "AdvancedDateRangePicker-module__timezoneWrapper___886Qm", "dateTimeWrapper": "AdvancedDateRangePicker-module__dateTimeWrapper___unDQJ", "headerSeparator": "AdvancedDateRangePicker-module__headerSeparator___Vwx6P", "timezoneSelect": "AdvancedDateRangePicker-module__timezoneSelect___f4oln", "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" };
13
-
14
- // src/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.tsx
15
- import { jsx, jsxs } from "react/jsx-runtime";
16
- dayjs.extend(customParseFormat);
17
- var TIMEZONES = [
18
- { label: "UTC", value: "UTC" },
19
- { label: "Eastern time", value: "America/New_York" },
20
- { label: "Central time", value: "America/Chicago" },
21
- { label: "Mountain time", value: "America/Denver" },
22
- { label: "Pacific time", value: "America/Los_Angeles" },
23
- { label: "India (IST)", value: "Asia/Kolkata" },
24
- { label: "London (GMT)", value: "Europe/London" }
25
- ];
26
- var DEFAULT_TIME = { hour: "12", minute: "00", period: "PM" };
27
- function getPresets() {
28
- const today = /* @__PURE__ */ new Date();
29
- today.setHours(0, 0, 0, 0);
30
- return [
31
- {
32
- label: "Custom",
33
- key: "custom",
34
- getRange: () => [null, null]
35
- },
36
- {
37
- label: "Yesterday",
38
- key: "yesterday",
39
- getRange: () => {
40
- const d = new Date(today);
41
- d.setDate(d.getDate() - 1);
42
- return [d, d];
43
- }
44
- },
45
- {
46
- label: "Previous week",
47
- key: "previous-week",
48
- getRange: () => {
49
- const dayOfWeek = today.getDay();
50
- const start = new Date(today);
51
- start.setDate(today.getDate() - dayOfWeek - 6);
52
- const end = new Date(today);
53
- return [start, end];
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 && !showDateError;
172
- return /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.headerGroup, children: [
173
- /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: label }),
174
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.dateTimeColumn, children: [
175
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.dateTimeGroup, 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
- /* @__PURE__ */ jsx(
189
- "input",
190
- {
191
- type: "text",
192
- placeholder: "12:00 PM",
193
- value: timeValue,
194
- onFocus: () => setIsTimeFocused(true),
195
- onBlur: () => setIsTimeFocused(false),
196
- onChange: (e) => onTimeChange(e.target.value),
197
- className: clsx(AdvancedDateRangePicker_module_default.timeInput, { [AdvancedDateRangePicker_module_default.inputError]: showTimeError })
198
- }
199
- )
200
- ] }),
201
- showDateError && /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.errorMessage, children: "Enter valid date" }),
202
- showTimeError && /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.errorMessage, children: "Enter valid time" })
203
- ] })
204
- ] });
205
- });
206
- function AdvancedDateRangePicker({
207
- value,
208
- onChange,
209
- confirmLabel = "Done",
210
- className = "",
211
- disabled = false,
212
- disablePastDates = false,
213
- minDate = null,
214
- maxDate = null,
215
- showSingleCalendar = false,
216
- id = "adv-drp",
217
- defaultTimezone = "UTC",
218
- isTimezoneDisabled = false
219
- }) {
220
- var _a, _b, _c;
221
- const PRESETS = useMemo(() => getPresets(), []);
222
- const [startDate, setStartDate] = useState((_a = value == null ? void 0 : value.startDate) != null ? _a : null);
223
- const [endDate, setEndDate] = useState((_b = value == null ? void 0 : value.endDate) != null ? _b : null);
224
- const [timezone, setTimezone] = useState((_c = value == null ? void 0 : value.timezone) != null ? _c : defaultTimezone);
225
- const [fromDateStr, setFromDateStr] = useState(formatForDisplay(startDate));
226
- const [toDateStr, setToDateStr] = useState(formatForDisplay(endDate));
227
- const [fromTimeStr, setFromTimeStr] = useState(
228
- (value == null ? void 0 : value.startTime) ? formatTime(value.startTime) : "12:00 PM"
229
- );
230
- const [toTimeStr, setToTimeStr] = useState(
231
- (value == null ? void 0 : value.endTime) ? formatTime(value.endTime) : "12:00 PM"
232
- );
233
- const [activePreset, setActivePreset] = useState("custom");
234
- const fromDateError = useMemo(() => fromDateStr.length > 0 && (fromDateStr.length < 10 || !validateDateString(fromDateStr)), [fromDateStr]);
235
- const toDateError = useMemo(() => toDateStr.length > 0 && (toDateStr.length < 10 || !validateDateString(toDateStr)), [toDateStr]);
236
- const fromTimeError = useMemo(() => fromTimeStr.length > 0 && (fromTimeStr.length < 8 || !validateTimeString(fromTimeStr)), [fromTimeStr]);
237
- const toTimeError = useMemo(() => toTimeStr.length > 0 && (toTimeStr.length < 8 || !validateTimeString(toTimeStr)), [toTimeStr]);
238
- const isReady = useMemo(() => {
239
- return startDate !== null && endDate !== null && validateDateString(fromDateStr) && validateDateString(toDateStr) && validateTimeString(fromTimeStr) && validateTimeString(toTimeStr);
240
- }, [startDate, endDate, fromDateStr, toDateStr, fromTimeStr, toTimeStr]);
241
- useEffect(() => {
242
- var _a2, _b2, _c2;
243
- if (value) {
244
- setStartDate((_a2 = value.startDate) != null ? _a2 : null);
245
- setEndDate((_b2 = value.endDate) != null ? _b2 : null);
246
- setTimezone((_c2 = value.timezone) != null ? _c2 : defaultTimezone);
247
- if (value.startTime) setFromTimeStr(formatTime(value.startTime));
248
- if (value.endTime) setToTimeStr(formatTime(value.endTime));
249
- }
250
- }, [value, defaultTimezone]);
251
- useEffect(() => {
252
- setFromDateStr(formatForDisplay(startDate));
253
- }, [startDate]);
254
- useEffect(() => {
255
- setToDateStr(formatForDisplay(endDate));
256
- }, [endDate]);
257
- const rangeValue = useMemo(() => [
258
- startDate ? startDate.toISOString() : "",
259
- endDate ? endDate.toISOString() : ""
260
- ], [startDate, endDate]);
261
- const handleRangeChange = useCallback(
262
- (range) => {
263
- const [s, e] = range;
264
- if (s) {
265
- const sDateByDayjs = dayjs(s, "D MMM, YYYY").toDate();
266
- setStartDate(sDateByDayjs);
267
- } else {
268
- setStartDate(null);
269
- }
270
- if (e) {
271
- const eDateByDayjs = dayjs(e, "D MMM, YYYY").toDate();
272
- setEndDate(eDateByDayjs);
273
- } else {
274
- setEndDate(null);
275
- }
276
- setActivePreset("custom");
277
- },
278
- []
279
- );
280
- const handlePreset = useCallback(
281
- (preset) => {
282
- const [s, e] = preset.getRange();
283
- setStartDate(s);
284
- setEndDate(e);
285
- setActivePreset(preset.key);
286
- },
287
- []
288
- );
289
- const handleFromDateChange = useCallback((v) => {
290
- const masked = applyDateMask(v, fromDateStr);
291
- setFromDateStr(masked);
292
- setActivePreset("custom");
293
- if (masked.length === 10) {
294
- const parsed = parseDateInput(masked);
295
- if (parsed) setStartDate(parsed);
296
- }
297
- }, [fromDateStr]);
298
- const handleToDateChange = useCallback((v) => {
299
- const masked = applyDateMask(v, toDateStr);
300
- setToDateStr(masked);
301
- setActivePreset("custom");
302
- if (masked.length === 10) {
303
- const parsed = parseDateInput(masked);
304
- if (parsed) setEndDate(parsed);
305
- }
306
- }, [toDateStr]);
307
- const handleFromTimeChange = useCallback((v) => {
308
- const masked = applyTimeMask(v, fromTimeStr);
309
- setFromTimeStr(masked);
310
- setActivePreset("custom");
311
- }, [fromTimeStr]);
312
- const handleToTimeChange = useCallback((v) => {
313
- const masked = applyTimeMask(v, toTimeStr);
314
- setToTimeStr(masked);
315
- setActivePreset("custom");
316
- }, [toTimeStr]);
317
- const handleDone = useCallback(() => {
318
- var _a2, _b2;
319
- if (!isReady) return;
320
- const fromTime = (_a2 = parseTimeInput(fromTimeStr)) != null ? _a2 : DEFAULT_TIME;
321
- const toTime = (_b2 = parseTimeInput(toTimeStr)) != null ? _b2 : DEFAULT_TIME;
322
- onChange == null ? void 0 : onChange({
323
- startDate,
324
- endDate,
325
- startTime: fromTime,
326
- endTime: toTime,
327
- timezone
328
- });
329
- }, [isReady, onChange, startDate, endDate, fromTimeStr, toTimeStr, timezone]);
330
- return /* @__PURE__ */ jsxs("div", { className: clsx(AdvancedDateRangePicker_module_default.root, className), id, children: [
331
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.inner, children: [
332
- /* @__PURE__ */ jsx("aside", { className: AdvancedDateRangePicker_module_default.left, children: PRESETS.map((p) => /* @__PURE__ */ jsx(
333
- "button",
334
- {
335
- type: "button",
336
- onClick: () => handlePreset(p),
337
- className: clsx(AdvancedDateRangePicker_module_default.sidebarItem, {
338
- [AdvancedDateRangePicker_module_default.sidebarItemActive]: activePreset === p.key
339
- }),
340
- children: p.label
341
- },
342
- p.key
343
- )) }),
344
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.main, children: [
345
- /* @__PURE__ */ jsxs("header", { className: AdvancedDateRangePicker_module_default.header, children: [
346
- /* @__PURE__ */ jsxs("div", { className: clsx(AdvancedDateRangePicker_module_default.headerGroup, AdvancedDateRangePicker_module_default.timezoneWrapper), children: [
347
- /* @__PURE__ */ jsx("span", { className: AdvancedDateRangePicker_module_default.headerLabel, children: "Timezone" }),
348
- /* @__PURE__ */ jsx(
349
- "select",
350
- {
351
- value: timezone,
352
- onChange: (e) => setTimezone(e.target.value),
353
- className: AdvancedDateRangePicker_module_default.timezoneSelect,
354
- disabled: isTimezoneDisabled,
355
- children: TIMEZONES.map((tz) => /* @__PURE__ */ jsx("option", { value: tz.value, children: tz.label }, tz.value))
356
- }
357
- )
358
- ] }),
359
- /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.headerSeparator }),
360
- /* @__PURE__ */ jsxs("div", { className: AdvancedDateRangePicker_module_default.dateTimeWrapper, children: [
361
- /* @__PURE__ */ jsx(
362
- DateTimeInputGroup,
363
- {
364
- label: "From",
365
- dateValue: fromDateStr,
366
- timeValue: fromTimeStr,
367
- dateError: fromDateError,
368
- timeError: fromTimeError,
369
- onDateChange: handleFromDateChange,
370
- onTimeChange: handleFromTimeChange
371
- }
372
- ),
373
- /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.headerSeparator }),
374
- /* @__PURE__ */ jsx(
375
- DateTimeInputGroup,
376
- {
377
- label: "To",
378
- dateValue: toDateStr,
379
- timeValue: toTimeStr,
380
- dateError: toDateError,
381
- timeError: toTimeError,
382
- onDateChange: handleToDateChange,
383
- onTimeChange: handleToTimeChange
384
- }
385
- )
386
- ] })
387
- ] }),
388
- /* @__PURE__ */ jsx("div", { className: AdvancedDateRangePicker_module_default.body, children: /* @__PURE__ */ jsx(
389
- InternalCalendar_default,
390
- {
391
- id: `${id}-calendar`,
392
- dateRange: rangeValue,
393
- onChange: handleRangeChange,
394
- disablePastDates,
395
- minDate,
396
- maxDate,
397
- showSingleCalendar
398
- }
399
- ) })
400
- ] })
401
- ] }),
402
- /* @__PURE__ */ jsx("footer", { className: AdvancedDateRangePicker_module_default.footer, children: /* @__PURE__ */ jsx(
403
- "button",
404
- {
405
- type: "button",
406
- onClick: handleDone,
407
- disabled: disabled || !isReady,
408
- className: AdvancedDateRangePicker_module_default.doneBtn,
409
- children: confirmLabel
410
- }
411
- ) })
412
- ] });
413
- }
414
- AdvancedDateRangePicker.displayName = "AdvancedDateRangePicker";
415
- var AdvancedDateRangePicker_default = AdvancedDateRangePicker;
416
-
417
- export {
418
- AdvancedDateRangePicker,
419
- AdvancedDateRangePicker_default
420
- };