@economic/taco 2.8.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Icon/components/Lock.d.ts +3 -0
- package/dist/components/Icon/components/index.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Menu/Menu.d.ts +2 -1
- package/dist/components/Menu/components/Content.d.ts +1 -1
- package/dist/components/Menu/components/Item.d.ts +1 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Menu/components/Separator.d.ts +4 -2
- package/dist/components/Menu/components/SubMenu.d.ts +1 -1
- package/dist/components/Navigation2/components/Link.d.ts +1 -1
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Search.d.ts +1 -1
- package/dist/components/Table3/components/columns/styles.d.ts +1 -0
- package/dist/components/Table3/components/toolbar/ColumnSettings.d.ts +3 -2
- package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +1 -1
- package/dist/components/Table3/components/toolbar/PrintButton/WarningDialog.d.ts +2 -1
- package/dist/components/Table3/components/toolbar/Settings.d.ts +6 -0
- package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +3 -3
- package/dist/components/Table3/hooks/useCssGrid.d.ts +1 -1
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/esm/packages/taco/src/components/Combobox/Combobox.js +1 -8
- package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/Agreement/Display.js +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Lock.js +19 -0
- package/dist/esm/packages/taco/src/components/Icon/components/Lock.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/index.js +2 -0
- package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js +1 -1
- package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Separator.js +7 -6
- package/dist/esm/packages/taco/src/components/Menu/components/Separator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +3 -3
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js +2 -2
- package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +9 -4
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +3 -2
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +3 -2
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +2 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +34 -35
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +19 -7
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +66 -18
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +12 -8
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/WarningDialog.js +5 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/WarningDialog.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +2 -2
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +61 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +8 -35
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +3 -2
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +5 -2
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +2 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +8 -4
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +7 -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 +9 -4
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js +10 -12
- package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/packages/taco/src/index.js +2 -2
- package/dist/taco.cjs.development.js +377 -247
- 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 +14 -14
- package/types.json +14107 -11816
|
@@ -2107,6 +2107,21 @@ function IconLockOpen(props, svgRef) {
|
|
|
2107
2107
|
}
|
|
2108
2108
|
var LockOpen = /*#__PURE__*/React.forwardRef(IconLockOpen);
|
|
2109
2109
|
|
|
2110
|
+
function IconLock(props, svgRef) {
|
|
2111
|
+
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
|
2112
|
+
fill: "none",
|
|
2113
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2114
|
+
viewBox: "0 0 24 24",
|
|
2115
|
+
ref: svgRef
|
|
2116
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
2117
|
+
fillRule: "evenodd",
|
|
2118
|
+
clipRule: "evenodd",
|
|
2119
|
+
d: "M12 1a5 5 0 015 5v2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0118.25 22H5.75A1.75 1.75 0 014 20.25V9.75C4 8.784 4.784 8 5.75 8H7V6a5 5 0 015-5zm6.25 8.5H5.75a.25.25 0 00-.243.193L5.5 9.75v10.5a.25.25 0 00.193.243l.057.007h12.5a.25.25 0 00.243-.193l.007-.057V9.75a.25.25 0 00-.193-.243L18.25 9.5zM12 13a1.5 1.5 0 01.751 2.799l-.001.951a.75.75 0 01-1.5 0v-.95A1.5 1.5 0 0112 13zm0-10.5a3.5 3.5 0 00-3.495 3.308L8.5 6v2h7V6a3.5 3.5 0 00-3.308-3.495L12 2.5z",
|
|
2120
|
+
fill: "currentColor"
|
|
2121
|
+
}));
|
|
2122
|
+
}
|
|
2123
|
+
var Lock = /*#__PURE__*/React.forwardRef(IconLock);
|
|
2124
|
+
|
|
2110
2125
|
function IconLogOut(props, svgRef) {
|
|
2111
2126
|
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
|
2112
2127
|
fill: "none",
|
|
@@ -3395,6 +3410,7 @@ const icons = {
|
|
|
3395
3410
|
'list-search': ListSearch,
|
|
3396
3411
|
list: List,
|
|
3397
3412
|
'lock-open': LockOpen,
|
|
3413
|
+
lock: Lock,
|
|
3398
3414
|
'log-out': LogOut,
|
|
3399
3415
|
log: Log,
|
|
3400
3416
|
market: Market,
|
|
@@ -3967,31 +3983,29 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(props, ref) {
|
|
|
3967
3983
|
|
|
3968
3984
|
const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, ref) {
|
|
3969
3985
|
const {
|
|
3970
|
-
title,
|
|
3971
3986
|
children,
|
|
3972
3987
|
placement,
|
|
3988
|
+
title,
|
|
3973
3989
|
...otherProps
|
|
3974
3990
|
} = props;
|
|
3975
|
-
const className = cn(otherProps.className);
|
|
3991
|
+
const className = cn('xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white', otherProps.className);
|
|
3992
|
+
const style = {
|
|
3993
|
+
transformOrigin: 'var(--radix-tooltip-content-transform-origin)'
|
|
3994
|
+
};
|
|
3976
3995
|
return /*#__PURE__*/React.createElement(TooltipPrimitive.Root, {
|
|
3977
3996
|
delayDuration: 250
|
|
3978
3997
|
}, /*#__PURE__*/React.createElement(TooltipPrimitive.Trigger, {
|
|
3979
3998
|
asChild: true,
|
|
3980
3999
|
ref: ref
|
|
3981
4000
|
}, children), /*#__PURE__*/React.createElement(TooltipPrimitive.Portal, null, /*#__PURE__*/React.createElement(TooltipPrimitive.Content, Object.assign({}, otherProps, {
|
|
3982
|
-
asChild: true,
|
|
3983
4001
|
className: className,
|
|
3984
|
-
side: placement,
|
|
3985
|
-
sideOffset: 3
|
|
3986
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
3987
|
-
className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white",
|
|
3988
4002
|
"data-taco": "tooltip",
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
|
|
3992
|
-
}, /*#__PURE__*/React.createElement(TooltipPrimitive.Arrow, {
|
|
4003
|
+
side: placement,
|
|
4004
|
+
sideOffset: 3,
|
|
4005
|
+
style: style
|
|
4006
|
+
}), /*#__PURE__*/React.createElement(TooltipPrimitive.Arrow, {
|
|
3993
4007
|
className: "-mt-px fill-blue-900/90 stroke-blue-900/90"
|
|
3994
|
-
}), title)))
|
|
4008
|
+
}), title)));
|
|
3995
4009
|
});
|
|
3996
4010
|
|
|
3997
4011
|
const getButtonClasses = () => {
|
|
@@ -4319,8 +4333,8 @@ const defaultLocalisationTexts = {
|
|
|
4319
4333
|
},
|
|
4320
4334
|
columnSettings: {
|
|
4321
4335
|
search: 'Search column...',
|
|
4322
|
-
tooltip: '
|
|
4323
|
-
button: '
|
|
4336
|
+
tooltip: 'Column settings',
|
|
4337
|
+
button: 'Column settings',
|
|
4324
4338
|
noResults: 'No results'
|
|
4325
4339
|
},
|
|
4326
4340
|
editing: {
|
|
@@ -4444,7 +4458,7 @@ const defaultLocalisationTexts = {
|
|
|
4444
4458
|
collapseRow: 'Collapse current row'
|
|
4445
4459
|
},
|
|
4446
4460
|
otherOptions: {
|
|
4447
|
-
tooltip: '
|
|
4461
|
+
tooltip: 'Table settings'
|
|
4448
4462
|
}
|
|
4449
4463
|
},
|
|
4450
4464
|
searchInput: {
|
|
@@ -5688,12 +5702,6 @@ const Combobox = /*#__PURE__*/React.forwardRef(function Combobox(props, ref) {
|
|
|
5688
5702
|
const className = cn('inline-flex relative', {
|
|
5689
5703
|
'yt-combobox--inline': props.inline
|
|
5690
5704
|
}, externalClassName);
|
|
5691
|
-
const handleKeydown = event => {
|
|
5692
|
-
const isInsideEditingCell = !!event.target.closest('[role="cell"]');
|
|
5693
|
-
if (!isInsideEditingCell && (event.key === 'ArrowUp' || event.key === 'ArrowDown')) {
|
|
5694
|
-
event.stopPropagation();
|
|
5695
|
-
}
|
|
5696
|
-
};
|
|
5697
5705
|
return /*#__PURE__*/React.createElement("span", {
|
|
5698
5706
|
className: className,
|
|
5699
5707
|
"data-taco": "combobox",
|
|
@@ -5703,8 +5711,7 @@ const Combobox = /*#__PURE__*/React.forwardRef(function Combobox(props, ref) {
|
|
|
5703
5711
|
ref: internalRef
|
|
5704
5712
|
}, /*#__PURE__*/React.createElement("div", Object.assign({}, combobox, {
|
|
5705
5713
|
className: "inline w-full",
|
|
5706
|
-
ref: ref
|
|
5707
|
-
onKeyDown: handleKeydown
|
|
5714
|
+
ref: ref
|
|
5708
5715
|
}), /*#__PURE__*/React.createElement(Input, Object.assign({}, input, {
|
|
5709
5716
|
autoComplete: "off",
|
|
5710
5717
|
button: props.inline ? /*#__PURE__*/React.createElement(IconButton
|
|
@@ -7845,11 +7852,12 @@ const RadioGroup$1 = /*#__PURE__*/React.forwardRef(function MenuRadioItem(props,
|
|
|
7845
7852
|
});
|
|
7846
7853
|
RadioGroup$1.Item = RadioItem;
|
|
7847
7854
|
|
|
7848
|
-
const Separator = () => {
|
|
7849
|
-
return /*#__PURE__*/React.createElement(DropdownMenuPrimitive.Separator, {
|
|
7850
|
-
className: "bg-grey-300 my-1 h-px"
|
|
7851
|
-
|
|
7852
|
-
};
|
|
7855
|
+
const Separator = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
7856
|
+
return /*#__PURE__*/React.createElement(DropdownMenuPrimitive.Separator, Object.assign({}, props, {
|
|
7857
|
+
className: "bg-grey-300 my-1 h-px",
|
|
7858
|
+
ref: ref
|
|
7859
|
+
}));
|
|
7860
|
+
});
|
|
7853
7861
|
|
|
7854
7862
|
const Header = /*#__PURE__*/React.forwardRef(function MenuHeader(props, ref) {
|
|
7855
7863
|
const menu = useCurrentMenu();
|
|
@@ -9079,7 +9087,7 @@ const SearchInput2 = /*#__PURE__*/React__default.forwardRef(function SearchInput
|
|
|
9079
9087
|
const handleClear = () => {
|
|
9080
9088
|
requestAnimationFrame(() => {
|
|
9081
9089
|
var _internalRef$current2;
|
|
9082
|
-
return (_internalRef$current2 = internalRef.current) === null || _internalRef$current2 === void 0 ? void 0 : _internalRef$current2.
|
|
9090
|
+
return (_internalRef$current2 = internalRef.current) === null || _internalRef$current2 === void 0 ? void 0 : _internalRef$current2.blur();
|
|
9083
9091
|
});
|
|
9084
9092
|
handleChange('');
|
|
9085
9093
|
};
|
|
@@ -11288,9 +11296,9 @@ const useTableKeyboardNavigation = (props, rows, rowProps, ref) => {
|
|
|
11288
11296
|
}
|
|
11289
11297
|
});
|
|
11290
11298
|
const onKeyDown = event => {
|
|
11291
|
-
var _document$activeEleme;
|
|
11299
|
+
var _document$activeEleme, _document$activeEleme2;
|
|
11292
11300
|
const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;
|
|
11293
|
-
if (useGlobalKeyboardNavigation && document.activeElement !== ref.current && ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.getAttribute('type')) !== 'search' && document.activeElement !== document.body) {
|
|
11301
|
+
if (useGlobalKeyboardNavigation && document.activeElement !== ref.current && ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.getAttribute('type')) !== 'search' && document.activeElement !== document.body && ((_document$activeEleme2 = document.activeElement) === null || _document$activeEleme2 === void 0 ? void 0 : _document$activeEleme2.getAttribute('role')) !== 'dialog') {
|
|
11294
11302
|
return;
|
|
11295
11303
|
}
|
|
11296
11304
|
// abort key handling if other elements inside table are focused and we don't use global keyboard navigation
|
|
@@ -16573,6 +16581,7 @@ function getCellValueAsString(value, dataType) {
|
|
|
16573
16581
|
}
|
|
16574
16582
|
|
|
16575
16583
|
const MIN_COLUMN_SIZE$1 = 80; // accounts for padding and sort controls
|
|
16584
|
+
const PRINT_MIN_COLUMN_SIZE = 20; // while printing, it accounts for minimum width each column can take
|
|
16576
16585
|
const getCellAlignmentClasses$1 = (alignment = 'left') => {
|
|
16577
16586
|
return cn({
|
|
16578
16587
|
'justify-start text-left': alignment === 'left',
|
|
@@ -16585,7 +16594,7 @@ const getInputAppearanceClassnames = () => {
|
|
|
16585
16594
|
return cn('[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none');
|
|
16586
16595
|
};
|
|
16587
16596
|
|
|
16588
|
-
const useCssGrid = table => {
|
|
16597
|
+
const useCssGrid = (table, isPrintTable = false) => {
|
|
16589
16598
|
const allVisibleColumns = table.getVisibleLeafColumns();
|
|
16590
16599
|
const columnSizing = table.getState().columnSizing;
|
|
16591
16600
|
const rowsLength = table.getRowModel().rows.length;
|
|
@@ -16598,7 +16607,11 @@ const useCssGrid = table => {
|
|
|
16598
16607
|
// column has a getSize function, but it always returns a default value (150), and we want the
|
|
16599
16608
|
// first render to use auto layout - so we get the size directly from table state where it is undefined
|
|
16600
16609
|
const width = columnSizing[column.id];
|
|
16601
|
-
|
|
16610
|
+
const isColumnInternal = isInternalColumn$1(column.id);
|
|
16611
|
+
if (isPrintTable) {
|
|
16612
|
+
const maxWidth = isColumnInternal ? `${column.getSize()}px` : '1fr';
|
|
16613
|
+
size = `minmax(${PRINT_MIN_COLUMN_SIZE}px, ${maxWidth})`;
|
|
16614
|
+
} else if (isColumnInternal) {
|
|
16602
16615
|
if (column.id === COLUMN_ID) {
|
|
16603
16616
|
size = 'minmax(max-content, auto)';
|
|
16604
16617
|
} else {
|
|
@@ -16638,7 +16651,7 @@ const useCssGrid = table => {
|
|
|
16638
16651
|
};
|
|
16639
16652
|
};
|
|
16640
16653
|
|
|
16641
|
-
function useCurrentRow(defaultCurrentRowIndex
|
|
16654
|
+
function useCurrentRow(defaultCurrentRowIndex) {
|
|
16642
16655
|
const [currentRowIndex, setCurrentRowIndex] = React__default.useState(defaultCurrentRowIndex);
|
|
16643
16656
|
const move = (direction, length, scrollToIndex) => setCurrentRowIndex(currentIndex => {
|
|
16644
16657
|
const nextIndex = currentIndex !== undefined ? getNextIndex$2(direction, currentIndex, length) : 0;
|
|
@@ -17058,7 +17071,8 @@ function useCurrentRowListener(table) {
|
|
|
17058
17071
|
const meta = table.options.meta;
|
|
17059
17072
|
const rows = table.getRowModel().rows;
|
|
17060
17073
|
React__default.useEffect(() => {
|
|
17061
|
-
|
|
17074
|
+
const currentRowIndex = meta.currentRow.currentRowIndex;
|
|
17075
|
+
if (currentRowIndex !== undefined && currentRowIndex > rows.length) {
|
|
17062
17076
|
meta.currentRow.setCurrentRowIndex(0);
|
|
17063
17077
|
}
|
|
17064
17078
|
}, [rows.length]);
|
|
@@ -17121,8 +17135,9 @@ function useColumnFreezingStyle(tableId, table) {
|
|
|
17121
17135
|
if (tableMeta.columnFreezing.frozenInternalColumnCount > 0 || tableMeta.columnFreezing.isEnabled && frozenColumnIndex !== undefined) {
|
|
17122
17136
|
var _visibleFrozenColumns;
|
|
17123
17137
|
const visibleFrozenColumns = table.getVisibleLeafColumns().slice(0, frozenColumnIndex + 1);
|
|
17124
|
-
|
|
17125
|
-
if
|
|
17138
|
+
const visibleExternalFrozenColumns = visibleFrozenColumns.filter(column => !isInternalColumn$1(column.id));
|
|
17139
|
+
// if all external frozen columns haven't had their size set yet, then abort
|
|
17140
|
+
if (visibleExternalFrozenColumns.length && visibleExternalFrozenColumns.every(column => columnSizing[column.id] === undefined)) {
|
|
17126
17141
|
return undefined;
|
|
17127
17142
|
}
|
|
17128
17143
|
const offsets = {};
|
|
@@ -17168,9 +17183,12 @@ function useRowSelection() {
|
|
|
17168
17183
|
const rows = table.getRowModel().rows;
|
|
17169
17184
|
const tableMeta = table.options.meta;
|
|
17170
17185
|
if (event.key === ' ') {
|
|
17171
|
-
var _rows$tableMeta$curre;
|
|
17172
17186
|
event.preventDefault();
|
|
17173
|
-
|
|
17187
|
+
const currentRowIndex = tableMeta.currentRow.currentRowIndex;
|
|
17188
|
+
if (currentRowIndex !== undefined) {
|
|
17189
|
+
var _rows$currentRowIndex;
|
|
17190
|
+
(_rows$currentRowIndex = rows[currentRowIndex]) === null || _rows$currentRowIndex === void 0 ? void 0 : _rows$currentRowIndex.toggleSelected();
|
|
17191
|
+
}
|
|
17174
17192
|
return;
|
|
17175
17193
|
} else if ((event.ctrlKey || event.metaKey) && event.key === 'a') {
|
|
17176
17194
|
event.preventDefault();
|
|
@@ -17193,7 +17211,7 @@ function useRowClick(onRowClick) {
|
|
|
17193
17211
|
const tableMeta = table.options.meta;
|
|
17194
17212
|
if (event.key === 'Enter') {
|
|
17195
17213
|
event.preventDefault();
|
|
17196
|
-
if (onRowClick) {
|
|
17214
|
+
if (onRowClick && tableMeta.currentRow.currentRowIndex !== undefined) {
|
|
17197
17215
|
onRowClick(rows[tableMeta.currentRow.currentRowIndex].original);
|
|
17198
17216
|
}
|
|
17199
17217
|
return;
|
|
@@ -17972,7 +17990,7 @@ function EditingCell$1(props) {
|
|
|
17972
17990
|
}));
|
|
17973
17991
|
}
|
|
17974
17992
|
const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditingCell(props) {
|
|
17975
|
-
var _tableMeta$editing$ge, _tableMeta$editing$ro, _rows$
|
|
17993
|
+
var _tableMeta$editing$ge, _tableMeta$editing$ro, _rows$currentRowIndex, _column$columnDef$met;
|
|
17976
17994
|
const {
|
|
17977
17995
|
cell,
|
|
17978
17996
|
column,
|
|
@@ -18024,7 +18042,8 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
|
|
|
18024
18042
|
// row move indicator
|
|
18025
18043
|
const moveReason = (_tableMeta$editing$ro = tableMeta.editing.rowMoveReason[cell.column.id]) !== null && _tableMeta$editing$ro !== void 0 ? _tableMeta$editing$ro : null;
|
|
18026
18044
|
const rows = table.getRowModel().rows;
|
|
18027
|
-
const
|
|
18045
|
+
const currentRowIndex = tableMeta.currentRow.currentRowIndex;
|
|
18046
|
+
const isCurrentRow = currentRowIndex !== undefined && ((_rows$currentRowIndex = rows[currentRowIndex]) === null || _rows$currentRowIndex === void 0 ? void 0 : _rows$currentRowIndex.id) === row.id;
|
|
18028
18047
|
const mountNode = React__default.useMemo(() => {
|
|
18029
18048
|
if (moveReason) {
|
|
18030
18049
|
var _cellRef$current2, _cellRef$current2$par;
|
|
@@ -18114,7 +18133,7 @@ function getRowMoveReason(table, rowIndex, rowValues, cell, newValue) {
|
|
|
18114
18133
|
}
|
|
18115
18134
|
|
|
18116
18135
|
function Cell$3(props) {
|
|
18117
|
-
var _rows$
|
|
18136
|
+
var _rows$currentRowIndex;
|
|
18118
18137
|
const {
|
|
18119
18138
|
column,
|
|
18120
18139
|
row,
|
|
@@ -18126,7 +18145,8 @@ function Cell$3(props) {
|
|
|
18126
18145
|
const rows = table.getRowModel().rows;
|
|
18127
18146
|
const tableMeta = table.options.meta;
|
|
18128
18147
|
const columnMeta = column.columnDef.meta;
|
|
18129
|
-
const
|
|
18148
|
+
const currentRowIndex = tableMeta.currentRow.currentRowIndex;
|
|
18149
|
+
const isCurrentRow = currentRowIndex !== undefined && ((_rows$currentRowIndex = rows[currentRowIndex]) === null || _rows$currentRowIndex === void 0 ? void 0 : _rows$currentRowIndex.id) === row.id;
|
|
18130
18150
|
if (tableMeta.editing.isEditing && columnMeta.control && (isCurrentRow || isHoveredRow && !tableMeta.hoverState.isPaused)) {
|
|
18131
18151
|
return /*#__PURE__*/React__default.createElement(EditingCell$1, Object.assign({}, props));
|
|
18132
18152
|
}
|
|
@@ -18545,7 +18565,7 @@ function useShortcutsListener(table, shortcuts) {
|
|
|
18545
18565
|
const shortcutKeys = Object.keys(shortcuts !== null && shortcuts !== void 0 ? shortcuts : {});
|
|
18546
18566
|
const globalHandlers = [];
|
|
18547
18567
|
// convert the shortcut into the correct format to register it
|
|
18548
|
-
if (shortcuts && shortcutKeys.length) {
|
|
18568
|
+
if (shortcuts && shortcutKeys.length && meta.currentRow.currentRowIndex !== undefined) {
|
|
18549
18569
|
const currentRow = rows[meta.currentRow.currentRowIndex];
|
|
18550
18570
|
shortcutKeys.forEach(key => {
|
|
18551
18571
|
const handler = shortcuts[key];
|
|
@@ -18613,10 +18633,14 @@ function useEditingStateListener(table) {
|
|
|
18613
18633
|
}, [meta.currentRow.currentRowIndex]);
|
|
18614
18634
|
// save if editing gets toggled off
|
|
18615
18635
|
React__default.useEffect(() => {
|
|
18616
|
-
if (meta.editing.isEnabled
|
|
18617
|
-
|
|
18618
|
-
|
|
18619
|
-
|
|
18636
|
+
if (meta.editing.isEnabled) {
|
|
18637
|
+
if (!meta.editing.isEditing) {
|
|
18638
|
+
requestAnimationFrame(() => {
|
|
18639
|
+
meta.editing.saveChangesIfNeeded();
|
|
18640
|
+
});
|
|
18641
|
+
} else if (meta.currentRow.currentRowIndex === undefined) {
|
|
18642
|
+
meta.currentRow.setCurrentRowIndex(0);
|
|
18643
|
+
}
|
|
18620
18644
|
}
|
|
18621
18645
|
}, [meta.editing.isEditing]);
|
|
18622
18646
|
}
|
|
@@ -18748,10 +18772,15 @@ function useTable$2(props) {
|
|
|
18748
18772
|
tableOptions.globalFilterFn = (row, columnId, searchQuery) => {
|
|
18749
18773
|
try {
|
|
18750
18774
|
if (row.original) {
|
|
18751
|
-
|
|
18752
|
-
const
|
|
18753
|
-
|
|
18754
|
-
|
|
18775
|
+
const cell = row.getAllCells().find(cell => cell.column.id === columnId);
|
|
18776
|
+
const columnMeta = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta;
|
|
18777
|
+
if (cell && cell.column.getIsVisible() && columnMeta !== null && columnMeta !== void 0 && columnMeta.enableSearch) {
|
|
18778
|
+
const cellValue = getCellValueAsString(row.original[columnId], columnMeta === null || columnMeta === void 0 ? void 0 : columnMeta.dataType);
|
|
18779
|
+
if (cellValue !== undefined) {
|
|
18780
|
+
return globalFilterFn$1(cellValue, searchQuery);
|
|
18781
|
+
}
|
|
18782
|
+
}
|
|
18783
|
+
return false;
|
|
18755
18784
|
}
|
|
18756
18785
|
} catch {
|
|
18757
18786
|
//
|
|
@@ -19298,32 +19327,6 @@ function useTableRenderStrategy$1(props, table, ref) {
|
|
|
19298
19327
|
return useTableRenderStrategy(props, table, ref);
|
|
19299
19328
|
}
|
|
19300
19329
|
|
|
19301
|
-
function RowHeight(props) {
|
|
19302
|
-
const {
|
|
19303
|
-
texts
|
|
19304
|
-
} = useLocalization();
|
|
19305
|
-
const meta = props.table.options.meta;
|
|
19306
|
-
const handleChange = value => {
|
|
19307
|
-
const height = value;
|
|
19308
|
-
meta.rowHeight.setHeight(height);
|
|
19309
|
-
if (height === 'short' && meta.fontSize.size === 'large') {
|
|
19310
|
-
meta.fontSize.setSize('medium');
|
|
19311
|
-
}
|
|
19312
|
-
};
|
|
19313
|
-
return /*#__PURE__*/React__default.createElement(Menu$1.SubMenu, null, /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup, {
|
|
19314
|
-
onChange: handleChange,
|
|
19315
|
-
value: meta.rowHeight.height
|
|
19316
|
-
}, /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
|
|
19317
|
-
value: "short"
|
|
19318
|
-
}, texts.table3.rowHeight.sizes.short), /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
|
|
19319
|
-
value: "medium"
|
|
19320
|
-
}, texts.table3.rowHeight.sizes.medium), /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
|
|
19321
|
-
value: "tall"
|
|
19322
|
-
}, texts.table3.rowHeight.sizes.tall), /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
|
|
19323
|
-
value: "extra-tall"
|
|
19324
|
-
}, texts.table3.rowHeight.sizes.extraTall)));
|
|
19325
|
-
}
|
|
19326
|
-
|
|
19327
19330
|
// augments useEffect to not run debounced
|
|
19328
19331
|
function useDebouncedEffect(effect, deps, ms = 200) {
|
|
19329
19332
|
const timeoutRef = React__default.useRef();
|
|
@@ -19465,10 +19468,10 @@ function resetHighlightedColumnIndexes(enabled, value, table) {
|
|
|
19465
19468
|
columns.forEach((column, columnIndex) => {
|
|
19466
19469
|
try {
|
|
19467
19470
|
var _column$columnDef$met;
|
|
19468
|
-
if ((_column$columnDef$met = column.columnDef.meta) !== null && _column$columnDef$met !== void 0 && _column$columnDef$met.enableSearch) {
|
|
19471
|
+
if (column.getIsVisible() && (_column$columnDef$met = column.columnDef.meta) !== null && _column$columnDef$met !== void 0 && _column$columnDef$met.enableSearch) {
|
|
19469
19472
|
var _row$original, _column$columnDef$met2;
|
|
19470
19473
|
const cellValue = getCellValueAsString((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original[column.id], (_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.dataType);
|
|
19471
|
-
if (cellValue && globalFilterFn$1(cellValue, value)) {
|
|
19474
|
+
if (cellValue !== undefined && globalFilterFn$1(cellValue, value)) {
|
|
19472
19475
|
indexes.push([rowIndex, columnIndex]);
|
|
19473
19476
|
}
|
|
19474
19477
|
}
|
|
@@ -19835,11 +19838,27 @@ function Filter$1(props) {
|
|
|
19835
19838
|
}));
|
|
19836
19839
|
}
|
|
19837
19840
|
|
|
19841
|
+
const useMatchMedia = (query, defaultMatches = false) => {
|
|
19842
|
+
const [matches, setMatches] = React__default.useState(defaultMatches);
|
|
19843
|
+
const handleChange = React__default.useCallback(event => setMatches(event.matches), []);
|
|
19844
|
+
React__default.useEffect(() => {
|
|
19845
|
+
const mediaQuery = window.matchMedia(query);
|
|
19846
|
+
setMatches(mediaQuery.matches);
|
|
19847
|
+
mediaQuery.addEventListener('change', handleChange);
|
|
19848
|
+
return () => {
|
|
19849
|
+
mediaQuery.removeEventListener('change', handleChange);
|
|
19850
|
+
};
|
|
19851
|
+
}, []);
|
|
19852
|
+
return matches;
|
|
19853
|
+
};
|
|
19854
|
+
|
|
19855
|
+
const useIsLargeScreen = () => useMatchMedia('(min-width: 1024px)', window.innerWidth > 1024);
|
|
19856
|
+
|
|
19838
19857
|
function sortByHeader(a, b) {
|
|
19839
19858
|
var _a$columnDef$meta, _a$columnDef$meta$hea, _a$columnDef$meta$hea2, _b$columnDef$meta;
|
|
19840
19859
|
return (_a$columnDef$meta = a.columnDef.meta) === null || _a$columnDef$meta === void 0 ? void 0 : (_a$columnDef$meta$hea = _a$columnDef$meta.header) === null || _a$columnDef$meta$hea === void 0 ? void 0 : (_a$columnDef$meta$hea2 = _a$columnDef$meta$hea.localeCompare) === null || _a$columnDef$meta$hea2 === void 0 ? void 0 : _a$columnDef$meta$hea2.call(_a$columnDef$meta$hea, (_b$columnDef$meta = b.columnDef.meta) === null || _b$columnDef$meta === void 0 ? void 0 : _b$columnDef$meta.header);
|
|
19841
19860
|
}
|
|
19842
|
-
function
|
|
19861
|
+
function FiltersButton$1(props) {
|
|
19843
19862
|
const {
|
|
19844
19863
|
total,
|
|
19845
19864
|
table
|
|
@@ -19849,6 +19868,7 @@ function Filters(props) {
|
|
|
19849
19868
|
texts
|
|
19850
19869
|
} = useLocalization();
|
|
19851
19870
|
const ref = React__default.useRef(null);
|
|
19871
|
+
const isLargeScreen = useIsLargeScreen();
|
|
19852
19872
|
const allColumns = table.getAllLeafColumns().filter(column => !isInternalColumn$1(column.id)).sort(sortByHeader);
|
|
19853
19873
|
const appliedFilters = table.getState().columnFilters;
|
|
19854
19874
|
useGlobalKeyDown({
|
|
@@ -19911,8 +19931,8 @@ function Filters(props) {
|
|
|
19911
19931
|
setFilters([]);
|
|
19912
19932
|
setPlaceholderCount(1);
|
|
19913
19933
|
};
|
|
19914
|
-
|
|
19915
|
-
|
|
19934
|
+
const buttonProps = {
|
|
19935
|
+
'aria-label': texts.table3.filters.tooltip,
|
|
19916
19936
|
className: cn({
|
|
19917
19937
|
'!wcag-blue-100': appliedFilters.length
|
|
19918
19938
|
}),
|
|
@@ -19956,7 +19976,7 @@ function Filters(props) {
|
|
|
19956
19976
|
appearance: "primary",
|
|
19957
19977
|
onClick: handleApply
|
|
19958
19978
|
}, "Apply"))))),
|
|
19959
|
-
ref
|
|
19979
|
+
ref,
|
|
19960
19980
|
tooltip: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.table3.filters.tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
|
|
19961
19981
|
className: "ml-2",
|
|
19962
19982
|
keys: {
|
|
@@ -19965,97 +19985,18 @@ function Filters(props) {
|
|
|
19965
19985
|
shift: true
|
|
19966
19986
|
}
|
|
19967
19987
|
}))
|
|
19968
|
-
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
19969
|
-
name: appliedFilters.length ? 'filter-solid' : 'filter'
|
|
19970
|
-
}), texts.table3.filters.button, " ", appliedFilters.length ? `(${appliedFilters.length})` : '');
|
|
19971
|
-
}
|
|
19972
|
-
|
|
19973
|
-
const Column$4 = /*#__PURE__*/React__default.forwardRef(function Column(props, ref) {
|
|
19974
|
-
var _column$columnDef$met;
|
|
19975
|
-
const {
|
|
19976
|
-
column,
|
|
19977
|
-
draggable = false,
|
|
19978
|
-
...dragAttributes
|
|
19979
|
-
} = props;
|
|
19980
|
-
const canHide = column.getCanHide();
|
|
19981
|
-
const className = cn('group/column flex items-center gap-x-2 rounded py-1 px-2', {
|
|
19982
|
-
'hover:bg-grey-200': canHide || draggable,
|
|
19983
|
-
'hover:cursor-pointer': canHide,
|
|
19984
|
-
'active:cursor-move active:bg-grey-300': draggable
|
|
19985
|
-
});
|
|
19986
|
-
const attributes = draggable ? dragAttributes : undefined;
|
|
19987
|
-
const isVisible = column.getIsVisible();
|
|
19988
|
-
return /*#__PURE__*/React__default.createElement("div", Object.assign({}, attributes, {
|
|
19989
|
-
key: column.id,
|
|
19990
|
-
className: className,
|
|
19991
|
-
onClick: () => column.toggleVisibility(!isVisible),
|
|
19992
|
-
ref: ref
|
|
19993
|
-
}), draggable ? /*#__PURE__*/React__default.createElement(Icon, {
|
|
19994
|
-
name: "drag",
|
|
19995
|
-
className: "text-grey-500 group-hover/column:text-grey-700 -mx-2 !h-5"
|
|
19996
|
-
}) : null, /*#__PURE__*/React__default.createElement("span", {
|
|
19997
|
-
className: "flex-grow truncate"
|
|
19998
|
-
}, (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.header), canHide ? /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
19999
|
-
checked: isVisible,
|
|
20000
|
-
onChange: () => column.toggleVisibility(!isVisible)
|
|
20001
|
-
}) : null);
|
|
20002
|
-
});
|
|
20003
|
-
function ColumnSettings(props) {
|
|
20004
|
-
const {
|
|
20005
|
-
table
|
|
20006
|
-
} = props;
|
|
20007
|
-
const {
|
|
20008
|
-
texts
|
|
20009
|
-
} = useLocalization();
|
|
20010
|
-
const [query, setQuery] = React__default.useState('');
|
|
20011
|
-
const allColumns = table.getAllLeafColumns();
|
|
20012
|
-
const tableMeta = table.options.meta;
|
|
20013
|
-
const columns = React__default.useMemo(() => allColumns.filter(column => !isInternalColumn$1(column.id)).filter(column => {
|
|
20014
|
-
var _column$columnDef$met2;
|
|
20015
|
-
return query !== null && query !== void 0 && query.length ? (_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.header.toLowerCase().includes(query.toLowerCase()) : true;
|
|
20016
|
-
}), [allColumns, query]);
|
|
20017
|
-
const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';
|
|
20018
|
-
const handleReorder = (activeId, overId) => {
|
|
20019
|
-
if (columns.find(column => {
|
|
20020
|
-
var _column$columnDef$met3;
|
|
20021
|
-
return column.id === overId && ((_column$columnDef$met3 = column.columnDef.meta) === null || _column$columnDef$met3 === void 0 ? void 0 : _column$columnDef$met3.enableOrdering) === false;
|
|
20022
|
-
})) {
|
|
20023
|
-
return;
|
|
20024
|
-
}
|
|
20025
|
-
table.setColumnOrder(currentOrder => ensureOrdering$1(allColumns, SortablePrimitive.arrayMove(currentOrder, currentOrder.findIndex(c => c === activeId), currentOrder.findIndex(c => c === overId))));
|
|
20026
19988
|
};
|
|
20027
|
-
|
|
20028
|
-
|
|
20029
|
-
|
|
20030
|
-
}
|
|
20031
|
-
|
|
20032
|
-
|
|
20033
|
-
|
|
20034
|
-
|
|
20035
|
-
|
|
20036
|
-
|
|
20037
|
-
|
|
20038
|
-
className: listClassName
|
|
20039
|
-
}, columns.map(column => {
|
|
20040
|
-
var _column$columnDef$met4, _column$columnDef$met5;
|
|
20041
|
-
return /*#__PURE__*/React__default.createElement(Item$3, {
|
|
20042
|
-
key: column.id,
|
|
20043
|
-
id: column.id,
|
|
20044
|
-
disabled: !((_column$columnDef$met4 = column.columnDef.meta) !== null && _column$columnDef$met4 !== void 0 && _column$columnDef$met4.enableOrdering),
|
|
20045
|
-
asChild: true
|
|
20046
|
-
}, /*#__PURE__*/React__default.createElement(Column$4, {
|
|
20047
|
-
column: column,
|
|
20048
|
-
draggable: (_column$columnDef$met5 = column.columnDef.meta) === null || _column$columnDef$met5 === void 0 ? void 0 : _column$columnDef$met5.enableOrdering
|
|
20049
|
-
}));
|
|
20050
|
-
}))) : /*#__PURE__*/React__default.createElement("div", {
|
|
20051
|
-
className: listClassName
|
|
20052
|
-
}, columns.length ? columns.map(column => /*#__PURE__*/React__default.createElement(Column$4, {
|
|
20053
|
-
column: column,
|
|
20054
|
-
key: column.id
|
|
20055
|
-
})) : texts.table3.columnSettings.noResults))))
|
|
20056
|
-
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
20057
|
-
name: "columns"
|
|
20058
|
-
}), texts.table3.columnSettings.button);
|
|
19989
|
+
if (!isLargeScreen && !appliedFilters.length) {
|
|
19990
|
+
return /*#__PURE__*/React__default.createElement(IconButton, Object.assign({}, buttonProps, {
|
|
19991
|
+
icon: "filter"
|
|
19992
|
+
}));
|
|
19993
|
+
}
|
|
19994
|
+
return /*#__PURE__*/React__default.createElement(Button$1, Object.assign({}, buttonProps), /*#__PURE__*/React__default.createElement(Icon, {
|
|
19995
|
+
className: cn({
|
|
19996
|
+
'-mr-1.5': !isLargeScreen
|
|
19997
|
+
}),
|
|
19998
|
+
name: appliedFilters.length ? 'filter-solid' : 'filter'
|
|
19999
|
+
}), isLargeScreen ? texts.table3.filters.button : '', appliedFilters.length ? `(${appliedFilters.length})` : '');
|
|
20059
20000
|
}
|
|
20060
20001
|
|
|
20061
20002
|
function EditButton(props) {
|
|
@@ -20185,6 +20126,7 @@ function PrintIFrame({
|
|
|
20185
20126
|
const [contentRef, setContentRef] = React__default.useState(null);
|
|
20186
20127
|
const [mountNode, setMountNode] = React__default.useState(null);
|
|
20187
20128
|
const isFirefoxBrowser = React__default.useMemo(() => navigator.userAgent.toLowerCase().includes('firefox'), []);
|
|
20129
|
+
const isSafariBrowser = React__default.useMemo(() => navigator.userAgent.toLowerCase().includes('safari') && !navigator.userAgent.toLowerCase().includes('chrome'), []);
|
|
20188
20130
|
const iframeWindow = contentRef === null || contentRef === void 0 ? void 0 : contentRef.contentWindow;
|
|
20189
20131
|
const stylesReady = useParentStylesheets(iframeWindow);
|
|
20190
20132
|
// Calls print method when table has loaded in the iframe.
|
|
@@ -20253,13 +20195,16 @@ function PrintIFrame({
|
|
|
20253
20195
|
tableWrapper.classList.add('h-fit');
|
|
20254
20196
|
tableWrapper.classList.add('[&>[role="table"]]:!h-fit');
|
|
20255
20197
|
if (isFirefoxBrowser) {
|
|
20256
|
-
// Fix for firefox bug which adds page-long whitespace between page's top content and table
|
|
20198
|
+
// Fix for firefox bug which adds page-long whitespace between page's top content and table.
|
|
20257
20199
|
tableWrapper.classList.add('[&>[role="table"]]:!absolute');
|
|
20258
20200
|
}
|
|
20259
|
-
//
|
|
20260
|
-
|
|
20261
|
-
|
|
20262
|
-
|
|
20201
|
+
// Makes sure table takes the full screen width.
|
|
20202
|
+
if (isSafariBrowser) {
|
|
20203
|
+
// Safari browser doesn't apply correct width to the columns when w-screen is used.
|
|
20204
|
+
tableWrapper.classList.add('w-full');
|
|
20205
|
+
} else {
|
|
20206
|
+
tableWrapper.classList.add('w-screen');
|
|
20207
|
+
}
|
|
20263
20208
|
if (tableElement) {
|
|
20264
20209
|
var _tableElement$parentN;
|
|
20265
20210
|
(_tableElement$parentN = tableElement.parentNode) === null || _tableElement$parentN === void 0 ? void 0 : _tableElement$parentN.insertBefore(tableWrapper, tableElement);
|
|
@@ -20304,7 +20249,7 @@ function PrintIFrame({
|
|
|
20304
20249
|
};
|
|
20305
20250
|
// -top-60 -left-60 styles make sure that iframe is added outside of the viewport
|
|
20306
20251
|
return /*#__PURE__*/React__default.createElement("iframe", {
|
|
20307
|
-
className: "fixed -left-
|
|
20252
|
+
className: "fixed -left-[6000px] -top-[6000px] -z-50 !h-0 !w-0",
|
|
20308
20253
|
ref: setContentRef,
|
|
20309
20254
|
// Temporary fix to support printing in firefox: Find another solution while upgrading React
|
|
20310
20255
|
src: "javascript:void(0);"
|
|
@@ -20313,6 +20258,7 @@ function PrintIFrame({
|
|
|
20313
20258
|
|
|
20314
20259
|
const WarningDialog = ({
|
|
20315
20260
|
onAccept,
|
|
20261
|
+
onCancel,
|
|
20316
20262
|
onClose,
|
|
20317
20263
|
onVisibilityChange,
|
|
20318
20264
|
...props
|
|
@@ -20346,7 +20292,10 @@ const WarningDialog = ({
|
|
|
20346
20292
|
checked: hideWarningDialog,
|
|
20347
20293
|
onChange: setHideWarningDialog
|
|
20348
20294
|
}), /*#__PURE__*/React__default.createElement(Group, null, /*#__PURE__*/React__default.createElement(Button$1, {
|
|
20349
|
-
onClick:
|
|
20295
|
+
onClick: () => {
|
|
20296
|
+
handleClose();
|
|
20297
|
+
onCancel();
|
|
20298
|
+
}
|
|
20350
20299
|
}, texts.table3.print.warningDialog.cancelButtonText), /*#__PURE__*/React__default.createElement(Button$1, {
|
|
20351
20300
|
appearance: "primary",
|
|
20352
20301
|
autoFocus: true,
|
|
@@ -20376,20 +20325,23 @@ function PrintButton(props) {
|
|
|
20376
20325
|
const {
|
|
20377
20326
|
printWarningDialogVisibility
|
|
20378
20327
|
} = tableMeta.printing;
|
|
20328
|
+
// When changing printTableId, update packages/taco/src/components/Table3/Table3.tsx file and other usages where
|
|
20329
|
+
// printTableId is used to figure out whether the table is a print table or not.
|
|
20379
20330
|
const printTableId = `${tableProps.id}_print`;
|
|
20331
|
+
const excludeUnmatchedResults = tableMeta.search.excludeUnmatchedResults;
|
|
20380
20332
|
const defaultSettings = React__default.useMemo(() => ({
|
|
20381
20333
|
columnFreezingIndex: tableMeta.columnFreezing.frozenColumnIndex,
|
|
20382
20334
|
columnOrder: state.columnOrder,
|
|
20383
20335
|
columnSizing: state.columnSizing,
|
|
20384
20336
|
columnVisibility: state.columnVisibility,
|
|
20385
|
-
excludeUnmatchedRecordsInSearch:
|
|
20337
|
+
excludeUnmatchedRecordsInSearch: excludeUnmatchedResults,
|
|
20386
20338
|
fontSize: tableMeta.fontSize.size,
|
|
20387
20339
|
rowHeight: tableMeta.rowHeight.height,
|
|
20388
20340
|
sorting: state.sorting,
|
|
20389
20341
|
// we don't save these, but we must pass them to print
|
|
20390
20342
|
columnFilters: state.columnFilters,
|
|
20391
20343
|
globalFilter: state.globalFilter
|
|
20392
|
-
}), [tableMeta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnSizing, state.columnVisibility,
|
|
20344
|
+
}), [tableMeta.columnFreezing.frozenColumnIndex, state.columnOrder, state.columnSizing, state.columnVisibility, excludeUnmatchedResults, tableMeta.fontSize.size, tableMeta.rowHeight.height, state.sorting, state.columnFilters, state.globalFilter]);
|
|
20393
20345
|
const iframeTableProps = {
|
|
20394
20346
|
...tableProps,
|
|
20395
20347
|
defaultSettings,
|
|
@@ -20405,20 +20357,51 @@ function PrintButton(props) {
|
|
|
20405
20357
|
// Starts custom printing
|
|
20406
20358
|
(_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.click();
|
|
20407
20359
|
});
|
|
20408
|
-
const
|
|
20360
|
+
const handleLoadingError = error => {
|
|
20409
20361
|
var _loadingToastRef$curr;
|
|
20410
|
-
|
|
20411
|
-
|
|
20362
|
+
const errorMessage = `${texts.table3.print.error}: ${error}`;
|
|
20363
|
+
console.error(errorMessage);
|
|
20364
|
+
(_loadingToastRef$curr = loadingToastRef.current) === null || _loadingToastRef$curr === void 0 ? void 0 : _loadingToastRef$curr.error(errorMessage);
|
|
20365
|
+
};
|
|
20366
|
+
const restoreTableDataWithoutSearch = function () {
|
|
20367
|
+
try {
|
|
20368
|
+
const _temp = _catch(function () {
|
|
20369
|
+
var _tableMeta$printing$l, _tableMeta$printing;
|
|
20370
|
+
return Promise.resolve((_tableMeta$printing$l = (_tableMeta$printing = tableMeta.printing).loadAll) === null || _tableMeta$printing$l === void 0 ? void 0 : _tableMeta$printing$l.call(_tableMeta$printing, table.getState().sorting, table.getState().columnFilters, undefined)).then(function () {});
|
|
20371
|
+
}, function (error) {
|
|
20372
|
+
handleLoadingError(error);
|
|
20373
|
+
});
|
|
20374
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
|
20375
|
+
} catch (e) {
|
|
20376
|
+
return Promise.reject(e);
|
|
20377
|
+
}
|
|
20378
|
+
};
|
|
20379
|
+
const handleAfterPrint = function () {
|
|
20380
|
+
try {
|
|
20381
|
+
function _temp3() {
|
|
20382
|
+
var _loadingToastRef$curr2;
|
|
20383
|
+
setIsPrinting(false);
|
|
20384
|
+
(_loadingToastRef$curr2 = loadingToastRef.current) === null || _loadingToastRef$curr2 === void 0 ? void 0 : _loadingToastRef$curr2.close();
|
|
20385
|
+
}
|
|
20386
|
+
const _temp2 = function () {
|
|
20387
|
+
if (tableMeta.printing.loadAll && excludeUnmatchedResults) {
|
|
20388
|
+
return Promise.resolve(restoreTableDataWithoutSearch()).then(function () {});
|
|
20389
|
+
}
|
|
20390
|
+
}();
|
|
20391
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
|
|
20392
|
+
} catch (e) {
|
|
20393
|
+
return Promise.reject(e);
|
|
20394
|
+
}
|
|
20412
20395
|
};
|
|
20413
20396
|
const handleBeforePrint = () => {
|
|
20414
|
-
var _loadingToastRef$
|
|
20415
|
-
(_loadingToastRef$
|
|
20397
|
+
var _loadingToastRef$curr3;
|
|
20398
|
+
(_loadingToastRef$curr3 = loadingToastRef.current) === null || _loadingToastRef$curr3 === void 0 ? void 0 : _loadingToastRef$curr3.close();
|
|
20416
20399
|
};
|
|
20417
20400
|
const handlePrint = function () {
|
|
20418
20401
|
try {
|
|
20419
20402
|
let _exit = false;
|
|
20420
|
-
function
|
|
20421
|
-
if (_exit) return
|
|
20403
|
+
function _temp6(_result3) {
|
|
20404
|
+
if (_exit) return _result3;
|
|
20422
20405
|
if (hasNonSafeCellCount && printWarningDialogVisibility) {
|
|
20423
20406
|
setShowWarningDialog(true);
|
|
20424
20407
|
} else {
|
|
@@ -20431,7 +20414,7 @@ function PrintButton(props) {
|
|
|
20431
20414
|
let hasNonSafeCellCount = false;
|
|
20432
20415
|
// if loadAll is not defined, just print with what we've got
|
|
20433
20416
|
// don't compare length to data.length because the api might be choosing not to return all for performance
|
|
20434
|
-
const
|
|
20417
|
+
const _temp5 = function () {
|
|
20435
20418
|
if (!tableMeta.printing.loadAll) {
|
|
20436
20419
|
const {
|
|
20437
20420
|
data
|
|
@@ -20439,8 +20422,12 @@ function PrintButton(props) {
|
|
|
20439
20422
|
const cellCount = getCellCount(data);
|
|
20440
20423
|
hasNonSafeCellCount = cellCount > SAFE_PRINT_CELL_COUNT;
|
|
20441
20424
|
} else {
|
|
20442
|
-
const
|
|
20443
|
-
return Promise.resolve(tableMeta.printing.loadAll(table.getState().sorting, table.getState().columnFilters,
|
|
20425
|
+
const _temp4 = _catch(function () {
|
|
20426
|
+
return Promise.resolve(tableMeta.printing.loadAll(table.getState().sorting, table.getState().columnFilters,
|
|
20427
|
+
// We need to pass search query to the server when printing, to be able to render correct data set in iFrame,
|
|
20428
|
+
// But in "display" table, search is performed only on client side, so we'll need to request data again without search query,
|
|
20429
|
+
// when printing will be finished.
|
|
20430
|
+
excludeUnmatchedResults ? tableMeta.search.query : undefined)).then(function () {
|
|
20444
20431
|
// After the loadAll call above, the data changes. Hence, it becomes essential to acquire the data after
|
|
20445
20432
|
// this call rather than before it.
|
|
20446
20433
|
const {
|
|
@@ -20450,17 +20437,14 @@ function PrintButton(props) {
|
|
|
20450
20437
|
hasNonSafeCellCount = cellCount > SAFE_PRINT_CELL_COUNT;
|
|
20451
20438
|
});
|
|
20452
20439
|
}, function (error) {
|
|
20453
|
-
|
|
20454
|
-
const errorMessage = `${texts.table3.print.error}: ${error}`;
|
|
20455
|
-
console.error(errorMessage);
|
|
20456
|
-
(_loadingToastRef$curr3 = loadingToastRef.current) === null || _loadingToastRef$curr3 === void 0 ? void 0 : _loadingToastRef$curr3.error(errorMessage);
|
|
20440
|
+
handleLoadingError(error);
|
|
20457
20441
|
// in case of error, we return early
|
|
20458
20442
|
_exit = true;
|
|
20459
20443
|
});
|
|
20460
|
-
if (
|
|
20444
|
+
if (_temp4 && _temp4.then) return _temp4.then(function () {});
|
|
20461
20445
|
}
|
|
20462
20446
|
}();
|
|
20463
|
-
return Promise.resolve(
|
|
20447
|
+
return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
|
|
20464
20448
|
} catch (e) {
|
|
20465
20449
|
return Promise.reject(e);
|
|
20466
20450
|
}
|
|
@@ -20468,6 +20452,18 @@ function PrintButton(props) {
|
|
|
20468
20452
|
const handleWarningDialogAccept = () => {
|
|
20469
20453
|
setIsPrinting(true);
|
|
20470
20454
|
};
|
|
20455
|
+
const handleWarningDialogCancel = function () {
|
|
20456
|
+
try {
|
|
20457
|
+
const _temp7 = function () {
|
|
20458
|
+
if (tableMeta.printing.loadAll && excludeUnmatchedResults) {
|
|
20459
|
+
return Promise.resolve(restoreTableDataWithoutSearch()).then(function () {});
|
|
20460
|
+
}
|
|
20461
|
+
}();
|
|
20462
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
|
20463
|
+
} catch (e) {
|
|
20464
|
+
return Promise.reject(e);
|
|
20465
|
+
}
|
|
20466
|
+
};
|
|
20471
20467
|
const handleWarningDialogClose = () => {
|
|
20472
20468
|
var _loadingToastRef$curr4;
|
|
20473
20469
|
(_loadingToastRef$curr4 = loadingToastRef.current) === null || _loadingToastRef$curr4 === void 0 ? void 0 : _loadingToastRef$curr4.close();
|
|
@@ -20488,10 +20484,125 @@ function PrintButton(props) {
|
|
|
20488
20484
|
open: showWarningDialog,
|
|
20489
20485
|
onAccept: handleWarningDialogAccept,
|
|
20490
20486
|
onClose: handleWarningDialogClose,
|
|
20487
|
+
onCancel: handleWarningDialogCancel,
|
|
20491
20488
|
onVisibilityChange: tableMeta.printing.setPrintWarningDialogVisibility
|
|
20492
20489
|
}));
|
|
20493
20490
|
}
|
|
20494
20491
|
|
|
20492
|
+
function RowHeight(props) {
|
|
20493
|
+
const {
|
|
20494
|
+
texts
|
|
20495
|
+
} = useLocalization();
|
|
20496
|
+
const meta = props.table.options.meta;
|
|
20497
|
+
const handleChange = value => {
|
|
20498
|
+
const height = value;
|
|
20499
|
+
meta.rowHeight.setHeight(height);
|
|
20500
|
+
if (height === 'short' && meta.fontSize.size === 'large') {
|
|
20501
|
+
meta.fontSize.setSize('medium');
|
|
20502
|
+
}
|
|
20503
|
+
};
|
|
20504
|
+
return /*#__PURE__*/React__default.createElement(Menu$1.SubMenu, null, /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup, {
|
|
20505
|
+
onChange: handleChange,
|
|
20506
|
+
value: meta.rowHeight.height
|
|
20507
|
+
}, /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
|
|
20508
|
+
value: "short"
|
|
20509
|
+
}, texts.table3.rowHeight.sizes.short), /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
|
|
20510
|
+
value: "medium"
|
|
20511
|
+
}, texts.table3.rowHeight.sizes.medium), /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
|
|
20512
|
+
value: "tall"
|
|
20513
|
+
}, texts.table3.rowHeight.sizes.tall), /*#__PURE__*/React__default.createElement(Menu$1.RadioGroup.Item, {
|
|
20514
|
+
value: "extra-tall"
|
|
20515
|
+
}, texts.table3.rowHeight.sizes.extraTall)));
|
|
20516
|
+
}
|
|
20517
|
+
|
|
20518
|
+
const Column$4 = /*#__PURE__*/React__default.forwardRef(function Column(props, ref) {
|
|
20519
|
+
var _column$columnDef$met;
|
|
20520
|
+
const {
|
|
20521
|
+
column,
|
|
20522
|
+
draggable = false,
|
|
20523
|
+
...dragAttributes
|
|
20524
|
+
} = props;
|
|
20525
|
+
const canHide = column.getCanHide();
|
|
20526
|
+
const className = cn('group/column flex items-center gap-x-2 rounded py-1 px-2', {
|
|
20527
|
+
'hover:bg-grey-200': canHide || draggable,
|
|
20528
|
+
'hover:cursor-pointer': canHide,
|
|
20529
|
+
'active:cursor-move active:bg-grey-300': draggable
|
|
20530
|
+
});
|
|
20531
|
+
const attributes = draggable ? dragAttributes : undefined;
|
|
20532
|
+
const isVisible = column.getIsVisible();
|
|
20533
|
+
return /*#__PURE__*/React__default.createElement("div", Object.assign({}, attributes, {
|
|
20534
|
+
key: column.id,
|
|
20535
|
+
className: className,
|
|
20536
|
+
onClick: () => column.toggleVisibility(!isVisible),
|
|
20537
|
+
ref: ref
|
|
20538
|
+
}), draggable ? /*#__PURE__*/React__default.createElement(Icon, {
|
|
20539
|
+
name: "drag",
|
|
20540
|
+
className: "text-grey-500 group-hover/column:text-grey-700 -mx-2 !h-5"
|
|
20541
|
+
}) : null, /*#__PURE__*/React__default.createElement("span", {
|
|
20542
|
+
className: "flex-grow truncate"
|
|
20543
|
+
}, (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.header), canHide ? /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
20544
|
+
checked: isVisible,
|
|
20545
|
+
onChange: () => column.toggleVisibility(!isVisible)
|
|
20546
|
+
}) : null);
|
|
20547
|
+
});
|
|
20548
|
+
function ColumnSettingsPopover(props) {
|
|
20549
|
+
const {
|
|
20550
|
+
table,
|
|
20551
|
+
trigger,
|
|
20552
|
+
...popoverProps
|
|
20553
|
+
} = props;
|
|
20554
|
+
const {
|
|
20555
|
+
texts
|
|
20556
|
+
} = useLocalization();
|
|
20557
|
+
const [query, setQuery] = React__default.useState('');
|
|
20558
|
+
const allColumns = table.getAllLeafColumns();
|
|
20559
|
+
const tableMeta = table.options.meta;
|
|
20560
|
+
const columns = React__default.useMemo(() => allColumns.filter(column => !isInternalColumn$1(column.id)).filter(column => {
|
|
20561
|
+
var _column$columnDef$met2;
|
|
20562
|
+
return query !== null && query !== void 0 && query.length ? (_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.header.toLowerCase().includes(query.toLowerCase()) : true;
|
|
20563
|
+
}), [allColumns, query]);
|
|
20564
|
+
const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';
|
|
20565
|
+
const handleReorder = (activeId, overId) => {
|
|
20566
|
+
if (columns.find(column => {
|
|
20567
|
+
var _column$columnDef$met3;
|
|
20568
|
+
return column.id === overId && ((_column$columnDef$met3 = column.columnDef.meta) === null || _column$columnDef$met3 === void 0 ? void 0 : _column$columnDef$met3.enableOrdering) === false;
|
|
20569
|
+
})) {
|
|
20570
|
+
return;
|
|
20571
|
+
}
|
|
20572
|
+
table.setColumnOrder(currentOrder => ensureOrdering$1(allColumns, SortablePrimitive.arrayMove(currentOrder, currentOrder.findIndex(c => c === activeId), currentOrder.findIndex(c => c === overId))));
|
|
20573
|
+
};
|
|
20574
|
+
return /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps, {
|
|
20575
|
+
anchor: trigger
|
|
20576
|
+
}), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement("div", {
|
|
20577
|
+
className: "flex w-60 flex-col gap-2"
|
|
20578
|
+
}, table.options.enableHiding ? /*#__PURE__*/React__default.createElement(Input, {
|
|
20579
|
+
onChange: event => setQuery(event.target.value),
|
|
20580
|
+
placeholder: texts.table3.columnSettings.search,
|
|
20581
|
+
value: query
|
|
20582
|
+
}) : null, tableMeta.columnOrdering.isEnabled && columns.length && !(query !== null && query !== void 0 && query.length) ? /*#__PURE__*/React__default.createElement(Container, {
|
|
20583
|
+
reorder: handleReorder
|
|
20584
|
+
}, /*#__PURE__*/React__default.createElement(List$1, {
|
|
20585
|
+
id: "columns",
|
|
20586
|
+
className: listClassName
|
|
20587
|
+
}, columns.map(column => {
|
|
20588
|
+
var _column$columnDef$met4, _column$columnDef$met5;
|
|
20589
|
+
return /*#__PURE__*/React__default.createElement(Item$3, {
|
|
20590
|
+
key: column.id,
|
|
20591
|
+
id: column.id,
|
|
20592
|
+
disabled: !((_column$columnDef$met4 = column.columnDef.meta) !== null && _column$columnDef$met4 !== void 0 && _column$columnDef$met4.enableOrdering),
|
|
20593
|
+
asChild: true
|
|
20594
|
+
}, /*#__PURE__*/React__default.createElement(Column$4, {
|
|
20595
|
+
column: column,
|
|
20596
|
+
draggable: (_column$columnDef$met5 = column.columnDef.meta) === null || _column$columnDef$met5 === void 0 ? void 0 : _column$columnDef$met5.enableOrdering
|
|
20597
|
+
}));
|
|
20598
|
+
}))) : /*#__PURE__*/React__default.createElement("div", {
|
|
20599
|
+
className: listClassName
|
|
20600
|
+
}, columns.length ? columns.map(column => /*#__PURE__*/React__default.createElement(Column$4, {
|
|
20601
|
+
column: column,
|
|
20602
|
+
key: column.id
|
|
20603
|
+
})) : texts.table3.columnSettings.noResults))));
|
|
20604
|
+
}
|
|
20605
|
+
|
|
20495
20606
|
function FontSize$1(props) {
|
|
20496
20607
|
const {
|
|
20497
20608
|
texts
|
|
@@ -20511,6 +20622,57 @@ function FontSize$1(props) {
|
|
|
20511
20622
|
}, texts.table3.fontSize.sizes.large)));
|
|
20512
20623
|
}
|
|
20513
20624
|
|
|
20625
|
+
function SettingsButton(props) {
|
|
20626
|
+
const {
|
|
20627
|
+
table
|
|
20628
|
+
} = props;
|
|
20629
|
+
const {
|
|
20630
|
+
texts
|
|
20631
|
+
} = useLocalization();
|
|
20632
|
+
const [popover, setPopover] = React__default.useState(undefined);
|
|
20633
|
+
const tableMeta = table.options.meta;
|
|
20634
|
+
const hasColumnSettings = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;
|
|
20635
|
+
let popoverElement;
|
|
20636
|
+
if (popover) {
|
|
20637
|
+
const handleClosePopover = () => setPopover(undefined);
|
|
20638
|
+
switch (popover) {
|
|
20639
|
+
case 'columnSettings':
|
|
20640
|
+
{
|
|
20641
|
+
if (hasColumnSettings) {
|
|
20642
|
+
popoverElement = props => /*#__PURE__*/React__default.createElement(ColumnSettingsPopover, Object.assign({}, props, {
|
|
20643
|
+
open: true,
|
|
20644
|
+
onChange: handleClosePopover,
|
|
20645
|
+
table: table
|
|
20646
|
+
}));
|
|
20647
|
+
}
|
|
20648
|
+
}
|
|
20649
|
+
}
|
|
20650
|
+
}
|
|
20651
|
+
return /*#__PURE__*/React__default.createElement(IconButton, {
|
|
20652
|
+
"aria-label": texts.table3.otherOptions.tooltip,
|
|
20653
|
+
icon: "sliders",
|
|
20654
|
+
menu: popoverElement ? undefined : menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, {
|
|
20655
|
+
align: "end"
|
|
20656
|
+
}, table.options.enableHiding || tableMeta.columnOrdering.isEnabled ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
|
20657
|
+
icon: "columns",
|
|
20658
|
+
onClick: () => setPopover('columnSettings')
|
|
20659
|
+
}, texts.table3.columnSettings.button), /*#__PURE__*/React__default.createElement(Menu$1.Separator, null)) : null, tableMeta.rowHeight.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
|
20660
|
+
icon: `height-${tableMeta.rowHeight.height}`,
|
|
20661
|
+
subMenu: () => /*#__PURE__*/React__default.createElement(RowHeight, {
|
|
20662
|
+
table: table
|
|
20663
|
+
})
|
|
20664
|
+
}, texts.table3.rowHeight.tooltip) : null, tableMeta.fontSize.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
|
20665
|
+
icon: "font-size",
|
|
20666
|
+
subMenu: () => /*#__PURE__*/React__default.createElement(FontSize$1, {
|
|
20667
|
+
table: table
|
|
20668
|
+
})
|
|
20669
|
+
}, texts.table3.fontSize.tooltip) : null)),
|
|
20670
|
+
popover: popoverElement,
|
|
20671
|
+
onClickCapture: event => event.preventDefault(),
|
|
20672
|
+
tooltip: texts.table3.otherOptions.tooltip
|
|
20673
|
+
});
|
|
20674
|
+
}
|
|
20675
|
+
|
|
20514
20676
|
function Toolbar(props) {
|
|
20515
20677
|
const {
|
|
20516
20678
|
left,
|
|
@@ -20520,9 +20682,6 @@ function Toolbar(props) {
|
|
|
20520
20682
|
tableProps,
|
|
20521
20683
|
total
|
|
20522
20684
|
} = props;
|
|
20523
|
-
const {
|
|
20524
|
-
texts
|
|
20525
|
-
} = useLocalization();
|
|
20526
20685
|
if (!isToolbarVisible(props)) {
|
|
20527
20686
|
return null;
|
|
20528
20687
|
}
|
|
@@ -20534,38 +20693,20 @@ function Toolbar(props) {
|
|
|
20534
20693
|
className: "ml-auto flex-shrink-0 print:hidden"
|
|
20535
20694
|
}, tableMeta.editing.isEnabled ? /*#__PURE__*/React__default.createElement(EditButton, {
|
|
20536
20695
|
table: table
|
|
20537
|
-
}) : null, table.options.enableColumnFilters ? /*#__PURE__*/React__default.createElement(
|
|
20696
|
+
}) : null, table.options.enableColumnFilters ? /*#__PURE__*/React__default.createElement(FiltersButton$1, {
|
|
20538
20697
|
table: table,
|
|
20539
20698
|
total: total
|
|
20540
|
-
}) : null,
|
|
20541
|
-
table: table
|
|
20542
|
-
}) : null, tableMeta.printing.isEnabled ? /*#__PURE__*/React__default.createElement(PrintButton, {
|
|
20699
|
+
}) : null, right, tableMeta.printing.isEnabled ? /*#__PURE__*/React__default.createElement(PrintButton, {
|
|
20543
20700
|
table: table,
|
|
20544
20701
|
tableProps: tableProps
|
|
20545
|
-
}) : null,
|
|
20546
|
-
|
|
20547
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
20548
|
-
"aria-label": texts.table3.otherOptions.tooltip,
|
|
20549
|
-
icon: "more",
|
|
20550
|
-
menu: menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, {
|
|
20551
|
-
align: "end"
|
|
20552
|
-
}, tableMeta.rowHeight.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
|
20553
|
-
icon: `height-${tableMeta.rowHeight.height}`,
|
|
20554
|
-
subMenu: () => /*#__PURE__*/React__default.createElement(RowHeight, {
|
|
20555
|
-
table: table
|
|
20556
|
-
})
|
|
20557
|
-
}, texts.table3.rowHeight.tooltip) : null, tableMeta.fontSize.isEnabled ? /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
|
20558
|
-
icon: "font-size",
|
|
20559
|
-
subMenu: () => /*#__PURE__*/React__default.createElement(FontSize$1, {
|
|
20560
|
-
table: table
|
|
20561
|
-
})
|
|
20562
|
-
}, texts.table3.fontSize.tooltip) : null))
|
|
20563
|
-
})) : null, tableMeta.search.isEnabled ? /*#__PURE__*/React__default.createElement(Search$3, {
|
|
20702
|
+
}) : null, isSettingsVisible(props) ? /*#__PURE__*/React__default.createElement(SettingsButton, {
|
|
20703
|
+
table: table
|
|
20704
|
+
}) : null, tableMeta.search.isEnabled ? /*#__PURE__*/React__default.createElement(Search$3, {
|
|
20564
20705
|
scrollToIndex: scrollToIndex,
|
|
20565
20706
|
table: table
|
|
20566
20707
|
}) : null));
|
|
20567
20708
|
}
|
|
20568
|
-
function
|
|
20709
|
+
function isSettingsVisible(props) {
|
|
20569
20710
|
const {
|
|
20570
20711
|
table
|
|
20571
20712
|
} = props;
|
|
@@ -20850,9 +20991,12 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
|
20850
20991
|
const bodyRef = React__default.useRef(null);
|
|
20851
20992
|
React__default.useEffect(() => {
|
|
20852
20993
|
const handleKeyDown = event => {
|
|
20853
|
-
const
|
|
20854
|
-
|
|
20855
|
-
|
|
20994
|
+
const target = event.target;
|
|
20995
|
+
const dialog = target.closest('[role="dialog"]');
|
|
20996
|
+
const eventOriginatedFromCombobox = !!target.closest('[role="combobox"]');
|
|
20997
|
+
// Don't trigger global shortcuts on the table if event originated from a combobox or if table is
|
|
20998
|
+
// outside the dialog
|
|
20999
|
+
if (eventOriginatedFromCombobox || dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current))) {
|
|
20856
21000
|
return;
|
|
20857
21001
|
}
|
|
20858
21002
|
tableMeta.hoverState.handleKeyDown(event);
|
|
@@ -20886,9 +21030,11 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
|
|
|
20886
21030
|
'text-sm': tableMeta.fontSize.size === 'medium',
|
|
20887
21031
|
'text-base': tableMeta.fontSize.size === 'large'
|
|
20888
21032
|
});
|
|
21033
|
+
// Print tables have "_print" as the postfix for the table id, so we can use the it to determine
|
|
21034
|
+
// if the table is a print table or not.
|
|
20889
21035
|
const {
|
|
20890
21036
|
style: cssGridStyle
|
|
20891
|
-
} = useCssGrid(table);
|
|
21037
|
+
} = useCssGrid(table, props.id.endsWith('_print'));
|
|
20892
21038
|
const {
|
|
20893
21039
|
style: cssVars
|
|
20894
21040
|
} = useCssVars(tableMeta.rowHeight.height, tableMeta.fontSize.size);
|
|
@@ -21428,20 +21574,6 @@ const AgreementItem = props => {
|
|
|
21428
21574
|
}))), children);
|
|
21429
21575
|
};
|
|
21430
21576
|
|
|
21431
|
-
const useMatchMedia = (query, defaultMatches = false) => {
|
|
21432
|
-
const [matches, setMatches] = React__default.useState(defaultMatches);
|
|
21433
|
-
const handleChange = React__default.useCallback(event => setMatches(event.matches), []);
|
|
21434
|
-
React__default.useEffect(() => {
|
|
21435
|
-
const mediaQuery = window.matchMedia(query);
|
|
21436
|
-
setMatches(mediaQuery.matches);
|
|
21437
|
-
mediaQuery.addEventListener('change', handleChange);
|
|
21438
|
-
return () => {
|
|
21439
|
-
mediaQuery.removeEventListener('change', handleChange);
|
|
21440
|
-
};
|
|
21441
|
-
}, []);
|
|
21442
|
-
return matches;
|
|
21443
|
-
};
|
|
21444
|
-
|
|
21445
21577
|
const AgreementDisplay = props => {
|
|
21446
21578
|
const {
|
|
21447
21579
|
children,
|
|
@@ -21630,8 +21762,6 @@ const Content$9 = /*#__PURE__*/React__default.forwardRef(function LayoutContent(
|
|
|
21630
21762
|
}));
|
|
21631
21763
|
});
|
|
21632
21764
|
|
|
21633
|
-
const useIsLargeScreen = () => useMatchMedia('(min-width: 1024px)', window.innerWidth > 1024);
|
|
21634
|
-
|
|
21635
21765
|
const SidebarBackdrop = /*#__PURE__*/framerMotion.motion(Backdrop);
|
|
21636
21766
|
const Sidebar = /*#__PURE__*/React__default.forwardRef(function LayoutSidebar(props, ref) {
|
|
21637
21767
|
const {
|