@economic/taco 2.28.1 → 2.29.1
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 +11 -7
- package/dist/esm/packages/taco/src/components/Combobox/useCombobox.js +59 -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 +7 -6
- 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/Core/util/rows.js +2 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/util/rows.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 +11 -7
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.d.ts +1 -3
- package/dist/primitives/Table/Core/util/rows.d.ts +1 -1
- package/dist/primitives/Table/useTableManager/util/columns.d.ts +1 -1
- package/dist/taco.cjs.development.js +146 -94
- 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
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"date.js","sources":["../../../../../../src/utils/date.ts"],"sourcesContent":["import { isDate, toDate, isValid } from 'date-fns';\n\nexport const isWeakEqual = (leftDate: Date, rightDate: Date) => {\n return (\n leftDate.getFullYear() === rightDate.getFullYear() &&\n leftDate.getMonth() === rightDate.getMonth() &&\n leftDate.
|
1
|
+
{"version":3,"file":"date.js","sources":["../../../../../../src/utils/date.ts"],"sourcesContent":["import { isDate, toDate, isValid } from 'date-fns';\n\nexport const isWeakEqual = (leftDate: Date, rightDate: Date) => {\n return (\n leftDate.getFullYear() === rightDate.getFullYear() &&\n leftDate.getMonth() === rightDate.getMonth() &&\n leftDate.getDate() === rightDate.getDate()\n );\n};\n\nexport const format = (date: Date | undefined, mask = 'dd.mm.yy'): string | undefined => {\n if (!date) {\n return undefined;\n }\n\n const value = isDate(date) ? date : toDate(date);\n\n if (!isValid(value)) {\n return undefined;\n }\n\n const pad = (v: number): string => (String(v).length === 1 ? `0${v}` : v.toString());\n\n return mask\n .replace('dd', pad(value.getDate()))\n .replace('mm', pad(value.getMonth() + 1))\n .replace('yy', String(value.getFullYear()).slice(2));\n};\n\nexport const parseFromCustomString = (\n date = '',\n mask = 'dd.mm.yy',\n defaultMonth: number | undefined = undefined,\n defaultYear: number | undefined = undefined\n): Date | undefined => {\n if (!date || !date.length) {\n return undefined;\n }\n\n const sanitizedMask = mask.split(/[^dmy]/);\n const dd = sanitizedMask.findIndex(x => x === 'dd');\n const mm = sanitizedMask.findIndex(x => x === 'mm');\n const yy = sanitizedMask.findIndex(x => x === 'yy' || x === 'yyyy');\n\n let day;\n let month;\n let year;\n\n const getFullYear = (y: string): string => {\n if (y && y.length === 2) {\n const z = Number.parseInt(y, 10);\n\n return z > 50 ? `19${y}` : `20${y}`;\n }\n\n return y;\n };\n\n const inputParts = date.split(/\\D/);\n\n if (inputParts.length === 1) {\n const fullDate = inputParts[0];\n const unseparatedMask = mask.replace(/[^dmy]/g, '');\n\n day = fullDate.slice(unseparatedMask.indexOf('d'), unseparatedMask.lastIndexOf('d') + 1);\n month = fullDate.slice(unseparatedMask.indexOf('m'), unseparatedMask.lastIndexOf('m') + 1);\n year = getFullYear(fullDate.slice(unseparatedMask.indexOf('y'), unseparatedMask.lastIndexOf('y') + 3)); // account for full years\n } else {\n day = inputParts[dd];\n month = inputParts[mm];\n year = getFullYear(inputParts[yy]);\n }\n\n day = Number.parseInt(day, 10);\n month = Number.parseInt(month, 10);\n year = Number.parseInt(year, 10);\n\n const currentDate = new Date();\n\n return new Date(\n /* year */ Object.is(year, NaN) ? defaultYear ?? currentDate.getFullYear() : year,\n /* month */ Object.is(month, NaN) ? defaultMonth ?? currentDate.getMonth() : month - 1, // months are zero based in javascript, so subtract a day\n /* day */ Object.is(day, NaN) ? currentDate.getDate() : day,\n /* hours */ 12,\n /* minutes */ 0 // set to midday to avoid UTC offset causing dates to be mismatched server side\n );\n};\n\nexport const parseFromISOString = (date: string): Date | undefined => {\n const tempDate = new Date(date);\n return isValid(tempDate) ? parseFromCustomString(format(new Date(date))) : undefined;\n};\n"],"names":["isWeakEqual","leftDate","rightDate","getFullYear","getMonth","getDate","format","date","mask","undefined","value","isDate","toDate","isValid","pad","v","String","length","toString","replace","slice","parseFromCustomString","defaultMonth","defaultYear","sanitizedMask","split","dd","findIndex","x","mm","yy","day","month","year","y","z","Number","parseInt","inputParts","fullDate","unseparatedMask","indexOf","lastIndexOf","currentDate","Date","Object","is","NaN","parseFromISOString","tempDate"],"mappings":"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"}
|
package/dist/index.css
CHANGED
@@ -550,6 +550,8 @@ table[data-taco^='table'] {
|
|
550
550
|
@apply grid;
|
551
551
|
/* print */
|
552
552
|
@apply print:float-left print:h-max print:w-full print:overflow-visible print:border-0;
|
553
|
+
/* resolves a virtualisation resizing issue */
|
554
|
+
overflow-anchor: none;
|
553
555
|
}
|
554
556
|
|
555
557
|
table[data-taco^='table'] thead {
|
@@ -639,6 +641,10 @@ table[data-taco^='table'] tr:first-child td {
|
|
639
641
|
@apply !border-t-0;
|
640
642
|
}
|
641
643
|
|
644
|
+
table[data-taco^='table'] tr:last-child td {
|
645
|
+
@apply !border-b-0;
|
646
|
+
}
|
647
|
+
|
642
648
|
table[data-taco^='table'] tr[aria-grabbed='true'] td {
|
643
649
|
@apply !wcag-blue-500;
|
644
650
|
}
|
@@ -715,12 +721,15 @@ table[data-taco^='table'] td:not([data-cell-truncate='true']) {
|
|
715
721
|
|
716
722
|
/* FOOTER */
|
717
723
|
table[data-taco^='table'] tfoot td {
|
718
|
-
/*
|
724
|
+
/*
|
719
725
|
* Since footer has sticky position, the top and bottom padding ensures that the inner content doesn't come over
|
720
726
|
* the border of the footer row.
|
721
727
|
*/
|
722
728
|
@apply border-b-0 !py-1 font-bold;
|
723
729
|
}
|
730
|
+
table[data-taco^='table'] tfoot td:first-child {
|
731
|
+
@apply z-30 !pb-0 !pt-[2px];
|
732
|
+
}
|
724
733
|
|
725
734
|
table[data-taco^='table'] tfoot td:before {
|
726
735
|
@apply bg-grey-300 absolute left-0 right-0 top-0 h-[2px] content-[''];
|
@@ -983,7 +992,7 @@ table[data-taco^='table'][data-table-font-size='large'] td [data-taco='textarea'
|
|
983
992
|
}
|
984
993
|
|
985
994
|
table[data-taco^='table'][data-table-font-size='large'] td [data-taco='input-container'] [data-affix-type='postfix'] button {
|
986
|
-
@apply !-mr-[19px] !h-10 !w-10;
|
995
|
+
@apply z-10 !-mr-[19px] !h-10 !w-10;
|
987
996
|
}
|
988
997
|
|
989
998
|
table[data-taco^='table'][data-table-font-size='large']
|
@@ -1085,11 +1094,6 @@ table[data-taco^='table'] tbody tr[data-row-meta-layout='item']:not([data-row-gr
|
|
1085
1094
|
@apply !border-b-0;
|
1086
1095
|
}
|
1087
1096
|
|
1088
|
-
/* printing */
|
1089
|
-
table[data-taco^='table'] [data-cell-id^='__'] {
|
1090
|
-
@apply print:hidden;
|
1091
|
-
}
|
1092
|
-
|
1093
1097
|
/* rows */
|
1094
1098
|
.yt-table__row {
|
1095
1099
|
@apply border-grey-300 flex border-b;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import { Table as ReactTable, Row as ReactTableRow } from '@tanstack/react-table';
|
3
3
|
export declare type RowProps<TType = unknown> = {
|
4
4
|
index: number;
|
@@ -6,5 +6,3 @@ export declare type RowProps<TType = unknown> = {
|
|
6
6
|
table: ReactTable<TType>;
|
7
7
|
};
|
8
8
|
export declare function SkeletonRow<TType = unknown>(props: RowProps<TType>): JSX.Element;
|
9
|
-
export declare function RowWithServerLoading<TType = unknown>(props: RowProps<TType>): JSX.Element;
|
10
|
-
export declare const Skeleton: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<HTMLTableRowElement>>;
|
@@ -5,6 +5,6 @@ export declare function isInternalColumn(id: string | undefined): boolean | unde
|
|
5
5
|
export declare const getCellMinWidth: (fontSize?: FontSize) => 57 | 83 | 72;
|
6
6
|
export declare function isCellHighlighted(query: string, value: unknown, dataType?: TableColumnDataType): boolean;
|
7
7
|
export declare function getCellValueAsString(value: unknown, dataType?: TableColumnDataType): string;
|
8
|
-
export declare function ensureOrdering<TType = unknown>(columns: ReactTableColumnDef<TType>[], settingsOrder: string[] | undefined, internalColumnsPinnedToTheRight?: string[]): string[];
|
8
|
+
export declare function ensureOrdering<TType = unknown>(columns: ReactTableColumnDef<TType>[], settingsOrder: string[] | undefined, pinnedOrder?: string[] | undefined, internalColumnsPinnedToTheRight?: string[]): string[];
|
9
9
|
export declare function unfreezeAllExternalColumns(leftPinnedState?: string[]): string[];
|
10
10
|
export declare function freezeUptoExternalColumn(index: number, columns: string[]): string[];
|
@@ -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,
|
@@ -5809,58 +5823,74 @@ const useCombobox = ({
|
|
5809
5823
|
}
|
5810
5824
|
};
|
5811
5825
|
const handleInputKeyDown = event => {
|
5826
|
+
var _inputRef$current;
|
5812
5827
|
event.persist();
|
5813
|
-
|
5814
|
-
|
5815
|
-
|
5816
|
-
|
5817
|
-
|
5818
|
-
|
5819
|
-
|
5820
|
-
|
5821
|
-
|
5822
|
-
setOpen(false);
|
5823
|
-
return;
|
5824
|
-
}
|
5825
|
-
case 'Tab':
|
5826
|
-
case 'Enter':
|
5827
|
-
{
|
5828
|
-
if (event.key !== 'Tab') {
|
5828
|
+
const insideTheTable = !!((_inputRef$current = inputRef.current) !== null && _inputRef$current !== void 0 && _inputRef$current.closest('table, [role="rowgroup"]'));
|
5829
|
+
if (!event.ctrlKey && !event.metaKey) {
|
5830
|
+
switch (event.key) {
|
5831
|
+
case 'Backspace':
|
5832
|
+
{
|
5833
|
+
return;
|
5834
|
+
}
|
5835
|
+
case 'Escape':
|
5836
|
+
{
|
5829
5837
|
event.preventDefault();
|
5838
|
+
setInputValue(convertToInputValue(value));
|
5839
|
+
setOpen(false);
|
5840
|
+
return;
|
5830
5841
|
}
|
5831
|
-
|
5832
|
-
|
5833
|
-
|
5834
|
-
|
5835
|
-
|
5836
|
-
if (open) {
|
5837
|
-
event.preventDefault();
|
5838
|
-
} else {
|
5839
|
-
if (!inline && buttonRef.current) {
|
5840
|
-
buttonRef.current.click();
|
5842
|
+
case 'Tab':
|
5843
|
+
{
|
5844
|
+
setCurrentValue(currentIndex);
|
5845
|
+
setOpen(false);
|
5846
|
+
return;
|
5841
5847
|
}
|
5842
|
-
|
5843
|
-
|
5844
|
-
|
5845
|
-
|
5846
|
-
|
5847
|
-
|
5848
|
+
case 'Enter':
|
5849
|
+
{
|
5850
|
+
if (insideTheTable) {
|
5851
|
+
event.preventDefault();
|
5852
|
+
if (inline && !open) {
|
5853
|
+
setOpen(true);
|
5854
|
+
} else if (buttonRef.current && !open) {
|
5855
|
+
buttonRef.current.click();
|
5856
|
+
}
|
5857
|
+
}
|
5858
|
+
if (open) {
|
5859
|
+
setCurrentValue(currentIndex);
|
5860
|
+
setOpen(false);
|
5861
|
+
}
|
5862
|
+
return;
|
5863
|
+
}
|
5864
|
+
case 'ArrowDown':
|
5848
5865
|
if (open) {
|
5849
5866
|
event.preventDefault();
|
5867
|
+
} else {
|
5868
|
+
if (!inline && buttonRef.current && !insideTheTable) {
|
5869
|
+
buttonRef.current.click();
|
5870
|
+
}
|
5850
5871
|
}
|
5851
5872
|
break;
|
5873
|
+
case 'ArrowUp':
|
5874
|
+
case 'Home':
|
5875
|
+
case 'End':
|
5876
|
+
{
|
5877
|
+
if (open) {
|
5878
|
+
event.preventDefault();
|
5879
|
+
}
|
5880
|
+
break;
|
5881
|
+
}
|
5882
|
+
}
|
5883
|
+
// we aren't focused on the list, so manually forward the keydown event to it
|
5884
|
+
if (listRef.current) {
|
5885
|
+
listRef.current.dispatchEvent(createCustomKeyboardEvent(event));
|
5886
|
+
}
|
5887
|
+
if (inline && !open) {
|
5888
|
+
if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && !insideTheTable) {
|
5889
|
+
event.preventDefault();
|
5890
|
+
const initialIndex = event.key === 'ArrowUp' ? data.length - 1 : 0;
|
5891
|
+
setCurrentIndex(currentIndex !== undefined ? currentIndex : initialIndex);
|
5892
|
+
setOpen(true);
|
5852
5893
|
}
|
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
5894
|
}
|
5865
5895
|
}
|
5866
5896
|
if (!event.isDefaultPrevented() && onKeyDown) {
|
@@ -6007,7 +6037,7 @@ const Combobox = /*#__PURE__*/React.forwardRef(function Combobox(props, ref) {
|
|
6007
6037
|
});
|
6008
6038
|
|
6009
6039
|
const isWeakEqual = (leftDate, rightDate) => {
|
6010
|
-
return leftDate.getFullYear() === rightDate.getFullYear() && leftDate.getMonth() === rightDate.getMonth() && leftDate.
|
6040
|
+
return leftDate.getFullYear() === rightDate.getFullYear() && leftDate.getMonth() === rightDate.getMonth() && leftDate.getDate() === rightDate.getDate();
|
6011
6041
|
};
|
6012
6042
|
const format = (date, mask = 'dd.mm.yy') => {
|
6013
6043
|
if (!date) {
|
@@ -6020,7 +6050,7 @@ const format = (date, mask = 'dd.mm.yy') => {
|
|
6020
6050
|
const pad = v => String(v).length === 1 ? `0${v}` : v.toString();
|
6021
6051
|
return mask.replace('dd', pad(value.getDate())).replace('mm', pad(value.getMonth() + 1)).replace('yy', String(value.getFullYear()).slice(2));
|
6022
6052
|
};
|
6023
|
-
const parseFromCustomString = (date = '', mask = 'dd.mm.yy', defaultYear = undefined) => {
|
6053
|
+
const parseFromCustomString = (date = '', mask = 'dd.mm.yy', defaultMonth = undefined, defaultYear = undefined) => {
|
6024
6054
|
if (!date || !date.length) {
|
6025
6055
|
return undefined;
|
6026
6056
|
}
|
@@ -6054,7 +6084,7 @@ const parseFromCustomString = (date = '', mask = 'dd.mm.yy', defaultYear = undef
|
|
6054
6084
|
month = Number.parseInt(month, 10);
|
6055
6085
|
year = Number.parseInt(year, 10);
|
6056
6086
|
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,
|
6087
|
+
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
6088
|
// months are zero based in javascript, so subtract a day
|
6059
6089
|
/* day */
|
6060
6090
|
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 +6122,7 @@ const useDatepicker = ({
|
|
6092
6122
|
// event handlers
|
6093
6123
|
const handleInputBlur = event => {
|
6094
6124
|
event.persist();
|
6095
|
-
const valueAsDate = parseFromCustomString(event.target.value, 'dd.mm.yy', value === null || value === void 0 ? void 0 : value.getFullYear());
|
6125
|
+
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
6126
|
const formattedValue = valueAsDate ? format(valueAsDate) || '' : '';
|
6097
6127
|
event.target.value = formattedValue;
|
6098
6128
|
if (onChange) {
|
@@ -9587,7 +9617,7 @@ function orderColumn(column, {
|
|
9587
9617
|
}
|
9588
9618
|
}
|
9589
9619
|
// ordering
|
9590
|
-
function ensureOrdering(columns, settingsOrder, internalColumnsPinnedToTheRight = ['__actions']) {
|
9620
|
+
function ensureOrdering(columns, settingsOrder, pinnedOrder = [], internalColumnsPinnedToTheRight = ['__actions']) {
|
9591
9621
|
// internal columns come with a defined order
|
9592
9622
|
const internalColumns = columns.filter(column => isInternalColumn(column.id) && !internalColumnsPinnedToTheRight.includes(String(column.id))).map(column => column.id);
|
9593
9623
|
// columns with ordering disabled should be moved to the front
|
@@ -9623,6 +9653,12 @@ function ensureOrdering(columns, settingsOrder, internalColumnsPinnedToTheRight
|
|
9623
9653
|
// Append absent columns at the end
|
9624
9654
|
.concat(columnsAbsentInSettingsOrder);
|
9625
9655
|
}
|
9656
|
+
// if pinned columns are defined, make sure they are sorted first, this ensures state matches the freezing "upto" behaviour
|
9657
|
+
if (Array.isArray(pinnedOrder)) {
|
9658
|
+
orderingEnabled.sort(
|
9659
|
+
// the magic >>> 0 here ensures that columns that aren't found in settings, but are children, are pushed to the end
|
9660
|
+
(a, b) => (pinnedOrder.indexOf(a) >>> 0) - (pinnedOrder.indexOf(b) >>> 0));
|
9661
|
+
}
|
9626
9662
|
const order = [...internalColumns, ...orderingDisabled, ...orderingEnabled];
|
9627
9663
|
// actions should always be last, enforce that
|
9628
9664
|
internalColumnsPinnedToTheRight.forEach(id => {
|
@@ -9867,16 +9903,18 @@ function processChildren(child, columns, defaultSizing, defaultSorting, defaultV
|
|
9867
9903
|
if (defaultWidth) {
|
9868
9904
|
defaultSizing[id] = defaultWidth;
|
9869
9905
|
}
|
9870
|
-
|
9906
|
+
const isGrouped = defaultRowGroupColumnId === id;
|
9907
|
+
if (child.props.sort !== undefined || isGrouped) {
|
9871
9908
|
defaultSorting.push({
|
9872
9909
|
id,
|
9873
9910
|
desc: sort === 'desc'
|
9874
9911
|
});
|
9875
9912
|
}
|
9876
|
-
const isGrouped = defaultRowGroupColumnId === id;
|
9877
9913
|
const column = {
|
9878
9914
|
id,
|
9879
9915
|
accessorKey,
|
9916
|
+
// To avoid errors caused by undefined row data values, we pass accessorFn as a preventive measure
|
9917
|
+
accessorFn: row => row === null || row === void 0 ? void 0 : row[accessorKey],
|
9880
9918
|
header: header,
|
9881
9919
|
// features
|
9882
9920
|
enableColumnFilter,
|
@@ -9976,14 +10014,14 @@ function mapTableChildrenToColumns(props, settings, options, internalColumns) {
|
|
9976
10014
|
const column = createInternalColumn('__select', internalColumns.rowSelection, defaultSizing);
|
9977
10015
|
columns.unshift(column);
|
9978
10016
|
}
|
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
10017
|
if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {
|
9984
10018
|
const column = createInternalColumn('__drag', internalColumns.rowDrag, defaultSizing);
|
9985
10019
|
columns.unshift(column);
|
9986
10020
|
}
|
10021
|
+
if (options.enableRowActions && (_props$rowActions = props.rowActions) !== null && _props$rowActions !== void 0 && _props$rowActions.length && internalColumns.rowActions) {
|
10022
|
+
const column = createInternalColumn('__actions', internalColumns.rowActions, defaultSizing);
|
10023
|
+
columns.push(column);
|
10024
|
+
}
|
9987
10025
|
}
|
9988
10026
|
return {
|
9989
10027
|
columns,
|
@@ -10057,12 +10095,14 @@ function configureReactTableOptions(options, props) {
|
|
10057
10095
|
}
|
10058
10096
|
function useReactTableInitialState(props, columns, persistedSettings, defaults) {
|
10059
10097
|
return React__default.useMemo(() => {
|
10060
|
-
var _persistedSettings$co, _props$defaultSetting,
|
10098
|
+
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
10099
|
const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);
|
10062
|
-
const
|
10063
|
-
const
|
10064
|
-
// ensure internal columns are pinned
|
10065
|
-
if (
|
10100
|
+
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 : {};
|
10101
|
+
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);
|
10102
|
+
// ensure internal columns are pinned, and are pinned in the correct order
|
10103
|
+
if (columnPinning !== null && columnPinning !== void 0 && (_columnPinning$left = columnPinning.left) !== null && _columnPinning$left !== void 0 && _columnPinning$left.length) {
|
10104
|
+
columnPinning.left = freezeUptoExternalColumn(columnOrder.indexOf(columnPinning.left[columnPinning.left.length - 1]), columnOrder);
|
10105
|
+
} else {
|
10066
10106
|
if (props.defaultColumnFreezingIndex) {
|
10067
10107
|
columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);
|
10068
10108
|
} else {
|
@@ -11219,7 +11259,7 @@ function useTableStyleGrid(tableId, table, fontSize) {
|
|
11219
11259
|
// header body ?footer
|
11220
11260
|
const gridTemplateRows = table.getRowModel().rows.length ? 'min-content 1fr min-content' : 'min-content 1fr';
|
11221
11261
|
return React__default.useMemo(() => {
|
11222
|
-
let printGridTemplateColumns =
|
11262
|
+
let printGridTemplateColumns = 0;
|
11223
11263
|
const printHiddenColumns = [];
|
11224
11264
|
const gridTemplateColumns = allVisibleColumns.reduce((accum, column, index) => {
|
11225
11265
|
var _column$columnDef$min, _column$columnDef$met;
|
@@ -11229,7 +11269,6 @@ function useTableStyleGrid(tableId, table, fontSize) {
|
|
11229
11269
|
const minSize = (_column$columnDef$min = column.columnDef.minSize) !== null && _column$columnDef$min !== void 0 ? _column$columnDef$min : globalMinSize;
|
11230
11270
|
const width = columnSizing[column.id];
|
11231
11271
|
let size;
|
11232
|
-
let printSize;
|
11233
11272
|
if (isInternalColumn(column.id)) {
|
11234
11273
|
if (column.id === '__actions') {
|
11235
11274
|
const minWidth = tableMeta.rowActions.rowActionsLength * 32 + 8; /* button margins l+r */
|
@@ -11253,22 +11292,24 @@ function useTableStyleGrid(tableId, table, fontSize) {
|
|
11253
11292
|
} else {
|
11254
11293
|
size = `minmax(max-content, auto)`;
|
11255
11294
|
}
|
11295
|
+
// printing
|
11256
11296
|
if (((_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.enablePrinting) === false) {
|
11257
|
-
printSize = '';
|
11258
11297
|
printHiddenColumns.push(column.id);
|
11259
11298
|
} else {
|
11260
|
-
|
11299
|
+
printGridTemplateColumns++;
|
11261
11300
|
}
|
11262
|
-
printGridTemplateColumns = `${printGridTemplateColumns} ${printSize}`.trim();
|
11263
11301
|
return `${accum} ${size}`.trim();
|
11264
11302
|
}, '');
|
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(',');
|
11303
|
+
// normal grid
|
11267
11304
|
const style = {
|
11268
11305
|
gridTemplateColumns,
|
11269
11306
|
gridTemplateRows
|
11270
11307
|
};
|
11271
|
-
|
11308
|
+
// printing grid
|
11309
|
+
// we have to be specific so that nested tables don't inherit the same css
|
11310
|
+
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(',');
|
11311
|
+
const stylesheet = `@media print { table[data-taco^='table']#${tableId} { grid-template-columns: repeat(${printGridTemplateColumns}, auto) !important; }
|
11312
|
+
table[data-taco^='table']#${tableId} [data-cell-id^='__']${hiddenColumns ? `, ${hiddenColumns}` : ''} { display: none; }}`;
|
11272
11313
|
return {
|
11273
11314
|
style,
|
11274
11315
|
stylesheet
|
@@ -11298,7 +11339,8 @@ function useTableStyleColumnFreezing(tableId, table) {
|
|
11298
11339
|
// add right border, hide the header seperator and add shadow when scrolled
|
11299
11340
|
// we have to be specific so that nested tables don't inherit the same css
|
11300
11341
|
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})
|
11342
|
+
table[data-taco^='table']#${tableId} > tbody > tr > td:nth-child(${index + 1}),
|
11343
|
+
table[data-taco^='table']#${tableId} > tfoot > tr > td:nth-child(${index + 1}):not([data-cell-id^="__"]) {
|
11302
11344
|
border-right-width: 1px;
|
11303
11345
|
}\ntable[data-taco^='table']#${tableId} > thead > tr > th:nth-child(${index + 1})[data-cell-id^="__"],
|
11304
11346
|
table[data-taco^='table']#${tableId} > tbody > tr > td:nth-child(${index + 1})[data-cell-id^="__"] {
|
@@ -11306,7 +11348,8 @@ function useTableStyleColumnFreezing(tableId, table) {
|
|
11306
11348
|
}\ntable[data-taco^='table']#${tableId} > thead > tr > th:nth-child(${index + 1}):after {
|
11307
11349
|
content: none;
|
11308
11350
|
}\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})
|
11351
|
+
table[data-taco^='table'][data-table-horizontally-scrolled="true"]#${tableId} > tbody > tr > td:nth-child(${index + 1}),
|
11352
|
+
table[data-taco^='table'][data-table-horizontally-scrolled="true"]#${tableId} > tfoot > tr > td:nth-child(${index + 1}) {
|
11310
11353
|
border-right-color: rgb(221, 221, 221);
|
11311
11354
|
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
11355
|
}`);
|
@@ -11456,7 +11499,7 @@ const ROW_HEIGHT_ESTIMATES = {
|
|
11456
11499
|
tall: 49,
|
11457
11500
|
'extra-tall': 57
|
11458
11501
|
};
|
11459
|
-
const
|
11502
|
+
const HEADER_FOOTER_ROW_HEIGHT_ESTIMATE = ROW_HEIGHT_ESTIMATES.medium + 2; // header includes 2px border
|
11460
11503
|
|
11461
11504
|
function SkeletonRow(props) {
|
11462
11505
|
const {
|
@@ -11471,11 +11514,11 @@ function SkeletonRow(props) {
|
|
11471
11514
|
}));
|
11472
11515
|
}
|
11473
11516
|
return /*#__PURE__*/React__default.createElement(Skeleton, {
|
11474
|
-
|
11475
|
-
cells: row.getVisibleCells()
|
11517
|
+
cellsCount: row.getVisibleCells().length
|
11476
11518
|
});
|
11477
11519
|
}
|
11478
11520
|
function RowWithServerLoading(props) {
|
11521
|
+
var _table$getState$group, _table$getState;
|
11479
11522
|
const {
|
11480
11523
|
index,
|
11481
11524
|
row,
|
@@ -11497,22 +11540,24 @@ function RowWithServerLoading(props) {
|
|
11497
11540
|
(_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
11541
|
}
|
11499
11542
|
}, [inView]);
|
11543
|
+
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;
|
11544
|
+
const ungroupedCellCount = row.getVisibleCells().length - groupedCellCount;
|
11500
11545
|
return /*#__PURE__*/React__default.createElement(Skeleton, {
|
11501
|
-
|
11546
|
+
cellsCount: ungroupedCellCount,
|
11502
11547
|
ref: ref
|
11503
11548
|
});
|
11504
11549
|
}
|
11505
11550
|
const Skeleton = /*#__PURE__*/React__default.forwardRef(function Skeleton(props, ref) {
|
11506
11551
|
const {
|
11507
|
-
|
11552
|
+
cellsCount
|
11508
11553
|
} = props;
|
11509
|
-
return /*#__PURE__*/React__default.createElement(
|
11554
|
+
return /*#__PURE__*/React__default.createElement("tr", {
|
11510
11555
|
ref: ref
|
11511
|
-
},
|
11512
|
-
key:
|
11556
|
+
}, Array(cellsCount).fill(null).map((_, index) => ( /*#__PURE__*/React__default.createElement("td", {
|
11557
|
+
key: index
|
11513
11558
|
}, /*#__PURE__*/React__default.createElement("span", {
|
11514
11559
|
className: "bg-grey-100 text-grey-700 h-4 w-full text-center text-xs"
|
11515
|
-
})))))
|
11560
|
+
})))));
|
11516
11561
|
});
|
11517
11562
|
|
11518
11563
|
const RowContext = /*#__PURE__*/React__default.createContext({
|
@@ -11545,13 +11590,14 @@ function Row(props) {
|
|
11545
11590
|
}
|
11546
11591
|
|
11547
11592
|
const TABLE_SCROLL_PADDING_BOTTOM = 36;
|
11548
|
-
const TABLE_PADDING_BOTTOM =
|
11593
|
+
const TABLE_PADDING_BOTTOM = 0;
|
11549
11594
|
function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
11550
11595
|
var _table$getState$group, _ref, _virtualItems$padding, _virtualItems$padding2, _ref2, _virtualItems;
|
11551
11596
|
const tableMeta = table.options.meta;
|
11552
11597
|
const rows = table.getRowModel().rows;
|
11553
|
-
const HEADER_OFFSET_TOTAL =
|
11598
|
+
const HEADER_OFFSET_TOTAL = HEADER_FOOTER_ROW_HEIGHT_ESTIMATE * table.getHeaderGroups().length;
|
11554
11599
|
const isTableGrouped = !!((_table$getState$group = table.getState().grouping) !== null && _table$getState$group !== void 0 && _table$getState$group.length);
|
11600
|
+
const FOOTER_OFFSET_TOTAL = tableMeta.footer.isEnabled ? HEADER_FOOTER_ROW_HEIGHT_ESTIMATE : 0;
|
11555
11601
|
// expanded rows
|
11556
11602
|
const {
|
11557
11603
|
createRowMeasurer,
|
@@ -11565,7 +11611,7 @@ function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
|
11565
11611
|
getScrollElement: () => tableRef.current,
|
11566
11612
|
overscan: tableMeta.printing.isPrinting ? rows.length : undefined,
|
11567
11613
|
rangeExtractor,
|
11568
|
-
scrollPaddingStart: isTableGrouped ?
|
11614
|
+
scrollPaddingStart: isTableGrouped ? HEADER_FOOTER_ROW_HEIGHT_ESTIMATE : undefined,
|
11569
11615
|
scrollPaddingEnd: HEADER_OFFSET_TOTAL + TABLE_SCROLL_PADDING_BOTTOM,
|
11570
11616
|
paddingEnd: TABLE_PADDING_BOTTOM
|
11571
11617
|
});
|
@@ -11618,7 +11664,7 @@ function useTableRenderer(renderers, table, tableRef, defaultRowActiveIndex) {
|
|
11618
11664
|
let content = null;
|
11619
11665
|
if (rows.length) {
|
11620
11666
|
style = {
|
11621
|
-
height: `${virtualiser.getTotalSize()}px`,
|
11667
|
+
height: `${virtualiser.getTotalSize() - HEADER_OFFSET_TOTAL + FOOTER_OFFSET_TOTAL}px`,
|
11622
11668
|
paddingBottom,
|
11623
11669
|
paddingTop
|
11624
11670
|
};
|
@@ -11697,7 +11743,7 @@ function useRowGroupVirtualisation(table) {
|
|
11697
11743
|
});
|
11698
11744
|
}
|
11699
11745
|
return indexes;
|
11700
|
-
}, []);
|
11746
|
+
}, [rows]);
|
11701
11747
|
// this is taken from the react-virtual docs/examples
|
11702
11748
|
const rangeExtractor = React__default.useCallback(range => {
|
11703
11749
|
var _reverse$find;
|
@@ -12412,23 +12458,20 @@ function DisplayCell(props) {
|
|
12412
12458
|
isHighlighted,
|
12413
12459
|
...cellAttributes
|
12414
12460
|
} = props;
|
12415
|
-
const {
|
12416
|
-
isHovered
|
12417
|
-
} = React__default.useContext(RowContext);
|
12418
12461
|
const columnMeta = cell.column.columnDef.meta;
|
12419
12462
|
const attributes = getCellAttributes(cell, index, isHighlighted);
|
12420
12463
|
const isTruncated = !!columnMeta.enableTruncate;
|
12464
|
+
const value = cell.getValue();
|
12421
12465
|
let content;
|
12422
12466
|
if (isInternalColumn(cell.column.id)) {
|
12423
12467
|
content = reactTable.flexRender(cell.column.columnDef.cell, cell.getContext());
|
12424
12468
|
} else {
|
12425
12469
|
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,
|
12470
|
+
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
12471
|
}
|
12428
12472
|
return /*#__PURE__*/React__default.createElement(MemoedDisplayCell, Object.assign({}, cellAttributes, attributes, {
|
12429
12473
|
cellRef: cellRef,
|
12430
|
-
isTruncated: isTruncated
|
12431
|
-
key: `${cell.id}_${isHovered}`
|
12474
|
+
isTruncated: isTruncated
|
12432
12475
|
}), content);
|
12433
12476
|
}
|
12434
12477
|
const MemoedDisplayCell = /*#__PURE__*/React__default.memo(function MemoedDisplayCell(props) {
|
@@ -13144,7 +13187,7 @@ const MemoedFooter = /*#__PURE__*/React__default.memo(function MemoedFooter(prop
|
|
13144
13187
|
const style = {};
|
13145
13188
|
if (isPinned) {
|
13146
13189
|
// pinned columns should be offset from either the left or right
|
13147
|
-
style[isPinned] = `${footer.column.getStart(isPinned)
|
13190
|
+
style[isPinned] = `${footer.column.getStart(isPinned)}px`;
|
13148
13191
|
}
|
13149
13192
|
let content;
|
13150
13193
|
let align;
|
@@ -17745,7 +17788,9 @@ function useTableEditing(isEnabled = false, handleSave, validator) {
|
|
17745
17788
|
const pendingChangesFns = usePendingChanges(isEnabled, handleSave, validator);
|
17746
17789
|
// if focus leaves the table in any way, trigger a save
|
17747
17790
|
const handleBlur = React__default.useCallback(event => {
|
17748
|
-
|
17791
|
+
// custom event from datepicker, and it doesn't have the relatedTarget property set.
|
17792
|
+
const isClosingDatepicker = dateFns.isDate(event.detail);
|
17793
|
+
if (event.relatedTarget !== event.currentTarget && !isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget) && !isClosingDatepicker) {
|
17749
17794
|
pendingChangesFns.saveChanges();
|
17750
17795
|
}
|
17751
17796
|
}, [pendingChangesFns.saveChanges]);
|
@@ -18279,8 +18324,15 @@ function useEditingCellAutofocus(props) {
|
|
18279
18324
|
const tableElement = (_props$cellRef$curren3 = props.cellRef.current) === null || _props$cellRef$curren3 === void 0 ? void 0 : _props$cellRef$curren3.closest('table');
|
18280
18325
|
if (tableElement && table.getIsSomeColumnsPinned() && !props.cell.column.getIsPinned()) {
|
18281
18326
|
const columnFreezingOffset = table.getLeftTotalSize();
|
18282
|
-
const
|
18283
|
-
|
18327
|
+
const targetRect = event.currentTarget.getBoundingClientRect();
|
18328
|
+
const tableRect = tableElement.getBoundingClientRect();
|
18329
|
+
const leftOffsetFromScrollContainer = targetRect.left - tableRect.left;
|
18330
|
+
const scrollbarWidth = tableElement.offsetWidth - tableElement.clientWidth; // the width of table vertical scrollbar
|
18331
|
+
if (
|
18332
|
+
// When pinned column overlaps the focused cell
|
18333
|
+
leftOffsetFromScrollContainer < columnFreezingOffset ||
|
18334
|
+
// When focused cell goes behidn the edge of the table
|
18335
|
+
leftOffsetFromScrollContainer + targetRect.width > tableRect.width - scrollbarWidth) {
|
18284
18336
|
tableElement.scrollTo(props.cell.column.getStart() - columnFreezingOffset, tableElement.scrollTop);
|
18285
18337
|
}
|
18286
18338
|
}
|
@@ -18449,7 +18501,7 @@ const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditin
|
|
18449
18501
|
if (type === 'datepicker') {
|
18450
18502
|
const handleChange = event => {
|
18451
18503
|
const newDate = event.detail;
|
18452
|
-
if (dateFns.isDate(value) && dateFns.isDate(newDate) && !isWeakEqual(value, newDate)) {
|
18504
|
+
if (!value || dateFns.isDate(value) && dateFns.isDate(newDate) && !isWeakEqual(value, newDate)) {
|
18453
18505
|
props.onChange(event.detail);
|
18454
18506
|
}
|
18455
18507
|
};
|