@itilite/lumina-ui 1.1.13 → 1.2.0

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 (115) hide show
  1. package/dist/AdvancedDateRangePicker-D7xn4So6.d.mts +59 -0
  2. package/dist/AdvancedDateRangePicker-D7xn4So6.d.ts +59 -0
  3. package/dist/AdvancedDateRangePicker-D9Sdk4rK.d.mts +64 -0
  4. package/dist/AdvancedDateRangePicker-D9Sdk4rK.d.ts +64 -0
  5. package/dist/AdvancedDateRangePicker-DGg-rucL.d.mts +62 -0
  6. package/dist/AdvancedDateRangePicker-DGg-rucL.d.ts +62 -0
  7. package/dist/AdvancedDateRangePicker-DOSprRQR.d.mts +52 -0
  8. package/dist/AdvancedDateRangePicker-DOSprRQR.d.ts +52 -0
  9. package/dist/AdvancedDateRangePicker-Di3rHxqf.d.mts +64 -0
  10. package/dist/AdvancedDateRangePicker-Di3rHxqf.d.ts +64 -0
  11. package/dist/AdvancedDateRangePicker-Dxug2Mcf.d.mts +60 -0
  12. package/dist/AdvancedDateRangePicker-Dxug2Mcf.d.ts +60 -0
  13. package/dist/AdvancedDateRangePicker-ozItnkhp.d.mts +57 -0
  14. package/dist/AdvancedDateRangePicker-ozItnkhp.d.ts +57 -0
  15. package/dist/Table-BOq-_9Nr.d.mts +121 -0
  16. package/dist/Table-BOq-_9Nr.d.ts +121 -0
  17. package/dist/Table-BxaCiQmh.d.mts +82 -0
  18. package/dist/Table-BxaCiQmh.d.ts +82 -0
  19. package/dist/Table-DNvoh2P8.d.mts +127 -0
  20. package/dist/Table-DNvoh2P8.d.ts +127 -0
  21. package/dist/Table-DSFYzrpU.d.mts +129 -0
  22. package/dist/Table-DSFYzrpU.d.ts +129 -0
  23. package/dist/Table-DoCPt3ri.d.mts +129 -0
  24. package/dist/Table-DoCPt3ri.d.ts +129 -0
  25. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.mts +2 -0
  26. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.ts +2 -0
  27. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.js +1648 -0
  28. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.mjs +15 -0
  29. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.mts +17 -0
  30. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.ts +17 -0
  31. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.js +370 -0
  32. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.mjs +8 -0
  33. package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +2 -2
  34. package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +2 -2
  35. package/dist/atom/RangePicker/RangePicker.js +105 -102
  36. package/dist/atom/RangePicker/RangePicker.mjs +3 -3
  37. package/dist/atom/Select/Select.d.mts +1 -4
  38. package/dist/atom/Select/Select.d.ts +1 -4
  39. package/dist/atom/Select/Select.js +105 -102
  40. package/dist/atom/Select/Select.mjs +1 -1
  41. package/dist/atom/Table/Table.d.mts +3 -0
  42. package/dist/atom/Table/Table.d.ts +3 -0
  43. package/dist/atom/Table/Table.js +340 -0
  44. package/dist/atom/Table/Table.mjs +9 -0
  45. package/dist/chunk-27LRL4RO.mjs +428 -0
  46. package/dist/chunk-2IT3XM7C.mjs +473 -0
  47. package/dist/chunk-3HXZIFV6.mjs +438 -0
  48. package/dist/{chunk-Y3BIY4DW.mjs → chunk-4JX54OKI.mjs} +27 -18
  49. package/dist/chunk-53O7JM5I.mjs +424 -0
  50. package/dist/chunk-5JXIJTAS.mjs +448 -0
  51. package/dist/chunk-5PQ43JFX.mjs +440 -0
  52. package/dist/chunk-62VAYFZA.mjs +437 -0
  53. package/dist/chunk-6ON32H2N.mjs +431 -0
  54. package/dist/chunk-6RIZXTFP.mjs +290 -0
  55. package/dist/chunk-6XIT27XY.mjs +269 -0
  56. package/dist/chunk-772C454L.mjs +438 -0
  57. package/dist/chunk-7L267Y4P.mjs +429 -0
  58. package/dist/chunk-7WSVCE2C.mjs +269 -0
  59. package/dist/chunk-ANJI6SPV.mjs +283 -0
  60. package/dist/chunk-BFFLWW7N.mjs +250 -0
  61. package/dist/chunk-C5VYFNVC.mjs +441 -0
  62. package/dist/chunk-DL7BZMGE.mjs +295 -0
  63. package/dist/chunk-DXPVJNGY.mjs +284 -0
  64. package/dist/chunk-FPH63V2R.mjs +269 -0
  65. package/dist/chunk-FTL3PFC2.mjs +438 -0
  66. package/dist/chunk-G4P6XGQX.mjs +278 -0
  67. package/dist/chunk-GGWY2SYX.mjs +452 -0
  68. package/dist/{chunk-E4FCLHYA.mjs → chunk-GU5F7Z7I.mjs} +107 -104
  69. package/dist/chunk-GZ4P7OL3.mjs +429 -0
  70. package/dist/chunk-I6GLPWHS.mjs +278 -0
  71. package/dist/chunk-IPVJEGDI.mjs +476 -0
  72. package/dist/chunk-J4YYP4IZ.mjs +0 -0
  73. package/dist/chunk-J5JDQ4R6.mjs +278 -0
  74. package/dist/chunk-K2A4TWA3.mjs +430 -0
  75. package/dist/chunk-L3L42SIL.mjs +429 -0
  76. package/dist/chunk-LRNKIRH3.mjs +289 -0
  77. package/dist/chunk-MA23J4WQ.mjs +430 -0
  78. package/dist/chunk-N4DPPZVJ.mjs +269 -0
  79. package/dist/chunk-PQ3B2FEB.mjs +249 -0
  80. package/dist/{chunk-35KDS27M.mjs → chunk-PSBEYGD4.mjs} +1 -1
  81. package/dist/chunk-QRGHJP7U.mjs +437 -0
  82. package/dist/chunk-QU73KNTT.mjs +452 -0
  83. package/dist/chunk-RC6IGURJ.mjs +428 -0
  84. package/dist/chunk-SKPCOHON.mjs +473 -0
  85. package/dist/chunk-SRKN7WS7.mjs +448 -0
  86. package/dist/chunk-TQDZWJZP.mjs +269 -0
  87. package/dist/chunk-UAGSPM3T.mjs +288 -0
  88. package/dist/chunk-UC4NTBDH.mjs +439 -0
  89. package/dist/chunk-UPSQTJJ4.mjs +294 -0
  90. package/dist/chunk-V3CHJHUX.mjs +424 -0
  91. package/dist/chunk-X3NDICAU.mjs +284 -0
  92. package/dist/chunk-XECXKSTC.mjs +453 -0
  93. package/dist/chunk-XIVTXS3Y.mjs +439 -0
  94. package/dist/chunk-ZGV6QMVM.mjs +437 -0
  95. package/dist/index.d.mts +16 -13
  96. package/dist/index.d.ts +16 -13
  97. package/dist/index.js +1121 -117
  98. package/dist/index.mjs +22 -13
  99. package/dist/styles.css +1221 -130
  100. package/package.json +1 -1
  101. package/dist/Avatar-DX2JwvAs.d.mts +0 -17
  102. package/dist/Avatar-DX2JwvAs.d.ts +0 -17
  103. package/dist/Tag-l7I5oeyk.d.mts +0 -13
  104. package/dist/Tag-l7I5oeyk.d.ts +0 -13
  105. package/dist/chunk-3S4X3YO2.mjs +0 -64
  106. package/dist/chunk-DLLT6V65.mjs +0 -141
  107. package/dist/chunk-HISCHZ5H.mjs +0 -77
  108. package/dist/chunk-I5VHKSQR.mjs +0 -64
  109. package/dist/chunk-N355RJGH.mjs +0 -141
  110. package/dist/chunk-N3YFQDW7.mjs +0 -77
  111. package/dist/chunk-QWK3MYDM.mjs +0 -64
  112. package/dist/chunk-SWRFCTJW.mjs +0 -77
  113. package/dist/chunk-UUEPD2FH.mjs +0 -141
  114. package/dist/chunk-X76GNSBB.mjs +0 -87
  115. package/dist/chunk-ZGFE3OPJ.mjs +0 -678
@@ -0,0 +1,294 @@
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", "hasCustomHeaderCell": "Table-module__hasCustomHeaderCell___AtCk8", "table": "Table-module__table___5d7g0", "ant-table-selection-column": "Table-module__ant-table-selection-column___H9vtu", "hasCustomBodyCell": "Table-module__hasCustomBodyCell___sf8j8", "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, headerCellClassName, bodyCellClassName, columnMinWidth) {
113
+ if (!columns) return void 0;
114
+ return columns.map((col) => {
115
+ var _b;
116
+ const _a = col, { headerProps, title, onHeaderCell, onCell } = _a, rest = __objRest(_a, ["headerProps", "title", "onHeaderCell", "onCell"]);
117
+ const resolvedMinWidth = (_b = col.width) != null ? _b : columnMinWidth;
118
+ const resolvedOnHeaderCell = (column) => {
119
+ var _a2;
120
+ const base = (_a2 = onHeaderCell == null ? void 0 : onHeaderCell(column)) != null ? _a2 : {};
121
+ return __spreadProps(__spreadValues({}, base), {
122
+ className: clsx(base.className, headerCellClassName),
123
+ style: __spreadProps(__spreadValues({}, base.style), {
124
+ minWidth: resolvedMinWidth
125
+ })
126
+ });
127
+ };
128
+ const resolvedOnCell = (record, rowIndex) => {
129
+ var _a2;
130
+ const base = (_a2 = onCell == null ? void 0 : onCell(record, rowIndex)) != null ? _a2 : {};
131
+ return __spreadProps(__spreadValues({}, base), {
132
+ className: clsx(base.className, bodyCellClassName),
133
+ style: __spreadProps(__spreadValues({}, base.style), {
134
+ minWidth: resolvedMinWidth
135
+ })
136
+ });
137
+ };
138
+ const processedTitle = headerProps ? /* @__PURE__ */ jsx(ColumnHeader, __spreadValues({ label: title }, headerProps)) : title;
139
+ return __spreadProps(__spreadValues({}, rest), {
140
+ title: processedTitle,
141
+ onHeaderCell: resolvedOnHeaderCell,
142
+ onCell: resolvedOnCell
143
+ });
144
+ });
145
+ }
146
+ function Table(props) {
147
+ var _b;
148
+ const _a = props, {
149
+ size = "middle",
150
+ variant = "default",
151
+ isAccordion = false,
152
+ isToolbar = false,
153
+ className = "",
154
+ pagination,
155
+ loading,
156
+ total,
157
+ current,
158
+ pageSize,
159
+ onPaginationChange,
160
+ columns,
161
+ rowSelection,
162
+ rowKey = "key",
163
+ onRow,
164
+ dataSource,
165
+ emptyState,
166
+ hideHeader,
167
+ loadingIndicator,
168
+ style,
169
+ headerCellClassName,
170
+ bodyCellClassName,
171
+ rowClassName,
172
+ columnMinWidth
173
+ } = _a, rest = __objRest(_a, [
174
+ "size",
175
+ "variant",
176
+ "isAccordion",
177
+ "isToolbar",
178
+ "className",
179
+ "pagination",
180
+ "loading",
181
+ "total",
182
+ "current",
183
+ "pageSize",
184
+ "onPaginationChange",
185
+ "columns",
186
+ "rowSelection",
187
+ "rowKey",
188
+ "onRow",
189
+ "dataSource",
190
+ "emptyState",
191
+ "hideHeader",
192
+ "loadingIndicator",
193
+ "style",
194
+ "headerCellClassName",
195
+ "bodyCellClassName",
196
+ "rowClassName",
197
+ "columnMinWidth"
198
+ ]);
199
+ const isChildVariant = isAccordion || isToolbar;
200
+ const resolvedPagination = buildPagination(pagination, {
201
+ total,
202
+ current,
203
+ pageSize,
204
+ onChange: onPaginationChange
205
+ });
206
+ const processedColumns = React.useMemo(
207
+ () => processColumns(columns, headerCellClassName, bodyCellClassName, columnMinWidth),
208
+ [columns, headerCellClassName, bodyCellClassName, columnMinWidth]
209
+ );
210
+ const resolvedRowSelection = React.useMemo(() => {
211
+ if (!rowSelection) return void 0;
212
+ return __spreadValues({
213
+ columnWidth: 48
214
+ }, rowSelection);
215
+ }, [rowSelection]);
216
+ const resolvedOnRow = React.useMemo(() => {
217
+ const onChange = resolvedRowSelection == null ? void 0 : resolvedRowSelection.onChange;
218
+ if (variant !== "selectable" || !onChange) return onRow;
219
+ return (record, index) => {
220
+ var _a2;
221
+ const base = (_a2 = onRow == null ? void 0 : onRow(record, index)) != null ? _a2 : {};
222
+ const getKey = (r, i) => typeof rowKey === "function" ? rowKey(r, i) : r[rowKey];
223
+ return __spreadProps(__spreadValues({}, base), {
224
+ style: __spreadValues({ cursor: "pointer" }, base.style),
225
+ onClick: (e) => {
226
+ var _a3, _b2;
227
+ (_a3 = base.onClick) == null ? void 0 : _a3.call(base, e);
228
+ const key = getKey(record, index);
229
+ const current2 = (_b2 = resolvedRowSelection.selectedRowKeys) != null ? _b2 : [];
230
+ const isSelected = current2.some((k) => k === key);
231
+ const newKeys = isSelected ? current2.filter((k) => k !== key) : [...current2, key];
232
+ const newRows = (dataSource != null ? dataSource : []).filter(
233
+ (r) => newKeys.some((k) => k === getKey(r))
234
+ );
235
+ onChange(newKeys, newRows, { type: "single" });
236
+ }
237
+ });
238
+ };
239
+ }, [variant, resolvedRowSelection, rowKey, onRow, dataSource]);
240
+ return /* @__PURE__ */ jsx(
241
+ "div",
242
+ {
243
+ className: clsx(
244
+ Table_module_default.tableWrapper,
245
+ Table_module_default.showHoverEffect,
246
+ {
247
+ [Table_module_default.isAccordion]: isAccordion,
248
+ [Table_module_default.isToolbar]: isToolbar,
249
+ [Table_module_default.hasCustomHeaderCell]: !!headerCellClassName,
250
+ [Table_module_default.hasCustomBodyCell]: !!bodyCellClassName
251
+ },
252
+ className
253
+ ),
254
+ style,
255
+ "data-testid": "lumina-table",
256
+ children: /* @__PURE__ */ jsx(
257
+ AntTable,
258
+ __spreadProps(__spreadValues({
259
+ className: Table_module_default.table,
260
+ size,
261
+ pagination: resolvedPagination,
262
+ columns: processedColumns,
263
+ rowSelection: resolvedRowSelection,
264
+ rowKey,
265
+ onRow: resolvedOnRow,
266
+ dataSource,
267
+ showHeader: !hideHeader,
268
+ locale: {
269
+ emptyText: loading && loadingIndicator ? loadingIndicator : loading ? " " : emptyState
270
+ }
271
+ }, rest), {
272
+ loading: loadingIndicator ? { spinning: !!loading && ((_b = dataSource == null ? void 0 : dataSource.length) != null ? _b : 0) > 0, indicator: loadingIndicator } : loading,
273
+ rowClassName: (record, index) => {
274
+ var _a2;
275
+ return clsx(
276
+ {
277
+ [Table_module_default.firstRow]: index === 0,
278
+ [Table_module_default.lastRow]: index === ((_a2 = dataSource == null ? void 0 : dataSource.length) != null ? _a2 : 0) - 1
279
+ },
280
+ typeof rowClassName === "function" ? rowClassName(record, index) : rowClassName
281
+ );
282
+ }
283
+ })
284
+ )
285
+ }
286
+ );
287
+ }
288
+ Table.displayName = "Table";
289
+ var Table_default = Table;
290
+
291
+ export {
292
+ Table,
293
+ Table_default
294
+ };