@economic/taco 2.48.2 → 2.48.4
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/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;
|