@itilite/lumina-ui 0.0.323 → 1.0.0-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 (273) hide show
  1. package/README.md +43 -10
  2. package/dist/AdvancedDateRangePicker-CN9WN0rH.d.mts +56 -0
  3. package/dist/AdvancedDateRangePicker-CN9WN0rH.d.ts +56 -0
  4. package/dist/AdvancedDateRangePicker-CzN1HGsC.d.mts +57 -0
  5. package/dist/AdvancedDateRangePicker-CzN1HGsC.d.ts +57 -0
  6. package/dist/AdvancedDateRangePicker-DAPxgRl3.d.mts +54 -0
  7. package/dist/AdvancedDateRangePicker-DAPxgRl3.d.ts +54 -0
  8. package/dist/AdvancedDateRangePicker-DW94285G.d.mts +56 -0
  9. package/dist/AdvancedDateRangePicker-DW94285G.d.ts +56 -0
  10. package/dist/AdvancedDateRangePicker-Eh6n4ne0.d.mts +57 -0
  11. package/dist/AdvancedDateRangePicker-Eh6n4ne0.d.ts +57 -0
  12. package/dist/Avatar-DX2JwvAs.d.mts +17 -0
  13. package/dist/Avatar-DX2JwvAs.d.ts +17 -0
  14. package/dist/Table-BA0D3p1m.d.mts +78 -0
  15. package/dist/Table-BA0D3p1m.d.ts +78 -0
  16. package/dist/Table-BLZ6c46U.d.mts +77 -0
  17. package/dist/Table-BLZ6c46U.d.ts +77 -0
  18. package/dist/Table-BMqYnFi4.d.mts +25 -0
  19. package/dist/Table-BMqYnFi4.d.ts +25 -0
  20. package/dist/Table-BOq-_9Nr.d.mts +121 -0
  21. package/dist/Table-BOq-_9Nr.d.ts +121 -0
  22. package/dist/Table-BRcthrYV.d.mts +98 -0
  23. package/dist/Table-BRcthrYV.d.ts +98 -0
  24. package/dist/Table-BWlFCfBG.d.mts +106 -0
  25. package/dist/Table-BWlFCfBG.d.ts +106 -0
  26. package/dist/Table-CHFmNrme.d.mts +77 -0
  27. package/dist/Table-CHFmNrme.d.ts +77 -0
  28. package/dist/Table-CX6UwQiD.d.mts +116 -0
  29. package/dist/Table-CX6UwQiD.d.ts +116 -0
  30. package/dist/Table-Chud2XSq.d.mts +99 -0
  31. package/dist/Table-Chud2XSq.d.ts +99 -0
  32. package/dist/Table-D5QRe_j3.d.mts +121 -0
  33. package/dist/Table-D5QRe_j3.d.ts +121 -0
  34. package/dist/Table-DAgFGahx.d.mts +39 -0
  35. package/dist/Table-DAgFGahx.d.ts +39 -0
  36. package/dist/Table-DWniK7At.d.mts +87 -0
  37. package/dist/Table-DWniK7At.d.ts +87 -0
  38. package/dist/Table-PyFlnUDu.d.mts +47 -0
  39. package/dist/Table-PyFlnUDu.d.ts +47 -0
  40. package/dist/Table-wqyg13Y9.d.mts +77 -0
  41. package/dist/Table-wqyg13Y9.d.ts +77 -0
  42. package/dist/Tag-l7I5oeyk.d.mts +13 -0
  43. package/dist/Tag-l7I5oeyk.d.ts +13 -0
  44. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.mts +2 -0
  45. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.ts +2 -0
  46. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.js +791 -0
  47. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.mjs +11 -0
  48. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.mts +18 -0
  49. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.ts +18 -0
  50. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.js +370 -0
  51. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.mjs +8 -0
  52. package/dist/atom/Avatar/Avatar.d.mts +9 -0
  53. package/dist/atom/Avatar/Avatar.d.ts +9 -0
  54. package/dist/atom/Avatar/Avatar.js +123 -0
  55. package/dist/atom/Avatar/Avatar.mjs +9 -0
  56. package/dist/{Button.js → atom/Button/Button.js} +4 -4
  57. package/dist/{Button.mjs → atom/Button/Button.mjs} +2 -2
  58. package/dist/{Checkbox.js → atom/Checkbox/Checkbox.js} +4 -4
  59. package/dist/{Checkbox.mjs → atom/Checkbox/Checkbox.mjs} +2 -2
  60. package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +19 -0
  61. package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +19 -0
  62. package/dist/atom/LoadingSpinner/LoadingSpinner.js +90 -0
  63. package/dist/atom/LoadingSpinner/LoadingSpinner.mjs +9 -0
  64. package/dist/atom/Modal/Modal.d.mts +25 -0
  65. package/dist/atom/Modal/Modal.d.ts +25 -0
  66. package/dist/atom/Modal/Modal.js +267 -0
  67. package/dist/atom/Modal/Modal.mjs +10 -0
  68. package/dist/atom/Radio/Radio.d.mts +17 -0
  69. package/dist/atom/Radio/Radio.d.ts +17 -0
  70. package/dist/atom/Radio/Radio.js +122 -0
  71. package/dist/atom/Radio/Radio.mjs +9 -0
  72. package/dist/atom/RangePicker/Chevron.d.mts +13 -0
  73. package/dist/atom/RangePicker/Chevron.d.ts +13 -0
  74. package/dist/atom/RangePicker/Chevron.js +110 -0
  75. package/dist/atom/RangePicker/Chevron.mjs +7 -0
  76. package/dist/atom/RangePicker/RangePicker.d.mts +26 -0
  77. package/dist/atom/RangePicker/RangePicker.d.ts +26 -0
  78. package/dist/atom/RangePicker/RangePicker.js +1465 -0
  79. package/dist/atom/RangePicker/RangePicker.mjs +13 -0
  80. package/dist/atom/Select/Select.d.mts +40 -0
  81. package/dist/atom/Select/Select.d.ts +40 -0
  82. package/dist/atom/Select/Select.js +805 -0
  83. package/dist/atom/Select/Select.mjs +11 -0
  84. package/dist/atom/Slider/Slider.d.mts +34 -0
  85. package/dist/atom/Slider/Slider.d.ts +34 -0
  86. package/dist/atom/Slider/Slider.js +107 -0
  87. package/dist/atom/Slider/Slider.mjs +9 -0
  88. package/dist/atom/Switch/Switch.d.mts +13 -0
  89. package/dist/atom/Switch/Switch.d.ts +13 -0
  90. package/dist/atom/Switch/Switch.js +102 -0
  91. package/dist/atom/Switch/Switch.mjs +9 -0
  92. package/dist/atom/Table/LuminaPagination.d.mts +7 -0
  93. package/dist/atom/Table/LuminaPagination.d.ts +7 -0
  94. package/dist/atom/Table/LuminaPagination.js +153 -0
  95. package/dist/atom/Table/LuminaPagination.mjs +9 -0
  96. package/dist/atom/Table/Table.d.mts +3 -0
  97. package/dist/atom/Table/Table.d.ts +3 -0
  98. package/dist/atom/Table/Table.js +306 -0
  99. package/dist/atom/Table/Table.mjs +9 -0
  100. package/dist/atom/Table/TableAccordion.d.mts +9 -0
  101. package/dist/atom/Table/TableAccordion.d.ts +9 -0
  102. package/dist/atom/Table/TableAccordion.js +91 -0
  103. package/dist/atom/Table/TableAccordion.mjs +10 -0
  104. package/dist/atom/Table/TableColumnHeader.d.mts +7 -0
  105. package/dist/atom/Table/TableColumnHeader.d.ts +7 -0
  106. package/dist/atom/Table/TableColumnHeader.js +151 -0
  107. package/dist/atom/Table/TableColumnHeader.mjs +10 -0
  108. package/dist/atom/Table/TableToolbar.d.mts +9 -0
  109. package/dist/atom/Table/TableToolbar.d.ts +9 -0
  110. package/dist/atom/Table/TableToolbar.js +114 -0
  111. package/dist/atom/Table/TableToolbar.mjs +10 -0
  112. package/dist/atom/Table/__tests__/Table.test.d.mts +2 -0
  113. package/dist/atom/Table/__tests__/Table.test.d.ts +2 -0
  114. package/dist/atom/Table/__tests__/Table.test.js +61133 -0
  115. package/dist/atom/Table/__tests__/Table.test.mjs +59522 -0
  116. package/dist/atom/TableAccordion/index.d.mts +17 -0
  117. package/dist/atom/TableAccordion/index.d.ts +17 -0
  118. package/dist/atom/TableAccordion/index.js +91 -0
  119. package/dist/atom/TableAccordion/index.mjs +9 -0
  120. package/dist/atom/TableToolbar/index.d.mts +23 -0
  121. package/dist/atom/TableToolbar/index.d.ts +23 -0
  122. package/dist/atom/TableToolbar/index.js +114 -0
  123. package/dist/atom/TableToolbar/index.mjs +9 -0
  124. package/dist/atom/Tag/Tag.d.mts +6 -0
  125. package/dist/atom/Tag/Tag.d.ts +6 -0
  126. package/dist/atom/Tag/Tag.js +108 -0
  127. package/dist/atom/Tag/Tag.mjs +9 -0
  128. package/dist/atom/Tooltip/Tooltip.d.mts +12 -0
  129. package/dist/atom/Tooltip/Tooltip.d.ts +12 -0
  130. package/dist/atom/Tooltip/Tooltip.js +97 -0
  131. package/dist/atom/Tooltip/Tooltip.mjs +9 -0
  132. package/dist/chunk-2EBPXGRY.mjs +65 -0
  133. package/dist/chunk-2PIFDGVK.mjs +420 -0
  134. package/dist/chunk-35KDS27M.mjs +618 -0
  135. package/dist/chunk-3S4X3YO2.mjs +64 -0
  136. package/dist/chunk-3XUHGVYA.mjs +77 -0
  137. package/dist/chunk-4JX54OKI.mjs +627 -0
  138. package/dist/chunk-4VZB2KR2.mjs +51 -0
  139. package/dist/chunk-5HF6Y37C.mjs +642 -0
  140. package/dist/chunk-5OGQ4YIR.mjs +238 -0
  141. package/dist/chunk-6FCSXN7R.mjs +388 -0
  142. package/dist/chunk-7W72LPSU.mjs +66 -0
  143. package/dist/chunk-A66QDQHK.mjs +627 -0
  144. package/dist/chunk-ABLIL47F.mjs +618 -0
  145. package/dist/chunk-AEPDEUGY.mjs +627 -0
  146. package/dist/chunk-AF2RKLH6.mjs +77 -0
  147. package/dist/chunk-AFLEGUF3.mjs +232 -0
  148. package/dist/chunk-APCEITHQ.mjs +232 -0
  149. package/dist/chunk-AVQBFGBT.mjs +141 -0
  150. package/dist/chunk-B5BOBELW.mjs +213 -0
  151. package/dist/chunk-BQ4PVLJ4.mjs +262 -0
  152. package/dist/chunk-D3N7VFER.mjs +73 -0
  153. package/dist/{chunk-OMYHSSPQ.mjs → chunk-DBNLBCQK.mjs} +5 -5
  154. package/dist/chunk-DLLT6V65.mjs +141 -0
  155. package/dist/chunk-DOQQRYTS.mjs +73 -0
  156. package/dist/chunk-DSVR2DVF.mjs +660 -0
  157. package/dist/chunk-DXUPULDI.mjs +424 -0
  158. package/dist/chunk-E465D6OH.mjs +644 -0
  159. package/dist/chunk-E4FCLHYA.mjs +678 -0
  160. package/dist/chunk-ENQN5BAN.mjs +225 -0
  161. package/dist/chunk-F6VMSH4N.mjs +79 -0
  162. package/dist/chunk-FKGGN3FA.mjs +412 -0
  163. package/dist/chunk-GFTO2N3Q.mjs +432 -0
  164. package/dist/chunk-GM6H6RPJ.mjs +232 -0
  165. package/dist/chunk-GU5F7Z7I.mjs +681 -0
  166. package/dist/chunk-HF3VJBMY.mjs +244 -0
  167. package/dist/{chunk-ME35H7QC.mjs → chunk-HISCHZ5H.mjs} +4 -4
  168. package/dist/chunk-HWQBE6PT.mjs +99 -0
  169. package/dist/chunk-HXM657YW.mjs +115 -0
  170. package/dist/chunk-I5VHKSQR.mjs +64 -0
  171. package/dist/chunk-ICSZZNTY.mjs +384 -0
  172. package/dist/chunk-IWO2Y5QX.mjs +89 -0
  173. package/dist/chunk-IZGLD7U3.mjs +667 -0
  174. package/dist/chunk-J7X2PZG6.mjs +232 -0
  175. package/dist/chunk-JUXBLRMQ.mjs +50 -0
  176. package/dist/chunk-JXFSGADI.mjs +678 -0
  177. package/dist/chunk-KGKRSR6D.mjs +388 -0
  178. package/dist/chunk-KQKNFGWZ.mjs +388 -0
  179. package/dist/chunk-LCH4DXJY.mjs +92 -0
  180. package/dist/chunk-LCXU3K57.mjs +232 -0
  181. package/dist/chunk-LRN4XOIR.mjs +71 -0
  182. package/dist/chunk-LROMXY35.mjs +116 -0
  183. package/dist/chunk-LUNPHYAR.mjs +681 -0
  184. package/dist/chunk-LVOTEPLC.mjs +64 -0
  185. package/dist/chunk-M2ZM3X5Y.mjs +56 -0
  186. package/dist/chunk-M4MIYHAV.mjs +43 -0
  187. package/dist/chunk-M7F7DOC4.mjs +41 -0
  188. package/dist/chunk-MHWFVML4.mjs +115 -0
  189. package/dist/chunk-MLCMZRUC.mjs +50 -0
  190. package/dist/chunk-MNARBWAJ.mjs +47 -0
  191. package/dist/chunk-MPTVYTYS.mjs +0 -0
  192. package/dist/chunk-MQFW3LZR.mjs +111 -0
  193. package/dist/chunk-N2WTNCQU.mjs +66 -0
  194. package/dist/chunk-N355RJGH.mjs +141 -0
  195. package/dist/chunk-N3YFQDW7.mjs +77 -0
  196. package/dist/chunk-N4DPPZVJ.mjs +269 -0
  197. package/dist/chunk-NGCBOOIE.mjs +225 -0
  198. package/dist/chunk-NWQQYJSP.mjs +688 -0
  199. package/dist/chunk-NYQV556V.mjs +667 -0
  200. package/dist/chunk-O5C3355V.mjs +246 -0
  201. package/dist/chunk-OCP43S7U.mjs +241 -0
  202. package/dist/chunk-OHLFRULE.mjs +432 -0
  203. package/dist/chunk-PLO46EKV.mjs +65 -0
  204. package/dist/chunk-PQ3B2FEB.mjs +249 -0
  205. package/dist/chunk-PSBEYGD4.mjs +618 -0
  206. package/dist/chunk-PWIBJI6Z.mjs +115 -0
  207. package/dist/chunk-Q5KPXEH5.mjs +223 -0
  208. package/dist/chunk-QC34HHAY.mjs +57 -0
  209. package/dist/chunk-QKTMWS4J.mjs +43 -0
  210. package/dist/chunk-QVWV36BK.mjs +73 -0
  211. package/dist/chunk-QWK3MYDM.mjs +64 -0
  212. package/dist/chunk-RE44YAMD.mjs +47 -0
  213. package/dist/chunk-RH6DAYBU.mjs +369 -0
  214. package/dist/chunk-RSSEJENT.mjs +269 -0
  215. package/dist/chunk-SJBS5QCJ.mjs +225 -0
  216. package/dist/chunk-SWRFCTJW.mjs +77 -0
  217. package/dist/chunk-T4XNCAIB.mjs +231 -0
  218. package/dist/chunk-TCX5IFQ4.mjs +627 -0
  219. package/dist/chunk-TSAUBT2F.mjs +74 -0
  220. package/dist/chunk-U7Q7ILSE.mjs +690 -0
  221. package/dist/chunk-UHTUJJH7.mjs +112 -0
  222. package/dist/chunk-UOHYCMUS.mjs +53 -0
  223. package/dist/chunk-UQJ3BDM4.mjs +141 -0
  224. package/dist/chunk-UQZBL3F7.mjs +0 -0
  225. package/dist/chunk-UQZNUEZE.mjs +64 -0
  226. package/dist/chunk-URGYNKJM.mjs +229 -0
  227. package/dist/chunk-UTMZY37A.mjs +141 -0
  228. package/dist/chunk-UUEPD2FH.mjs +141 -0
  229. package/dist/chunk-V3CHJHUX.mjs +424 -0
  230. package/dist/chunk-VQOUJQIF.mjs +249 -0
  231. package/dist/chunk-VY3QH43W.mjs +6 -0
  232. package/dist/chunk-W2N3AWY6.mjs +80 -0
  233. package/dist/chunk-WUVS6S7N.mjs +119 -0
  234. package/dist/chunk-WZS2K7X3.mjs +688 -0
  235. package/dist/chunk-X76GNSBB.mjs +87 -0
  236. package/dist/chunk-XG7CZXBW.mjs +244 -0
  237. package/dist/chunk-XXKIBYXD.mjs +109 -0
  238. package/dist/chunk-XXTUVMAY.mjs +51 -0
  239. package/dist/chunk-Y3BIY4DW.mjs +618 -0
  240. package/dist/chunk-Y7FP6ZMW.mjs +225 -0
  241. package/dist/chunk-YELLXCMY.mjs +265 -0
  242. package/dist/chunk-YQEEM26W.mjs +232 -0
  243. package/dist/chunk-ZGFE3OPJ.mjs +678 -0
  244. package/dist/chunk-ZMJ3KDDY.mjs +618 -0
  245. package/dist/chunk-ZTRM4HZJ.mjs +53 -0
  246. package/dist/chunk-ZYPWQ53U.mjs +6 -0
  247. package/dist/dist-U2IPN4FB.mjs +567 -0
  248. package/dist/index.d.mts +20 -2
  249. package/dist/index.d.ts +20 -2
  250. package/dist/index.js +2820 -13
  251. package/dist/index.mjs +59 -5
  252. package/dist/magic-string.es-XOWQCRDO.mjs +1311 -0
  253. package/dist/molecules/UserProfile/UserProfile.d.mts +23 -0
  254. package/dist/molecules/UserProfile/UserProfile.d.ts +23 -0
  255. package/dist/molecules/UserProfile/UserProfile.js +243 -0
  256. package/dist/molecules/UserProfile/UserProfile.mjs +11 -0
  257. package/dist/styles.css +1802 -1067
  258. package/dist/types-CA0Wby2L.d.mts +67 -0
  259. package/dist/types-CA0Wby2L.d.ts +67 -0
  260. package/dist/types-CncMmuJM.d.mts +44 -0
  261. package/dist/types-CncMmuJM.d.ts +44 -0
  262. package/dist/types-D4MD2w3_.d.mts +9 -0
  263. package/dist/types-D4MD2w3_.d.ts +9 -0
  264. package/dist/types-D4fdeMWQ.d.mts +62 -0
  265. package/dist/types-D4fdeMWQ.d.ts +62 -0
  266. package/dist/types-mhQmqhsR.d.mts +10 -0
  267. package/dist/types-mhQmqhsR.d.ts +10 -0
  268. package/package.json +10 -18
  269. /package/dist/{Button.d.mts → atom/Button/Button.d.mts} +0 -0
  270. /package/dist/{Button.d.ts → atom/Button/Button.d.ts} +0 -0
  271. /package/dist/{Checkbox.d.mts → atom/Checkbox/Checkbox.d.mts} +0 -0
  272. /package/dist/{Checkbox.d.ts → atom/Checkbox/Checkbox.d.ts} +0 -0
  273. /package/dist/{chunk-FUJQIYOF.mjs → chunk-FWCSY2DS.mjs} +0 -0
@@ -0,0 +1,225 @@
1
+ import {
2
+ __objRest,
3
+ __spreadProps,
4
+ __spreadValues
5
+ } from "./chunk-HWQBE6PT.mjs";
6
+
7
+ // src/atom/Table/Table.tsx
8
+ import * as React from "react";
9
+ import { Table as AntTable } from "antd";
10
+ import clsx from "clsx";
11
+
12
+ // src/atom/Table/Table.module.scss
13
+ var Table_module_default = { "tableWrapper": "Table-module__tableWrapper___3cqiD", "childVariant": "Table-module__childVariant___z8tqO", "table": "Table-module__table___5d7g0", "showHoverEffect": "Table-module__showHoverEffect___IyKyO", "columnHeader": "Table-module__columnHeader___Unr6d", "columnHeaderSortArea": "Table-module__columnHeaderSortArea___jrIYo", "columnHeaderLabel": "Table-module__columnHeaderLabel___A-mRu", "columnHeaderSortIcon": "Table-module__columnHeaderSortIcon___mWVZN", "columnHeaderSortIconActive": "Table-module__columnHeaderSortIconActive___wHAqC", "columnHeaderFilterWrapper": "Table-module__columnHeaderFilterWrapper___DnSve", "columnHeaderFilterBtn": "Table-module__columnHeaderFilterBtn___NR7DY", "columnHeaderFilterBtnActive": "Table-module__columnHeaderFilterBtnActive___JdO11", "columnHeaderFilterBadge": "Table-module__columnHeaderFilterBadge___-Q2T2", "columnHeaderFilterDropdown": "Table-module__columnHeaderFilterDropdown___M-fD4" };
14
+
15
+ // src/atom/Table/Table.tsx
16
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
17
+ function buildPagination(pagination) {
18
+ if (pagination === false || pagination === void 0) {
19
+ return false;
20
+ }
21
+ const defaults = {
22
+ showSizeChanger: true,
23
+ pageSizeOptions: [10, 25, 50],
24
+ showTotal: (total, range) => `${range[0]}\u2013${range[1]} of ${total} items`
25
+ };
26
+ if (pagination === true) {
27
+ return defaults;
28
+ }
29
+ return __spreadValues(__spreadValues({}, defaults), pagination);
30
+ }
31
+ function SortBothIcon() {
32
+ return /* @__PURE__ */ jsxs("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: [
33
+ /* @__PURE__ */ jsx("path", { d: "M3.5 7.5L6 10L8.5 7.5", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round" }),
34
+ /* @__PURE__ */ jsx("path", { d: "M3.5 4.5L6 2L8.5 4.5", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round" })
35
+ ] });
36
+ }
37
+ function SortAscIcon() {
38
+ return /* @__PURE__ */ jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M3.5 7.5L6 2L8.5 7.5", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round" }) });
39
+ }
40
+ function SortDescIcon() {
41
+ return /* @__PURE__ */ jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M3.5 4.5L6 10L8.5 4.5", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round" }) });
42
+ }
43
+ function FilterIcon() {
44
+ return /* @__PURE__ */ jsxs("svg", { width: "13", height: "11", viewBox: "0 0 13 11", fill: "none", "aria-hidden": "true", children: [
45
+ /* @__PURE__ */ jsx("path", { d: "M1 1H12", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round" }),
46
+ /* @__PURE__ */ jsx("path", { d: "M2.5 4.5H10.5", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round" }),
47
+ /* @__PURE__ */ jsx("path", { d: "M4.5 8H8.5", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round" })
48
+ ] });
49
+ }
50
+ function nextSortOrder(current) {
51
+ if (current === void 0) return "ascend";
52
+ if (current === "ascend") return "descend";
53
+ return void 0;
54
+ }
55
+ function ColumnHeader({
56
+ label,
57
+ sortable = false,
58
+ sortOrder,
59
+ onSortChange,
60
+ sortIcon,
61
+ filterCount = 0,
62
+ filterIcon,
63
+ filterContent
64
+ }) {
65
+ const [filterOpen, setFilterOpen] = React.useState(false);
66
+ const wrapperRef = React.useRef(null);
67
+ const filterActive = filterCount > 0;
68
+ const hasFilter = filterContent !== void 0;
69
+ React.useEffect(() => {
70
+ if (!filterOpen) return;
71
+ const onOutside = (e) => {
72
+ if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
73
+ setFilterOpen(false);
74
+ }
75
+ };
76
+ document.addEventListener("mousedown", onOutside);
77
+ return () => document.removeEventListener("mousedown", onOutside);
78
+ }, [filterOpen]);
79
+ return /* @__PURE__ */ jsxs("div", { className: Table_module_default.columnHeader, ref: wrapperRef, children: [
80
+ sortable ? /* @__PURE__ */ jsxs(
81
+ "button",
82
+ {
83
+ type: "button",
84
+ className: Table_module_default.columnHeaderSortArea,
85
+ onClick: () => onSortChange == null ? void 0 : onSortChange(nextSortOrder(sortOrder)),
86
+ "aria-label": typeof label === "string" ? `Sort by ${label}` : "Sort",
87
+ children: [
88
+ /* @__PURE__ */ jsx("span", { className: Table_module_default.columnHeaderLabel, children: label }),
89
+ /* @__PURE__ */ jsx(
90
+ "span",
91
+ {
92
+ className: clsx(Table_module_default.columnHeaderSortIcon, {
93
+ [Table_module_default.columnHeaderSortIconActive]: sortOrder !== void 0
94
+ }),
95
+ children: sortIcon != null ? sortIcon : /* @__PURE__ */ jsxs(Fragment, { children: [
96
+ sortOrder === "ascend" && /* @__PURE__ */ jsx(SortAscIcon, {}),
97
+ sortOrder === "descend" && /* @__PURE__ */ jsx(SortDescIcon, {}),
98
+ sortOrder === void 0 && /* @__PURE__ */ jsx(SortBothIcon, {})
99
+ ] })
100
+ }
101
+ )
102
+ ]
103
+ }
104
+ ) : /* @__PURE__ */ jsx("span", { className: Table_module_default.columnHeaderLabel, children: label }),
105
+ hasFilter && /* @__PURE__ */ jsxs("div", { className: Table_module_default.columnHeaderFilterWrapper, children: [
106
+ /* @__PURE__ */ jsxs(
107
+ "button",
108
+ {
109
+ type: "button",
110
+ className: clsx(Table_module_default.columnHeaderFilterBtn, {
111
+ [Table_module_default.columnHeaderFilterBtnActive]: filterActive
112
+ }),
113
+ onClick: () => setFilterOpen((v) => !v),
114
+ "aria-label": typeof label === "string" ? `Filter ${label}` : "Filter",
115
+ "aria-expanded": filterOpen,
116
+ "aria-haspopup": "dialog",
117
+ children: [
118
+ filterIcon != null ? filterIcon : /* @__PURE__ */ jsx(FilterIcon, {}),
119
+ filterActive && /* @__PURE__ */ jsx("span", { className: Table_module_default.columnHeaderFilterBadge, children: filterCount })
120
+ ]
121
+ }
122
+ ),
123
+ filterOpen && /* @__PURE__ */ jsx("div", { className: Table_module_default.columnHeaderFilterDropdown, role: "dialog", children: filterContent })
124
+ ] })
125
+ ] });
126
+ }
127
+ function processColumns(columns) {
128
+ if (!columns) return void 0;
129
+ return columns.map((col) => {
130
+ const _a = col, { headerProps, title } = _a, rest = __objRest(_a, ["headerProps", "title"]);
131
+ if (!headerProps) return __spreadValues({ title }, rest);
132
+ return __spreadProps(__spreadValues({}, rest), {
133
+ title: /* @__PURE__ */ jsx(ColumnHeader, __spreadValues({ label: title }, headerProps))
134
+ });
135
+ });
136
+ }
137
+ function Table(props) {
138
+ const _a = props, {
139
+ size = "middle",
140
+ variant = "default",
141
+ className = "",
142
+ analytics: _analytics,
143
+ pagination,
144
+ columns,
145
+ rowSelection,
146
+ rowKey = "key",
147
+ onRow,
148
+ dataSource
149
+ } = _a, rest = __objRest(_a, [
150
+ "size",
151
+ "variant",
152
+ "className",
153
+ "analytics",
154
+ "pagination",
155
+ "columns",
156
+ "rowSelection",
157
+ "rowKey",
158
+ "onRow",
159
+ "dataSource"
160
+ ]);
161
+ const isChildVariant = variant === "accordion-child" || variant === "toolbar-child";
162
+ const resolvedPagination = buildPagination(pagination);
163
+ const processedColumns = React.useMemo(
164
+ () => processColumns(columns),
165
+ // eslint-disable-next-line react-hooks/exhaustive-deps
166
+ [columns]
167
+ );
168
+ const resolvedOnRow = React.useMemo(() => {
169
+ const onChange = rowSelection == null ? void 0 : rowSelection.onChange;
170
+ if (variant !== "selectable" || !onChange) return onRow;
171
+ return (record, index) => {
172
+ var _a2;
173
+ const base = (_a2 = onRow == null ? void 0 : onRow(record, index)) != null ? _a2 : {};
174
+ const getKey = (r, i) => typeof rowKey === "function" ? rowKey(r, i) : r[rowKey];
175
+ return __spreadProps(__spreadValues({}, base), {
176
+ style: __spreadValues({ cursor: "pointer" }, base.style),
177
+ onClick: (e) => {
178
+ var _a3, _b;
179
+ (_a3 = base.onClick) == null ? void 0 : _a3.call(base, e);
180
+ const key = getKey(record, index);
181
+ const current = (_b = rowSelection.selectedRowKeys) != null ? _b : [];
182
+ const isSelected = current.some((k) => k === key);
183
+ const newKeys = isSelected ? current.filter((k) => k !== key) : [...current, key];
184
+ const newRows = (dataSource != null ? dataSource : []).filter(
185
+ (r) => newKeys.some((k) => k === getKey(r))
186
+ );
187
+ onChange(newKeys, newRows, { type: "single" });
188
+ }
189
+ });
190
+ };
191
+ }, [variant, rowSelection, rowKey, onRow, dataSource]);
192
+ return /* @__PURE__ */ jsx(
193
+ "div",
194
+ {
195
+ className: clsx(
196
+ Table_module_default.tableWrapper,
197
+ { [Table_module_default.childVariant]: isChildVariant },
198
+ { [Table_module_default.showHoverEffect]: variant === "hover" || variant === "selectable" },
199
+ `variant_${variant}`,
200
+ className
201
+ ),
202
+ "data-testid": "lumina-table",
203
+ children: /* @__PURE__ */ jsx(
204
+ AntTable,
205
+ __spreadValues({
206
+ className: Table_module_default.table,
207
+ size,
208
+ pagination: resolvedPagination,
209
+ columns: processedColumns,
210
+ rowSelection,
211
+ rowKey,
212
+ onRow: resolvedOnRow,
213
+ dataSource
214
+ }, rest)
215
+ )
216
+ }
217
+ );
218
+ }
219
+ Table.displayName = "Table";
220
+ var Table_default = Table;
221
+
222
+ export {
223
+ Table,
224
+ Table_default
225
+ };
@@ -0,0 +1,265 @@
1
+ import {
2
+ Chevron
3
+ } from "./chunk-UOHYCMUS.mjs";
4
+
5
+ // src/atom/AdvancedDateRangePicker/InternalCalendar.tsx
6
+ import { memo, useEffect, useRef, useState } from "react";
7
+ import dayjs from "dayjs";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var InternalCalendar = ({
10
+ id = "",
11
+ onChange = () => {
12
+ },
13
+ dateRange = ["", ""],
14
+ showSingleCalendar: showSingleCalendarProp = false,
15
+ disablePastDates = false,
16
+ minDate = null,
17
+ maxDate = null,
18
+ minYear = 1900,
19
+ maxYear = (/* @__PURE__ */ new Date()).getFullYear() + 10,
20
+ allowSameDates = false
21
+ }) => {
22
+ const onChangeRef = useRef(onChange);
23
+ useEffect(() => {
24
+ onChangeRef.current = onChange;
25
+ }, [onChange]);
26
+ const getInitialDate = () => {
27
+ const today2 = /* @__PURE__ */ new Date();
28
+ today2.setHours(0, 0, 0, 0);
29
+ if (dateRange[0]) return new Date(dateRange[0]);
30
+ if (today2.getFullYear() >= minYear && today2.getFullYear() <= maxYear) {
31
+ return today2;
32
+ }
33
+ if (minDate) {
34
+ const minDateTime = new Date(minDate);
35
+ minDateTime.setHours(0, 0, 0, 0);
36
+ return minDateTime;
37
+ }
38
+ return today2;
39
+ };
40
+ const [currentDate, setCurrentDate] = useState(() => getInitialDate());
41
+ const [startDate, setStartDate] = useState(
42
+ dateRange[0] ? new Date(dateRange[0]) : null
43
+ );
44
+ const [endDate, setEndDate] = useState(
45
+ dateRange[0] && dateRange[1] ? new Date(dateRange[1]) : null
46
+ );
47
+ const [hoverDate, setHoverDate] = useState(null);
48
+ const [isSelectingEnd, setIsSelectingEnd] = useState(
49
+ dateRange[0] && !dateRange[1] ? true : false
50
+ );
51
+ const [isMobile, setIsMobile] = useState(false);
52
+ useEffect(() => {
53
+ const checkMobile = () => {
54
+ setIsMobile(window.innerWidth < 1024);
55
+ };
56
+ checkMobile();
57
+ window.addEventListener("resize", checkMobile);
58
+ return () => window.removeEventListener("resize", checkMobile);
59
+ }, []);
60
+ const showSingle = showSingleCalendarProp || isMobile;
61
+ useEffect(() => {
62
+ const nextStart = dateRange[0] ? new Date(dateRange[0]) : null;
63
+ const nextEnd = dateRange[1] ? new Date(dateRange[1]) : null;
64
+ setStartDate(nextStart);
65
+ setEndDate(nextEnd);
66
+ if (nextStart) {
67
+ const startMonth = nextStart.getFullYear() * 12 + nextStart.getMonth();
68
+ const currentViewMonth = currentDate.getFullYear() * 12 + currentDate.getMonth();
69
+ const isVisibleInFirst = startMonth === currentViewMonth;
70
+ const isVisibleInSecond = !showSingle && startMonth === currentViewMonth + 1;
71
+ if (!isVisibleInFirst && !isVisibleInSecond) {
72
+ setCurrentDate(new Date(nextStart.getFullYear(), nextStart.getMonth(), 1));
73
+ }
74
+ }
75
+ }, [dateRange, showSingle, currentDate]);
76
+ const today = /* @__PURE__ */ new Date();
77
+ today.setHours(0, 0, 0, 0);
78
+ const firstMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);
79
+ const secondMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 1);
80
+ const monthNames = [
81
+ "January",
82
+ "February",
83
+ "March",
84
+ "April",
85
+ "May",
86
+ "June",
87
+ "July",
88
+ "August",
89
+ "September",
90
+ "October",
91
+ "November",
92
+ "December"
93
+ ];
94
+ const dayNames = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
95
+ const generateCalendarDays = (monthDate) => {
96
+ const year = monthDate.getFullYear();
97
+ const month = monthDate.getMonth();
98
+ const firstDay = new Date(year, month, 1);
99
+ const lastDay = new Date(year, month + 1, 0);
100
+ const daysInMonth = lastDay.getDate();
101
+ const startingDayOfWeek = firstDay.getDay();
102
+ const days = [];
103
+ for (let i = 0; i < startingDayOfWeek; i++) days.push(null);
104
+ for (let day = 1; day <= daysInMonth; day++) days.push(new Date(year, month, day));
105
+ return days;
106
+ };
107
+ const isSameDate = (d1, d2) => {
108
+ if (!d1 || !d2) return false;
109
+ return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate();
110
+ };
111
+ const isDateDisabled = (date) => {
112
+ if (!date) return false;
113
+ const checkDate = new Date(date);
114
+ checkDate.setHours(0, 0, 0, 0);
115
+ if (disablePastDates && checkDate < today) return true;
116
+ if (minDate) {
117
+ const m = new Date(minDate);
118
+ m.setHours(0, 0, 0, 0);
119
+ if (checkDate < m) return true;
120
+ }
121
+ if (maxDate) {
122
+ const m = new Date(maxDate);
123
+ m.setHours(0, 0, 0, 0);
124
+ if (checkDate > m) return true;
125
+ }
126
+ return false;
127
+ };
128
+ const isDateBetweenRange = (date) => {
129
+ if (!startDate || !date) return false;
130
+ const comp = endDate || hoverDate;
131
+ if (!comp) return false;
132
+ const s = startDate < comp ? startDate : comp;
133
+ const e = startDate < comp ? comp : startDate;
134
+ return date > s && date < e;
135
+ };
136
+ const isDateInRange = (date) => {
137
+ if (!startDate || !date) return false;
138
+ const comp = endDate || hoverDate;
139
+ if (!comp) return false;
140
+ const s = startDate < comp ? startDate : comp;
141
+ const e = startDate < comp ? comp : startDate;
142
+ return date >= s && date <= e;
143
+ };
144
+ const handleDateClick = (date) => {
145
+ if (isDateDisabled(date)) return;
146
+ let nextStart = startDate;
147
+ let nextEnd = endDate;
148
+ const isSame = startDate && dayjs(date).isSame(startDate, "day");
149
+ if (!allowSameDates && isSame) {
150
+ setStartDate(null);
151
+ setEndDate(null);
152
+ setIsSelectingEnd(false);
153
+ onChangeRef.current(["", ""]);
154
+ return;
155
+ }
156
+ if (!startDate || startDate && endDate) {
157
+ nextStart = date;
158
+ nextEnd = null;
159
+ setStartDate(nextStart);
160
+ setEndDate(nextEnd);
161
+ setIsSelectingEnd(true);
162
+ } else {
163
+ if (date < startDate) {
164
+ nextEnd = startDate;
165
+ nextStart = date;
166
+ } else {
167
+ nextEnd = date;
168
+ }
169
+ setStartDate(nextStart);
170
+ setEndDate(nextEnd);
171
+ setIsSelectingEnd(false);
172
+ }
173
+ onChangeRef.current([
174
+ nextStart ? dayjs(nextStart).format("D MMM, YYYY") : "",
175
+ nextEnd ? dayjs(nextEnd).format("D MMM, YYYY") : ""
176
+ ]);
177
+ };
178
+ const handleDateHover = (date) => {
179
+ if (isDateDisabled(date)) return;
180
+ if (isSelectingEnd && startDate && !endDate) setHoverDate(date);
181
+ };
182
+ const navigateMonth = (direction) => {
183
+ const newDate = new Date(currentDate);
184
+ newDate.setMonth(currentDate.getMonth() + direction);
185
+ setCurrentDate(newDate);
186
+ };
187
+ const renderCalendar = (monthDate) => {
188
+ const days = generateCalendarDays(monthDate);
189
+ const monthName = monthNames[monthDate.getMonth()];
190
+ const year = monthDate.getFullYear();
191
+ return /* @__PURE__ */ jsxs("div", { className: "tw-flex-1 tw-mb-2", children: [
192
+ /* @__PURE__ */ jsx("div", { className: "tw-text-center tw-mb-4", children: /* @__PURE__ */ jsxs("h3", { className: "tw-typography-footNoteBold tw-text-gray-900 tw-m-0", children: [
193
+ monthName,
194
+ " ",
195
+ year
196
+ ] }) }),
197
+ /* @__PURE__ */ jsx("div", { className: "tw-grid tw-grid-cols-7 tw-mb-2", children: dayNames.map((day) => /* @__PURE__ */ jsx("div", { className: "tw-py-2 tw-text-center tw-typography-caption2 tw-text-gray-500", children: day }, day)) }),
198
+ /* @__PURE__ */ jsx("div", { className: "tw-grid tw-grid-cols-7", children: days.map((date, index) => {
199
+ if (!date) return /* @__PURE__ */ jsx("div", { className: "tw-h-10" }, index);
200
+ const isStart = isSameDate(date, startDate);
201
+ const isEnd = isSameDate(date, endDate);
202
+ const isInRange = isDateBetweenRange(date);
203
+ const isSelected = isDateInRange(date);
204
+ const isDisabled = isDateDisabled(date);
205
+ const isHovering = isSelectingEnd && hoverDate && isSameDate(date, hoverDate);
206
+ let cellClasses = "tw-relative tw-z-20 tw-h-10 tw-w-10 tw-flex tw-items-center tw-justify-center tw-typography-caption1Bold tw-cursor-pointer tw-transition-all ";
207
+ if (isDisabled) {
208
+ cellClasses += "tw-text-gray-300 tw-cursor-not-allowed ";
209
+ } else if (isStart || isEnd) {
210
+ cellClasses += "tw-bg-black tw-text-white tw-rounded-full ";
211
+ } else if (isInRange) {
212
+ cellClasses += "tw-text-gray-900 ";
213
+ } else {
214
+ cellClasses += "tw-text-gray-700 hover:tw-bg-gray-100 tw-rounded-full ";
215
+ }
216
+ if (isHovering && !isEnd) {
217
+ cellClasses += "tw-border-2 tw-border-gray-400 tw-border-dashed ";
218
+ }
219
+ return /* @__PURE__ */ jsxs("div", { className: "tw-relative tw-flex tw-justify-center", children: [
220
+ isInRange && /* @__PURE__ */ jsx("div", { className: "tw-absolute tw-inset-y-1 tw-inset-x-0 tw-bg-[#f2efec] tw-z-10" }),
221
+ isStart && endDate && !isSameDate(startDate, endDate) && /* @__PURE__ */ jsx("div", { className: "tw-absolute tw-inset-y-1 tw-right-0 tw-left-1/2 tw-bg-[#f2efec] tw-z-10" }),
222
+ isEnd && startDate && !isSameDate(startDate, endDate) && /* @__PURE__ */ jsx("div", { className: "tw-absolute tw-inset-y-1 tw-left-0 tw-right-1/2 tw-bg-[#f2efec] tw-z-10" }),
223
+ /* @__PURE__ */ jsx(
224
+ "div",
225
+ {
226
+ className: cellClasses,
227
+ onClick: () => handleDateClick(date),
228
+ onMouseEnter: () => handleDateHover(date),
229
+ children: date.getDate()
230
+ }
231
+ )
232
+ ] }, date.toISOString());
233
+ }) })
234
+ ] });
235
+ };
236
+ return /* @__PURE__ */ jsxs("div", { className: "tw-relative tw-bg-white tw-w-full", children: [
237
+ /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-items-center tw-justify-between tw-absolute tw-inset-x-0 tw-top-0 tw-z-30 tw-px-4", children: [
238
+ /* @__PURE__ */ jsx(
239
+ "div",
240
+ {
241
+ className: "tw-cursor-pointer tw-p-2 tw-rounded-full hover:tw-bg-gray-100",
242
+ onClick: () => navigateMonth(-1),
243
+ children: /* @__PURE__ */ jsx(Chevron, { size: "medium" })
244
+ }
245
+ ),
246
+ /* @__PURE__ */ jsx(
247
+ "div",
248
+ {
249
+ className: "tw-cursor-pointer tw-p-2 tw-rounded-full hover:tw-bg-gray-100",
250
+ onClick: () => navigateMonth(1),
251
+ children: /* @__PURE__ */ jsx(Chevron, { size: "medium", className: "tw-rotate-180" })
252
+ }
253
+ )
254
+ ] }),
255
+ /* @__PURE__ */ jsxs("div", { className: "tw-flex tw-gap-8 tw-pt-2", children: [
256
+ renderCalendar(firstMonth),
257
+ !showSingle && renderCalendar(secondMonth)
258
+ ] })
259
+ ] });
260
+ };
261
+ var InternalCalendar_default = memo(InternalCalendar);
262
+
263
+ export {
264
+ InternalCalendar_default
265
+ };