@expcat/tigercat-react 1.2.43 → 1.2.46
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.
- package/dist/{chunk-WYGO6XC7.mjs → chunk-AGHGG73I.mjs} +46 -0
- package/dist/{chunk-LHBE3N3U.js → chunk-EWSYARW4.js} +58 -37
- package/dist/{chunk-XUETAIF3.js → chunk-IFVIPIAA.js} +46 -0
- package/dist/{chunk-2VE2CP7E.mjs → chunk-KVZE7UGH.mjs} +31 -10
- package/dist/components/DataTableWithToolbar.d.mts +15 -3
- package/dist/components/DataTableWithToolbar.d.ts +15 -3
- package/dist/components/DataTableWithToolbar.js +3 -3
- package/dist/components/DataTableWithToolbar.mjs +2 -2
- package/dist/components/Table.d.mts +1 -1
- package/dist/components/Table.d.ts +1 -1
- package/dist/components/Table.js +2 -2
- package/dist/components/Table.mjs +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.mjs +2 -2
- package/package.json +2 -2
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
createTableResizeObserverController,
|
|
22
22
|
getTableWrapperClasses,
|
|
23
23
|
getCardColumns,
|
|
24
|
+
getCardGridInfo,
|
|
24
25
|
getTableResponsiveCardListClasses,
|
|
25
26
|
getTableResponsiveTableClasses,
|
|
26
27
|
getTableVirtualRecommendation,
|
|
@@ -994,6 +995,7 @@ function Table({
|
|
|
994
995
|
cardBreakpoint = "sm",
|
|
995
996
|
cardClassName,
|
|
996
997
|
renderCard,
|
|
998
|
+
cardLayout,
|
|
997
999
|
// v0.6.0 props
|
|
998
1000
|
virtual = false,
|
|
999
1001
|
autoVirtual = true,
|
|
@@ -1128,6 +1130,18 @@ function Table({
|
|
|
1128
1130
|
onRowOrderChange,
|
|
1129
1131
|
onExport
|
|
1130
1132
|
});
|
|
1133
|
+
const cardLayoutMap = useMemo2(() => {
|
|
1134
|
+
const map = /* @__PURE__ */ new Map();
|
|
1135
|
+
if (cardLayout) {
|
|
1136
|
+
for (const item of cardLayout) {
|
|
1137
|
+
map.set(item.key, item);
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
return map;
|
|
1141
|
+
}, [cardLayout]);
|
|
1142
|
+
const hasCustomCardLayout = useMemo2(() => {
|
|
1143
|
+
return ctx.displayColumns.some((col) => col.cardGrid) || cardLayout && cardLayout.length > 0;
|
|
1144
|
+
}, [ctx.displayColumns, cardLayout]);
|
|
1131
1145
|
const virtualRecommendation = useMemo2(
|
|
1132
1146
|
() => getTableVirtualRecommendation({
|
|
1133
1147
|
virtual,
|
|
@@ -1349,6 +1363,38 @@ function Table({
|
|
|
1349
1363
|
const dataKey = column.dataKey || column.key;
|
|
1350
1364
|
return column.render ? column.render(record, index) : record[dataKey];
|
|
1351
1365
|
};
|
|
1366
|
+
if (hasCustomCardLayout) {
|
|
1367
|
+
return /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
1368
|
+
titleColumn && /* @__PURE__ */ jsx6("div", { className: tableResponsiveCardTitleClasses, children: renderCellContent(titleColumn) }),
|
|
1369
|
+
/* @__PURE__ */ jsx6("div", { className: "grid grid-cols-12 gap-3 mt-2", children: bodyColumns.map((column) => {
|
|
1370
|
+
const layoutItem = cardLayoutMap.get(column.key);
|
|
1371
|
+
const gridInfo = getCardGridInfo(column, layoutItem);
|
|
1372
|
+
if (gridInfo.hideLabel) {
|
|
1373
|
+
return /* @__PURE__ */ jsx6("div", { className: gridInfo.className, children: renderCellContent(column) }, column.key);
|
|
1374
|
+
}
|
|
1375
|
+
if (gridInfo.labelPosition === "top") {
|
|
1376
|
+
return /* @__PURE__ */ jsxs5("div", { className: gridInfo.className, children: [
|
|
1377
|
+
/* @__PURE__ */ jsx6("div", { className: "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)] mb-1", children: column.title }),
|
|
1378
|
+
/* @__PURE__ */ jsx6("div", { className: "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words", children: renderCellContent(column) })
|
|
1379
|
+
] }, column.key);
|
|
1380
|
+
}
|
|
1381
|
+
return /* @__PURE__ */ jsxs5(
|
|
1382
|
+
"div",
|
|
1383
|
+
{
|
|
1384
|
+
className: classNames3(
|
|
1385
|
+
gridInfo.className,
|
|
1386
|
+
"grid grid-cols-[auto_1fr] gap-2 items-baseline"
|
|
1387
|
+
),
|
|
1388
|
+
children: [
|
|
1389
|
+
/* @__PURE__ */ jsx6("div", { className: "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)] shrink-0", children: column.title }),
|
|
1390
|
+
/* @__PURE__ */ jsx6("div", { className: "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words", children: renderCellContent(column) })
|
|
1391
|
+
]
|
|
1392
|
+
},
|
|
1393
|
+
column.key
|
|
1394
|
+
);
|
|
1395
|
+
}) })
|
|
1396
|
+
] });
|
|
1397
|
+
}
|
|
1352
1398
|
return /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
1353
1399
|
titleColumn && /* @__PURE__ */ jsx6("div", { className: tableResponsiveCardTitleClasses, children: renderCellContent(titleColumn) }),
|
|
1354
1400
|
bodyColumns.map((column) => /* @__PURE__ */ jsxs5("div", { className: tableResponsiveCardRowClasses, children: [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkIFVIPIAAjs = require('./chunk-IFVIPIAA.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunk6Z4LLPZAjs = require('./chunk-6Z4LLPZA.js');
|
|
@@ -124,7 +124,7 @@ var DataTableWithToolbar = ({
|
|
|
124
124
|
}, [_optionalChain([toolbar, 'optionalAccess', _8 => _8.filters])]);
|
|
125
125
|
const searchValue = _optionalChain([toolbar, 'optionalAccess', _9 => _9.searchValue]) !== void 0 ? toolbar.searchValue : internalSearch;
|
|
126
126
|
const resolvedFilters = _react.useMemo.call(void 0, () => {
|
|
127
|
-
const next = {};
|
|
127
|
+
const next = { ...internalFilters };
|
|
128
128
|
_optionalChain([toolbar, 'optionalAccess', _10 => _10.filters, 'optionalAccess', _11 => _11.forEach, 'call', _12 => _12((filter) => {
|
|
129
129
|
next[filter.key] = filter.value !== void 0 ? filter.value : _nullishCoalesce(_nullishCoalesce(internalFilters[filter.key], () => ( filter.defaultValue)), () => ( null));
|
|
130
130
|
})]);
|
|
@@ -134,23 +134,24 @@ var DataTableWithToolbar = ({
|
|
|
134
134
|
toolbar && (toolbar.searchPlaceholder || toolbar.searchValue !== void 0 || toolbar.defaultSearchValue !== void 0 || toolbar.showSearchButton || toolbar.onSearchChange || toolbar.onSearch || onSearchChange || onSearch)
|
|
135
135
|
);
|
|
136
136
|
const hasFilters = Boolean(_optionalChain([toolbar, 'optionalAccess', _14 => _14.filters]) && toolbar.filters.length > 0);
|
|
137
|
-
const
|
|
138
|
-
const
|
|
137
|
+
const hasFiltersExtra = Boolean(_optionalChain([toolbar, 'optionalAccess', _15 => _15.filtersExtra]));
|
|
138
|
+
const hasBulkActions = Boolean(_optionalChain([toolbar, 'optionalAccess', _16 => _16.bulkActions]) && toolbar.bulkActions.length > 0);
|
|
139
|
+
const hasColumnSettings = Boolean(_optionalChain([toolbar, 'optionalAccess', _17 => _17.showColumnSettings]));
|
|
139
140
|
const resolvedHiddenKeys = _nullishCoalesce(hiddenColumnKeys, () => ( internalHiddenKeys));
|
|
140
141
|
const handleHiddenColumnsChange = (nextHiddenKeys) => {
|
|
141
142
|
if (hiddenColumnKeys === void 0) {
|
|
142
143
|
setInternalHiddenKeys(nextHiddenKeys);
|
|
143
144
|
}
|
|
144
|
-
_optionalChain([onHiddenColumnsChange, 'optionalCall',
|
|
145
|
+
_optionalChain([onHiddenColumnsChange, 'optionalCall', _18 => _18(nextHiddenKeys)]);
|
|
145
146
|
};
|
|
146
147
|
const handleToggleColumnVisibility = (columnKey, visible) => {
|
|
147
148
|
const nextHiddenKeys = visible ? resolvedHiddenKeys.filter((key) => key !== columnKey) : [...resolvedHiddenKeys, columnKey];
|
|
148
149
|
handleHiddenColumnsChange(nextHiddenKeys);
|
|
149
150
|
};
|
|
150
151
|
const { bordered = false, ...remainingTableProps } = tableProps;
|
|
151
|
-
const selectedKeys = _nullishCoalesce(_nullishCoalesce(_optionalChain([toolbar, 'optionalAccess',
|
|
152
|
-
const selectedCount = _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess',
|
|
153
|
-
const bulkLabel = _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess',
|
|
152
|
+
const selectedKeys = _nullishCoalesce(_nullishCoalesce(_optionalChain([toolbar, 'optionalAccess', _19 => _19.selectedKeys]), () => ( _optionalChain([tableProps, 'access', _20 => _20.rowSelection, 'optionalAccess', _21 => _21.selectedRowKeys]))), () => ( []));
|
|
153
|
+
const selectedCount = _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess', _22 => _22.selectedCount]), () => ( selectedKeys.length));
|
|
154
|
+
const bulkLabel = _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess', _23 => _23.bulkActionsLabel]), () => ( tableLabels.selectedText));
|
|
154
155
|
const wrapperClasses = _react.useMemo.call(void 0,
|
|
155
156
|
() => _tigercatcore.classNames.call(void 0,
|
|
156
157
|
"tiger-data-table-with-toolbar flex flex-col",
|
|
@@ -160,46 +161,49 @@ var DataTableWithToolbar = ({
|
|
|
160
161
|
[className, bordered]
|
|
161
162
|
);
|
|
162
163
|
const handleSearchChange = (value) => {
|
|
163
|
-
if (_optionalChain([toolbar, 'optionalAccess',
|
|
164
|
+
if (_optionalChain([toolbar, 'optionalAccess', _24 => _24.searchValue]) === void 0) {
|
|
164
165
|
setInternalSearch(value);
|
|
165
166
|
}
|
|
166
|
-
_optionalChain([onSearchChange, 'optionalCall',
|
|
167
|
-
_optionalChain([toolbar, 'optionalAccess',
|
|
167
|
+
_optionalChain([onSearchChange, 'optionalCall', _25 => _25(value)]);
|
|
168
|
+
_optionalChain([toolbar, 'optionalAccess', _26 => _26.onSearchChange, 'optionalCall', _27 => _27(value)]);
|
|
168
169
|
};
|
|
169
170
|
const handleSearchSubmit = () => {
|
|
170
|
-
_optionalChain([onSearch, 'optionalCall',
|
|
171
|
-
_optionalChain([toolbar, 'optionalAccess',
|
|
171
|
+
_optionalChain([onSearch, 'optionalCall', _28 => _28(_nullishCoalesce(searchValue, () => ( "")))]);
|
|
172
|
+
_optionalChain([toolbar, 'optionalAccess', _29 => _29.onSearch, 'optionalCall', _30 => _30(_nullishCoalesce(searchValue, () => ( "")))]);
|
|
172
173
|
};
|
|
173
|
-
const
|
|
174
|
+
const setFilterValue = (key, value, filter) => {
|
|
174
175
|
const nextFilters = {
|
|
175
176
|
...resolvedFilters,
|
|
176
|
-
[
|
|
177
|
+
[key]: value
|
|
177
178
|
};
|
|
178
|
-
if (filter.value === void 0) {
|
|
179
|
+
if (!filter || filter.value === void 0) {
|
|
179
180
|
setInternalFilters((prev) => ({
|
|
180
181
|
...prev,
|
|
181
|
-
[
|
|
182
|
+
[key]: value
|
|
182
183
|
}));
|
|
183
184
|
}
|
|
184
|
-
_optionalChain([onFiltersChange, 'optionalCall',
|
|
185
|
-
_optionalChain([toolbar, 'optionalAccess',
|
|
185
|
+
_optionalChain([onFiltersChange, 'optionalCall', _31 => _31(nextFilters)]);
|
|
186
|
+
_optionalChain([toolbar, 'optionalAccess', _32 => _32.onFiltersChange, 'optionalCall', _33 => _33(nextFilters)]);
|
|
187
|
+
};
|
|
188
|
+
const handleFilterSelect = (filter, value) => {
|
|
189
|
+
setFilterValue(filter.key, value, filter);
|
|
186
190
|
};
|
|
187
191
|
const handleBulkAction = (action) => {
|
|
188
192
|
const keys = _nullishCoalesce(selectedKeys, () => ( []));
|
|
189
|
-
_optionalChain([action, 'access',
|
|
190
|
-
_optionalChain([onBulkAction, 'optionalCall',
|
|
191
|
-
_optionalChain([toolbar, 'optionalAccess',
|
|
193
|
+
_optionalChain([action, 'access', _34 => _34.onClick, 'optionalCall', _35 => _35(keys)]);
|
|
194
|
+
_optionalChain([onBulkAction, 'optionalCall', _36 => _36(action, keys)]);
|
|
195
|
+
_optionalChain([toolbar, 'optionalAccess', _37 => _37.onBulkAction, 'optionalCall', _38 => _38(action, keys)]);
|
|
192
196
|
};
|
|
193
197
|
const handleTablePageChange = ({ current, pageSize }) => {
|
|
194
|
-
_optionalChain([onPageChange, 'optionalCall',
|
|
198
|
+
_optionalChain([onPageChange, 'optionalCall', _39 => _39(current, pageSize)]);
|
|
195
199
|
if (previousPageSizeRef.current !== void 0 && previousPageSizeRef.current !== pageSize) {
|
|
196
|
-
_optionalChain([onPageSizeChange, 'optionalCall',
|
|
200
|
+
_optionalChain([onPageSizeChange, 'optionalCall', _40 => _40(current, pageSize)]);
|
|
197
201
|
}
|
|
198
202
|
previousPageSizeRef.current = pageSize;
|
|
199
203
|
};
|
|
200
204
|
const renderColumnSettings = () => {
|
|
201
|
-
const lockedKeys = new Set(_nullishCoalesce(_optionalChain([toolbar, 'optionalAccess',
|
|
202
|
-
const panelTitle = _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess',
|
|
205
|
+
const lockedKeys = new Set(_nullishCoalesce(_optionalChain([toolbar, 'optionalAccess', _41 => _41.columnSettings, 'optionalAccess', _42 => _42.lockedColumnKeys]), () => ( [])));
|
|
206
|
+
const panelTitle = _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess', _43 => _43.columnSettings, 'optionalAccess', _44 => _44.title]), () => ( tableLabels.columnSettingsText));
|
|
203
207
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
204
208
|
_chunkLYYL2JMPjs.Popover,
|
|
205
209
|
{
|
|
@@ -262,7 +266,14 @@ var DataTableWithToolbar = ({
|
|
|
262
266
|
);
|
|
263
267
|
};
|
|
264
268
|
const renderToolbar = () => {
|
|
265
|
-
if (!hasSearch && !hasFilters && !hasBulkActions && !hasColumnSettings)
|
|
269
|
+
if (!hasSearch && !hasFilters && !hasFiltersExtra && !hasBulkActions && !hasColumnSettings) {
|
|
270
|
+
return null;
|
|
271
|
+
}
|
|
272
|
+
const filtersExtraContext = {
|
|
273
|
+
filters: resolvedFilters,
|
|
274
|
+
setFilter: (key, value) => setFilterValue(key, value)
|
|
275
|
+
};
|
|
276
|
+
const filtersExtra = typeof _optionalChain([toolbar, 'optionalAccess', _45 => _45.filtersExtra]) === "function" ? toolbar.filtersExtra(filtersExtraContext) : _optionalChain([toolbar, 'optionalAccess', _46 => _46.filtersExtra]);
|
|
266
277
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
267
278
|
"div",
|
|
268
279
|
{
|
|
@@ -281,7 +292,7 @@ var DataTableWithToolbar = ({
|
|
|
281
292
|
type: "search",
|
|
282
293
|
size: "sm",
|
|
283
294
|
value: searchValue,
|
|
284
|
-
placeholder: _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess',
|
|
295
|
+
placeholder: _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess', _47 => _47.searchPlaceholder]), () => ( tableLabels.searchPlaceholder)),
|
|
285
296
|
prefix: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
286
297
|
"svg",
|
|
287
298
|
{
|
|
@@ -309,21 +320,30 @@ var DataTableWithToolbar = ({
|
|
|
309
320
|
}
|
|
310
321
|
}
|
|
311
322
|
),
|
|
312
|
-
_nullishCoalesce(_optionalChain([toolbar, 'optionalAccess',
|
|
323
|
+
_nullishCoalesce(_optionalChain([toolbar, 'optionalAccess', _48 => _48.showSearchButton]), () => ( true)) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
313
324
|
_chunk56ZV3VVYjs.Button,
|
|
314
325
|
{
|
|
315
326
|
size: "sm",
|
|
316
327
|
variant: "primary",
|
|
317
328
|
className: "whitespace-nowrap shrink-0 rounded-[var(--tiger-radius-md,0.5rem)] px-3",
|
|
318
329
|
onClick: handleSearchSubmit,
|
|
319
|
-
disabled: !onSearch && !_optionalChain([toolbar, 'optionalAccess',
|
|
320
|
-
children: _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess',
|
|
330
|
+
disabled: !onSearch && !_optionalChain([toolbar, 'optionalAccess', _49 => _49.onSearch]),
|
|
331
|
+
children: _nullishCoalesce(_optionalChain([toolbar, 'optionalAccess', _50 => _50.searchButtonText]), () => ( tableLabels.searchButtonText))
|
|
321
332
|
}
|
|
322
333
|
) : null
|
|
323
334
|
] }) : null,
|
|
324
|
-
hasFilters ? _optionalChain([toolbar, 'optionalAccess',
|
|
335
|
+
hasFilters ? _optionalChain([toolbar, 'optionalAccess', _51 => _51.filters, 'optionalAccess', _52 => _52.map, 'call', _53 => _53((filter) => {
|
|
325
336
|
const currentValue = resolvedFilters[filter.key];
|
|
326
337
|
const clearable = filter.clearable !== false;
|
|
338
|
+
if (filter.render) {
|
|
339
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full sm:w-auto", children: filter.render({
|
|
340
|
+
filter,
|
|
341
|
+
value: currentValue,
|
|
342
|
+
filters: resolvedFilters,
|
|
343
|
+
setValue: (value) => setFilterValue(filter.key, value, filter),
|
|
344
|
+
setFilter: (key, value) => setFilterValue(key, value)
|
|
345
|
+
}) }, filter.key);
|
|
346
|
+
}
|
|
327
347
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
328
348
|
"div",
|
|
329
349
|
{
|
|
@@ -332,11 +352,11 @@ var DataTableWithToolbar = ({
|
|
|
332
352
|
_chunk6Z4LLPZAjs.Select,
|
|
333
353
|
{
|
|
334
354
|
size: "sm",
|
|
335
|
-
options: filter.options.map((opt) => ({
|
|
355
|
+
options: (_nullishCoalesce(filter.options, () => ( []))).map((opt) => ({
|
|
336
356
|
label: opt.label,
|
|
337
357
|
value: opt.value
|
|
338
358
|
})),
|
|
339
|
-
value:
|
|
359
|
+
value: typeof currentValue === "string" || typeof currentValue === "number" ? currentValue : void 0,
|
|
340
360
|
placeholder: _nullishCoalesce(filter.placeholder, () => ( filter.label)),
|
|
341
361
|
clearable,
|
|
342
362
|
onChange: (value) => {
|
|
@@ -347,7 +367,8 @@ var DataTableWithToolbar = ({
|
|
|
347
367
|
},
|
|
348
368
|
filter.key
|
|
349
369
|
);
|
|
350
|
-
})]) : null
|
|
370
|
+
})]) : null,
|
|
371
|
+
filtersExtra
|
|
351
372
|
] }),
|
|
352
373
|
hasBulkActions ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2.5 flex-wrap ml-auto shrink-0", children: [
|
|
353
374
|
selectedCount > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[var(--tiger-primary,#2563eb)]/10 text-[var(--tiger-primary,#2563eb)] text-xs font-medium border border-[var(--tiger-primary,#2563eb)]/15 shrink-0 transition-all duration-300", children: [
|
|
@@ -360,7 +381,7 @@ var DataTableWithToolbar = ({
|
|
|
360
381
|
tableLabels.selectedItemsText
|
|
361
382
|
] })
|
|
362
383
|
] }) : null,
|
|
363
|
-
_optionalChain([toolbar, 'optionalAccess',
|
|
384
|
+
_optionalChain([toolbar, 'optionalAccess', _54 => _54.bulkActions, 'optionalAccess', _55 => _55.map, 'call', _56 => _56((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
364
385
|
_chunk56ZV3VVYjs.Button,
|
|
365
386
|
{
|
|
366
387
|
size: "sm",
|
|
@@ -380,7 +401,7 @@ var DataTableWithToolbar = ({
|
|
|
380
401
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: wrapperClasses, "data-tiger-data-table-with-toolbar": true, children: [
|
|
381
402
|
renderToolbar(),
|
|
382
403
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
383
|
-
|
|
404
|
+
_chunkIFVIPIAAjs.Table,
|
|
384
405
|
{
|
|
385
406
|
...remainingTableProps,
|
|
386
407
|
locale,
|
|
@@ -36,6 +36,7 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
|
+
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
var _tigercatcore = require('@expcat/tigercat-core');
|
|
@@ -994,6 +995,7 @@ function Table({
|
|
|
994
995
|
cardBreakpoint = "sm",
|
|
995
996
|
cardClassName,
|
|
996
997
|
renderCard,
|
|
998
|
+
cardLayout,
|
|
997
999
|
// v0.6.0 props
|
|
998
1000
|
virtual = false,
|
|
999
1001
|
autoVirtual = true,
|
|
@@ -1128,6 +1130,18 @@ function Table({
|
|
|
1128
1130
|
onRowOrderChange,
|
|
1129
1131
|
onExport
|
|
1130
1132
|
});
|
|
1133
|
+
const cardLayoutMap = _react.useMemo.call(void 0, () => {
|
|
1134
|
+
const map = /* @__PURE__ */ new Map();
|
|
1135
|
+
if (cardLayout) {
|
|
1136
|
+
for (const item of cardLayout) {
|
|
1137
|
+
map.set(item.key, item);
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
return map;
|
|
1141
|
+
}, [cardLayout]);
|
|
1142
|
+
const hasCustomCardLayout = _react.useMemo.call(void 0, () => {
|
|
1143
|
+
return ctx.displayColumns.some((col) => col.cardGrid) || cardLayout && cardLayout.length > 0;
|
|
1144
|
+
}, [ctx.displayColumns, cardLayout]);
|
|
1131
1145
|
const virtualRecommendation = _react.useMemo.call(void 0,
|
|
1132
1146
|
() => _tigercatcore.getTableVirtualRecommendation.call(void 0, {
|
|
1133
1147
|
virtual,
|
|
@@ -1349,6 +1363,38 @@ function Table({
|
|
|
1349
1363
|
const dataKey = column.dataKey || column.key;
|
|
1350
1364
|
return column.render ? column.render(record, index) : record[dataKey];
|
|
1351
1365
|
};
|
|
1366
|
+
if (hasCustomCardLayout) {
|
|
1367
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1368
|
+
titleColumn && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.tableResponsiveCardTitleClasses, children: renderCellContent(titleColumn) }),
|
|
1369
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-12 gap-3 mt-2", children: bodyColumns.map((column) => {
|
|
1370
|
+
const layoutItem = cardLayoutMap.get(column.key);
|
|
1371
|
+
const gridInfo = _tigercatcore.getCardGridInfo.call(void 0, column, layoutItem);
|
|
1372
|
+
if (gridInfo.hideLabel) {
|
|
1373
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: gridInfo.className, children: renderCellContent(column) }, column.key);
|
|
1374
|
+
}
|
|
1375
|
+
if (gridInfo.labelPosition === "top") {
|
|
1376
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: gridInfo.className, children: [
|
|
1377
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)] mb-1", children: column.title }),
|
|
1378
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words", children: renderCellContent(column) })
|
|
1379
|
+
] }, column.key);
|
|
1380
|
+
}
|
|
1381
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1382
|
+
"div",
|
|
1383
|
+
{
|
|
1384
|
+
className: _tigercatcore.classNames.call(void 0,
|
|
1385
|
+
gridInfo.className,
|
|
1386
|
+
"grid grid-cols-[auto_1fr] gap-2 items-baseline"
|
|
1387
|
+
),
|
|
1388
|
+
children: [
|
|
1389
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)] shrink-0", children: column.title }),
|
|
1390
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words", children: renderCellContent(column) })
|
|
1391
|
+
]
|
|
1392
|
+
},
|
|
1393
|
+
column.key
|
|
1394
|
+
);
|
|
1395
|
+
}) })
|
|
1396
|
+
] });
|
|
1397
|
+
}
|
|
1352
1398
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1353
1399
|
titleColumn && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.tableResponsiveCardTitleClasses, children: renderCellContent(titleColumn) }),
|
|
1354
1400
|
bodyColumns.map((column) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.tableResponsiveCardRowClasses, children: [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Table
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AGHGG73I.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Select
|
|
6
6
|
} from "./chunk-T4OVGM4X.mjs";
|
|
@@ -124,7 +124,7 @@ var DataTableWithToolbar = ({
|
|
|
124
124
|
}, [toolbar?.filters]);
|
|
125
125
|
const searchValue = toolbar?.searchValue !== void 0 ? toolbar.searchValue : internalSearch;
|
|
126
126
|
const resolvedFilters = useMemo(() => {
|
|
127
|
-
const next = {};
|
|
127
|
+
const next = { ...internalFilters };
|
|
128
128
|
toolbar?.filters?.forEach((filter) => {
|
|
129
129
|
next[filter.key] = filter.value !== void 0 ? filter.value : internalFilters[filter.key] ?? filter.defaultValue ?? null;
|
|
130
130
|
});
|
|
@@ -134,6 +134,7 @@ var DataTableWithToolbar = ({
|
|
|
134
134
|
toolbar && (toolbar.searchPlaceholder || toolbar.searchValue !== void 0 || toolbar.defaultSearchValue !== void 0 || toolbar.showSearchButton || toolbar.onSearchChange || toolbar.onSearch || onSearchChange || onSearch)
|
|
135
135
|
);
|
|
136
136
|
const hasFilters = Boolean(toolbar?.filters && toolbar.filters.length > 0);
|
|
137
|
+
const hasFiltersExtra = Boolean(toolbar?.filtersExtra);
|
|
137
138
|
const hasBulkActions = Boolean(toolbar?.bulkActions && toolbar.bulkActions.length > 0);
|
|
138
139
|
const hasColumnSettings = Boolean(toolbar?.showColumnSettings);
|
|
139
140
|
const resolvedHiddenKeys = hiddenColumnKeys ?? internalHiddenKeys;
|
|
@@ -170,20 +171,23 @@ var DataTableWithToolbar = ({
|
|
|
170
171
|
onSearch?.(searchValue ?? "");
|
|
171
172
|
toolbar?.onSearch?.(searchValue ?? "");
|
|
172
173
|
};
|
|
173
|
-
const
|
|
174
|
+
const setFilterValue = (key, value, filter) => {
|
|
174
175
|
const nextFilters = {
|
|
175
176
|
...resolvedFilters,
|
|
176
|
-
[
|
|
177
|
+
[key]: value
|
|
177
178
|
};
|
|
178
|
-
if (filter.value === void 0) {
|
|
179
|
+
if (!filter || filter.value === void 0) {
|
|
179
180
|
setInternalFilters((prev) => ({
|
|
180
181
|
...prev,
|
|
181
|
-
[
|
|
182
|
+
[key]: value
|
|
182
183
|
}));
|
|
183
184
|
}
|
|
184
185
|
onFiltersChange?.(nextFilters);
|
|
185
186
|
toolbar?.onFiltersChange?.(nextFilters);
|
|
186
187
|
};
|
|
188
|
+
const handleFilterSelect = (filter, value) => {
|
|
189
|
+
setFilterValue(filter.key, value, filter);
|
|
190
|
+
};
|
|
187
191
|
const handleBulkAction = (action) => {
|
|
188
192
|
const keys = selectedKeys ?? [];
|
|
189
193
|
action.onClick?.(keys);
|
|
@@ -262,7 +266,14 @@ var DataTableWithToolbar = ({
|
|
|
262
266
|
);
|
|
263
267
|
};
|
|
264
268
|
const renderToolbar = () => {
|
|
265
|
-
if (!hasSearch && !hasFilters && !hasBulkActions && !hasColumnSettings)
|
|
269
|
+
if (!hasSearch && !hasFilters && !hasFiltersExtra && !hasBulkActions && !hasColumnSettings) {
|
|
270
|
+
return null;
|
|
271
|
+
}
|
|
272
|
+
const filtersExtraContext = {
|
|
273
|
+
filters: resolvedFilters,
|
|
274
|
+
setFilter: (key, value) => setFilterValue(key, value)
|
|
275
|
+
};
|
|
276
|
+
const filtersExtra = typeof toolbar?.filtersExtra === "function" ? toolbar.filtersExtra(filtersExtraContext) : toolbar?.filtersExtra;
|
|
266
277
|
return /* @__PURE__ */ jsxs(
|
|
267
278
|
"div",
|
|
268
279
|
{
|
|
@@ -324,6 +335,15 @@ var DataTableWithToolbar = ({
|
|
|
324
335
|
hasFilters ? toolbar?.filters?.map((filter) => {
|
|
325
336
|
const currentValue = resolvedFilters[filter.key];
|
|
326
337
|
const clearable = filter.clearable !== false;
|
|
338
|
+
if (filter.render) {
|
|
339
|
+
return /* @__PURE__ */ jsx("div", { className: "w-full sm:w-auto", children: filter.render({
|
|
340
|
+
filter,
|
|
341
|
+
value: currentValue,
|
|
342
|
+
filters: resolvedFilters,
|
|
343
|
+
setValue: (value) => setFilterValue(filter.key, value, filter),
|
|
344
|
+
setFilter: (key, value) => setFilterValue(key, value)
|
|
345
|
+
}) }, filter.key);
|
|
346
|
+
}
|
|
327
347
|
return /* @__PURE__ */ jsx(
|
|
328
348
|
"div",
|
|
329
349
|
{
|
|
@@ -332,11 +352,11 @@ var DataTableWithToolbar = ({
|
|
|
332
352
|
Select,
|
|
333
353
|
{
|
|
334
354
|
size: "sm",
|
|
335
|
-
options: filter.options.map((opt) => ({
|
|
355
|
+
options: (filter.options ?? []).map((opt) => ({
|
|
336
356
|
label: opt.label,
|
|
337
357
|
value: opt.value
|
|
338
358
|
})),
|
|
339
|
-
value: currentValue
|
|
359
|
+
value: typeof currentValue === "string" || typeof currentValue === "number" ? currentValue : void 0,
|
|
340
360
|
placeholder: filter.placeholder ?? filter.label,
|
|
341
361
|
clearable,
|
|
342
362
|
onChange: (value) => {
|
|
@@ -347,7 +367,8 @@ var DataTableWithToolbar = ({
|
|
|
347
367
|
},
|
|
348
368
|
filter.key
|
|
349
369
|
);
|
|
350
|
-
}) : null
|
|
370
|
+
}) : null,
|
|
371
|
+
filtersExtra
|
|
351
372
|
] }),
|
|
352
373
|
hasBulkActions ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5 flex-wrap ml-auto shrink-0", children: [
|
|
353
374
|
selectedCount > 0 ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[var(--tiger-primary,#2563eb)]/10 text-[var(--tiger-primary,#2563eb)] text-xs font-medium border border-[var(--tiger-primary,#2563eb)]/15 shrink-0 transition-all duration-300", children: [
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { TableToolbarProps, TableToolbarFilterValue, TableToolbarAction } from '@expcat/tigercat-core';
|
|
3
|
+
import { TableToolbarProps, TableToolbarFilter, TableToolbarFilterRenderContext, TableToolbarFiltersExtraContext, TableToolbarFilterValue, TableToolbarAction } from '@expcat/tigercat-core';
|
|
4
4
|
import { T as TableProps } from '../types-CHmCMNEM.mjs';
|
|
5
5
|
|
|
6
|
+
interface ReactTableToolbarFilterRenderContext extends Omit<TableToolbarFilterRenderContext, 'filter'> {
|
|
7
|
+
filter: ReactTableToolbarFilter;
|
|
8
|
+
}
|
|
9
|
+
interface ReactTableToolbarFiltersExtraContext extends TableToolbarFiltersExtraContext {
|
|
10
|
+
}
|
|
11
|
+
interface ReactTableToolbarFilter extends Omit<TableToolbarFilter, 'render'> {
|
|
12
|
+
render?: (context: ReactTableToolbarFilterRenderContext) => React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
interface ReactTableToolbarProps extends Omit<TableToolbarProps, 'filters' | 'filtersExtra'> {
|
|
15
|
+
filters?: ReactTableToolbarFilter[];
|
|
16
|
+
filtersExtra?: React.ReactNode | ((context: ReactTableToolbarFiltersExtraContext) => React.ReactNode);
|
|
17
|
+
}
|
|
6
18
|
interface DataTableWithToolbarProps<T = Record<string, unknown>> extends Omit<TableProps<T>, 'className' | 'onPageChange'>, Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'onChange'> {
|
|
7
19
|
/**
|
|
8
20
|
* Toolbar configuration
|
|
9
21
|
*/
|
|
10
|
-
toolbar?:
|
|
22
|
+
toolbar?: ReactTableToolbarProps;
|
|
11
23
|
/**
|
|
12
24
|
* Search change handler
|
|
13
25
|
*/
|
|
@@ -43,4 +55,4 @@ interface DataTableWithToolbarProps<T = Record<string, unknown>> extends Omit<Ta
|
|
|
43
55
|
}
|
|
44
56
|
declare const DataTableWithToolbar: <T extends Record<string, unknown> = Record<string, unknown>>({ toolbar, locale, labels, onSearchChange, onSearch, onFiltersChange, onBulkAction, hiddenColumnKeys, defaultHiddenColumnKeys, onHiddenColumnsChange, pagination, onPageChange, onPageSizeChange, className, tableClassName, ...tableProps }: DataTableWithToolbarProps<T>) => react_jsx_runtime.JSX.Element;
|
|
45
57
|
|
|
46
|
-
export { DataTableWithToolbar, type DataTableWithToolbarProps, DataTableWithToolbar as default };
|
|
58
|
+
export { DataTableWithToolbar, type DataTableWithToolbarProps, type ReactTableToolbarFilter, type ReactTableToolbarFilterRenderContext, type ReactTableToolbarFiltersExtraContext, type ReactTableToolbarProps, DataTableWithToolbar as default };
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { TableToolbarProps, TableToolbarFilterValue, TableToolbarAction } from '@expcat/tigercat-core';
|
|
3
|
+
import { TableToolbarProps, TableToolbarFilter, TableToolbarFilterRenderContext, TableToolbarFiltersExtraContext, TableToolbarFilterValue, TableToolbarAction } from '@expcat/tigercat-core';
|
|
4
4
|
import { T as TableProps } from '../types-CHmCMNEM.js';
|
|
5
5
|
|
|
6
|
+
interface ReactTableToolbarFilterRenderContext extends Omit<TableToolbarFilterRenderContext, 'filter'> {
|
|
7
|
+
filter: ReactTableToolbarFilter;
|
|
8
|
+
}
|
|
9
|
+
interface ReactTableToolbarFiltersExtraContext extends TableToolbarFiltersExtraContext {
|
|
10
|
+
}
|
|
11
|
+
interface ReactTableToolbarFilter extends Omit<TableToolbarFilter, 'render'> {
|
|
12
|
+
render?: (context: ReactTableToolbarFilterRenderContext) => React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
interface ReactTableToolbarProps extends Omit<TableToolbarProps, 'filters' | 'filtersExtra'> {
|
|
15
|
+
filters?: ReactTableToolbarFilter[];
|
|
16
|
+
filtersExtra?: React.ReactNode | ((context: ReactTableToolbarFiltersExtraContext) => React.ReactNode);
|
|
17
|
+
}
|
|
6
18
|
interface DataTableWithToolbarProps<T = Record<string, unknown>> extends Omit<TableProps<T>, 'className' | 'onPageChange'>, Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'onChange'> {
|
|
7
19
|
/**
|
|
8
20
|
* Toolbar configuration
|
|
9
21
|
*/
|
|
10
|
-
toolbar?:
|
|
22
|
+
toolbar?: ReactTableToolbarProps;
|
|
11
23
|
/**
|
|
12
24
|
* Search change handler
|
|
13
25
|
*/
|
|
@@ -43,4 +55,4 @@ interface DataTableWithToolbarProps<T = Record<string, unknown>> extends Omit<Ta
|
|
|
43
55
|
}
|
|
44
56
|
declare const DataTableWithToolbar: <T extends Record<string, unknown> = Record<string, unknown>>({ toolbar, locale, labels, onSearchChange, onSearch, onFiltersChange, onBulkAction, hiddenColumnKeys, defaultHiddenColumnKeys, onHiddenColumnsChange, pagination, onPageChange, onPageSizeChange, className, tableClassName, ...tableProps }: DataTableWithToolbarProps<T>) => react_jsx_runtime.JSX.Element;
|
|
45
57
|
|
|
46
|
-
export { DataTableWithToolbar, type DataTableWithToolbarProps, DataTableWithToolbar as default };
|
|
58
|
+
export { DataTableWithToolbar, type DataTableWithToolbarProps, type ReactTableToolbarFilter, type ReactTableToolbarFilterRenderContext, type ReactTableToolbarFiltersExtraContext, type ReactTableToolbarProps, DataTableWithToolbar as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
4
|
+
var _chunkEWSYARW4js = require('../chunk-EWSYARW4.js');
|
|
5
|
+
require('../chunk-IFVIPIAA.js');
|
|
6
6
|
require('../chunk-6Z4LLPZA.js');
|
|
7
7
|
require('../chunk-LYYL2JMP.js');
|
|
8
8
|
require('../chunk-TMON4MPO.js');
|
|
@@ -20,4 +20,4 @@ require('../chunk-STTQ5LXX.js');
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
exports.DataTableWithToolbar =
|
|
23
|
+
exports.DataTableWithToolbar = _chunkEWSYARW4js.DataTableWithToolbar; exports.default = _chunkEWSYARW4js.DataTableWithToolbar_default;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DataTableWithToolbar,
|
|
3
3
|
DataTableWithToolbar_default
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-KVZE7UGH.mjs";
|
|
5
|
+
import "../chunk-AGHGG73I.mjs";
|
|
6
6
|
import "../chunk-T4OVGM4X.mjs";
|
|
7
7
|
import "../chunk-TANTMMR7.mjs";
|
|
8
8
|
import "../chunk-NPTXXUXF.mjs";
|
|
@@ -2,6 +2,6 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { T as TableProps } from '../types-CHmCMNEM.mjs';
|
|
3
3
|
import '@expcat/tigercat-core';
|
|
4
4
|
|
|
5
|
-
declare function Table<T extends Record<string, unknown> = Record<string, unknown>>({ columns, columnLockable, dataSource, hiddenColumnKeys, defaultHiddenColumnKeys, sort, defaultSort, filters, defaultFilters, size, bordered, striped, hoverable, loading, locale, labels, emptyText, pagination, rowSelection, expandable, rowKey, rowClassName, stickyHeader, maxHeight, tableLayout, responsiveMode, cardBreakpoint, cardClassName, renderCard, virtual, autoVirtual, virtualHeight, virtualItemHeight: _virtualItemHeight, autoVirtualThreshold, virtualThreshold, editable, editableCells, filterMode, advancedFilterRules, columnDraggable, rowDraggable, summaryRow, groupBy, exportable, exportFormat, exportFilename, onChange, onRowClick, onSelectionChange, onSortChange, onFilterChange, onHiddenColumnsChange, onPageChange, onExpandChange, onCellChange, onColumnOrderChange, onRowOrderChange, onExport, className, ...props }: TableProps<T>): react_jsx_runtime.JSX.Element;
|
|
5
|
+
declare function Table<T extends Record<string, unknown> = Record<string, unknown>>({ columns, columnLockable, dataSource, hiddenColumnKeys, defaultHiddenColumnKeys, sort, defaultSort, filters, defaultFilters, size, bordered, striped, hoverable, loading, locale, labels, emptyText, pagination, rowSelection, expandable, rowKey, rowClassName, stickyHeader, maxHeight, tableLayout, responsiveMode, cardBreakpoint, cardClassName, renderCard, cardLayout, virtual, autoVirtual, virtualHeight, virtualItemHeight: _virtualItemHeight, autoVirtualThreshold, virtualThreshold, editable, editableCells, filterMode, advancedFilterRules, columnDraggable, rowDraggable, summaryRow, groupBy, exportable, exportFormat, exportFilename, onChange, onRowClick, onSelectionChange, onSortChange, onFilterChange, onHiddenColumnsChange, onPageChange, onExpandChange, onCellChange, onColumnOrderChange, onRowOrderChange, onExport, className, ...props }: TableProps<T>): react_jsx_runtime.JSX.Element;
|
|
6
6
|
|
|
7
7
|
export { Table, TableProps };
|
|
@@ -2,6 +2,6 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { T as TableProps } from '../types-CHmCMNEM.js';
|
|
3
3
|
import '@expcat/tigercat-core';
|
|
4
4
|
|
|
5
|
-
declare function Table<T extends Record<string, unknown> = Record<string, unknown>>({ columns, columnLockable, dataSource, hiddenColumnKeys, defaultHiddenColumnKeys, sort, defaultSort, filters, defaultFilters, size, bordered, striped, hoverable, loading, locale, labels, emptyText, pagination, rowSelection, expandable, rowKey, rowClassName, stickyHeader, maxHeight, tableLayout, responsiveMode, cardBreakpoint, cardClassName, renderCard, virtual, autoVirtual, virtualHeight, virtualItemHeight: _virtualItemHeight, autoVirtualThreshold, virtualThreshold, editable, editableCells, filterMode, advancedFilterRules, columnDraggable, rowDraggable, summaryRow, groupBy, exportable, exportFormat, exportFilename, onChange, onRowClick, onSelectionChange, onSortChange, onFilterChange, onHiddenColumnsChange, onPageChange, onExpandChange, onCellChange, onColumnOrderChange, onRowOrderChange, onExport, className, ...props }: TableProps<T>): react_jsx_runtime.JSX.Element;
|
|
5
|
+
declare function Table<T extends Record<string, unknown> = Record<string, unknown>>({ columns, columnLockable, dataSource, hiddenColumnKeys, defaultHiddenColumnKeys, sort, defaultSort, filters, defaultFilters, size, bordered, striped, hoverable, loading, locale, labels, emptyText, pagination, rowSelection, expandable, rowKey, rowClassName, stickyHeader, maxHeight, tableLayout, responsiveMode, cardBreakpoint, cardClassName, renderCard, cardLayout, virtual, autoVirtual, virtualHeight, virtualItemHeight: _virtualItemHeight, autoVirtualThreshold, virtualThreshold, editable, editableCells, filterMode, advancedFilterRules, columnDraggable, rowDraggable, summaryRow, groupBy, exportable, exportFormat, exportFilename, onChange, onRowClick, onSelectionChange, onSortChange, onFilterChange, onHiddenColumnsChange, onPageChange, onExpandChange, onCellChange, onColumnOrderChange, onRowOrderChange, onExport, className, ...props }: TableProps<T>): react_jsx_runtime.JSX.Element;
|
|
6
6
|
|
|
7
7
|
export { Table, TableProps };
|
package/dist/components/Table.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkIFVIPIAAjs = require('../chunk-IFVIPIAA.js');
|
|
4
4
|
require('../chunk-6Z4LLPZA.js');
|
|
5
5
|
require('../chunk-TMON4MPO.js');
|
|
6
6
|
require('../chunk-ZFMMAYSX.js');
|
|
@@ -11,4 +11,4 @@ require('../chunk-JLRRXRZO.js');
|
|
|
11
11
|
require('../chunk-UKGQ7256.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
exports.Table =
|
|
14
|
+
exports.Table = _chunkIFVIPIAAjs.Table;
|
package/dist/index.d.mts
CHANGED
|
@@ -80,7 +80,7 @@ export { default as ActivityFeed, ActivityFeedProps } from './components/Activit
|
|
|
80
80
|
export { default as ChatWindow, ChatWindowProps } from './components/ChatWindow.mjs';
|
|
81
81
|
export { default as CommentThread, CommentThreadProps } from './components/CommentThread.mjs';
|
|
82
82
|
export { default as NotificationCenter, NotificationCenterProps } from './components/NotificationCenter.mjs';
|
|
83
|
-
export { default as DataTableWithToolbar, DataTableWithToolbarProps } from './components/DataTableWithToolbar.mjs';
|
|
83
|
+
export { default as DataTableWithToolbar, DataTableWithToolbarProps, ReactTableToolbarFilter, ReactTableToolbarFilterRenderContext, ReactTableToolbarFiltersExtraContext, ReactTableToolbarProps } from './components/DataTableWithToolbar.mjs';
|
|
84
84
|
export { default as FormWizard, FormWizardProps } from './components/FormWizard.mjs';
|
|
85
85
|
export { CropUpload, CropUploadProps } from './components/CropUpload.mjs';
|
|
86
86
|
export { default as ChartCanvas, ChartCanvasProps } from './components/ChartCanvas.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ export { default as ActivityFeed, ActivityFeedProps } from './components/Activit
|
|
|
80
80
|
export { default as ChatWindow, ChatWindowProps } from './components/ChatWindow.js';
|
|
81
81
|
export { default as CommentThread, CommentThreadProps } from './components/CommentThread.js';
|
|
82
82
|
export { default as NotificationCenter, NotificationCenterProps } from './components/NotificationCenter.js';
|
|
83
|
-
export { default as DataTableWithToolbar, DataTableWithToolbarProps } from './components/DataTableWithToolbar.js';
|
|
83
|
+
export { default as DataTableWithToolbar, DataTableWithToolbarProps, ReactTableToolbarFilter, ReactTableToolbarFilterRenderContext, ReactTableToolbarFiltersExtraContext, ReactTableToolbarProps } from './components/DataTableWithToolbar.js';
|
|
84
84
|
export { default as FormWizard, FormWizardProps } from './components/FormWizard.js';
|
|
85
85
|
export { CropUpload, CropUploadProps } from './components/CropUpload.js';
|
|
86
86
|
export { default as ChartCanvas, ChartCanvasProps } from './components/ChartCanvas.js';
|
package/dist/index.js
CHANGED
|
@@ -256,10 +256,10 @@ var _chunkDSXII6ZFjs = require('./chunk-DSXII6ZF.js');
|
|
|
256
256
|
var _chunkFI53LYZ6js = require('./chunk-FI53LYZ6.js');
|
|
257
257
|
|
|
258
258
|
|
|
259
|
-
var
|
|
259
|
+
var _chunkEWSYARW4js = require('./chunk-EWSYARW4.js');
|
|
260
260
|
|
|
261
261
|
|
|
262
|
-
var
|
|
262
|
+
var _chunkIFVIPIAAjs = require('./chunk-IFVIPIAA.js');
|
|
263
263
|
|
|
264
264
|
|
|
265
265
|
var _chunk6Z4LLPZAjs = require('./chunk-6Z4LLPZA.js');
|
|
@@ -907,4 +907,4 @@ var version = "1.2.0";
|
|
|
907
907
|
|
|
908
908
|
|
|
909
909
|
|
|
910
|
-
exports.ActivityFeed = _chunkUVWLYRACjs.ActivityFeed; exports.Affix = _chunkRYIYE2PYjs.Affix; exports.Alert = _chunkVNMWPJDNjs.Alert; exports.Anchor = _chunkSQGFNVYTjs.Anchor; exports.AnchorLink = _chunkSQGFNVYTjs.AnchorLink; exports.AreaChart = _chunkDCKBVRLIjs.AreaChart; exports.AutoComplete = _chunkU356F7GUjs.AutoComplete; exports.Avatar = _chunk4MQCUKICjs.Avatar; exports.AvatarGroup = _chunkTQOWIDQTjs.AvatarGroup; exports.BackTop = _chunk4LIDROT4js.BackTop; exports.Badge = _chunkPNAWOJ32js.Badge; exports.BarChart = _chunkNMKFR435js.BarChart; exports.Breadcrumb = _chunkVDF2BD2Ajs.Breadcrumb; exports.BreadcrumbItem = _chunkVDF2BD2Ajs.BreadcrumbItem; exports.Button = _chunk56ZV3VVYjs.Button; exports.ButtonGroup = _chunkYMKA4L3Zjs.ButtonGroup; exports.Calendar = _chunk5EVHVZG5js.Calendar; exports.Card = _chunkUIO6O4MIjs.Card; exports.Carousel = _chunkB5TUTAVXjs.Carousel; exports.Cascader = _chunkTC6JLEGZjs.Cascader; exports.ChartAxis = _chunkE5GD3H7Ljs.ChartAxis; exports.ChartCanvas = _chunkUKLVOR4Ejs.ChartCanvas; exports.ChartGrid = _chunk3QFHVAZTjs.ChartGrid; exports.ChartLegend = _chunkWV5XHYW6js.ChartLegend; exports.ChartSeries = _chunkAX5XRD2Qjs.ChartSeries; exports.ChartTooltip = _chunkUVMQJOTXjs.ChartTooltip; exports.ChatWindow = _chunkABTJVM3Xjs.ChatWindow; exports.Checkbox = _chunkF7H4ALKNjs.Checkbox; exports.CheckboxGroup = _chunkJLRRXRZOjs.CheckboxGroup; exports.Code = _chunkRTHC4KWMjs.Code; exports.CodeEditor = _chunk3E76U2RGjs.CodeEditor; exports.Col = _chunkQQKP437Ljs.Col; exports.Collapse = _chunkQ2GPRAF4js.Collapse; exports.CollapsePanel = _chunkWN3ZI7FNjs.CollapsePanel; exports.ColorPicker = _chunkJB33A4S6js.ColorPicker; exports.ColorSwatch = _chunkJ4SNBXJMjs.ColorSwatch; exports.CommentThread = _chunkJCINYGGMjs.CommentThread; exports.ConfigProvider = _chunkTDODFBBOjs.ConfigProvider; exports.Container = _chunkW3VLCSJLjs.Container; exports.Content = _chunkOFCKGWTSjs.Content; exports.Countdown = _chunkU3M24RPHjs.Countdown; exports.CronEditor = _chunkNRLGZRK2js.CronEditor; exports.CropUpload = _chunkH2YHUFMKjs.CropUpload; exports.DataTableWithToolbar =
|
|
910
|
+
exports.ActivityFeed = _chunkUVWLYRACjs.ActivityFeed; exports.Affix = _chunkRYIYE2PYjs.Affix; exports.Alert = _chunkVNMWPJDNjs.Alert; exports.Anchor = _chunkSQGFNVYTjs.Anchor; exports.AnchorLink = _chunkSQGFNVYTjs.AnchorLink; exports.AreaChart = _chunkDCKBVRLIjs.AreaChart; exports.AutoComplete = _chunkU356F7GUjs.AutoComplete; exports.Avatar = _chunk4MQCUKICjs.Avatar; exports.AvatarGroup = _chunkTQOWIDQTjs.AvatarGroup; exports.BackTop = _chunk4LIDROT4js.BackTop; exports.Badge = _chunkPNAWOJ32js.Badge; exports.BarChart = _chunkNMKFR435js.BarChart; exports.Breadcrumb = _chunkVDF2BD2Ajs.Breadcrumb; exports.BreadcrumbItem = _chunkVDF2BD2Ajs.BreadcrumbItem; exports.Button = _chunk56ZV3VVYjs.Button; exports.ButtonGroup = _chunkYMKA4L3Zjs.ButtonGroup; exports.Calendar = _chunk5EVHVZG5js.Calendar; exports.Card = _chunkUIO6O4MIjs.Card; exports.Carousel = _chunkB5TUTAVXjs.Carousel; exports.Cascader = _chunkTC6JLEGZjs.Cascader; exports.ChartAxis = _chunkE5GD3H7Ljs.ChartAxis; exports.ChartCanvas = _chunkUKLVOR4Ejs.ChartCanvas; exports.ChartGrid = _chunk3QFHVAZTjs.ChartGrid; exports.ChartLegend = _chunkWV5XHYW6js.ChartLegend; exports.ChartSeries = _chunkAX5XRD2Qjs.ChartSeries; exports.ChartTooltip = _chunkUVMQJOTXjs.ChartTooltip; exports.ChatWindow = _chunkABTJVM3Xjs.ChatWindow; exports.Checkbox = _chunkF7H4ALKNjs.Checkbox; exports.CheckboxGroup = _chunkJLRRXRZOjs.CheckboxGroup; exports.Code = _chunkRTHC4KWMjs.Code; exports.CodeEditor = _chunk3E76U2RGjs.CodeEditor; exports.Col = _chunkQQKP437Ljs.Col; exports.Collapse = _chunkQ2GPRAF4js.Collapse; exports.CollapsePanel = _chunkWN3ZI7FNjs.CollapsePanel; exports.ColorPicker = _chunkJB33A4S6js.ColorPicker; exports.ColorSwatch = _chunkJ4SNBXJMjs.ColorSwatch; exports.CommentThread = _chunkJCINYGGMjs.CommentThread; exports.ConfigProvider = _chunkTDODFBBOjs.ConfigProvider; exports.Container = _chunkW3VLCSJLjs.Container; exports.Content = _chunkOFCKGWTSjs.Content; exports.Countdown = _chunkU3M24RPHjs.Countdown; exports.CronEditor = _chunkNRLGZRK2js.CronEditor; exports.CropUpload = _chunkH2YHUFMKjs.CropUpload; exports.DataTableWithToolbar = _chunkEWSYARW4js.DataTableWithToolbar; exports.DatePicker = _chunkTSJYAEFZjs.DatePicker; exports.Descriptions = _chunk6CWZXS5Bjs.Descriptions; exports.Divider = _chunkIZXU7DF6js.Divider; exports.DonutChart = _chunkK2TXT5HQjs.DonutChart; exports.Drawer = _chunkTLU3ROLTjs.Drawer; exports.Dropdown = _chunkJLQBG5XUjs.Dropdown; exports.DropdownItem = _chunkAE2QE2C6js.DropdownItem; exports.DropdownMenu = _chunkJLQBG5XUjs.DropdownMenu; exports.Empty = _chunkZRHDNGWOjs.Empty; exports.FileManager = _chunkHR5GBE3Pjs.FileManager; exports.FloatButton = _chunkXFPJYKBQjs.FloatButton; exports.FloatButtonGroup = _chunkXFPJYKBQjs.FloatButtonGroup; exports.Footer = _chunkTB2UHDOZjs.Footer; exports.Form = _chunkUPPHGL64js.Form; exports.FormItem = _chunkBCQQYERGjs.FormItem; exports.FormWizard = _chunk7JFP3MIWjs.FormWizard; exports.FunnelChart = _chunkQIKR5EFIjs.FunnelChart; exports.Gantt = _chunkQMK4OFC5js.Gantt; exports.GaugeChart = _chunkT7KO6EVKjs.GaugeChart; exports.Header = _chunkVJJ76I7Ujs.Header; exports.HeatmapChart = _chunkH6NC6SBXjs.HeatmapChart; exports.Icon = _chunkIHH2O7YKjs.Icon; exports.Image = _chunkCGIBGSNEjs.Image; exports.ImageAnnotation = _chunkEHIXCFD7js.ImageAnnotation; exports.ImageCropper = _chunkFI53LYZ6js.ImageCropper; exports.ImageGroup = _chunkMB6U72CIjs.ImageGroup; exports.ImageGroupContext = _chunkMB6U72CIjs.ImageGroupContext; exports.ImagePreview = _chunk4U5HSR2Hjs.ImagePreview; exports.ImageViewer = _chunkUXUYCWQCjs.ImageViewer; exports.InfiniteScroll = _chunkM73NMNZXjs.InfiniteScroll; exports.Input = _chunkZYJTHGQWjs.Input; exports.InputGroup = _chunkI3CDTF4Ujs.InputGroup; exports.InputGroupAddon = _chunkI3CDTF4Ujs.InputGroupAddon; exports.InputNumber = _chunkSKMZTW3Kjs.InputNumber; exports.Kanban = _chunkLROHXQWXjs.Kanban; exports.Layout = _chunkD6TKXVEBjs.Layout; exports.LineChart = _chunkEQD2U4KMjs.LineChart; exports.Link = _chunkQYYAXM5Fjs.Link; exports.List = _chunkWG3YS2QVjs.List; exports.Loading = _chunk3MRP3XYIjs.Loading; exports.MarkdownEditor = _chunkBFAZZUD6js.MarkdownEditor; exports.Mentions = _chunkXRNKHQTLjs.Mentions; exports.Menu = _chunkZDGBH4NAjs.Menu; exports.MenuItem = _chunkZDGBH4NAjs.MenuItem; exports.MenuItemGroup = _chunkZDGBH4NAjs.MenuItemGroup; exports.Message = _chunkLMTUM3J3js.Message; exports.MessageContainer = _chunkLMTUM3J3js.MessageContainer; exports.Modal = _chunkDSXII6ZFjs.Modal; exports.NotificationCenter = _chunkFZIF5LZWjs.NotificationCenter; exports.NotificationContainer = _chunkNMEVQPODjs.NotificationContainer; exports.NumberKeyboard = _chunkG5USITWFjs.NumberKeyboard; exports.OrgChart = _chunk4DTMFQCYjs.OrgChart; exports.Pagination = _chunkWYKUC5MMjs.Pagination; exports.PieChart = _chunkBO45CU4Qjs.PieChart; exports.Popconfirm = _chunk36I5APFXjs.Popconfirm; exports.Popover = _chunkLYYL2JMPjs.Popover; exports.PrintLayout = _chunkQ4JMAQXJjs.PrintLayout; exports.PrintPageBreak = _chunkQ4JMAQXJjs.PrintPageBreak; exports.Progress = _chunkLODDAS62js.Progress; exports.QRCode = _chunkAUW7DCXLjs.QRCode; exports.RadarChart = _chunkEOU6WZTSjs.RadarChart; exports.Radio = _chunkTMON4MPOjs.Radio; exports.RadioGroup = _chunkZFMMAYSXjs.RadioGroup; exports.Rate = _chunkGG72T6JKjs.Rate; exports.Resizable = _chunkPFYK2V3Ejs.Resizable; exports.Result = _chunkYID7J6ZKjs.Result; exports.RichTextEditor = _chunkONTRGV5Tjs.RichTextEditor; exports.Row = _chunkVE3SYUMHjs.Row; exports.ScatterChart = _chunkW6AWN7BCjs.ScatterChart; exports.ScrollSpy = _chunkFBFCJCONjs.ScrollSpy; exports.Segmented = _chunkN2JYU4JIjs.Segmented; exports.Select = _chunk6Z4LLPZAjs.Select; exports.Sidebar = _chunkYWTZALG5js.Sidebar; exports.Signature = _chunk7ISEWLA3js.Signature; exports.Skeleton = _chunk4PPTEEDIjs.Skeleton; exports.Slider = _chunk7Z64GEMNjs.Slider; exports.Space = _chunkPTEDJ6MAjs.Space; exports.Splitter = _chunkH4AR4GXHjs.Splitter; exports.Spotlight = _chunkKYP7U6FKjs.Spotlight; exports.Statistic = _chunkZDXIP33Yjs.Statistic; exports.Stepper = _chunkMB3QU3USjs.Stepper; exports.Steps = _chunkM7HBWFQOjs.Steps; exports.StepsItem = _chunkM7HBWFQOjs.StepsItem; exports.SubMenu = _chunkZDGBH4NAjs.SubMenu; exports.SunburstChart = _chunkUIIOZEUPjs.SunburstChart; exports.Switch = _chunk4TEILQSNjs.Switch; exports.TabPane = _chunkRFHPG4KNjs.TabPane; exports.Table = _chunkIFVIPIAAjs.Table; exports.Tabs = _chunkRFHPG4KNjs.Tabs; exports.Tag = _chunkVCULFIZ5js.Tag; exports.TaskBoard = _chunkANN5P7TJjs.TaskBoard; exports.Text = _chunkUF3DXKCIjs.Text; exports.Textarea = _chunkWVVXZKNIjs.Textarea; exports.TimePicker = _chunk4SO4LANYjs.TimePicker; exports.Timeline = _chunkPR3PQUKMjs.Timeline; exports.Tooltip = _chunkOBY4FYRZjs.Tooltip; exports.Tour = _chunkKQ5I7PRMjs.Tour; exports.Transfer = _chunkEF5ZTNHXjs.Transfer; exports.Tree = _chunkSIY6FDKJjs.Tree; exports.TreeMapChart = _chunkX7JAYXPYjs.TreeMapChart; exports.TreeSelect = _chunkCBYJXDW4js.TreeSelect; exports.Upload = _chunkUHFHOTNIjs.Upload; exports.VirtualList = _chunkP36GX65Njs.VirtualList; exports.VirtualTable = _chunkDLKUDB2Rjs.VirtualTable; exports.Watermark = _chunkCHPJPIW6js.Watermark; exports.notification = _chunkNMEVQPODjs.notification; exports.useAnchorContext = _chunkSQGFNVYTjs.useAnchorContext; exports.useBreadcrumbContext = _chunkVDF2BD2Ajs.useBreadcrumbContext; exports.useChartInteraction = _chunkXTV5JLLCjs.useChartInteraction; exports.useCollapseContext = _chunkQ2GPRAF4js.useCollapseContext; exports.useControlledState = _chunkUKGQ7256js.useControlledState; exports.useDrag = useDrag; exports.useFormContext = _chunkUPPHGL64js.useFormContext; exports.useFormController = useFormController; exports.useMenuContext = _chunkZDGBH4NAjs.useMenuContext; exports.useStepsContext = _chunkM7HBWFQOjs.useStepsContext; exports.useTabsContext = _chunkRFHPG4KNjs.useTabsContext; exports.useTigerConfig = _chunkTDODFBBOjs.useTigerConfig; exports.version = version;
|
package/dist/index.mjs
CHANGED
|
@@ -256,10 +256,10 @@ import {
|
|
|
256
256
|
} from "./chunk-SY23FAXK.mjs";
|
|
257
257
|
import {
|
|
258
258
|
DataTableWithToolbar
|
|
259
|
-
} from "./chunk-
|
|
259
|
+
} from "./chunk-KVZE7UGH.mjs";
|
|
260
260
|
import {
|
|
261
261
|
Table
|
|
262
|
-
} from "./chunk-
|
|
262
|
+
} from "./chunk-AGHGG73I.mjs";
|
|
263
263
|
import {
|
|
264
264
|
Select
|
|
265
265
|
} from "./chunk-T4OVGM4X.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expcat/tigercat-react",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.46",
|
|
4
4
|
"description": "React components for Tigercat UI library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Yizhe Wang",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@expcat/tigercat-core": "1.2.
|
|
50
|
+
"@expcat/tigercat-core": "1.2.46"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/node": "^25.6.0",
|