@itilite/lumina-ui 1.1.14 → 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 (116) 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/Button/Button.js +1 -1
  34. package/dist/atom/Button/Button.mjs +1 -1
  35. package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +2 -2
  36. package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +2 -2
  37. package/dist/atom/Modal/Modal.js +1 -1
  38. package/dist/atom/Modal/Modal.mjs +2 -2
  39. package/dist/atom/RangePicker/RangePicker.mjs +1 -1
  40. package/dist/atom/Table/Table.d.mts +3 -0
  41. package/dist/atom/Table/Table.d.ts +3 -0
  42. package/dist/atom/Table/Table.js +340 -0
  43. package/dist/atom/Table/Table.mjs +9 -0
  44. package/dist/chunk-27LRL4RO.mjs +428 -0
  45. package/dist/chunk-2IT3XM7C.mjs +473 -0
  46. package/dist/chunk-3HXZIFV6.mjs +438 -0
  47. package/dist/{chunk-35KDS27M.mjs → chunk-4JX54OKI.mjs} +27 -18
  48. package/dist/chunk-53O7JM5I.mjs +424 -0
  49. package/dist/chunk-5JXIJTAS.mjs +448 -0
  50. package/dist/chunk-5PQ43JFX.mjs +440 -0
  51. package/dist/chunk-62VAYFZA.mjs +437 -0
  52. package/dist/chunk-6ON32H2N.mjs +431 -0
  53. package/dist/chunk-6RIZXTFP.mjs +290 -0
  54. package/dist/chunk-6XIT27XY.mjs +269 -0
  55. package/dist/chunk-772C454L.mjs +438 -0
  56. package/dist/chunk-7L267Y4P.mjs +429 -0
  57. package/dist/chunk-7WSVCE2C.mjs +269 -0
  58. package/dist/chunk-ANJI6SPV.mjs +283 -0
  59. package/dist/chunk-BFFLWW7N.mjs +250 -0
  60. package/dist/chunk-C5VYFNVC.mjs +441 -0
  61. package/dist/chunk-DL7BZMGE.mjs +295 -0
  62. package/dist/chunk-DXPVJNGY.mjs +284 -0
  63. package/dist/chunk-FPH63V2R.mjs +269 -0
  64. package/dist/chunk-FTL3PFC2.mjs +438 -0
  65. package/dist/chunk-G4P6XGQX.mjs +278 -0
  66. package/dist/chunk-GGWY2SYX.mjs +452 -0
  67. package/dist/chunk-GZ4P7OL3.mjs +429 -0
  68. package/dist/chunk-I6GLPWHS.mjs +278 -0
  69. package/dist/chunk-IPVJEGDI.mjs +476 -0
  70. package/dist/chunk-J4YYP4IZ.mjs +0 -0
  71. package/dist/chunk-J5JDQ4R6.mjs +278 -0
  72. package/dist/chunk-K2A4TWA3.mjs +430 -0
  73. package/dist/chunk-L3L42SIL.mjs +429 -0
  74. package/dist/chunk-LRNKIRH3.mjs +289 -0
  75. package/dist/chunk-MA23J4WQ.mjs +430 -0
  76. package/dist/chunk-N4DPPZVJ.mjs +269 -0
  77. package/dist/chunk-PQ3B2FEB.mjs +249 -0
  78. package/dist/chunk-QRGHJP7U.mjs +437 -0
  79. package/dist/chunk-QU73KNTT.mjs +452 -0
  80. package/dist/chunk-RC6IGURJ.mjs +428 -0
  81. package/dist/chunk-SKPCOHON.mjs +473 -0
  82. package/dist/chunk-SRKN7WS7.mjs +448 -0
  83. package/dist/chunk-TQDZWJZP.mjs +269 -0
  84. package/dist/chunk-UAGSPM3T.mjs +288 -0
  85. package/dist/chunk-UC4NTBDH.mjs +439 -0
  86. package/dist/chunk-UPSQTJJ4.mjs +294 -0
  87. package/dist/chunk-V3CHJHUX.mjs +424 -0
  88. package/dist/chunk-X3NDICAU.mjs +284 -0
  89. package/dist/chunk-XECXKSTC.mjs +453 -0
  90. package/dist/chunk-XIVTXS3Y.mjs +439 -0
  91. package/dist/chunk-ZGV6QMVM.mjs +437 -0
  92. package/dist/index.d.mts +16 -14
  93. package/dist/index.d.ts +16 -14
  94. package/dist/index.js +1017 -16
  95. package/dist/index.mjs +23 -14
  96. package/dist/styles.css +1277 -178
  97. package/package.json +1 -1
  98. package/dist/Avatar-DX2JwvAs.d.mts +0 -17
  99. package/dist/Avatar-DX2JwvAs.d.ts +0 -17
  100. package/dist/Tag-l7I5oeyk.d.mts +0 -13
  101. package/dist/Tag-l7I5oeyk.d.ts +0 -13
  102. package/dist/chunk-3S4X3YO2.mjs +0 -64
  103. package/dist/chunk-3XUHGVYA.mjs +0 -77
  104. package/dist/chunk-DLLT6V65.mjs +0 -141
  105. package/dist/chunk-E4FCLHYA.mjs +0 -678
  106. package/dist/chunk-HISCHZ5H.mjs +0 -77
  107. package/dist/chunk-I5VHKSQR.mjs +0 -64
  108. package/dist/chunk-N355RJGH.mjs +0 -141
  109. package/dist/chunk-N3YFQDW7.mjs +0 -77
  110. package/dist/chunk-QWK3MYDM.mjs +0 -64
  111. package/dist/chunk-SWRFCTJW.mjs +0 -77
  112. package/dist/chunk-UTMZY37A.mjs +0 -141
  113. package/dist/chunk-UUEPD2FH.mjs +0 -141
  114. package/dist/chunk-X76GNSBB.mjs +0 -87
  115. package/dist/chunk-Y3BIY4DW.mjs +0 -618
  116. package/dist/chunk-ZGFE3OPJ.mjs +0 -678
@@ -0,0 +1,289 @@
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", "hasRowSpacing": "Table-module__hasRowSpacing___bGT0u", "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
+ rowSpacing
165
+ } = _a, rest = __objRest(_a, [
166
+ "size",
167
+ "variant",
168
+ "isAccordion",
169
+ "isToolbar",
170
+ "className",
171
+ "pagination",
172
+ "loading",
173
+ "total",
174
+ "current",
175
+ "pageSize",
176
+ "onPaginationChange",
177
+ "columns",
178
+ "rowSelection",
179
+ "rowKey",
180
+ "onRow",
181
+ "dataSource",
182
+ "emptyState",
183
+ "hideHeader",
184
+ "loadingIndicator",
185
+ "style",
186
+ "headerCellClassName",
187
+ "bodyCellClassName",
188
+ "rowClassName",
189
+ "rowSpacing"
190
+ ]);
191
+ const isChildVariant = isAccordion || isToolbar;
192
+ const resolvedPagination = buildPagination(pagination, {
193
+ total,
194
+ current,
195
+ pageSize,
196
+ onChange: onPaginationChange
197
+ });
198
+ const processedColumns = React.useMemo(
199
+ () => processColumns(columns, headerCellClassName, bodyCellClassName),
200
+ [columns, headerCellClassName, bodyCellClassName]
201
+ );
202
+ const resolvedOnRow = React.useMemo(() => {
203
+ const onChange = rowSelection == null ? void 0 : rowSelection.onChange;
204
+ if (variant !== "selectable" || !onChange) return onRow;
205
+ return (record, index) => {
206
+ var _a2;
207
+ const base = (_a2 = onRow == null ? void 0 : onRow(record, index)) != null ? _a2 : {};
208
+ const getKey = (r, i) => typeof rowKey === "function" ? rowKey(r, i) : r[rowKey];
209
+ return __spreadProps(__spreadValues({}, base), {
210
+ style: __spreadValues({ cursor: "pointer" }, base.style),
211
+ onClick: (e) => {
212
+ var _a3, _b2;
213
+ (_a3 = base.onClick) == null ? void 0 : _a3.call(base, e);
214
+ const key = getKey(record, index);
215
+ const current2 = (_b2 = rowSelection.selectedRowKeys) != null ? _b2 : [];
216
+ const isSelected = current2.some((k) => k === key);
217
+ const newKeys = isSelected ? current2.filter((k) => k !== key) : [...current2, key];
218
+ const newRows = (dataSource != null ? dataSource : []).filter(
219
+ (r) => newKeys.some((k) => k === getKey(r))
220
+ );
221
+ onChange(newKeys, newRows, { type: "single" });
222
+ }
223
+ });
224
+ };
225
+ }, [variant, rowSelection, rowKey, onRow, dataSource]);
226
+ const hasRowSpacing = rowSpacing !== void 0;
227
+ const rowSpacingValue = typeof rowSpacing === "number" ? `${rowSpacing}px` : rowSpacing;
228
+ const wrapperStyle = React.useMemo(() => {
229
+ if (!hasRowSpacing) return style;
230
+ return __spreadProps(__spreadValues({}, style), {
231
+ "--lumina-table-row-spacing": rowSpacingValue
232
+ });
233
+ }, [style, hasRowSpacing, rowSpacingValue]);
234
+ return /* @__PURE__ */ jsx(
235
+ "div",
236
+ {
237
+ className: clsx(
238
+ Table_module_default.tableWrapper,
239
+ Table_module_default.showHoverEffect,
240
+ {
241
+ [Table_module_default.isAccordion]: isAccordion,
242
+ [Table_module_default.isToolbar]: isToolbar,
243
+ [Table_module_default.hasCustomHeaderCell]: !!headerCellClassName,
244
+ [Table_module_default.hasCustomBodyCell]: !!bodyCellClassName,
245
+ [Table_module_default.hasRowSpacing]: hasRowSpacing
246
+ },
247
+ className
248
+ ),
249
+ style: wrapperStyle,
250
+ "data-testid": "lumina-table",
251
+ children: /* @__PURE__ */ jsx(
252
+ AntTable,
253
+ __spreadProps(__spreadValues({
254
+ className: Table_module_default.table,
255
+ size,
256
+ pagination: resolvedPagination,
257
+ columns: processedColumns,
258
+ rowSelection,
259
+ rowKey,
260
+ onRow: resolvedOnRow,
261
+ dataSource,
262
+ showHeader: !hideHeader,
263
+ locale: {
264
+ emptyText: loading && loadingIndicator ? loadingIndicator : loading ? " " : emptyState
265
+ }
266
+ }, rest), {
267
+ loading: loadingIndicator ? { spinning: !!loading && ((_b = dataSource == null ? void 0 : dataSource.length) != null ? _b : 0) > 0, indicator: loadingIndicator } : loading,
268
+ rowClassName: (record, index) => {
269
+ var _a2;
270
+ return clsx(
271
+ {
272
+ [Table_module_default.firstRow]: index === 0,
273
+ [Table_module_default.lastRow]: index === ((_a2 = dataSource == null ? void 0 : dataSource.length) != null ? _a2 : 0) - 1
274
+ },
275
+ typeof rowClassName === "function" ? rowClassName(record, index) : rowClassName
276
+ );
277
+ }
278
+ })
279
+ )
280
+ }
281
+ );
282
+ }
283
+ Table.displayName = "Table";
284
+ var Table_default = Table;
285
+
286
+ export {
287
+ Table,
288
+ Table_default
289
+ };