@economic/taco 2.26.3 → 2.26.5
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/esm/packages/taco/src/components/Table3/components/Row/Row.js +2 -2
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js +4 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js +2 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/{useStylesheet.js → useTableStyle.js} +24 -15
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyle.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/{useStylesheetColumnFreezing.js → useTableStyleColumnFreezing.js} +6 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/{useStylesheetColumnFreezing.js.map → useTableStyleColumnFreezing.js.map} +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/{useStylesheetCssGrid.js → useTableStyleGrid.js} +12 -5
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js +6 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js +25 -5
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyle.d.ts +797 -0
- package/dist/primitives/Table/Core/features/useTableStyleColumnFreezing.d.ts +4 -0
- package/dist/primitives/Table/Core/features/useTableStyleGrid.d.ts +7 -0
- package/dist/primitives/Table/Core/useTable.d.ts +2 -1
- package/dist/primitives/Table/useTableManager/features/useTableServerLoading.d.ts +1 -0
- package/dist/taco.cjs.development.js +72 -27
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useStylesheet.js.map +0 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useStylesheetCssGrid.js.map +0 -1
- package/dist/primitives/Table/Core/features/useStylesheet.d.ts +0 -3
- package/dist/primitives/Table/Core/features/useStylesheetColumnFreezing.d.ts +0 -2
- package/dist/primitives/Table/Core/features/useStylesheetCssGrid.d.ts +0 -3
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Table as ReactTable } from '@tanstack/react-table';
|
3
|
+
import { TableFontSize } from '../../types';
|
4
|
+
export declare function useTableStyleGrid<TType = unknown>(tableId: string, table: ReactTable<TType>, fontSize: TableFontSize): {
|
5
|
+
style: React.CSSProperties;
|
6
|
+
stylesheet: string;
|
7
|
+
};
|
@@ -21,7 +21,8 @@ export declare type useTableReturnValue<TType = unknown> = {
|
|
21
21
|
style: React.CSSProperties;
|
22
22
|
scrollToIndex: (index: number, options?: ReactVirtualScrollToOptions) => void;
|
23
23
|
};
|
24
|
-
|
24
|
+
style: React.CSSProperties;
|
25
|
+
stylesheet: string;
|
25
26
|
state: ReactTableState;
|
26
27
|
};
|
27
28
|
export declare function useTable<TType = unknown, TMeta = {}>(props: TableProps<TType>, externalRef: React.Ref<TableRef>, renderers: useTableRenderers<TType>, meta?: Partial<ReactTableMeta<TType>> & TMeta): useTableReturnValue<TType>;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { TableServerLoadAllHandler, TableServerLoadAllState, TableServerLoadPageHandler } from '../../types';
|
2
2
|
export declare function useTableServerLoading(loadPage?: TableServerLoadPageHandler, loadAll?: TableServerLoadAllHandler, pageSize?: number): {
|
3
3
|
isEnabled: boolean;
|
4
|
+
isReady: boolean;
|
4
5
|
loadPage: TableServerLoadPageHandler | undefined;
|
5
6
|
loadAll: TableServerLoadAllHandler | undefined;
|
6
7
|
loadAllIfNeeded: TableServerLoadAllHandler | undefined;
|
@@ -10413,34 +10413,53 @@ function useTableDataLoader(fetch, fetchAll, options = {
|
|
10413
10413
|
|
10414
10414
|
function useTableServerLoading(loadPage, loadAll, pageSize = DEFAULT_PAGE_SIZE) {
|
10415
10415
|
const isEnabled = !!loadPage && !!loadAll;
|
10416
|
+
const [isReady, setReady] = React__default.useState(false);
|
10416
10417
|
const [loadAllStatus, setLoadedStatus] = React__default.useState(exports.TableServerLoadAllState.Incomplete);
|
10418
|
+
let _loadPage;
|
10417
10419
|
let _loadAll;
|
10418
10420
|
let _loadAllIfNeeded;
|
10421
|
+
if (typeof loadPage === 'function') {
|
10422
|
+
_loadPage = function (...args) {
|
10423
|
+
try {
|
10424
|
+
const _temp = function () {
|
10425
|
+
if (typeof loadPage === 'function') {
|
10426
|
+
return Promise.resolve(loadPage(...args)).then(function () {
|
10427
|
+
setReady(true);
|
10428
|
+
});
|
10429
|
+
}
|
10430
|
+
}();
|
10431
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
10432
|
+
} catch (e) {
|
10433
|
+
return Promise.reject(e);
|
10434
|
+
}
|
10435
|
+
};
|
10436
|
+
}
|
10419
10437
|
if (typeof loadAll === 'function') {
|
10420
10438
|
_loadAll = function (...args) {
|
10421
10439
|
try {
|
10422
|
-
const
|
10440
|
+
const _temp2 = function () {
|
10423
10441
|
if (typeof loadAll === 'function') {
|
10424
10442
|
setLoadedStatus(exports.TableServerLoadAllState.Loading);
|
10425
10443
|
return Promise.resolve(loadAll(...args)).then(function () {
|
10426
10444
|
setLoadedStatus(exports.TableServerLoadAllState.Completed);
|
10445
|
+
setReady(true);
|
10427
10446
|
});
|
10428
10447
|
}
|
10429
10448
|
}();
|
10430
|
-
return Promise.resolve(
|
10449
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
10431
10450
|
} catch (e) {
|
10432
10451
|
return Promise.reject(e);
|
10433
10452
|
}
|
10434
10453
|
};
|
10435
10454
|
_loadAllIfNeeded = function (...args) {
|
10436
10455
|
try {
|
10437
|
-
const
|
10456
|
+
const _temp3 = function () {
|
10438
10457
|
if (loadAllStatus === exports.TableServerLoadAllState.Incomplete) {
|
10439
10458
|
var _loadAll2;
|
10440
10459
|
return Promise.resolve((_loadAll2 = _loadAll) === null || _loadAll2 === void 0 ? void 0 : _loadAll2(...args)).then(function () {});
|
10441
10460
|
}
|
10442
10461
|
}();
|
10443
|
-
return Promise.resolve(
|
10462
|
+
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
|
10444
10463
|
} catch (e) {
|
10445
10464
|
return Promise.reject(e);
|
10446
10465
|
}
|
@@ -10448,7 +10467,8 @@ function useTableServerLoading(loadPage, loadAll, pageSize = DEFAULT_PAGE_SIZE)
|
|
10448
10467
|
}
|
10449
10468
|
return {
|
10450
10469
|
isEnabled,
|
10451
|
-
|
10470
|
+
isReady,
|
10471
|
+
loadPage: _loadPage,
|
10452
10472
|
loadAll: _loadAll,
|
10453
10473
|
loadAllIfNeeded: _loadAllIfNeeded,
|
10454
10474
|
loadAllStatus,
|
@@ -10896,7 +10916,7 @@ function useTableManager(props, meta, internalColumns) {
|
|
10896
10916
|
};
|
10897
10917
|
}
|
10898
10918
|
|
10899
|
-
function
|
10919
|
+
function useTableStyleGrid(tableId, table, fontSize) {
|
10900
10920
|
const tableMeta = table.options.meta;
|
10901
10921
|
const allVisibleColumns = table.getVisibleLeafColumns();
|
10902
10922
|
const columnSizing = table.getState().columnSizing;
|
@@ -10944,12 +10964,19 @@ function useStylesheetCssGrid(tableId, table, fontSize) {
|
|
10944
10964
|
}, '');
|
10945
10965
|
// we have to be specific so that nested tables don't inherit the same css
|
10946
10966
|
const hiddenColumns = printHiddenColumns.map(id => `table[data-taco^='table']#${tableId} > thead > tr > th[data-cell-id='${id}']\n,table[data-taco^='table']#${tableId} > tbody > tr > td[data-cell-id='${id}']\n`).join(',');
|
10947
|
-
|
10948
|
-
|
10967
|
+
const style = {
|
10968
|
+
gridTemplateColumns,
|
10969
|
+
gridTemplateRows
|
10970
|
+
};
|
10971
|
+
const stylesheet = `@media print { table[data-taco^='table']#${tableId} { grid-template-columns: ${printGridTemplateColumns}; } ${hiddenColumns ? `${hiddenColumns} { display: none; }` : ''}}`;
|
10972
|
+
return {
|
10973
|
+
style,
|
10974
|
+
stylesheet
|
10975
|
+
};
|
10949
10976
|
}, [allVisibleColumns, columnSizing, globalMinSize, tableMeta.rowActions.rowActionsLength]);
|
10950
10977
|
}
|
10951
10978
|
|
10952
|
-
function
|
10979
|
+
function useTableStyleColumnFreezing(tableId, table) {
|
10953
10980
|
const {
|
10954
10981
|
columnPinning
|
10955
10982
|
} = table.getState();
|
@@ -10986,20 +11013,32 @@ function useStylesheetColumnFreezing(tableId, table) {
|
|
10986
11013
|
}
|
10987
11014
|
return styles.join('\n');
|
10988
11015
|
}, [columnPinning]);
|
10989
|
-
return
|
11016
|
+
return {
|
11017
|
+
stylesheet
|
11018
|
+
};
|
10990
11019
|
}
|
10991
11020
|
|
10992
|
-
function
|
11021
|
+
function useTableStyle(tableId, table) {
|
10993
11022
|
const tableMeta = table.options.meta;
|
10994
|
-
const
|
10995
|
-
|
10996
|
-
|
10997
|
-
|
10998
|
-
|
10999
|
-
|
11000
|
-
|
11001
|
-
const
|
11002
|
-
|
11023
|
+
const {
|
11024
|
+
style: cssGridStyle,
|
11025
|
+
stylesheet: cssGridStylesheet
|
11026
|
+
} = useTableStyleGrid(tableId, table, tableMeta.fontSize.size);
|
11027
|
+
const {
|
11028
|
+
stylesheet: columnFreezingStylesheet
|
11029
|
+
} = useTableStyleColumnFreezing(tableId, table);
|
11030
|
+
const style = {
|
11031
|
+
// css vars required by children of table
|
11032
|
+
'--table-header-group-depth': table.getHeaderGroups().length,
|
11033
|
+
'--table-cell-padding-x': getCellWidthPadding(tableMeta.fontSize.size),
|
11034
|
+
'--table-cell-padding-y': getCellHeightPadding(tableMeta.rowHeight.height, tableMeta.fontSize.size),
|
11035
|
+
...cssGridStyle
|
11036
|
+
};
|
11037
|
+
const stylesheet = [cssGridStylesheet, columnFreezingStylesheet].filter(s => !!s).join('\n');
|
11038
|
+
return {
|
11039
|
+
style,
|
11040
|
+
stylesheet
|
11041
|
+
};
|
11003
11042
|
}
|
11004
11043
|
// we cannot just use a fixed height because our rows need to grow in height (images, edit mode validation etc)
|
11005
11044
|
function getCellHeightPadding(height, fontSize) {
|
@@ -11758,7 +11797,10 @@ function useTable(props, externalRef, renderers, meta) {
|
|
11758
11797
|
// configure the virtualised renderer
|
11759
11798
|
const renderer = useTableRenderer(renderers, manager.instance, ref, props.defaultRowActiveIndex);
|
11760
11799
|
// configure dynamic styling
|
11761
|
-
const
|
11800
|
+
const {
|
11801
|
+
style,
|
11802
|
+
stylesheet
|
11803
|
+
} = useTableStyle(manager.id, manager.instance);
|
11762
11804
|
// configure global keyboard shortcuts
|
11763
11805
|
useTableGlobalShortcuts(manager.instance, ref, renderer.scrollToIndex);
|
11764
11806
|
// augment the ref with some helper functions
|
@@ -11775,6 +11817,7 @@ function useTable(props, externalRef, renderers, meta) {
|
|
11775
11817
|
toolbarRight: props.toolbarRight
|
11776
11818
|
},
|
11777
11819
|
renderer,
|
11820
|
+
style,
|
11778
11821
|
stylesheet,
|
11779
11822
|
ref
|
11780
11823
|
};
|
@@ -12361,11 +12404,11 @@ function HeaderMenu(props) {
|
|
12361
12404
|
// can't use display: none because the button needs to be focusable
|
12362
12405
|
const className = cn(
|
12363
12406
|
// positioning
|
12364
|
-
'justify-end
|
12407
|
+
'justify-end overflow-hidden',
|
12365
12408
|
// sizing
|
12366
12409
|
'!h-6 !w-0 !min-h-[theme(spacing.6)] !min-w-0',
|
12367
12410
|
// visible - hover
|
12368
|
-
'group-hover/header:!w-6 group-hover/header:!min-w-[theme(spacing.6)]',
|
12411
|
+
'group-hover/header:!w-6 group-hover/header:!min-w-[theme(spacing.6)] group-hover/header:-mr-1',
|
12369
12412
|
// visible - expanded
|
12370
12413
|
'aria-expanded:!w-6 aria-expanded:!min-w-[theme(spacing.6)]',
|
12371
12414
|
// visible - focus
|
@@ -15709,17 +15752,19 @@ function TableGrid(props) {
|
|
15709
15752
|
const handleFocus = table.meta.rowActive.rowActiveIndex === undefined ? event => {
|
15710
15753
|
table.meta.rowActive.handleFocus(event, table.meta.length, table.renderer.scrollToIndex);
|
15711
15754
|
} : undefined;
|
15712
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, table.stylesheet, /*#__PURE__*/React__default.createElement(focus.FocusScope, null, /*#__PURE__*/React__default.createElement("table", Object.assign({}, attributes, {
|
15755
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("style", null, table.stylesheet), /*#__PURE__*/React__default.createElement(focus.FocusScope, null, /*#__PURE__*/React__default.createElement("table", Object.assign({}, attributes, {
|
15713
15756
|
id: table.id,
|
15714
15757
|
"data-table-font-size": table.meta.fontSize.size,
|
15758
|
+
"data-table-grouped": !!((_table$state$grouping = table.state.grouping) !== null && _table$state$grouping !== void 0 && _table$state$grouping.length),
|
15715
15759
|
"data-table-horizontally-scrolled": table.meta.columnFreezing.isHorizontallyScrolled ? true : undefined,
|
15760
|
+
"data-table-status": table.meta.server.isEnabled ? table.meta.server.isReady ? 'ready' : undefined : 'ready',
|
15716
15761
|
"data-table-pause-hover": table.meta.rowActive.isHoverStatePaused ? true : undefined,
|
15717
15762
|
"data-table-resizing": table.state.columnSizingInfo.isResizingColumn ? true : undefined,
|
15718
15763
|
"data-table-row-height": table.meta.rowHeight.height,
|
15719
|
-
"data-table-grouped": !!((_table$state$grouping = table.state.grouping) !== null && _table$state$grouping !== void 0 && _table$state$grouping.length),
|
15720
15764
|
onFocus: handleFocus,
|
15721
15765
|
onScroll: table.meta.columnFreezing.handleScroll,
|
15722
15766
|
ref: table.ref,
|
15767
|
+
style: table.style,
|
15723
15768
|
tabIndex: -1
|
15724
15769
|
}), /*#__PURE__*/React__default.createElement("thead", null, table.instance.getHeaderGroups().map(headerGroup => ( /*#__PURE__*/React__default.createElement("tr", {
|
15725
15770
|
key: headerGroup.id
|
@@ -18251,8 +18296,8 @@ function Row$2(props) {
|
|
18251
18296
|
}
|
18252
18297
|
}, [tableMeta.editing.isEditing, isActiveRow]);
|
18253
18298
|
const attributes = {
|
18254
|
-
'data-row-editing-invalid': tableMeta.editing.hasRowErrors(row.id) ? !tableMeta.editing.hasRowErrorsSeen(row.id) ? 'unseen' : true : undefined,
|
18255
|
-
'data-row-editing-status': tableMeta.editing.getRowSaveStatus(row.id),
|
18299
|
+
'data-row-editing-invalid': tableMeta.editing.isEnabled && tableMeta.editing.hasRowErrors(row.id) ? !tableMeta.editing.hasRowErrorsSeen(row.id) ? 'unseen' : true : undefined,
|
18300
|
+
'data-row-editing-status': tableMeta.editing.isEnabled && tableMeta.editing.getRowSaveStatus(row.id) ? tableMeta.editing.getRowSaveStatus(row.id) : undefined,
|
18256
18301
|
onFocus: handleFocus
|
18257
18302
|
};
|
18258
18303
|
return /*#__PURE__*/React__default.createElement(DisplayRow, Object.assign({}, props, attributes), tableMeta.editing.getRowSaveStatus(row.id) ? /*#__PURE__*/React__default.createElement(SaveStatus, {
|