@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,278 @@
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", "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) {
113
+ if (!columns) return void 0;
114
+ return columns.map((col) => {
115
+ const _a = col, { headerProps, title, onHeaderCell, onCell } = _a, rest = __objRest(_a, ["headerProps", "title", "onHeaderCell", "onCell"]);
116
+ const resolvedOnHeaderCell = (column) => {
117
+ var _a2;
118
+ const base = (_a2 = onHeaderCell == null ? void 0 : onHeaderCell(column)) != null ? _a2 : {};
119
+ return __spreadProps(__spreadValues({}, base), {
120
+ className: clsx(base.className, headerCellClassName)
121
+ });
122
+ };
123
+ const resolvedOnCell = (record, rowIndex) => {
124
+ var _a2;
125
+ const base = (_a2 = onCell == null ? void 0 : onCell(record, rowIndex)) != null ? _a2 : {};
126
+ return __spreadProps(__spreadValues({}, base), {
127
+ className: clsx(base.className, bodyCellClassName)
128
+ });
129
+ };
130
+ const processedTitle = headerProps ? /* @__PURE__ */ jsx(ColumnHeader, __spreadValues({ label: title }, headerProps)) : title;
131
+ return __spreadProps(__spreadValues({}, rest), {
132
+ title: processedTitle,
133
+ onHeaderCell: resolvedOnHeaderCell,
134
+ onCell: resolvedOnCell
135
+ });
136
+ });
137
+ }
138
+ function Table(props) {
139
+ var _b;
140
+ const _a = props, {
141
+ size = "middle",
142
+ variant = "default",
143
+ isAccordion = false,
144
+ isToolbar = false,
145
+ className = "",
146
+ pagination,
147
+ loading,
148
+ total,
149
+ current,
150
+ pageSize,
151
+ onPaginationChange,
152
+ columns,
153
+ rowSelection,
154
+ rowKey = "key",
155
+ onRow,
156
+ dataSource,
157
+ emptyState,
158
+ hideHeader,
159
+ loadingIndicator,
160
+ style,
161
+ headerCellClassName,
162
+ bodyCellClassName,
163
+ rowClassName
164
+ } = _a, rest = __objRest(_a, [
165
+ "size",
166
+ "variant",
167
+ "isAccordion",
168
+ "isToolbar",
169
+ "className",
170
+ "pagination",
171
+ "loading",
172
+ "total",
173
+ "current",
174
+ "pageSize",
175
+ "onPaginationChange",
176
+ "columns",
177
+ "rowSelection",
178
+ "rowKey",
179
+ "onRow",
180
+ "dataSource",
181
+ "emptyState",
182
+ "hideHeader",
183
+ "loadingIndicator",
184
+ "style",
185
+ "headerCellClassName",
186
+ "bodyCellClassName",
187
+ "rowClassName"
188
+ ]);
189
+ const isChildVariant = isAccordion || isToolbar;
190
+ const resolvedPagination = buildPagination(pagination, {
191
+ total,
192
+ current,
193
+ pageSize,
194
+ onChange: onPaginationChange
195
+ });
196
+ const processedColumns = React.useMemo(
197
+ () => processColumns(columns, headerCellClassName, bodyCellClassName),
198
+ [columns, headerCellClassName, bodyCellClassName]
199
+ );
200
+ const resolvedOnRow = React.useMemo(() => {
201
+ const onChange = rowSelection == null ? void 0 : rowSelection.onChange;
202
+ if (variant !== "selectable" || !onChange) return onRow;
203
+ return (record, index) => {
204
+ var _a2;
205
+ const base = (_a2 = onRow == null ? void 0 : onRow(record, index)) != null ? _a2 : {};
206
+ const getKey = (r, i) => typeof rowKey === "function" ? rowKey(r, i) : r[rowKey];
207
+ return __spreadProps(__spreadValues({}, base), {
208
+ style: __spreadValues({ cursor: "pointer" }, base.style),
209
+ onClick: (e) => {
210
+ var _a3, _b2;
211
+ (_a3 = base.onClick) == null ? void 0 : _a3.call(base, e);
212
+ const key = getKey(record, index);
213
+ const current2 = (_b2 = rowSelection.selectedRowKeys) != null ? _b2 : [];
214
+ const isSelected = current2.some((k) => k === key);
215
+ const newKeys = isSelected ? current2.filter((k) => k !== key) : [...current2, key];
216
+ const newRows = (dataSource != null ? dataSource : []).filter(
217
+ (r) => newKeys.some((k) => k === getKey(r))
218
+ );
219
+ onChange(newKeys, newRows, { type: "single" });
220
+ }
221
+ });
222
+ };
223
+ }, [variant, rowSelection, rowKey, onRow, dataSource]);
224
+ return /* @__PURE__ */ jsx(
225
+ "div",
226
+ {
227
+ className: clsx(
228
+ Table_module_default.tableWrapper,
229
+ Table_module_default.showHoverEffect,
230
+ {
231
+ [Table_module_default.isAccordion]: isAccordion,
232
+ [Table_module_default.isToolbar]: isToolbar,
233
+ [Table_module_default.hasCustomHeaderCell]: !!headerCellClassName,
234
+ [Table_module_default.hasCustomBodyCell]: !!bodyCellClassName
235
+ },
236
+ className
237
+ ),
238
+ style,
239
+ "data-testid": "lumina-table",
240
+ children: /* @__PURE__ */ jsx(
241
+ AntTable,
242
+ __spreadProps(__spreadValues({
243
+ className: Table_module_default.table,
244
+ size,
245
+ pagination: resolvedPagination,
246
+ columns: processedColumns,
247
+ rowSelection,
248
+ rowKey,
249
+ onRow: resolvedOnRow,
250
+ dataSource,
251
+ showHeader: !hideHeader,
252
+ locale: {
253
+ emptyText: loading && loadingIndicator ? loadingIndicator : loading ? " " : emptyState
254
+ }
255
+ }, rest), {
256
+ loading: loadingIndicator ? { spinning: !!loading && ((_b = dataSource == null ? void 0 : dataSource.length) != null ? _b : 0) > 0, indicator: loadingIndicator } : loading,
257
+ rowClassName: (record, index) => {
258
+ var _a2;
259
+ return clsx(
260
+ {
261
+ [Table_module_default.firstRow]: index === 0,
262
+ [Table_module_default.lastRow]: index === ((_a2 = dataSource == null ? void 0 : dataSource.length) != null ? _a2 : 0) - 1
263
+ },
264
+ typeof rowClassName === "function" ? rowClassName(record, index) : rowClassName
265
+ );
266
+ }
267
+ })
268
+ )
269
+ }
270
+ );
271
+ }
272
+ Table.displayName = "Table";
273
+ var Table_default = Table;
274
+
275
+ export {
276
+ Table,
277
+ Table_default
278
+ };