@economic/taco 2.48.2 → 2.48.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Calendar/Calendar.d.ts +0 -1
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +10 -11
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +6 -13
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js +6 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +6 -6
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +2 -2
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
- package/dist/esm/packages/taco/src/index.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Button.js +6 -1
- package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js +1 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js +1 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/types.js +1 -7
- package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js +12 -8
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js +2 -5
- package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
- package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
- package/dist/primitives/Table/types.d.ts +0 -5
- package/dist/primitives/Table/useTableManager/features/useTableServerLoading.d.ts +3 -3
- package/dist/taco.cjs.development.js +54 -55
- 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/keyboard.d.ts +1 -1
- package/package.json +2 -2
@@ -4395,12 +4395,9 @@ function shouldTriggerShortcut(event, key) {
|
|
4395
4395
|
}
|
4396
4396
|
return event.key.toLowerCase() === keyOptions.key.toLowerCase();
|
4397
4397
|
}
|
4398
|
-
function createShortcutKeyDownHandler(key, handler, stopPropagation = true
|
4398
|
+
function createShortcutKeyDownHandler(key, handler, stopPropagation = true) {
|
4399
4399
|
return function (event) {
|
4400
|
-
|
4401
|
-
const isOutsideDialog = element && dialog && !dialog.contains(element);
|
4402
|
-
if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event) || isOutsideDialog // Avoid triggering shortcut if dialog is open and element is outside the dialog
|
4403
|
-
) {
|
4400
|
+
if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event)) {
|
4404
4401
|
return;
|
4405
4402
|
}
|
4406
4403
|
const condition = shouldTriggerShortcut(event, key);
|
@@ -4421,11 +4418,11 @@ const isMacOs = () => {
|
|
4421
4418
|
return (_window = window) === null || _window === void 0 ? void 0 : _window.navigator.userAgent.includes('Mac');
|
4422
4419
|
};
|
4423
4420
|
|
4424
|
-
const useGlobalKeyDown = (shortcut, handler
|
4421
|
+
const useGlobalKeyDown = (shortcut, handler) => {
|
4425
4422
|
React__default.useEffect(() => {
|
4426
4423
|
let handleKeyDown;
|
4427
4424
|
if (shortcut) {
|
4428
|
-
handleKeyDown = createShortcutKeyDownHandler(shortcut, handler, false
|
4425
|
+
handleKeyDown = createShortcutKeyDownHandler(shortcut, handler, false);
|
4429
4426
|
document.addEventListener('keydown', handleKeyDown);
|
4430
4427
|
}
|
4431
4428
|
return () => {
|
@@ -4448,8 +4445,13 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(props, ref) {
|
|
4448
4445
|
useGlobalKeyDown(shortcut, event => {
|
4449
4446
|
var _internalRef$current;
|
4450
4447
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
4448
|
+
const dialog = document.querySelector('[role="dialog"]');
|
4449
|
+
// Don't trigger the click on the button if it is outside of the dialog
|
4450
|
+
if (dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current))) {
|
4451
|
+
return;
|
4452
|
+
}
|
4451
4453
|
(_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 ? void 0 : _internalRef$current.click();
|
4452
|
-
}
|
4454
|
+
});
|
4453
4455
|
const Tag = props.href ? 'a' : 'button';
|
4454
4456
|
return /*#__PURE__*/React.createElement(Tag, Object.assign({}, otherProps, {
|
4455
4457
|
href: disabled ? undefined : props.href,
|
@@ -5100,23 +5102,22 @@ const TodayButton = ({
|
|
5100
5102
|
}, texts.calendar.actions.today);
|
5101
5103
|
};
|
5102
5104
|
const Calendar$1 = props => {
|
5103
|
-
var _ref;
|
5104
5105
|
const {
|
5105
5106
|
onChange: handleChange,
|
5106
5107
|
value,
|
5107
5108
|
disabledDays,
|
5108
|
-
visibleMonth,
|
5109
5109
|
...otherProps
|
5110
5110
|
} = props;
|
5111
|
-
const [
|
5111
|
+
const [visibleMonth, setVisibleMonth] = React.useState(value !== null && value !== void 0 ? value : new Date());
|
5112
5112
|
const {
|
5113
5113
|
texts
|
5114
5114
|
} = useLocalization();
|
5115
5115
|
React.useEffect(() => {
|
5116
|
-
if (visibleMonth
|
5117
|
-
|
5116
|
+
if (visibleMonth !== value) {
|
5117
|
+
setVisibleMonth(value !== null && value !== void 0 ? value : new Date());
|
5118
5118
|
}
|
5119
|
-
|
5119
|
+
// visibleMonth in deps array breaking month switching logic. It should not be in deps array.
|
5120
|
+
}, [value]);
|
5120
5121
|
const handleDayClick = (date, modifiers, event) => {
|
5121
5122
|
if (modifiers.outside || modifiers.disabled) {
|
5122
5123
|
return;
|
@@ -5130,13 +5131,13 @@ const Calendar$1 = props => {
|
|
5130
5131
|
className: className,
|
5131
5132
|
captionLayout: "dropdown-buttons",
|
5132
5133
|
weekStartsOn: 1,
|
5133
|
-
month:
|
5134
|
+
month: visibleMonth,
|
5134
5135
|
numberOfMonths: 1,
|
5135
5136
|
components: {
|
5136
|
-
Caption: props =>
|
5137
|
-
onMonthChange:
|
5138
|
-
value:
|
5139
|
-
}))
|
5137
|
+
Caption: props => /*#__PURE__*/React.createElement(Navbar, Object.assign({}, props, {
|
5138
|
+
onMonthChange: setVisibleMonth,
|
5139
|
+
value: visibleMonth
|
5140
|
+
})),
|
5140
5141
|
Footer: () => (/*#__PURE__*/React.createElement("tfoot", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
|
5141
5142
|
colSpan: 7,
|
5142
5143
|
className: "text-center"
|
@@ -6391,18 +6392,14 @@ const useDatepicker = ({
|
|
6391
6392
|
} = useLocalization();
|
6392
6393
|
const [internalValue, setInternalValue] = React.useState((_format = format(value, formatting.date)) !== null && _format !== void 0 ? _format : '');
|
6393
6394
|
const originalValueAsDate = parse(value);
|
6394
|
-
//
|
6395
|
-
const [calendarViewDate, setCalendarViewDate] = React.useState(originalValueAsDate || new Date());
|
6395
|
+
// update internal value if it changed 'externally'
|
6396
6396
|
React.useEffect(() => {
|
6397
|
-
|
6398
|
-
|
6399
|
-
|
6400
|
-
const formattedValue = format(value, formatting.date);
|
6401
|
-
if (formattedValue !== internalValue) {
|
6402
|
-
setInternalValue(formattedValue !== null && formattedValue !== void 0 ? formattedValue : '');
|
6403
|
-
}
|
6397
|
+
const formattedValue = format(value, formatting.date);
|
6398
|
+
if (formattedValue !== internalValue) {
|
6399
|
+
setInternalValue(formattedValue !== null && formattedValue !== void 0 ? formattedValue : '');
|
6404
6400
|
}
|
6405
6401
|
}, [value]);
|
6402
|
+
// event handlers
|
6406
6403
|
const handleInputBlur = event => {
|
6407
6404
|
event.persist();
|
6408
6405
|
const valueAsDate = parseFromCustomString(event.target.value, 'dd.mm.yy', originalValueAsDate === null || originalValueAsDate === void 0 ? void 0 : originalValueAsDate.getMonth(), originalValueAsDate === null || originalValueAsDate === void 0 ? void 0 : originalValueAsDate.getFullYear());
|
@@ -6423,8 +6420,6 @@ const useDatepicker = ({
|
|
6423
6420
|
setInternalValue(event.target.value);
|
6424
6421
|
};
|
6425
6422
|
const handleChange = date => {
|
6426
|
-
// Update both the input value and calendar view date when selecting a date
|
6427
|
-
setCalendarViewDate(date);
|
6428
6423
|
setInputValueByRef(inputRef.current, format(date, formatting.date), 'focusout');
|
6429
6424
|
};
|
6430
6425
|
const handleKeyDown = event => {
|
@@ -6450,8 +6445,7 @@ const useDatepicker = ({
|
|
6450
6445
|
const calendarProps = {
|
6451
6446
|
...calendar,
|
6452
6447
|
onChange: handleChange,
|
6453
|
-
value: originalValueAsDate
|
6454
|
-
visibleMonth: calendarViewDate
|
6448
|
+
value: originalValueAsDate
|
6455
6449
|
};
|
6456
6450
|
return {
|
6457
6451
|
input: inputProps,
|
@@ -8335,12 +8329,17 @@ const Content$8 = /*#__PURE__*/React.forwardRef(function MenuContent(props, ref)
|
|
8335
8329
|
if (child.props.shortcut) {
|
8336
8330
|
shortcuts.push(createShortcutKeyDownHandler(child.props.shortcut, event => {
|
8337
8331
|
event.preventDefault();
|
8332
|
+
const dialog = document.querySelector('[role="dialog"]');
|
8333
|
+
// Don't trigger the shortcut if it is outside of the dialog
|
8334
|
+
if (dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current))) {
|
8335
|
+
return;
|
8336
|
+
}
|
8338
8337
|
menu === null || menu === void 0 ? void 0 : menu.open();
|
8339
8338
|
setTimeout(() => {
|
8340
8339
|
var _childrenRefs$current, _childrenRefs$current2;
|
8341
8340
|
return (_childrenRefs$current = childrenRefs.current[index]) === null || _childrenRefs$current === void 0 ? void 0 : (_childrenRefs$current2 = _childrenRefs$current.current) === null || _childrenRefs$current2 === void 0 ? void 0 : _childrenRefs$current2.click();
|
8342
8341
|
}, 1);
|
8343
|
-
}
|
8342
|
+
}));
|
8344
8343
|
}
|
8345
8344
|
});
|
8346
8345
|
shortcuts.forEach(handler => document.addEventListener('keydown', handler));
|
@@ -9949,11 +9948,6 @@ const fixedForwardRef = React__default.forwardRef;
|
|
9949
9948
|
TableFilterComparator[TableFilterComparator["HasAllOf"] = 12] = "HasAllOf";
|
9950
9949
|
TableFilterComparator[TableFilterComparator["HasNoneOf"] = 13] = "HasNoneOf";
|
9951
9950
|
})(exports.TableFilterComparator || (exports.TableFilterComparator = {}));
|
9952
|
-
(function (TableServerLoadAllState) {
|
9953
|
-
TableServerLoadAllState[TableServerLoadAllState["Incomplete"] = 0] = "Incomplete";
|
9954
|
-
TableServerLoadAllState[TableServerLoadAllState["Loading"] = 1] = "Loading";
|
9955
|
-
TableServerLoadAllState[TableServerLoadAllState["Completed"] = 2] = "Completed";
|
9956
|
-
})(exports.TableServerLoadAllState || (exports.TableServerLoadAllState = {}));
|
9957
9951
|
|
9958
9952
|
const dataTypes = {
|
9959
9953
|
auto: {
|
@@ -11496,10 +11490,16 @@ function useTableDataLoader(fetchPage, fetchAll, options = {
|
|
11496
11490
|
}, invalidate];
|
11497
11491
|
}
|
11498
11492
|
|
11499
|
-
function useTableServerLoading(loadPage, loadAll, pageSize = DEFAULT_PAGE_SIZE) {
|
11493
|
+
function useTableServerLoading(length, data, loadPage, loadAll, pageSize = DEFAULT_PAGE_SIZE) {
|
11500
11494
|
const isEnabled = !!loadPage && !!loadAll;
|
11501
11495
|
const [isReady, setReady] = React__default.useState(false);
|
11502
|
-
const [
|
11496
|
+
const [loading, setLoading] = React__default.useState(false);
|
11497
|
+
const hasLoadedAll = React__default.useMemo(() => {
|
11498
|
+
if (data.length !== length || data.some(x => x === undefined)) {
|
11499
|
+
return false;
|
11500
|
+
}
|
11501
|
+
return true;
|
11502
|
+
}, [data, length]);
|
11503
11503
|
let _loadPage;
|
11504
11504
|
let _loadAll;
|
11505
11505
|
let _loadAllIfNeeded;
|
@@ -11509,7 +11509,6 @@ function useTableServerLoading(loadPage, loadAll, pageSize = DEFAULT_PAGE_SIZE)
|
|
11509
11509
|
const _temp = function () {
|
11510
11510
|
if (typeof loadPage === 'function') {
|
11511
11511
|
return Promise.resolve(loadPage(...args)).then(function () {
|
11512
|
-
setLoadedStatus(exports.TableServerLoadAllState.Incomplete);
|
11513
11512
|
setReady(true);
|
11514
11513
|
});
|
11515
11514
|
}
|
@@ -11525,9 +11524,9 @@ function useTableServerLoading(loadPage, loadAll, pageSize = DEFAULT_PAGE_SIZE)
|
|
11525
11524
|
try {
|
11526
11525
|
const _temp2 = function () {
|
11527
11526
|
if (typeof loadAll === 'function') {
|
11528
|
-
|
11527
|
+
setLoading(true);
|
11529
11528
|
return Promise.resolve(loadAll(...args)).then(function () {
|
11530
|
-
|
11529
|
+
setLoading(false);
|
11531
11530
|
setReady(true);
|
11532
11531
|
});
|
11533
11532
|
}
|
@@ -11540,7 +11539,7 @@ function useTableServerLoading(loadPage, loadAll, pageSize = DEFAULT_PAGE_SIZE)
|
|
11540
11539
|
_loadAllIfNeeded = function (...args) {
|
11541
11540
|
try {
|
11542
11541
|
const _temp3 = function () {
|
11543
|
-
if (
|
11542
|
+
if (!hasLoadedAll) {
|
11544
11543
|
var _loadAll2;
|
11545
11544
|
return Promise.resolve((_loadAll2 = _loadAll) === null || _loadAll2 === void 0 ? void 0 : _loadAll2(...args)).then(function () {});
|
11546
11545
|
}
|
@@ -11557,7 +11556,7 @@ function useTableServerLoading(loadPage, loadAll, pageSize = DEFAULT_PAGE_SIZE)
|
|
11557
11556
|
loadPage: _loadPage,
|
11558
11557
|
loadAll: _loadAll,
|
11559
11558
|
loadAllIfNeeded: _loadAllIfNeeded,
|
11560
|
-
|
11559
|
+
loading,
|
11561
11560
|
pageSize
|
11562
11561
|
};
|
11563
11562
|
}
|
@@ -11752,7 +11751,7 @@ function useTableSearchListener(table, onChangeSearch) {
|
|
11752
11751
|
onChangeSearch(query);
|
11753
11752
|
}
|
11754
11753
|
}
|
11755
|
-
}, [meta.server.
|
11754
|
+
}, [meta.server.loading, meta.search.isEnabled, meta.search.enableGlobalFilter, table.getRowModel().rows.length, table.getState().globalFilter, JSON.stringify(table.getState().sorting), onChangeSearch]);
|
11756
11755
|
}
|
11757
11756
|
|
11758
11757
|
function useTableSettingsListener(table, onChangeSettings) {
|
@@ -11894,7 +11893,7 @@ function useTableManager(props, meta, internalColumns) {
|
|
11894
11893
|
const rowHeight = useTableRowHeight(options.enableRowHeight, settings.rowHeight);
|
11895
11894
|
const rowSelection = useTableRowSelection(!!options.enableRowSelection);
|
11896
11895
|
const search = useTableSearch(options.enableSearch, settings.excludeUnmatchedRecordsInSearch);
|
11897
|
-
const server = useTableServerLoading(props.loadPage, props.loadAll, props.pageSize);
|
11896
|
+
const server = useTableServerLoading(length, data, props.loadPage, props.loadAll, props.pageSize);
|
11898
11897
|
// TODO: memoise
|
11899
11898
|
// convert jsx column components into valid table columns
|
11900
11899
|
const {
|
@@ -12732,7 +12731,7 @@ function Header$4(context) {
|
|
12732
12731
|
className: "hover:border-blue !-mt-px",
|
12733
12732
|
checked: isAllRowsSelected,
|
12734
12733
|
indeterminate: isSomeRowsSelected && !isAllRowsSelected,
|
12735
|
-
loading: tableMeta.server.
|
12734
|
+
loading: tableMeta.server.loading,
|
12736
12735
|
onChange: handleChange
|
12737
12736
|
}));
|
12738
12737
|
}
|
@@ -14291,7 +14290,7 @@ function Search$1(props) {
|
|
14291
14290
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SearchInput2, {
|
14292
14291
|
findCurrent: tableMeta.search.currentHighlightColumnIndex !== undefined ? tableMeta.search.currentHighlightColumnIndex + 1 : null,
|
14293
14292
|
findTotal: (_tableMeta$search$hig = (_tableMeta$search$hig2 = tableMeta.search.highlightedColumnIndexes) === null || _tableMeta$search$hig2 === void 0 ? void 0 : _tableMeta$search$hig2.length) !== null && _tableMeta$search$hig !== void 0 ? _tableMeta$search$hig : null,
|
14294
|
-
loading: tableMeta.server.
|
14293
|
+
loading: tableMeta.server.loading,
|
14295
14294
|
name: "table-search",
|
14296
14295
|
onClickFindPrevious: handlePreviousResult,
|
14297
14296
|
onClickFindNext: handleNextResult,
|
@@ -19644,24 +19643,24 @@ function EditingControlCell(props) {
|
|
19644
19643
|
var _cellRef$current;
|
19645
19644
|
return typeof type === 'function' && !!((_cellRef$current = cellRef.current) !== null && _cellRef$current !== void 0 && _cellRef$current.querySelector('[data-taco="Select2"],[data-taco="switch"],[data-taco="checkbox"]'));
|
19646
19645
|
}, [cellRef.current]);
|
19647
|
-
const handleChange = nextValue => {
|
19646
|
+
const handleChange = React__default.useCallback(nextValue => {
|
19648
19647
|
if (nextValue !== value) {
|
19649
19648
|
tableMeta.editing.setCellValue(cell, nextValue);
|
19650
19649
|
if (hasNonTextControl) {
|
19651
19650
|
requestAnimationFrame(() => tableMeta.editing.onCellChanged(cell, rowIndex, nextValue));
|
19652
19651
|
}
|
19653
19652
|
}
|
19654
|
-
};
|
19655
|
-
function blur() {
|
19653
|
+
}, [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex, value]);
|
19654
|
+
const blur = React__default.useCallback(function blur() {
|
19656
19655
|
tableMeta.editing.toggleDetailedMode(false);
|
19657
19656
|
tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl);
|
19658
|
-
}
|
19659
|
-
const handleBlur = event => {
|
19657
|
+
}, [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex]);
|
19658
|
+
const handleBlur = React__default.useCallback(event => {
|
19660
19659
|
if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {
|
19661
19660
|
return;
|
19662
19661
|
}
|
19663
19662
|
blur();
|
19664
|
-
};
|
19663
|
+
}, [blur]);
|
19665
19664
|
// ensure that blur runs when the cell gets unmounted (when vertically arrow key navigating)
|
19666
19665
|
React__default.useEffect(() => {
|
19667
19666
|
const ref = cellRef.current;
|