@economic/taco 2.28.0 → 2.29.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
};
|