@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,249 +0,0 @@
1
- import {
2
- __objRest,
3
- __spreadProps,
4
- __spreadValues
5
- } from "./chunk-FWCSY2DS.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", "isAccordion": "Table-module__isAccordion___-uIs6", "isToolbar": "Table-module__isToolbar___LdS-m", "table": "Table-module__table___5d7g0", "firstRow": "Table-module__firstRow___Xq-Hi", "lastRow": "Table-module__lastRow___ahv4g", "showHoverEffect": "Table-module__showHoverEffect___IyKyO", "columnHeader": "Table-module__columnHeader___Unr6d", "columnHeaderLeft": "Table-module__columnHeaderLeft___mp7pK", "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 { jsx, jsxs } from "react/jsx-runtime";
17
- function buildPagination(pagination, overrides = {}) {
18
- var _a, _b, _c, _d;
19
- if (pagination === false) {
20
- return false;
21
- }
22
- const defaults = {
23
- showSizeChanger: true,
24
- pageSizeOptions: ["10", "25", "50"],
25
- locale: { items_per_page: "" },
26
- // Removes "/ page" text
27
- showTotal: (total, range) => `${range[0]}\u2013${range[1]} of ${total} items`
28
- };
29
- const baseConfig = pagination === true || pagination === void 0 ? defaults : __spreadValues(__spreadValues({}, defaults), pagination);
30
- return __spreadProps(__spreadValues({}, baseConfig), {
31
- total: (_a = overrides.total) != null ? _a : baseConfig.total,
32
- current: (_b = overrides.current) != null ? _b : baseConfig.current,
33
- pageSize: (_c = overrides.pageSize) != null ? _c : baseConfig.pageSize,
34
- onChange: (_d = overrides.onChange) != null ? _d : baseConfig.onChange
35
- });
36
- }
37
- function nextSortOrder(current) {
38
- if (current === void 0) return "ascend";
39
- if (current === "ascend") return "descend";
40
- return void 0;
41
- }
42
- function ColumnHeader({
43
- label,
44
- sortable = false,
45
- sortOrder,
46
- onSortChange,
47
- sortIcon,
48
- filterCount = 0,
49
- filterIcon,
50
- filterContent,
51
- className = ""
52
- }) {
53
- const [filterOpen, setFilterOpen] = React.useState(false);
54
- const wrapperRef = React.useRef(null);
55
- const filterActive = filterCount > 0;
56
- const hasFilter = filterContent !== void 0 && filterIcon !== void 0;
57
- const hasSort = sortable && sortIcon !== void 0;
58
- React.useEffect(() => {
59
- if (!filterOpen) return;
60
- const onOutside = (e) => {
61
- if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
62
- setFilterOpen(false);
63
- }
64
- };
65
- document.addEventListener("mousedown", onOutside);
66
- return () => document.removeEventListener("mousedown", onOutside);
67
- }, [filterOpen]);
68
- return /* @__PURE__ */ jsxs("div", { className: Table_module_default.columnHeader, ref: wrapperRef, children: [
69
- /* @__PURE__ */ jsx("div", { className: Table_module_default.columnHeaderLeft, children: hasSort ? /* @__PURE__ */ jsxs(
70
- "button",
71
- {
72
- type: "button",
73
- className: Table_module_default.columnHeaderSortArea,
74
- onClick: () => onSortChange == null ? void 0 : onSortChange(nextSortOrder(sortOrder)),
75
- "aria-label": typeof label === "string" ? `Sort by ${label}` : "Sort",
76
- children: [
77
- /* @__PURE__ */ jsx("span", { className: clsx(Table_module_default.columnHeaderLabel, "tw-typography-caption2Bold tw-text-color-text-weak", className), children: label }),
78
- /* @__PURE__ */ jsx(
79
- "span",
80
- {
81
- className: clsx(Table_module_default.columnHeaderSortIcon, {
82
- [Table_module_default.columnHeaderSortIconActive]: sortOrder !== void 0
83
- }),
84
- children: sortIcon
85
- }
86
- )
87
- ]
88
- }
89
- ) : /* @__PURE__ */ jsx("span", { className: clsx(Table_module_default.columnHeaderLabel, "tw-typography-caption2Bold tw-text-color-text-weak", className), children: label }) }),
90
- hasFilter && /* @__PURE__ */ jsxs("div", { className: Table_module_default.columnHeaderFilterWrapper, children: [
91
- /* @__PURE__ */ jsxs(
92
- "button",
93
- {
94
- type: "button",
95
- className: clsx(Table_module_default.columnHeaderFilterBtn, {
96
- [Table_module_default.columnHeaderFilterBtnActive]: filterActive
97
- }),
98
- onClick: () => setFilterOpen((v) => !v),
99
- "aria-label": typeof label === "string" ? `Filter ${label}` : "Filter",
100
- "aria-expanded": filterOpen,
101
- "aria-haspopup": "dialog",
102
- children: [
103
- filterIcon,
104
- filterActive && /* @__PURE__ */ jsx("span", { className: Table_module_default.columnHeaderFilterBadge, children: filterCount })
105
- ]
106
- }
107
- ),
108
- filterOpen && /* @__PURE__ */ jsx("div", { className: Table_module_default.columnHeaderFilterDropdown, role: "dialog", children: filterContent })
109
- ] })
110
- ] });
111
- }
112
- function processColumns(columns) {
113
- if (!columns) return void 0;
114
- return columns.map((col) => {
115
- const _a = col, { headerProps, title } = _a, rest = __objRest(_a, ["headerProps", "title"]);
116
- if (!headerProps) return __spreadValues({ title }, rest);
117
- return __spreadProps(__spreadValues({}, rest), {
118
- title: /* @__PURE__ */ jsx(ColumnHeader, __spreadValues({ label: title }, headerProps))
119
- });
120
- });
121
- }
122
- function Table(props) {
123
- const _a = props, {
124
- size = "middle",
125
- variant = "default",
126
- isAccordion = false,
127
- isToolbar = false,
128
- className = "",
129
- pagination,
130
- loading,
131
- total,
132
- current,
133
- pageSize,
134
- onPaginationChange,
135
- columns,
136
- rowSelection,
137
- rowKey = "key",
138
- onRow,
139
- dataSource,
140
- emptyState,
141
- hideHeader,
142
- loadingIndicator,
143
- style
144
- } = _a, rest = __objRest(_a, [
145
- "size",
146
- "variant",
147
- "isAccordion",
148
- "isToolbar",
149
- "className",
150
- "pagination",
151
- "loading",
152
- "total",
153
- "current",
154
- "pageSize",
155
- "onPaginationChange",
156
- "columns",
157
- "rowSelection",
158
- "rowKey",
159
- "onRow",
160
- "dataSource",
161
- "emptyState",
162
- "hideHeader",
163
- "loadingIndicator",
164
- "style"
165
- ]);
166
- const isChildVariant = isAccordion || isToolbar;
167
- const resolvedPagination = buildPagination(pagination, {
168
- total,
169
- current,
170
- pageSize,
171
- onChange: onPaginationChange
172
- });
173
- const processedColumns = React.useMemo(
174
- () => processColumns(columns),
175
- // eslint-disable-next-line react-hooks/exhaustive-deps
176
- [columns]
177
- );
178
- const resolvedOnRow = React.useMemo(() => {
179
- const onChange = rowSelection == null ? void 0 : rowSelection.onChange;
180
- if (variant !== "selectable" || !onChange) return onRow;
181
- return (record, index) => {
182
- var _a2;
183
- const base = (_a2 = onRow == null ? void 0 : onRow(record, index)) != null ? _a2 : {};
184
- const getKey = (r, i) => typeof rowKey === "function" ? rowKey(r, i) : r[rowKey];
185
- return __spreadProps(__spreadValues({}, base), {
186
- style: __spreadValues({ cursor: "pointer" }, base.style),
187
- onClick: (e) => {
188
- var _a3, _b;
189
- (_a3 = base.onClick) == null ? void 0 : _a3.call(base, e);
190
- const key = getKey(record, index);
191
- const current2 = (_b = rowSelection.selectedRowKeys) != null ? _b : [];
192
- const isSelected = current2.some((k) => k === key);
193
- const newKeys = isSelected ? current2.filter((k) => k !== key) : [...current2, key];
194
- const newRows = (dataSource != null ? dataSource : []).filter(
195
- (r) => newKeys.some((k) => k === getKey(r))
196
- );
197
- onChange(newKeys, newRows, { type: "single" });
198
- }
199
- });
200
- };
201
- }, [variant, rowSelection, rowKey, onRow, dataSource]);
202
- return /* @__PURE__ */ jsx(
203
- "div",
204
- {
205
- className: clsx(
206
- Table_module_default.tableWrapper,
207
- Table_module_default.showHoverEffect,
208
- { [Table_module_default.isAccordion]: isAccordion },
209
- { [Table_module_default.isToolbar]: isToolbar },
210
- className
211
- ),
212
- style,
213
- "data-testid": "lumina-table",
214
- children: /* @__PURE__ */ jsx(
215
- AntTable,
216
- __spreadProps(__spreadValues({
217
- className: Table_module_default.table,
218
- size,
219
- pagination: resolvedPagination,
220
- columns: processedColumns,
221
- rowSelection,
222
- rowKey,
223
- onRow: resolvedOnRow,
224
- dataSource,
225
- showHeader: !hideHeader,
226
- locale: {
227
- emptyText: loading ? " " : emptyState
228
- }
229
- }, rest), {
230
- loading: loadingIndicator ? { spinning: !!loading, indicator: loadingIndicator } : loading,
231
- rowClassName: (_, index) => {
232
- var _a2;
233
- return clsx({
234
- [Table_module_default.firstRow]: index === 0,
235
- [Table_module_default.lastRow]: index === ((_a2 = dataSource == null ? void 0 : dataSource.length) != null ? _a2 : 0) - 1
236
- });
237
- }
238
- })
239
- )
240
- }
241
- );
242
- }
243
- Table.displayName = "Table";
244
- var Table_default = Table;
245
-
246
- export {
247
- Table,
248
- Table_default
249
- };
@@ -1,6 +0,0 @@
1
- // src/atom/Table/Table.module.scss
2
- 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" };
3
-
4
- export {
5
- Table_module_default
6
- };
@@ -1,80 +0,0 @@
1
- // src/atom/TableToolbar/index.tsx
2
- import * as React from "react";
3
- import clsx from "clsx";
4
-
5
- // src/atom/TableToolbar/TableToolbar.module.scss
6
- var TableToolbar_module_default = { "toolbarWrapper": "TableToolbar-module__toolbarWrapper___gMA4G", "topRow": "TableToolbar-module__topRow___fbhSu", "searchInputWrapper": "TableToolbar-module__searchInputWrapper___ymI3E", "searchIcon": "TableToolbar-module__searchIcon___b6Czq", "searchInput": "TableToolbar-module__searchInput___EJDfa", "editColumnsBtn": "TableToolbar-module__editColumnsBtn___ed--8", "filterRow": "TableToolbar-module__filterRow___-oQV7", "addFilterBtn": "TableToolbar-module__addFilterBtn___-ZJ3M", "tableSlot": "TableToolbar-module__tableSlot___OxBU1" };
7
-
8
- // src/atom/TableToolbar/index.tsx
9
- import { jsx, jsxs } from "react/jsx-runtime";
10
- function TableToolbar({
11
- searchPlaceholder = "Search...",
12
- onSearch,
13
- editColumnsLabel = "Edit Columns",
14
- onEditColumns,
15
- addFilterLabel = "+ Add filter",
16
- onAddFilter,
17
- className,
18
- children
19
- }) {
20
- const [searchValue, setSearchValue] = React.useState("");
21
- const handleSearchChange = (e) => {
22
- setSearchValue(e.target.value);
23
- onSearch == null ? void 0 : onSearch(e.target.value);
24
- };
25
- return /* @__PURE__ */ jsxs("div", { className: clsx(TableToolbar_module_default.toolbarWrapper, className), "data-testid": "lumina-table-toolbar", children: [
26
- /* @__PURE__ */ jsxs("div", { className: TableToolbar_module_default.topRow, children: [
27
- /* @__PURE__ */ jsxs("div", { className: TableToolbar_module_default.searchInputWrapper, children: [
28
- /* @__PURE__ */ jsx("span", { className: TableToolbar_module_default.searchIcon, "aria-hidden": "true", children: /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
29
- /* @__PURE__ */ jsx("circle", { cx: "7", cy: "7", r: "4.5", stroke: "#9CA3AF", strokeWidth: "1.5" }),
30
- /* @__PURE__ */ jsx("path", { d: "M10.5 10.5L13.5 13.5", stroke: "#9CA3AF", strokeWidth: "1.5", strokeLinecap: "round" })
31
- ] }) }),
32
- /* @__PURE__ */ jsx(
33
- "input",
34
- {
35
- className: TableToolbar_module_default.searchInput,
36
- type: "text",
37
- placeholder: searchPlaceholder,
38
- value: searchValue,
39
- onChange: handleSearchChange,
40
- "aria-label": "Search"
41
- }
42
- )
43
- ] }),
44
- /* @__PURE__ */ jsxs(
45
- "button",
46
- {
47
- className: TableToolbar_module_default.editColumnsBtn,
48
- onClick: onEditColumns,
49
- type: "button",
50
- "data-testid": "edit-columns-btn",
51
- children: [
52
- /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
53
- /* @__PURE__ */ jsx("rect", { x: "2", y: "3", width: "3", height: "10", rx: "1", stroke: "#374151", strokeWidth: "1.25" }),
54
- /* @__PURE__ */ jsx("rect", { x: "6.5", y: "3", width: "3", height: "10", rx: "1", stroke: "#374151", strokeWidth: "1.25" }),
55
- /* @__PURE__ */ jsx("rect", { x: "11", y: "3", width: "3", height: "10", rx: "1", stroke: "#374151", strokeWidth: "1.25" })
56
- ] }),
57
- editColumnsLabel
58
- ]
59
- }
60
- )
61
- ] }),
62
- /* @__PURE__ */ jsx("div", { className: TableToolbar_module_default.filterRow, children: /* @__PURE__ */ jsx(
63
- "button",
64
- {
65
- className: TableToolbar_module_default.addFilterBtn,
66
- onClick: onAddFilter,
67
- type: "button",
68
- "data-testid": "add-filter-btn",
69
- children: addFilterLabel
70
- }
71
- ) }),
72
- /* @__PURE__ */ jsx("div", { className: TableToolbar_module_default.tableSlot, children })
73
- ] });
74
- }
75
- var TableToolbar_default = TableToolbar;
76
-
77
- export {
78
- TableToolbar,
79
- TableToolbar_default
80
- };
@@ -1,119 +0,0 @@
1
- // src/atom/Table/LuminaPagination.tsx
2
- import clsx from "clsx";
3
-
4
- // src/atom/Table/LuminaPagination.module.scss
5
- var LuminaPagination_module_default = { "paginationBar": "LuminaPagination-module__paginationBar___RD-LQ", "rowsPerPage": "LuminaPagination-module__rowsPerPage___wziAf", "rowsLabel": "LuminaPagination-module__rowsLabel___jmJoT", "pageSizeSelectWrapper": "LuminaPagination-module__pageSizeSelectWrapper___ZvJtE", "pageSizeSelect": "LuminaPagination-module__pageSizeSelect___LH1Fq", "selectChevron": "LuminaPagination-module__selectChevron___-IHgm", "itemRange": "LuminaPagination-module__itemRange___O04k7", "pageButtons": "LuminaPagination-module__pageButtons___0S2om", "pageBtn": "LuminaPagination-module__pageBtn___zJcg-", "activePage": "LuminaPagination-module__activePage___HCrmx", "ellipsis": "LuminaPagination-module__ellipsis___AmnuL" };
6
-
7
- // src/atom/Table/LuminaPagination.tsx
8
- import { jsx, jsxs } from "react/jsx-runtime";
9
- var DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50];
10
- function getPageNumbers(page, totalPages) {
11
- if (totalPages <= 7) {
12
- return Array.from({ length: totalPages }, (_, i) => i + 1);
13
- }
14
- const pages = [1];
15
- if (page > 3) {
16
- pages.push("ellipsis-start");
17
- }
18
- const start = Math.max(2, page - 1);
19
- const end = Math.min(totalPages - 1, page + 1);
20
- for (let i = start; i <= end; i++) {
21
- pages.push(i);
22
- }
23
- if (page < totalPages - 2) {
24
- pages.push("ellipsis-end");
25
- }
26
- pages.push(totalPages);
27
- return pages;
28
- }
29
- function LuminaPagination({
30
- total,
31
- page,
32
- pageSize,
33
- pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,
34
- onChange
35
- }) {
36
- const totalPages = Math.max(1, Math.ceil(total / pageSize));
37
- const startItem = (page - 1) * pageSize + 1;
38
- const endItem = Math.min(page * pageSize, total);
39
- const pageNumbers = getPageNumbers(page, totalPages);
40
- const handlePageSizeChange = (e) => {
41
- const newPageSize = Number(e.target.value);
42
- onChange(1, newPageSize);
43
- };
44
- const handlePageClick = (p) => {
45
- if (p !== page && p >= 1 && p <= totalPages) {
46
- onChange(p, pageSize);
47
- }
48
- };
49
- return /* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.paginationBar, "data-testid": "lumina-pagination", children: [
50
- /* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.rowsPerPage, children: [
51
- /* @__PURE__ */ jsx("span", { className: LuminaPagination_module_default.rowsLabel, children: "Rows per page:" }),
52
- /* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.pageSizeSelectWrapper, children: [
53
- /* @__PURE__ */ jsx(
54
- "select",
55
- {
56
- className: LuminaPagination_module_default.pageSizeSelect,
57
- value: pageSize,
58
- onChange: handlePageSizeChange,
59
- "aria-label": "Rows per page",
60
- children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx("option", { value: size, children: size }, size))
61
- }
62
- ),
63
- /* @__PURE__ */ jsx("span", { className: LuminaPagination_module_default.selectChevron, "aria-hidden": "true", children: "\u25BE" })
64
- ] })
65
- ] }),
66
- /* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.itemRange, "aria-live": "polite", children: [
67
- startItem,
68
- "\u2013",
69
- endItem,
70
- " of ",
71
- total,
72
- " items"
73
- ] }),
74
- /* @__PURE__ */ jsxs("div", { className: LuminaPagination_module_default.pageButtons, role: "navigation", "aria-label": "Pagination", children: [
75
- /* @__PURE__ */ jsx(
76
- "button",
77
- {
78
- className: LuminaPagination_module_default.pageBtn,
79
- onClick: () => handlePageClick(page - 1),
80
- disabled: page === 1,
81
- "aria-label": "Previous page",
82
- children: "\u2039"
83
- }
84
- ),
85
- pageNumbers.map((p, idx) => {
86
- if (p === "ellipsis-start" || p === "ellipsis-end") {
87
- return /* @__PURE__ */ jsx("span", { className: LuminaPagination_module_default.ellipsis, "aria-hidden": "true", children: "\u2026" }, `ellipsis-${idx}`);
88
- }
89
- return /* @__PURE__ */ jsx(
90
- "button",
91
- {
92
- className: clsx(LuminaPagination_module_default.pageBtn, { [LuminaPagination_module_default.activePage]: p === page }),
93
- onClick: () => handlePageClick(p),
94
- "aria-label": `Page ${p}`,
95
- "aria-current": p === page ? "page" : void 0,
96
- children: p
97
- },
98
- p
99
- );
100
- }),
101
- /* @__PURE__ */ jsx(
102
- "button",
103
- {
104
- className: LuminaPagination_module_default.pageBtn,
105
- onClick: () => handlePageClick(page + 1),
106
- disabled: page === totalPages,
107
- "aria-label": "Next page",
108
- children: "\u203A"
109
- }
110
- )
111
- ] })
112
- ] });
113
- }
114
- var LuminaPagination_default = LuminaPagination;
115
-
116
- export {
117
- LuminaPagination,
118
- LuminaPagination_default
119
- };