@economic/taco 2.2.2 → 2.2.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Table3/Table3.d.ts +1 -1
- package/dist/components/Table3/components/columns/internal/Actions.d.ts +1 -2
- package/dist/components/Table3/components/rows/Row.d.ts +1 -0
- package/dist/components/Table3/hooks/features/useRowActions.d.ts +5 -0
- package/dist/components/Table3/hooks/useTable.d.ts +2 -0
- package/dist/components/Table3/hooks/useTableDataLoader.d.ts +1 -2
- package/dist/components/Table3/types.d.ts +0 -2
- package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +3 -1
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +2 -2
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +5 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +24 -18
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +2 -2
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +2 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +2 -2
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +11 -2
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +32 -20
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowActions.js +10 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowActions.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +2 -3
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +10 -9
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableDataLoader.js +0 -8
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableDataLoader.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +4 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
- package/dist/taco.cjs.development.js +108 -115
- 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/types.json +5430 -5460
- package/dist/components/Table3/hooks/listeners/useSearchStateListener.d.ts +0 -3
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js +0 -51
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js.map +0 -1
@@ -8829,7 +8829,9 @@ const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput
|
|
8829
8829
|
const handleBlur = event => {
|
8830
8830
|
var _settingsRef$current, _attributes$onBlur;
|
8831
8831
|
// trigger searches when leaving the field
|
8832
|
-
|
8832
|
+
if (!isSynced) {
|
8833
|
+
handleSubmit();
|
8834
|
+
}
|
8833
8835
|
if (settingsRef.current && (settingsRef.current === event.relatedTarget || (_settingsRef$current = settingsRef.current) !== null && _settingsRef$current !== void 0 && _settingsRef$current.contains(event.relatedTarget))) {
|
8834
8836
|
return;
|
8835
8837
|
}
|
@@ -15977,6 +15979,10 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
|
|
15977
15979
|
const [internalRef, setInternalRef] = React__default.useState(null);
|
15978
15980
|
React__default.useLayoutEffect(() => {
|
15979
15981
|
if (internalRef && length) {
|
15982
|
+
// the actions column size gets set by the column itself
|
15983
|
+
if (id === COLUMN_ID) {
|
15984
|
+
return;
|
15985
|
+
}
|
15980
15986
|
table.setColumnSizing(sizes => ({
|
15981
15987
|
...sizes,
|
15982
15988
|
[id]: internalRef.getBoundingClientRect().width
|
@@ -16070,7 +16076,7 @@ function DisplayCell(props) {
|
|
16070
16076
|
return isCellHighlighted(tableMeta.search.query, value, memoedProps.children);
|
16071
16077
|
}
|
16072
16078
|
return false;
|
16073
|
-
}, [memoedProps.children, tableMeta.search.isHighlightingEnabled, tableMeta.search.query]);
|
16079
|
+
}, [memoedProps.children, tableMeta.search.isHighlightingEnabled, tableMeta.search.excludeUnmatchedResults, tableMeta.search.query]);
|
16074
16080
|
const memoedHighlightCurrent = React__default.useMemo(() => {
|
16075
16081
|
if (!tableMeta.search.isHighlightingEnabled || !memoedHighlight || tableMeta.search.currentHighlightColumnIndex === undefined) {
|
16076
16082
|
return false;
|
@@ -16102,7 +16108,7 @@ const MemoedDisplayCell = /*#__PURE__*/React__default.memo(function MemoedDispla
|
|
16102
16108
|
} = props;
|
16103
16109
|
const layoutClassName = cn('py-[var(--table3-row-padding)]', customClassName);
|
16104
16110
|
const className = highlighted ? undefined : layoutClassName;
|
16105
|
-
const content = enableTruncate
|
16111
|
+
const content = enableTruncate ? /*#__PURE__*/React__default.createElement("span", {
|
16106
16112
|
className: "truncate"
|
16107
16113
|
}, children) : children;
|
16108
16114
|
if (debug) {
|
@@ -16193,7 +16199,6 @@ const MemoedFooter = /*#__PURE__*/React__default.memo(function MemoedFooter(prop
|
|
16193
16199
|
});
|
16194
16200
|
|
16195
16201
|
const COLUMN_ID = '__actions';
|
16196
|
-
const ACTIONS_ON_ROW_LENGTH$1 = 4;
|
16197
16202
|
const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
|
16198
16203
|
const {
|
16199
16204
|
actions,
|
@@ -16202,7 +16207,8 @@ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
|
|
16202
16207
|
isEditing,
|
16203
16208
|
isResizingColumn,
|
16204
16209
|
isHoverStatePaused,
|
16205
|
-
row
|
16210
|
+
row,
|
16211
|
+
table
|
16206
16212
|
} = props;
|
16207
16213
|
const {
|
16208
16214
|
isHovered
|
@@ -16210,15 +16216,29 @@ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
|
|
16210
16216
|
const {
|
16211
16217
|
texts
|
16212
16218
|
} = useLocalization();
|
16219
|
+
const ref = React__default.useRef(null);
|
16220
|
+
const size = table.getState().columnSizing[COLUMN_ID];
|
16221
|
+
// the actions column needs to set its size based on its content, not the actual column
|
16222
|
+
// so we do this here instead of in the header
|
16223
|
+
React__default.useLayoutEffect(() => {
|
16224
|
+
if (ref.current && !size) {
|
16225
|
+
const width = ref.current.getBoundingClientRect().width;
|
16226
|
+
table.setColumnSizing(sizes => ({
|
16227
|
+
...sizes,
|
16228
|
+
[COLUMN_ID]: width
|
16229
|
+
}));
|
16230
|
+
}
|
16231
|
+
}, [ref.current]);
|
16213
16232
|
let content;
|
16214
16233
|
// We don't want to show actions in edit mode, since we have editing actions,
|
16215
16234
|
// which is shown in edit mode instead.
|
16216
|
-
if (!isEditing && (isCurrentRow || isHovered && !isHoverStatePaused && !isResizingColumn)) {
|
16235
|
+
if (actions !== null && actions !== void 0 && actions.length && !isEditing && (isCurrentRow || isHovered && !isHoverStatePaused && !isResizingColumn)) {
|
16217
16236
|
const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);
|
16218
16237
|
const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);
|
16219
16238
|
const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);
|
16220
16239
|
content = /*#__PURE__*/React__default.createElement("span", {
|
16221
|
-
className: "-mb-2 -mt-2 flex justify-end text-right"
|
16240
|
+
className: "-mb-2 -mt-2 flex justify-end pl-2 text-right",
|
16241
|
+
ref: ref
|
16222
16242
|
}, actionsOnRow.map((button, index) => {
|
16223
16243
|
var _ref, _button$props$tooltip;
|
16224
16244
|
const tooltip = String((_ref = (_button$props$tooltip = button.props.tooltip) !== null && _button$props$tooltip !== void 0 ? _button$props$tooltip : button.props['aria-label']) !== null && _ref !== void 0 ? _ref : '');
|
@@ -16245,37 +16265,29 @@ const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
|
|
16245
16265
|
}
|
16246
16266
|
return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props), content);
|
16247
16267
|
});
|
16248
|
-
function Cell$1(
|
16249
|
-
const {
|
16250
|
-
actionsForRow,
|
16251
|
-
actionsForRowLength,
|
16252
|
-
...context
|
16253
|
-
} = props;
|
16268
|
+
function Cell$1(context) {
|
16254
16269
|
const {
|
16255
16270
|
rowIndex
|
16256
16271
|
} = React__default.useContext(RowContext$1);
|
16257
16272
|
const tableMeta = context.table.options.meta;
|
16258
16273
|
return /*#__PURE__*/React__default.createElement(MemoedCell, Object.assign({}, context, {
|
16259
|
-
actions: actionsForRow,
|
16260
|
-
actionsLength: actionsForRowLength,
|
16274
|
+
actions: tableMeta.rowActions.actionsForRow,
|
16275
|
+
actionsLength: tableMeta.rowActions.actionsForRowLength,
|
16261
16276
|
isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
|
16262
16277
|
isEditing: tableMeta.editing.isEditing,
|
16263
16278
|
isResizingColumn: !!context.table.getState().columnSizingInfo.isResizingColumn,
|
16264
16279
|
isHoverStatePaused: !!tableMeta.hoverState.isPaused
|
16265
16280
|
}));
|
16266
16281
|
}
|
16267
|
-
function createRowActionsColumn$1(
|
16282
|
+
function createRowActionsColumn$1() {
|
16268
16283
|
return {
|
16269
16284
|
id: COLUMN_ID,
|
16270
16285
|
header: Header$2,
|
16271
|
-
cell:
|
16272
|
-
actionsForRow: actionsForRow,
|
16273
|
-
actionsForRowLength: actionsForRowLength
|
16274
|
-
})),
|
16286
|
+
cell: Cell$1,
|
16275
16287
|
footer: Footer$4,
|
16276
16288
|
meta: {
|
16277
16289
|
align: 'right',
|
16278
|
-
className: cn('
|
16290
|
+
className: cn('!pt-[var(--table3-row-padding)] print:opacity-0 [[role="table"][data-editing="false"]_&]:group-[[data-current="true"]]/row:sticky [[role="table"][data-pause-hover="false"][data-editing="false"]_&]:group-hover/row:sticky right-0 !pl-1 !pr-1', '[[role="table"][data-editing="false"]_&]:group-[[data-current="true"]]/row:shadow-[-6px_0px_6px] [[role="table"][data-pause-hover="false"][data-editing="false"]_&]:group-hover/row:shadow-[-6px_0px_6px]', 'group-[[data-current="true"][data-selected="false"]]/row:text-grey-200', 'group-[[data-selected="true"]]/row:text-blue-100', 'group-[[data-selected="false"]:hover]/row:text-grey-100'),
|
16279
16291
|
enableOrdering: false,
|
16280
16292
|
enableSearch: false,
|
16281
16293
|
enableTruncate: false,
|
@@ -16287,6 +16299,7 @@ function createRowActionsColumn$1(actionsForRow, actionsForRowLength = ACTIONS_O
|
|
16287
16299
|
};
|
16288
16300
|
}
|
16289
16301
|
|
16302
|
+
const REACT_TABLE_DEFAULT_COLUMN_SIZE_DO_NOT_CHANGE = 150;
|
16290
16303
|
const useCssGrid = table => {
|
16291
16304
|
const allVisibleColumns = table.getVisibleLeafColumns();
|
16292
16305
|
const columnSizing = table.getState().columnSizing;
|
@@ -16300,9 +16313,7 @@ const useCssGrid = table => {
|
|
16300
16313
|
const width = columnSizing[column.id];
|
16301
16314
|
if (isInternalColumn$1(column.id)) {
|
16302
16315
|
if (column.id === COLUMN_ID) {
|
16303
|
-
|
16304
|
-
// when the current row is scrolled out of the virtualisation view
|
16305
|
-
size = `minmax(${column.getSize()}px, auto)`;
|
16316
|
+
size = column.getSize() !== REACT_TABLE_DEFAULT_COLUMN_SIZE_DO_NOT_CHANGE ? `minmax(${column.getSize()}px, 1fr)` : '1fr';
|
16306
16317
|
} else {
|
16307
16318
|
size = `${column.getSize()}px`;
|
16308
16319
|
}
|
@@ -16580,7 +16591,7 @@ function useSettingsStateListener$1(table, onChangeSettings) {
|
|
16580
16591
|
}), 250);
|
16581
16592
|
}
|
16582
16593
|
return () => clearTimeout(handler);
|
16583
|
-
}, [
|
16594
|
+
}, [meta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnPinning, state.columnSizing, state.columnVisibility, meta.search.excludeUnmatchedResults, meta.fontSize.size, meta.rowHeight.height, meta.printing.printWarningDialogVisibility, state.sorting]);
|
16584
16595
|
}
|
16585
16596
|
|
16586
16597
|
var Table3FilterComparator;
|
@@ -16861,51 +16872,6 @@ function useRowClick(onRowClick) {
|
|
16861
16872
|
};
|
16862
16873
|
}
|
16863
16874
|
|
16864
|
-
// we use a listener, and not the internal "controlled" change handlers because we don't actually want consumers
|
16865
|
-
// to control the state outside the table. this listener is really here to let the consumer make a server request
|
16866
|
-
// and provide the server with the search state, so that it can search server side
|
16867
|
-
function useSearchStateListener(table, onSearch) {
|
16868
|
-
const tableMeta = table.options.meta;
|
16869
|
-
const rows = table.getRowModel().rows;
|
16870
|
-
const loadingRef = React__default.useRef(false);
|
16871
|
-
const lastUsedExcludeRef = React__default.useRef(tableMeta.search.excludeUnmatchedResults);
|
16872
|
-
const handleSearch = function (query, excludeUnmatchedResults) {
|
16873
|
-
try {
|
16874
|
-
const _temp4 = function () {
|
16875
|
-
if (tableMeta.search.isEnabled && !loadingRef.current) {
|
16876
|
-
function _temp3() {
|
16877
|
-
if (excludeUnmatchedResults && table.options.enableRowSelection) {
|
16878
|
-
table.resetRowSelection();
|
16879
|
-
}
|
16880
|
-
}
|
16881
|
-
const _temp2 = function () {
|
16882
|
-
if (typeof onSearch === 'function' && (excludeUnmatchedResults || lastUsedExcludeRef.current)) {
|
16883
|
-
const _temp = _finallyRethrows(function () {
|
16884
|
-
loadingRef.current = true;
|
16885
|
-
// if we are transitioning from true to false on exclude, then we need to "reset" by searching with no value
|
16886
|
-
return Promise.resolve(onSearch(!excludeUnmatchedResults && lastUsedExcludeRef.current ? undefined : query)).then(function () {});
|
16887
|
-
}, function (_wasThrown, _result) {
|
16888
|
-
loadingRef.current = false;
|
16889
|
-
lastUsedExcludeRef.current = excludeUnmatchedResults;
|
16890
|
-
if (_wasThrown) throw _result;
|
16891
|
-
return _result;
|
16892
|
-
});
|
16893
|
-
if (_temp && _temp.then) return _temp.then(function () {});
|
16894
|
-
}
|
16895
|
-
}();
|
16896
|
-
return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
|
16897
|
-
}
|
16898
|
-
}();
|
16899
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
16900
|
-
} catch (e) {
|
16901
|
-
return Promise.reject(e);
|
16902
|
-
}
|
16903
|
-
};
|
16904
|
-
useLazyEffect(() => {
|
16905
|
-
handleSearch(tableMeta.search.query, tableMeta.search.excludeUnmatchedResults);
|
16906
|
-
}, [tableMeta.search.isEnabled, tableMeta.search.query, tableMeta.search.excludeUnmatchedResults, rows.length]);
|
16907
|
-
}
|
16908
|
-
|
16909
16875
|
var SavingStateValue;
|
16910
16876
|
(function (SavingStateValue) {
|
16911
16877
|
SavingStateValue["Saving"] = "saving";
|
@@ -17724,7 +17690,7 @@ const Cell$4 = /*#__PURE__*/React__default.memo(function MemoedCell(context) {
|
|
17724
17690
|
}) : null));
|
17725
17691
|
}
|
17726
17692
|
}, function arePropsEqual(oldProps, newProps) {
|
17727
|
-
const oldTableMeta =
|
17693
|
+
const oldTableMeta = oldProps.table.options.meta;
|
17728
17694
|
const newTableMeta = newProps.table.options.meta;
|
17729
17695
|
// we memo because we don't want the row re-rendering and removing focus from the checkbox
|
17730
17696
|
// we can't default to the standard comparison because we need currentRow off the table meta
|
@@ -17739,7 +17705,7 @@ function createRowSelectionColumn$1(onRowDrag) {
|
|
17739
17705
|
footer: Footer$4,
|
17740
17706
|
meta: {
|
17741
17707
|
align: 'center',
|
17742
|
-
className: '
|
17708
|
+
className: '!pt-[var(--table3-row-padding)] !justify-end !p-0 !pr-0.5',
|
17743
17709
|
enableOrdering: false,
|
17744
17710
|
enableSearch: false,
|
17745
17711
|
enableTruncate: false,
|
@@ -17798,6 +17764,7 @@ const MemoedCell$2 = /*#__PURE__*/React__default.memo(function MemoedCell(props)
|
|
17798
17764
|
title: title
|
17799
17765
|
}, /*#__PURE__*/React__default.createElement(IconButton, {
|
17800
17766
|
appearance: "discrete",
|
17767
|
+
className: "-mt-1.5",
|
17801
17768
|
icon: isExpanded ? 'chevron-down' : 'chevron-right',
|
17802
17769
|
onClick: handleClick,
|
17803
17770
|
tabIndex: tabIndex,
|
@@ -17831,7 +17798,7 @@ function createRowExpansionColumn$1(expandedRowRenderer) {
|
|
17831
17798
|
footer: Footer$4,
|
17832
17799
|
meta: {
|
17833
17800
|
align: 'center',
|
17834
|
-
className: '
|
17801
|
+
className: '!p-0 !pt-[var(--table3-row-padding)]',
|
17835
17802
|
enableOrdering: false,
|
17836
17803
|
enableSearch: false,
|
17837
17804
|
enableTruncate: false,
|
@@ -17893,7 +17860,7 @@ const Cell$6 = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
|
|
17893
17860
|
}, /*#__PURE__*/React__default.createElement(Icon, {
|
17894
17861
|
"aria-label": texts.table3.columns.drag.tooltip,
|
17895
17862
|
name: "drag",
|
17896
|
-
className: "text-grey-darkest invisible w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed='true']]/row:text-white"
|
17863
|
+
className: "text-grey-darkest invisible -mt-1 w-[20px] cursor-grab active:cursor-grabbing group-hover/row:visible group-[[aria-grabbed='true']]/row:text-white"
|
17897
17864
|
})));
|
17898
17865
|
});
|
17899
17866
|
function createRowDragColumn(onRowDrag) {
|
@@ -17907,7 +17874,7 @@ function createRowDragColumn(onRowDrag) {
|
|
17907
17874
|
footer: Footer$4,
|
17908
17875
|
meta: {
|
17909
17876
|
align: 'center',
|
17910
|
-
className: '
|
17877
|
+
className: '!p-0 !pt-[var(--table3-row-padding)]',
|
17911
17878
|
enableOrdering: false,
|
17912
17879
|
enableSearch: false,
|
17913
17880
|
enableTruncate: false,
|
@@ -18010,7 +17977,7 @@ function useConvertChildrenToColumns(props, options, editing) {
|
|
18010
17977
|
columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));
|
18011
17978
|
}
|
18012
17979
|
if ((_props$actionsForRow = props.actionsForRow) !== null && _props$actionsForRow !== void 0 && _props$actionsForRow.length) {
|
18013
|
-
columns.push(columnHelper.display(createRowActionsColumn$1(
|
17980
|
+
columns.push(columnHelper.display(createRowActionsColumn$1()));
|
18014
17981
|
}
|
18015
17982
|
if (editing.isEnabled && editing.isEditing) {
|
18016
17983
|
columns.push(columnHelper.display(createRowEditingActionsColumn()));
|
@@ -18139,6 +18106,14 @@ function useSearch(isEnabled, excludeUnmatchedResultsInSearch = false, loadAll)
|
|
18139
18106
|
};
|
18140
18107
|
}
|
18141
18108
|
|
18109
|
+
const ACTIONS_ON_ROW_LENGTH$1 = 4;
|
18110
|
+
function useRowActions$1(actionsForRow, actionsForRowLength = ACTIONS_ON_ROW_LENGTH$1) {
|
18111
|
+
return {
|
18112
|
+
actionsForRow,
|
18113
|
+
actionsForRowLength
|
18114
|
+
};
|
18115
|
+
}
|
18116
|
+
|
18142
18117
|
function useTable$2(props) {
|
18143
18118
|
var _ref, _props$defaultSetting, _props$defaultSetting2, _props$defaultSetting3, _props$defaultSetting4, _props$defaultSetting5, _props$defaultSetting6, _props$defaultSetting7, _props$defaultSetting8, _props$defaultSetting9, _props$length;
|
18144
18119
|
// options
|
@@ -18171,13 +18146,13 @@ function useTable$2(props) {
|
|
18171
18146
|
}
|
18172
18147
|
// search
|
18173
18148
|
if (tableOptions.enableGlobalFilter) {
|
18174
|
-
|
18175
|
-
|
18176
|
-
|
18177
|
-
|
18178
|
-
|
18179
|
-
|
18180
|
-
|
18149
|
+
tableOptions.globalFilterFn = (row, columnId, searchQuery) => {
|
18150
|
+
if (row.original) {
|
18151
|
+
return globalFilterFn$1(row.getValue(columnId), searchQuery);
|
18152
|
+
}
|
18153
|
+
return false;
|
18154
|
+
};
|
18155
|
+
tableOptions.getFilteredRowModel = reactTable$1.getFilteredRowModel();
|
18181
18156
|
}
|
18182
18157
|
// sorting
|
18183
18158
|
if (options.enableSorting) {
|
@@ -18197,6 +18172,7 @@ function useTable$2(props) {
|
|
18197
18172
|
const fontSize = useFontSize(options.enableFontSize, (_props$defaultSetting4 = props.defaultSettings) === null || _props$defaultSetting4 === void 0 ? void 0 : _props$defaultSetting4.fontSize);
|
18198
18173
|
const hoverState = usePauseHoverState();
|
18199
18174
|
const printing = usePrinting(options.enablePrinting, props.loadAll, (_props$defaultSetting5 = props.defaultSettings) === null || _props$defaultSetting5 === void 0 ? void 0 : _props$defaultSetting5.showWarningWhenPrintingLargeDataset);
|
18175
|
+
const rowActions = useRowActions$1(props.actionsForRow, props.actionsForRowLength);
|
18200
18176
|
const rowClick = useRowClick(props.onRowClick);
|
18201
18177
|
const rowDrag = useRowDrag(options.enableRowDrag);
|
18202
18178
|
const rowDrop = useRowDrop(options.enableRowDrop, props.onRowDrop);
|
@@ -18239,6 +18215,7 @@ function useTable$2(props) {
|
|
18239
18215
|
hoverState,
|
18240
18216
|
isUsingServer: !!props.loadPage,
|
18241
18217
|
printing,
|
18218
|
+
rowActions: rowActions,
|
18242
18219
|
rowClick: rowClick,
|
18243
18220
|
rowDrag,
|
18244
18221
|
rowDrop,
|
@@ -18253,7 +18230,6 @@ function useTable$2(props) {
|
|
18253
18230
|
useEditingStateListener(table);
|
18254
18231
|
useFilteringStateListener(table, props.onFilter);
|
18255
18232
|
useRowSelectionListener$1(table, props.onRowSelect);
|
18256
|
-
useSearchStateListener(table, props.onSearch);
|
18257
18233
|
useSettingsStateListener$1(table, props.onChangeSettings);
|
18258
18234
|
useShortcutsListener(table, props.shortcuts);
|
18259
18235
|
useServerLoadingListener(table, props.loadPage);
|
@@ -18440,6 +18416,7 @@ const MemoedRow = /*#__PURE__*/React__default.memo(function MemoedRow(props) {
|
|
18440
18416
|
const {
|
18441
18417
|
index,
|
18442
18418
|
isLastRow: _1,
|
18419
|
+
measureRef,
|
18443
18420
|
onClick,
|
18444
18421
|
onClickCapture,
|
18445
18422
|
onDrop,
|
@@ -18453,6 +18430,14 @@ const MemoedRow = /*#__PURE__*/React__default.memo(function MemoedRow(props) {
|
|
18453
18430
|
const {
|
18454
18431
|
setIsHovered
|
18455
18432
|
} = useRowContext$1();
|
18433
|
+
// we measure the first cell (since the row has display: contents) so that the virtualiser height is correct
|
18434
|
+
React__default.useEffect(() => {
|
18435
|
+
var _ref$current;
|
18436
|
+
const firstCell = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector('[role=cell]:first-child');
|
18437
|
+
if (firstCell) {
|
18438
|
+
measureRef(firstCell);
|
18439
|
+
}
|
18440
|
+
}, [ref.current]);
|
18456
18441
|
// we use capture because it also picks up clicks on e.g. select checkboxes
|
18457
18442
|
const handleClickCapture = event => {
|
18458
18443
|
if (typeof onClickCapture === 'function') {
|
@@ -18463,9 +18448,9 @@ const MemoedRow = /*#__PURE__*/React__default.memo(function MemoedRow(props) {
|
|
18463
18448
|
};
|
18464
18449
|
const handleClick = event => {
|
18465
18450
|
if (typeof onClick === 'function') {
|
18466
|
-
var _ref$
|
18451
|
+
var _ref$current2;
|
18467
18452
|
const clickedElement = event.target;
|
18468
|
-
if (!((_ref$
|
18453
|
+
if (!((_ref$current2 = ref.current) !== null && _ref$current2 !== void 0 && _ref$current2.contains(event.target)) || clickableElements.includes(clickedElement.tagName.toLowerCase()) || clickedElement.closest(clickableElements.map(tag => `[role=row] ${tag}`).join(','))) {
|
18469
18454
|
return;
|
18470
18455
|
}
|
18471
18456
|
onClick(row.original);
|
@@ -18579,6 +18564,9 @@ function SkeletonRow(props) {
|
|
18579
18564
|
}, otherProps))));
|
18580
18565
|
}
|
18581
18566
|
|
18567
|
+
// Note - latest react-virtual requires an inner container, and that doesn't work with css grid,
|
18568
|
+
// so if you update react-virtual, you would need to refactor the entire table away from css grid,
|
18569
|
+
// and that would break a number of layout things - auto sizing, resizing etc
|
18582
18570
|
function createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpandedRowSizes) {
|
18583
18571
|
return () => {
|
18584
18572
|
if (rows.length) {
|
@@ -18618,6 +18606,7 @@ function createBodyRenderer(props, rows, table, tableRef, virtualiser, setExpand
|
|
18618
18606
|
}, /*#__PURE__*/React__default.createElement(Row$2, {
|
18619
18607
|
index: virtualRow.index,
|
18620
18608
|
isLastRow: virtualRow.index === rows.length - 1,
|
18609
|
+
measureRef: virtualRow.measureRef,
|
18621
18610
|
row: row,
|
18622
18611
|
table: table,
|
18623
18612
|
tableRef: tableRef
|
@@ -18726,30 +18715,39 @@ function Search$3(props) {
|
|
18726
18715
|
if (firstRowIndex) {
|
18727
18716
|
scrollTo(firstRowIndex);
|
18728
18717
|
}
|
18729
|
-
}, [table.getRowModel().rows.length, JSON.stringify(table.getState().sorting), JSON.stringify(table.getState().columnVisibility)]);
|
18730
|
-
const handleSearch = query
|
18731
|
-
|
18732
|
-
|
18733
|
-
|
18734
|
-
|
18735
|
-
|
18736
|
-
|
18737
|
-
|
18718
|
+
}, [tableMeta.search.query, tableMeta.search.excludeUnmatchedResults, table.getRowModel().rows.length, JSON.stringify(table.getState().sorting), JSON.stringify(table.getState().columnVisibility)]);
|
18719
|
+
const handleSearch = function (query) {
|
18720
|
+
try {
|
18721
|
+
function _temp2() {
|
18722
|
+
if (tableMeta.search.excludeUnmatchedResults) {
|
18723
|
+
if (value !== null && value !== void 0 && value.length) {
|
18724
|
+
table.setGlobalFilter(value);
|
18725
|
+
} else {
|
18726
|
+
table.resetGlobalFilter();
|
18727
|
+
}
|
18728
|
+
}
|
18729
|
+
tableMeta.search.setQuery(value);
|
18738
18730
|
}
|
18739
|
-
|
18740
|
-
//
|
18741
|
-
|
18742
|
-
|
18743
|
-
|
18744
|
-
|
18745
|
-
|
18731
|
+
const value = String(query !== null && query !== void 0 ? query : '');
|
18732
|
+
// load all data if that is possible
|
18733
|
+
const _temp = function () {
|
18734
|
+
if (tableMeta.search.loadAll) {
|
18735
|
+
// don't pass the search query because we need all data - not filtered data
|
18736
|
+
return Promise.resolve(tableMeta.search.loadAll(table.getState().sorting, table.getState().columnFilters, undefined)).then(function () {});
|
18737
|
+
}
|
18738
|
+
}();
|
18739
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
18740
|
+
} catch (e) {
|
18741
|
+
return Promise.reject(e);
|
18746
18742
|
}
|
18747
18743
|
};
|
18748
18744
|
const handleToggleExcludeUnmatchedResults = enabled => {
|
18749
18745
|
tableMeta.search.toggleExcludeUnmatchedResults(enabled);
|
18750
18746
|
if (enabled) {
|
18751
|
-
|
18752
|
-
|
18747
|
+
var _ref$current2;
|
18748
|
+
if ((_ref$current2 = ref.current) !== null && _ref$current2 !== void 0 && _ref$current2.value) {
|
18749
|
+
var _ref$current3;
|
18750
|
+
table.setGlobalFilter((_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.value);
|
18753
18751
|
} else {
|
18754
18752
|
table.resetGlobalFilter();
|
18755
18753
|
}
|
@@ -18757,8 +18755,8 @@ function Search$3(props) {
|
|
18757
18755
|
table.resetGlobalFilter();
|
18758
18756
|
}
|
18759
18757
|
requestAnimationFrame(() => {
|
18760
|
-
var _ref$
|
18761
|
-
return (_ref$
|
18758
|
+
var _ref$current4;
|
18759
|
+
return (_ref$current4 = ref.current) === null || _ref$current4 === void 0 ? void 0 : _ref$current4.focus();
|
18762
18760
|
});
|
18763
18761
|
};
|
18764
18762
|
const handleNextResult = () => {
|
@@ -18836,6 +18834,9 @@ function resetHighlightedColumnIndexes(enabled, value, table) {
|
|
18836
18834
|
tableMeta.search.setHighlightedColumnIndexes([]);
|
18837
18835
|
tableMeta.search.setCurrentHighlightColumnIndex(undefined);
|
18838
18836
|
}
|
18837
|
+
if (firstRowIndex !== undefined) {
|
18838
|
+
tableMeta.currentRow.setCurrentRowIndex(firstRowIndex);
|
18839
|
+
}
|
18839
18840
|
return firstRowIndex;
|
18840
18841
|
}
|
18841
18842
|
|
@@ -20078,20 +20079,12 @@ function useTable3DataLoader(fetch, fetchAll, options = {
|
|
20078
20079
|
return Promise.reject(e);
|
20079
20080
|
}
|
20080
20081
|
};
|
20081
|
-
const handleSearch = function (query) {
|
20082
|
-
try {
|
20083
|
-
return loadAll(_lastUsedSorting.current, _lastUsedFilters.current, query);
|
20084
|
-
} catch (e) {
|
20085
|
-
return Promise.reject(e);
|
20086
|
-
}
|
20087
|
-
};
|
20088
20082
|
return [{
|
20089
20083
|
data,
|
20090
20084
|
length: length.current,
|
20091
20085
|
loadAll,
|
20092
20086
|
loadPage,
|
20093
20087
|
onFilter: handleFilter,
|
20094
|
-
onSearch: handleSearch,
|
20095
20088
|
onSort: handleSort,
|
20096
20089
|
pageSize
|
20097
20090
|
}, invalidate];
|
@@ -20643,7 +20636,7 @@ const SecondaryNavigation = /*#__PURE__*/React__default.forwardRef(function Seco
|
|
20643
20636
|
});
|
20644
20637
|
|
20645
20638
|
const MenuButton = /*#__PURE__*/React__default.forwardRef(function MenuButton(props, ref) {
|
20646
|
-
const className = cn(getButtonClasses$1(false), 'mr-1 !bg-transparent hover:!bg-white/[.08] focus:!bg-white/[.08]] lg:hidden z-[2]');
|
20639
|
+
const className = cn(getButtonClasses$1(false), 'mr-1 !bg-transparent hover:!bg-white/[.08] focus:!bg-white/[.08]] lg:hidden z-[2] !text-white');
|
20647
20640
|
return /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, props, {
|
20648
20641
|
className: className,
|
20649
20642
|
"data-taco": "header-toggle-sidebar",
|