@economic/taco 2.28.1 → 2.29.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/Phone.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/List/components/Item.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/Navigation2/components/Link.d.ts +1 -1
- package/dist/components/Select2/components/Option.d.ts +2 -2
- package/dist/components/Select2/components/Search.d.ts +1 -1
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/esm/index.css +10 -6
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +45 -43
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/Phone.js +17 -0
- package/dist/esm/packages/taco/src/components/Icon/components/Phone.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/Table3/components/Columns/Cell/EditingControlCell.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js +9 -2
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +4 -1
- package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js +3 -7
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js +11 -9
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +3 -3
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleColumnFreezing.js +4 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleColumnFreezing.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js +9 -8
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/columns.js +7 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/columns.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +15 -11
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/date.js +3 -3
- package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
- package/dist/index.css +10 -6
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.d.ts +1 -3
- package/dist/primitives/Table/useTableManager/util/columns.d.ts +1 -1
- package/dist/taco.cjs.development.js +128 -91
- 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/dist/utils/date.d.ts +1 -1
- package/package.json +2 -2
|
@@ -2569,6 +2569,19 @@ function IconPhoneSolid(props, svgRef) {
|
|
|
2569
2569
|
}
|
|
2570
2570
|
var PhoneSolid = /*#__PURE__*/React.forwardRef(IconPhoneSolid);
|
|
2571
2571
|
|
|
2572
|
+
function IconPhone(props, svgRef) {
|
|
2573
|
+
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
|
2574
|
+
fill: "none",
|
|
2575
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2576
|
+
viewBox: "0 0 24 24",
|
|
2577
|
+
ref: svgRef
|
|
2578
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
2579
|
+
d: "M4.742 3.998l1.036-.641a2.75 2.75 0 013.58.6l1.39 1.703a2.75 2.75 0 01.2 3.196l-1.082 1.732a.25.25 0 00-.035.17c.06.396.52 1.073 1.397 1.95.638.638 1.174 1.062 1.59 1.27.289.144.43.154.48.123l1.783-1.114a2.75 2.75 0 013.195.201l1.696 1.383a2.75 2.75 0 01.606 3.57l-.639 1.04a3.75 3.75 0 01-3.234 1.788c-2.86-.03-5.846-1.636-8.974-4.763-3.133-3.133-4.739-6.124-4.764-8.986a3.75 3.75 0 011.775-3.222zm.79 1.276a2.25 2.25 0 00-1.065 1.932c.021 2.408 1.445 5.06 4.324 7.939 2.876 2.876 5.524 4.3 7.93 4.324a2.25 2.25 0 001.94-1.072l.639-1.04a1.25 1.25 0 00-.276-1.623l-1.696-1.383a1.25 1.25 0 00-1.452-.092l-1.787 1.117c-1.04.64-2.31.005-3.922-1.607-1.086-1.087-1.698-1.988-1.82-2.786a1.75 1.75 0 01.247-1.19l1.083-1.732a1.25 1.25 0 00-.092-1.453l-1.39-1.704a1.25 1.25 0 00-1.627-.272l-1.036.642z",
|
|
2580
|
+
fill: "currentColor"
|
|
2581
|
+
}));
|
|
2582
|
+
}
|
|
2583
|
+
var Phone = /*#__PURE__*/React.forwardRef(IconPhone);
|
|
2584
|
+
|
|
2572
2585
|
function IconPlay(props, svgRef) {
|
|
2573
2586
|
return /*#__PURE__*/React.createElement("svg", Object.assign({
|
|
2574
2587
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -3572,6 +3585,7 @@ const icons = {
|
|
|
3572
3585
|
'person-plus': PersonPlus,
|
|
3573
3586
|
'person-tick': PersonTick,
|
|
3574
3587
|
'phone-solid': PhoneSolid,
|
|
3588
|
+
phone: Phone,
|
|
3575
3589
|
play: Play,
|
|
3576
3590
|
'plus-minus': PlusMinus,
|
|
3577
3591
|
print: Print,
|
|
@@ -5810,57 +5824,59 @@ const useCombobox = ({
|
|
|
5810
5824
|
};
|
|
5811
5825
|
const handleInputKeyDown = event => {
|
|
5812
5826
|
event.persist();
|
|
5813
|
-
|
|
5814
|
-
|
|
5815
|
-
|
|
5816
|
-
|
|
5817
|
-
|
|
5818
|
-
|
|
5819
|
-
|
|
5820
|
-
|
|
5821
|
-
setInputValue(convertToInputValue(value));
|
|
5822
|
-
setOpen(false);
|
|
5823
|
-
return;
|
|
5824
|
-
}
|
|
5825
|
-
case 'Tab':
|
|
5826
|
-
case 'Enter':
|
|
5827
|
-
{
|
|
5828
|
-
if (event.key !== 'Tab') {
|
|
5827
|
+
if (!event.ctrlKey && !event.metaKey) {
|
|
5828
|
+
switch (event.key) {
|
|
5829
|
+
case 'Backspace':
|
|
5830
|
+
{
|
|
5831
|
+
return;
|
|
5832
|
+
}
|
|
5833
|
+
case 'Escape':
|
|
5834
|
+
{
|
|
5829
5835
|
event.preventDefault();
|
|
5836
|
+
setInputValue(convertToInputValue(value));
|
|
5837
|
+
setOpen(false);
|
|
5838
|
+
return;
|
|
5830
5839
|
}
|
|
5831
|
-
|
|
5832
|
-
|
|
5833
|
-
|
|
5834
|
-
|
|
5835
|
-
|
|
5836
|
-
|
|
5837
|
-
|
|
5838
|
-
|
|
5839
|
-
|
|
5840
|
-
buttonRef.current.click();
|
|
5840
|
+
case 'Tab':
|
|
5841
|
+
case 'Enter':
|
|
5842
|
+
{
|
|
5843
|
+
if (event.key !== 'Tab') {
|
|
5844
|
+
event.preventDefault();
|
|
5845
|
+
}
|
|
5846
|
+
setCurrentValue(currentIndex);
|
|
5847
|
+
setOpen(false);
|
|
5848
|
+
return;
|
|
5841
5849
|
}
|
|
5842
|
-
|
|
5843
|
-
break;
|
|
5844
|
-
case 'ArrowUp':
|
|
5845
|
-
case 'Home':
|
|
5846
|
-
case 'End':
|
|
5847
|
-
{
|
|
5850
|
+
case 'ArrowDown':
|
|
5848
5851
|
if (open) {
|
|
5849
5852
|
event.preventDefault();
|
|
5853
|
+
} else {
|
|
5854
|
+
if (!inline && buttonRef.current) {
|
|
5855
|
+
buttonRef.current.click();
|
|
5856
|
+
}
|
|
5850
5857
|
}
|
|
5851
5858
|
break;
|
|
5859
|
+
case 'ArrowUp':
|
|
5860
|
+
case 'Home':
|
|
5861
|
+
case 'End':
|
|
5862
|
+
{
|
|
5863
|
+
if (open) {
|
|
5864
|
+
event.preventDefault();
|
|
5865
|
+
}
|
|
5866
|
+
break;
|
|
5867
|
+
}
|
|
5868
|
+
}
|
|
5869
|
+
// we aren't focused on the list, so manually forward the keydown event to it
|
|
5870
|
+
if (listRef.current) {
|
|
5871
|
+
listRef.current.dispatchEvent(createCustomKeyboardEvent(event));
|
|
5872
|
+
}
|
|
5873
|
+
if (inline && !open) {
|
|
5874
|
+
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
5875
|
+
event.preventDefault();
|
|
5876
|
+
const initialIndex = event.key === 'ArrowUp' ? data.length - 1 : 0;
|
|
5877
|
+
setCurrentIndex(currentIndex !== undefined ? currentIndex : initialIndex);
|
|
5878
|
+
setOpen(true);
|
|
5852
5879
|
}
|
|
5853
|
-
}
|
|
5854
|
-
// we aren't focused on the list, so manually forward the keydown event to it
|
|
5855
|
-
if (listRef.current) {
|
|
5856
|
-
listRef.current.dispatchEvent(createCustomKeyboardEvent(event));
|
|
5857
|
-
}
|
|
5858
|
-
if (inline && !open) {
|
|
5859
|
-
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
5860
|
-
event.preventDefault();
|
|
5861
|
-
const initialIndex = event.key === 'ArrowUp' ? data.length - 1 : 0;
|
|
5862
|
-
setCurrentIndex(currentIndex !== undefined ? currentIndex : initialIndex);
|
|
5863
|
-
setOpen(true);
|
|
5864
5880
|
}
|
|
5865
5881
|
}
|
|
5866
5882
|
if (!event.isDefaultPrevented() && onKeyDown) {
|
|
@@ -6007,7 +6023,7 @@ const Combobox = /*#__PURE__*/React.forwardRef(function Combobox(props, ref) {
|
|
|
6007
6023
|
});
|
|
6008
6024
|
|
|
6009
6025
|
const isWeakEqual = (leftDate, rightDate) => {
|
|
6010
|
-
return leftDate.getFullYear() === rightDate.getFullYear() && leftDate.getMonth() === rightDate.getMonth() && leftDate.
|
|
6026
|
+
return leftDate.getFullYear() === rightDate.getFullYear() && leftDate.getMonth() === rightDate.getMonth() && leftDate.getDate() === rightDate.getDate();
|
|
6011
6027
|
};
|
|
6012
6028
|
const format = (date, mask = 'dd.mm.yy') => {
|
|
6013
6029
|
if (!date) {
|
|
@@ -6020,7 +6036,7 @@ const format = (date, mask = 'dd.mm.yy') => {
|
|
|
6020
6036
|
const pad = v => String(v).length === 1 ? `0${v}` : v.toString();
|
|
6021
6037
|
return mask.replace('dd', pad(value.getDate())).replace('mm', pad(value.getMonth() + 1)).replace('yy', String(value.getFullYear()).slice(2));
|
|
6022
6038
|
};
|
|
6023
|
-
const parseFromCustomString = (date = '', mask = 'dd.mm.yy', defaultYear = undefined) => {
|
|
6039
|
+
const parseFromCustomString = (date = '', mask = 'dd.mm.yy', defaultMonth = undefined, defaultYear = undefined) => {
|
|
6024
6040
|
if (!date || !date.length) {
|
|
6025
6041
|
return undefined;
|
|
6026
6042
|
}
|
|
@@ -6054,7 +6070,7 @@ const parseFromCustomString = (date = '', mask = 'dd.mm.yy', defaultYear = undef
|
|
|
6054
6070
|
month = Number.parseInt(month, 10);
|
|
6055
6071
|
year = Number.parseInt(year, 10);
|
|
6056
6072
|
const currentDate = new Date();
|
|
6057
|
-
return new Date( /* year */Object.is(year, NaN) ? defaultYear !== null && defaultYear !== void 0 ? defaultYear : currentDate.getFullYear() : year, /* month */Object.is(month, NaN) ? currentDate.getMonth() : month - 1,
|
|
6073
|
+
return new Date( /* year */Object.is(year, NaN) ? defaultYear !== null && defaultYear !== void 0 ? defaultYear : currentDate.getFullYear() : year, /* month */Object.is(month, NaN) ? defaultMonth !== null && defaultMonth !== void 0 ? defaultMonth : currentDate.getMonth() : month - 1,
|
|
6058
6074
|
// months are zero based in javascript, so subtract a day
|
|
6059
6075
|
/* day */
|
|
6060
6076
|
Object.is(day, NaN) ? currentDate.getDate() : day, /* hours */12, /* minutes */0 // set to midday to avoid UTC offset causing dates to be mismatched server side
|
|
@@ -6092,7 +6108,7 @@ const useDatepicker = ({
|
|
|
6092
6108
|
// event handlers
|
|
6093
6109
|
const handleInputBlur = event => {
|
|
6094
6110
|
event.persist();
|
|
6095
|
-
const valueAsDate = parseFromCustomString(event.target.value, 'dd.mm.yy', value === null || value === void 0 ? void 0 : value.getFullYear());
|
|
6111
|
+
const valueAsDate = parseFromCustomString(event.target.value, 'dd.mm.yy', value === null || value === void 0 ? void 0 : value.getMonth(), value === null || value === void 0 ? void 0 : value.getFullYear());
|
|
6096
6112
|
const formattedValue = valueAsDate ? format(valueAsDate) || '' : '';
|
|
6097
6113
|
event.target.value = formattedValue;
|
|
6098
6114
|
if (onChange) {
|
|
@@ -9587,7 +9603,7 @@ function orderColumn(column, {
|
|
|
9587
9603
|
}
|
|
9588
9604
|
}
|
|
9589
9605
|
// ordering
|
|
9590
|
-
function ensureOrdering(columns, settingsOrder, internalColumnsPinnedToTheRight = ['__actions']) {
|
|
9606
|
+
function ensureOrdering(columns, settingsOrder, pinnedOrder = [], internalColumnsPinnedToTheRight = ['__actions']) {
|
|
9591
9607
|
// internal columns come with a defined order
|
|
9592
9608
|
const internalColumns = columns.filter(column => isInternalColumn(column.id) && !internalColumnsPinnedToTheRight.includes(String(column.id))).map(column => column.id);
|
|
9593
9609
|
// columns with ordering disabled should be moved to the front
|
|
@@ -9623,6 +9639,12 @@ function ensureOrdering(columns, settingsOrder, internalColumnsPinnedToTheRight
|
|
|
9623
9639
|
// Append absent columns at the end
|
|
9624
9640
|
.concat(columnsAbsentInSettingsOrder);
|
|
9625
9641
|
}
|
|
9642
|
+
// if pinned columns are defined, make sure they are sorted first, this ensures state matches the freezing "upto" behaviour
|
|
9643
|
+
if (Array.isArray(pinnedOrder)) {
|
|
9644
|
+
orderingEnabled.sort(
|
|
9645
|
+
// the magic >>> 0 here ensures that columns that aren't found in settings, but are children, are pushed to the end
|
|
9646
|
+
(a, b) => (pinnedOrder.indexOf(a) >>> 0) - (pinnedOrder.indexOf(b) >>> 0));
|
|
9647
|
+
}
|
|
9626
9648
|
const order = [...internalColumns, ...orderingDisabled, ...orderingEnabled];
|
|
9627
9649
|
// actions should always be last, enforce that
|
|
9628
9650
|
internalColumnsPinnedToTheRight.forEach(id => {
|
|
@@ -9867,16 +9889,18 @@ function processChildren(child, columns, defaultSizing, defaultSorting, defaultV
|
|
|
9867
9889
|
if (defaultWidth) {
|
|
9868
9890
|
defaultSizing[id] = defaultWidth;
|
|
9869
9891
|
}
|
|
9870
|
-
|
|
9892
|
+
const isGrouped = defaultRowGroupColumnId === id;
|
|
9893
|
+
if (child.props.sort !== undefined || isGrouped) {
|
|
9871
9894
|
defaultSorting.push({
|
|
9872
9895
|
id,
|
|
9873
9896
|
desc: sort === 'desc'
|
|
9874
9897
|
});
|
|
9875
9898
|
}
|
|
9876
|
-
const isGrouped = defaultRowGroupColumnId === id;
|
|
9877
9899
|
const column = {
|
|
9878
9900
|
id,
|
|
9879
9901
|
accessorKey,
|
|
9902
|
+
// To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure
|
|
9903
|
+
accessorFn: row => row === null || row === void 0 ? void 0 : row[accessorKey],
|
|
9880
9904
|
header: header,
|
|
9881
9905
|
// features
|
|
9882
9906
|
enableColumnFilter,
|
|
@@ -9976,14 +10000,14 @@ function mapTableChildrenToColumns(props, settings, options, internalColumns) {
|
|
|
9976
10000
|
const column = createInternalColumn('__select', internalColumns.rowSelection, defaultSizing);
|
|
9977
10001
|
columns.unshift(column);
|
|
9978
10002
|
}
|
|
9979
|
-
if (options.enableRowActions && (_props$rowActions = props.rowActions) !== null && _props$rowActions !== void 0 && _props$rowActions.length && internalColumns.rowActions) {
|
|
9980
|
-
const column = createInternalColumn('__actions', internalColumns.rowActions, defaultSizing);
|
|
9981
|
-
columns.push(column);
|
|
9982
|
-
}
|
|
9983
10003
|
if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {
|
|
9984
10004
|
const column = createInternalColumn('__drag', internalColumns.rowDrag, defaultSizing);
|
|
9985
10005
|
columns.unshift(column);
|
|
9986
10006
|
}
|
|
10007
|
+
if (options.enableRowActions && (_props$rowActions = props.rowActions) !== null && _props$rowActions !== void 0 && _props$rowActions.length && internalColumns.rowActions) {
|
|
10008
|
+
const column = createInternalColumn('__actions', internalColumns.rowActions, defaultSizing);
|
|
10009
|
+
columns.push(column);
|
|
10010
|
+
}
|
|
9987
10011
|
}
|
|
9988
10012
|
return {
|
|
9989
10013
|
columns,
|
|
@@ -10057,12 +10081,14 @@ function configureReactTableOptions(options, props) {
|
|
|
10057
10081
|
}
|
|
10058
10082
|
function useReactTableInitialState(props, columns, persistedSettings, defaults) {
|
|
10059
10083
|
return React__default.useMemo(() => {
|
|
10060
|
-
var _persistedSettings$co, _props$defaultSetting,
|
|
10084
|
+
var _ref, _persistedSettings$co, _props$defaultSetting, _persistedSettings$co2, _props$defaultSetting2, _columnPinning$left, _ref2, _persistedSettings$co3, _props$defaultSetting3, _ref3, _ref4, _persistedSettings$co4, _props$defaultSetting4, _ref5, _ref6, _persistedSettings$co5, _props$defaultSetting5, _persistedSettings$se, _props$defaultSetting6, _props$defaultSetting7, _props$defaultSetting8;
|
|
10061
10085
|
const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);
|
|
10062
|
-
const
|
|
10063
|
-
const
|
|
10064
|
-
// ensure internal columns are pinned
|
|
10065
|
-
if (
|
|
10086
|
+
const columnPinning = (_ref = (_persistedSettings$co = persistedSettings.columnPinning) !== null && _persistedSettings$co !== void 0 ? _persistedSettings$co : (_props$defaultSetting = props.defaultSettings) === null || _props$defaultSetting === void 0 ? void 0 : _props$defaultSetting.columnPinning) !== null && _ref !== void 0 ? _ref : {};
|
|
10087
|
+
const columnOrder = ensureOrdering(columns, (_persistedSettings$co2 = persistedSettings.columnOrder) !== null && _persistedSettings$co2 !== void 0 ? _persistedSettings$co2 : (_props$defaultSetting2 = props.defaultSettings) === null || _props$defaultSetting2 === void 0 ? void 0 : _props$defaultSetting2.columnOrder, columnPinning.left);
|
|
10088
|
+
// ensure internal columns are pinned, and are pinned in the correct order
|
|
10089
|
+
if (columnPinning !== null && columnPinning !== void 0 && (_columnPinning$left = columnPinning.left) !== null && _columnPinning$left !== void 0 && _columnPinning$left.length) {
|
|
10090
|
+
columnPinning.left = freezeUptoExternalColumn(columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]), columnOrder);
|
|
10091
|
+
} else {
|
|
10066
10092
|
if (props.defaultColumnFreezingIndex) {
|
|
10067
10093
|
columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);
|
|
10068
10094
|
} else {
|
|
@@ -11219,7 +11245,7 @@ function useTableStyleGrid(tableId, table, fontSize) {
|
|
|
11219
11245
|
// header body ?footer
|
|
11220
11246
|
const gridTemplateRows = table.getRowModel().rows.length ? 'min-content 1fr min-content' : 'min-content 1fr';
|
|
11221
11247
|
return React__default.useMemo(() => {
|
|
11222
|
-
let printGridTemplateColumns =
|
|
11248
|
+
let printGridTemplateColumns = 0;
|
|
11223
11249
|
const printHiddenColumns = [];
|
|
11224
11250
|
const gridTemplateColumns = allVisibleColumns.reduce((accum, column, index) => {
|
|
11225
11251
|
var _column$columnDef$min, _column$columnDef$met;
|
|
@@ -11229,7 +11255,6 @@ function useTableStyleGrid(tableId, table, fontSize) {
|
|
|
11229
11255
|
const minSize = (_column$columnDef$min = column.columnDef.minSize) !== null && _column$columnDef$min !== void 0 ? _column$columnDef$min : globalMinSize;
|
|
11230
11256
|
const width = columnSizing[column.id];
|
|
11231
11257
|
let size;
|
|
11232
|
-
let printSize;
|
|
11233
11258
|
if (isInternalColumn(column.id)) {
|
|
11234
11259
|
if (column.id === '__actions') {
|
|
11235
11260
|
const minWidth = tableMeta.rowActions.rowActionsLength * 32 + 8; /* button margins l+r */
|
|
@@ -11253,22 +11278,24 @@ function useTableStyleGrid(tableId, table, fontSize) {
|
|
|
11253
11278
|
} else {
|
|
11254
11279
|
size = `minmax(max-content, auto)`;
|
|
11255
11280
|
}
|
|
11281
|
+
// printing
|
|
11256
11282
|
if (((_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.enablePrinting) === false) {
|
|
11257
|
-
printSize = '';
|
|
11258
11283
|
printHiddenColumns.push(column.id);
|
|
11259
11284
|
} else {
|
|
11260
|
-
|
|
11285
|
+
printGridTemplateColumns++;
|
|
11261
11286
|
}
|
|
11262
|
-
printGridTemplateColumns = `${printGridTemplateColumns} ${printSize}`.trim();
|
|
11263
11287
|
return `${accum} ${size}`.trim();
|
|
11264
11288
|
}, '');
|
|
11265
|
-
//
|
|
11266
|
-
const hiddenColumns = printHiddenColumns.map(id => `table[data-taco^='table']#${tableId} > thead > tr > th[data-cell-id='${id}']\n,table[data-taco^='table']#${tableId} > tbody > tr > td[data-cell-id='${id}']\n`).join(',');
|
|
11289
|
+
// normal grid
|
|
11267
11290
|
const style = {
|
|
11268
11291
|
gridTemplateColumns,
|
|
11269
11292
|
gridTemplateRows
|
|
11270
11293
|
};
|
|
11271
|
-
|
|
11294
|
+
// printing grid
|
|
11295
|
+
// we have to be specific so that nested tables don't inherit the same css
|
|
11296
|
+
const hiddenColumns = printHiddenColumns.map(id => `table[data-taco^='table']#${tableId} > thead > tr > th[data-cell-id='${id}']\n,table[data-taco^='table']#${tableId} > tbody > tr > td[data-cell-id='${id}']\n`).join(',');
|
|
11297
|
+
const stylesheet = `@media print { table[data-taco^='table']#${tableId} { grid-template-columns: repeat(${printGridTemplateColumns}, auto) !important; }
|
|
11298
|
+
table[data-taco^='table']#${tableId} [data-cell-id^='__']${hiddenColumns ? `, ${hiddenColumns}` : ''} { display: none; }}`;
|
|
11272
11299
|
return {
|
|
11273
11300
|
style,
|
|
11274
11301
|
stylesheet
|
|
@@ -11298,7 +11325,8 @@ function useTableStyleColumnFreezing(tableId, table) {
|
|
|
11298
11325
|
// add right border, hide the header seperator and add shadow when scrolled
|
|
11299
11326
|
// we have to be specific so that nested tables don't inherit the same css
|
|
11300
11327
|
styles.push(`table[data-taco^='table']#${tableId} > thead > tr > th:nth-child(${index + 1}),
|
|
11301
|
-
table[data-taco^='table']#${tableId} > tbody > tr > td:nth-child(${index + 1})
|
|
11328
|
+
table[data-taco^='table']#${tableId} > tbody > tr > td:nth-child(${index + 1}),
|
|
11329
|
+
table[data-taco^='table']#${tableId} > tfoot > tr > td:nth-child(${index + 1}):not([data-cell-id^="__"]) {
|
|
11302
11330
|
border-right-width: 1px;
|
|
11303
11331
|
}\ntable[data-taco^='table']#${tableId} > thead > tr > th:nth-child(${index + 1})[data-cell-id^="__"],
|
|
11304
11332
|
table[data-taco^='table']#${tableId} > tbody > tr > td:nth-child(${index + 1})[data-cell-id^="__"] {
|
|
@@ -11306,7 +11334,8 @@ function useTableStyleColumnFreezing(tableId, table) {
|
|
|
11306
11334
|
}\ntable[data-taco^='table']#${tableId} > thead > tr > th:nth-child(${index + 1}):after {
|
|
11307
11335
|
content: none;
|
|
11308
11336
|
}\ntable[data-taco^='table'][data-table-horizontally-scrolled="true"]#${tableId} > thead > tr > th:nth-child(${index + 1}),
|
|
11309
|
-
table[data-taco^='table'][data-table-horizontally-scrolled="true"]#${tableId} > tbody > tr > td:nth-child(${index + 1})
|
|
11337
|
+
table[data-taco^='table'][data-table-horizontally-scrolled="true"]#${tableId} > tbody > tr > td:nth-child(${index + 1}),
|
|
11338
|
+
table[data-taco^='table'][data-table-horizontally-scrolled="true"]#${tableId} > tfoot > tr > td:nth-child(${index + 1}) {
|
|
11310
11339
|
border-right-color: rgb(221, 221, 221);
|
|
11311
11340
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), 6px 0px 6px rgb(0 0 0/8%);
|
|
11312
11341
|
}`);
|
|
@@ -11471,11 +11500,11 @@ function SkeletonRow(props) {
|
|
|
11471
11500
|
}));
|
|
11472
11501
|
}
|
|
11473
11502
|
return /*#__PURE__*/React__default.createElement(Skeleton, {
|
|
11474
|
-
|
|
11475
|
-
cells: row.getVisibleCells()
|
|
11503
|
+
cellsCount: row.getVisibleCells().length
|
|
11476
11504
|
});
|
|
11477
11505
|
}
|
|
11478
11506
|
function RowWithServerLoading(props) {
|
|
11507
|
+
var _table$getState$group, _table$getState;
|
|
11479
11508
|
const {
|
|
11480
11509
|
index,
|
|
11481
11510
|
row,
|
|
@@ -11497,22 +11526,24 @@ function RowWithServerLoading(props) {
|
|
|
11497
11526
|
(_tableMeta$server$loa = (_tableMeta$server = tableMeta.server).loadPage) === null || _tableMeta$server$loa === void 0 ? void 0 : _tableMeta$server$loa.call(_tableMeta$server, pageIndex, table.getState().sorting, table.getState().columnFilters, table.getState().globalFilter);
|
|
11498
11527
|
}
|
|
11499
11528
|
}, [inView]);
|
|
11529
|
+
const groupedCellCount = (_table$getState$group = (_table$getState = table.getState()) === null || _table$getState === void 0 ? void 0 : _table$getState.grouping.length) !== null && _table$getState$group !== void 0 ? _table$getState$group : 0;
|
|
11530
|
+
const ungroupedCellCount = row.getVisibleCells().length - groupedCellCount;
|
|
11500
11531
|
return /*#__PURE__*/React__default.createElement(Skeleton, {
|
|
11501
|
-
|
|
11532
|
+
cellsCount: ungroupedCellCount,
|
|
11502
11533
|
ref: ref
|
|
11503
11534
|
});
|
|
11504
11535
|
}
|
|
11505
11536
|
const Skeleton = /*#__PURE__*/React__default.forwardRef(function Skeleton(props, ref) {
|
|
11506
11537
|
const {
|
|
11507
|
-
|
|
11538
|
+
cellsCount
|
|
11508
11539
|
} = props;
|
|
11509
|
-
return /*#__PURE__*/React__default.createElement(
|
|
11540
|
+
return /*#__PURE__*/React__default.createElement("tr", {
|
|
11510
11541
|
ref: ref
|
|
11511
|
-
},
|
|
11512
|
-
key:
|
|
11542
|
+
}, Array(cellsCount).fill(null).map((_, index) => ( /*#__PURE__*/React__default.createElement("td", {
|
|
11543
|
+
key: index
|
|
11513
11544
|
}, /*#__PURE__*/React__default.createElement("span", {
|
|
11514
11545
|
className: "bg-grey-100 text-grey-700 h-4 w-full text-center text-xs"
|
|
11515
|
-
})))))
|
|
11546
|
+
})))));
|
|
11516
11547
|
});
|
|
11517
11548
|
|
|
11518
11549
|
const RowContext = /*#__PURE__*/React__default.createContext({
|
|
@@ -11545,7 +11576,7 @@ function Row(props) {
|
|
|
11545
11576
|
}
|
|
11546
11577
|
|
|
11547
11578
|
const TABLE_SCROLL_PADDING_BOTTOM = 36;
|
|
11548
|
-
const TABLE_PADDING_BOTTOM =
|
|
11579
|
+
const TABLE_PADDING_BOTTOM = 0;
|
|
11549
11580
|
function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
|
11550
11581
|
var _table$getState$group, _ref, _virtualItems$padding, _virtualItems$padding2, _ref2, _virtualItems;
|
|
11551
11582
|
const tableMeta = table.options.meta;
|
|
@@ -11618,7 +11649,7 @@ function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
|
|
11618
11649
|
let content = null;
|
|
11619
11650
|
if (rows.length) {
|
|
11620
11651
|
style = {
|
|
11621
|
-
height: `${virtualiser.getTotalSize()}px`,
|
|
11652
|
+
height: `${virtualiser.getTotalSize() - HEADER_OFFSET_TOTAL}px`,
|
|
11622
11653
|
paddingBottom,
|
|
11623
11654
|
paddingTop
|
|
11624
11655
|
};
|
|
@@ -11697,7 +11728,7 @@ function useRowGroupVirtualisation(table) {
|
|
|
11697
11728
|
});
|
|
11698
11729
|
}
|
|
11699
11730
|
return indexes;
|
|
11700
|
-
}, []);
|
|
11731
|
+
}, [rows]);
|
|
11701
11732
|
// this is taken from the react-virtual docs/examples
|
|
11702
11733
|
const rangeExtractor = React__default.useCallback(range => {
|
|
11703
11734
|
var _reverse$find;
|
|
@@ -12412,23 +12443,20 @@ function DisplayCell(props) {
|
|
|
12412
12443
|
isHighlighted,
|
|
12413
12444
|
...cellAttributes
|
|
12414
12445
|
} = props;
|
|
12415
|
-
const {
|
|
12416
|
-
isHovered
|
|
12417
|
-
} = React__default.useContext(RowContext);
|
|
12418
12446
|
const columnMeta = cell.column.columnDef.meta;
|
|
12419
12447
|
const attributes = getCellAttributes(cell, index, isHighlighted);
|
|
12420
12448
|
const isTruncated = !!columnMeta.enableTruncate;
|
|
12449
|
+
const value = cell.getValue();
|
|
12421
12450
|
let content;
|
|
12422
12451
|
if (isInternalColumn(cell.column.id)) {
|
|
12423
12452
|
content = reactTable.flexRender(cell.column.columnDef.cell, cell.getContext());
|
|
12424
12453
|
} else {
|
|
12425
12454
|
var _ref, _columnMeta$renderer, _columnMeta$renderer2;
|
|
12426
|
-
content = (_ref = (_columnMeta$renderer = (_columnMeta$renderer2 = columnMeta.renderer) === null || _columnMeta$renderer2 === void 0 ? void 0 : _columnMeta$renderer2.call(columnMeta,
|
|
12455
|
+
content = (_ref = (_columnMeta$renderer = (_columnMeta$renderer2 = columnMeta.renderer) === null || _columnMeta$renderer2 === void 0 ? void 0 : _columnMeta$renderer2.call(columnMeta, value, cell.row.original)) !== null && _columnMeta$renderer !== void 0 ? _columnMeta$renderer : value) !== null && _ref !== void 0 ? _ref : null;
|
|
12427
12456
|
}
|
|
12428
12457
|
return /*#__PURE__*/React__default.createElement(MemoedDisplayCell, Object.assign({}, cellAttributes, attributes, {
|
|
12429
12458
|
cellRef: cellRef,
|
|
12430
|
-
isTruncated: isTruncated
|
|
12431
|
-
key: `${cell.id}_${isHovered}`
|
|
12459
|
+
isTruncated: isTruncated
|
|
12432
12460
|
}), content);
|
|
12433
12461
|
}
|
|
12434
12462
|
const MemoedDisplayCell = /*#__PURE__*/React__default.memo(function MemoedDisplayCell(props) {
|
|
@@ -13144,7 +13172,7 @@ const MemoedFooter = /*#__PURE__*/React__default.memo(function MemoedFooter(prop
|
|
|
13144
13172
|
const style = {};
|
|
13145
13173
|
if (isPinned) {
|
|
13146
13174
|
// pinned columns should be offset from either the left or right
|
|
13147
|
-
style[isPinned] = `${footer.column.getStart(isPinned)
|
|
13175
|
+
style[isPinned] = `${footer.column.getStart(isPinned)}px`;
|
|
13148
13176
|
}
|
|
13149
13177
|
let content;
|
|
13150
13178
|
let align;
|
|
@@ -17745,7 +17773,9 @@ function useTableEditing(isEnabled = false, handleSave, validator) {
|
|
|
17745
17773
|
const pendingChangesFns = usePendingChanges(isEnabled, handleSave, validator);
|
|
17746
17774
|
// if focus leaves the table in any way, trigger a save
|
|
17747
17775
|
const handleBlur = React__default.useCallback(event => {
|
|
17748
|
-
|
|
17776
|
+
// custom event from datepicker, and it doesn't have the relatedTarget property set.
|
|
17777
|
+
const isClosingDatepicker = dateFns.isDate(event.detail);
|
|
17778
|
+
if (event.relatedTarget !== event.currentTarget && !isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget) && !isClosingDatepicker) {
|
|
17749
17779
|
pendingChangesFns.saveChanges();
|
|
17750
17780
|
}
|
|
17751
17781
|
}, [pendingChangesFns.saveChanges]);
|
|
@@ -18279,8 +18309,15 @@ function useEditingCellAutofocus(props) {
|
|
|
18279
18309
|
const tableElement = (_props$cellRef$curren3 = props.cellRef.current) === null || _props$cellRef$curren3 === void 0 ? void 0 : _props$cellRef$curren3.closest('table');
|
|
18280
18310
|
if (tableElement && table.getIsSomeColumnsPinned() && !props.cell.column.getIsPinned()) {
|
|
18281
18311
|
const columnFreezingOffset = table.getLeftTotalSize();
|
|
18282
|
-
const
|
|
18283
|
-
|
|
18312
|
+
const targetRect = event.currentTarget.getBoundingClientRect();
|
|
18313
|
+
const tableRect = tableElement.getBoundingClientRect();
|
|
18314
|
+
const leftOffsetFromScrollContainer = targetRect.left - tableRect.left;
|
|
18315
|
+
const scrollbarWidth = tableElement.offsetWidth - tableElement.clientWidth; // the width of table vertical scrollbar
|
|
18316
|
+
if (
|
|
18317
|
+
// When pinned column overlaps the focused cell
|
|
18318
|
+
leftOffsetFromScrollContainer < columnFreezingOffset ||
|
|
18319
|
+
// When focused cell goes behidn the edge of the table
|
|
18320
|
+
leftOffsetFromScrollContainer + targetRect.width > tableRect.width - scrollbarWidth) {
|
|
18284
18321
|
tableElement.scrollTo(props.cell.column.getStart() - columnFreezingOffset, tableElement.scrollTop);
|
|
18285
18322
|
}
|
|
18286
18323
|
}
|
|
@@ -18449,7 +18486,7 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
|
|
|
18449
18486
|
if (type === 'datepicker') {
|
|
18450
18487
|
const handleChange = event => {
|
|
18451
18488
|
const newDate = event.detail;
|
|
18452
|
-
if (dateFns.isDate(value) && dateFns.isDate(newDate) && !isWeakEqual(value, newDate)) {
|
|
18489
|
+
if (!value || dateFns.isDate(value) && dateFns.isDate(newDate) && !isWeakEqual(value, newDate)) {
|
|
18453
18490
|
props.onChange(event.detail);
|
|
18454
18491
|
}
|
|
18455
18492
|
};
|