@economic/taco 2.47.0-server.6 → 2.47.0-server.8
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 +1 -0
- package/dist/components/Table3/features/useEditingState.d.ts +1 -1
- package/dist/components/Table3/features/useTableEditing.d.ts +2 -2
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +32 -1
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/esm/index.css +10 -2
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js +12 -11
- package/dist/esm/packages/taco/src/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +15 -6
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js +1 -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 +2 -2
- 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/Editing/Alert.js +5 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js +11 -6
- package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +44 -27
- package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +5 -8
- package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.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/hooks/useLazyEffect.js +1 -1
- package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/BubbleSelect.js +1 -1
- package/dist/esm/packages/taco/src/primitives/BubbleSelect.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Button.js +1 -6
- package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js +9 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +4 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +4 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js +6 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/dataTypes.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js +9 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +8 -3
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/dom.js +9 -1
- package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js +5 -2
- package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
- package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
- package/dist/index.css +10 -2
- package/dist/primitives/Table/useTableManager/util/dataTypes.d.ts +1 -1
- package/dist/taco.cjs.development.js +184 -88
- 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 -1
|
@@ -79,6 +79,37 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
79
79
|
}
|
|
80
80
|
return target;
|
|
81
81
|
}
|
|
82
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
83
|
+
if (!o) return;
|
|
84
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
85
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
86
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
87
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
88
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
89
|
+
}
|
|
90
|
+
function _arrayLikeToArray(arr, len) {
|
|
91
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
92
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
93
|
+
return arr2;
|
|
94
|
+
}
|
|
95
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
96
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
97
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
98
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
99
|
+
if (it) o = it;
|
|
100
|
+
var i = 0;
|
|
101
|
+
return function () {
|
|
102
|
+
if (i >= o.length) return {
|
|
103
|
+
done: true
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
done: false,
|
|
107
|
+
value: o[i++]
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
112
|
+
}
|
|
82
113
|
|
|
83
114
|
var AVAILABLE_COLORS = ['green', 'yellow', 'red', 'blue', 'purple', 'brown', 'pink', 'orange', 'grey', 'transparent'];
|
|
84
115
|
var getColorByState = function getColorByState(state) {
|
|
@@ -4354,7 +4385,15 @@ function isElementInteractive(element) {
|
|
|
4354
4385
|
if (!element) {
|
|
4355
4386
|
return false;
|
|
4356
4387
|
}
|
|
4357
|
-
|
|
4388
|
+
var interactiveElements = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL', 'OPTION'];
|
|
4389
|
+
var isInteractive = interactiveElements.includes(element.tagName) && !element.hidden && !element.disabled && !element.readOnly;
|
|
4390
|
+
// sometimes buttons contain content like an icon, and we can't rely on pointer events being disabled
|
|
4391
|
+
// so search for a focusable parent
|
|
4392
|
+
if (!isInteractive) {
|
|
4393
|
+
var focusableParent = element.closest(FOCUSABLE_ELEMENTS.join(','));
|
|
4394
|
+
return focusableParent ? interactiveElements.includes(focusableParent.tagName) : false;
|
|
4395
|
+
}
|
|
4396
|
+
return isInteractive;
|
|
4358
4397
|
}
|
|
4359
4398
|
function isElementInsideTable3OrReport(element) {
|
|
4360
4399
|
return !!(element !== null && element !== void 0 && element.closest('[data-taco^=table]'));
|
|
@@ -4385,12 +4424,15 @@ function shouldTriggerShortcut(event, key) {
|
|
|
4385
4424
|
}
|
|
4386
4425
|
return event.key.toLowerCase() === keyOptions.key.toLowerCase();
|
|
4387
4426
|
}
|
|
4388
|
-
function createShortcutKeyDownHandler(key, handler, stopPropagation) {
|
|
4427
|
+
function createShortcutKeyDownHandler(key, handler, stopPropagation, element) {
|
|
4389
4428
|
if (stopPropagation === void 0) {
|
|
4390
4429
|
stopPropagation = true;
|
|
4391
4430
|
}
|
|
4392
4431
|
return function (event) {
|
|
4393
|
-
|
|
4432
|
+
var dialog = document.querySelector('[role="dialog"]');
|
|
4433
|
+
var isOutsideDialog = element && dialog && !dialog.contains(element);
|
|
4434
|
+
if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event) || isOutsideDialog // Avoid triggering shortcut if dialog is open and element is outside the dialog
|
|
4435
|
+
) {
|
|
4394
4436
|
return;
|
|
4395
4437
|
}
|
|
4396
4438
|
var condition = shouldTriggerShortcut(event, key);
|
|
@@ -4411,11 +4453,11 @@ var isMacOs = function isMacOs() {
|
|
|
4411
4453
|
return (_window = window) === null || _window === void 0 ? void 0 : _window.navigator.userAgent.includes('Mac');
|
|
4412
4454
|
};
|
|
4413
4455
|
|
|
4414
|
-
var useGlobalKeyDown = function useGlobalKeyDown(shortcut, handler) {
|
|
4456
|
+
var useGlobalKeyDown = function useGlobalKeyDown(shortcut, handler, element) {
|
|
4415
4457
|
React__default.useEffect(function () {
|
|
4416
4458
|
var handleKeyDown;
|
|
4417
4459
|
if (shortcut) {
|
|
4418
|
-
handleKeyDown = createShortcutKeyDownHandler(shortcut, handler, false);
|
|
4460
|
+
handleKeyDown = createShortcutKeyDownHandler(shortcut, handler, false, element);
|
|
4419
4461
|
document.addEventListener('keydown', handleKeyDown);
|
|
4420
4462
|
}
|
|
4421
4463
|
return function () {
|
|
@@ -4438,13 +4480,8 @@ var Button = /*#__PURE__*/React.forwardRef(function Button(props, ref) {
|
|
|
4438
4480
|
useGlobalKeyDown(shortcut, function (event) {
|
|
4439
4481
|
var _internalRef$current;
|
|
4440
4482
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
4441
|
-
var dialog = document.querySelector('[role="dialog"]');
|
|
4442
|
-
// Don't trigger the click on the button if it is outside of the dialog
|
|
4443
|
-
if (dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current))) {
|
|
4444
|
-
return;
|
|
4445
|
-
}
|
|
4446
4483
|
(_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 ? void 0 : _internalRef$current.click();
|
|
4447
|
-
});
|
|
4484
|
+
}, internalRef.current);
|
|
4448
4485
|
var Tag = props.href ? 'a' : 'button';
|
|
4449
4486
|
return /*#__PURE__*/React.createElement(Tag, Object.assign({}, otherProps, {
|
|
4450
4487
|
href: disabled ? undefined : props.href,
|
|
@@ -5002,7 +5039,7 @@ var Button$1 = /*#__PURE__*/React.forwardRef(function Button(props, ref) {
|
|
|
5002
5039
|
}, button);
|
|
5003
5040
|
});
|
|
5004
5041
|
|
|
5005
|
-
var _excluded$a = ["onChange", "value", "disabledDays"];
|
|
5042
|
+
var _excluded$a = ["onChange", "value", "disabledDays", "visibleMonth"];
|
|
5006
5043
|
var thisYear = /*#__PURE__*/new Date().getFullYear();
|
|
5007
5044
|
var years = [];
|
|
5008
5045
|
for (var i = thisYear - 50; i <= thisYear + 10; i += 1) {
|
|
@@ -5088,21 +5125,22 @@ var TodayButton = function TodayButton(_ref2) {
|
|
|
5088
5125
|
}, texts.calendar.actions.today);
|
|
5089
5126
|
};
|
|
5090
5127
|
var Calendar$1 = function Calendar(props) {
|
|
5128
|
+
var _ref3;
|
|
5091
5129
|
var handleChange = props.onChange,
|
|
5092
5130
|
value = props.value,
|
|
5093
5131
|
disabledDays = props.disabledDays,
|
|
5132
|
+
visibleMonth = props.visibleMonth,
|
|
5094
5133
|
otherProps = _objectWithoutPropertiesLoose(props, _excluded$a);
|
|
5095
|
-
var _React$useState = React.useState(
|
|
5096
|
-
|
|
5097
|
-
|
|
5134
|
+
var _React$useState = React.useState((_ref3 = visibleMonth !== null && visibleMonth !== void 0 ? visibleMonth : value) !== null && _ref3 !== void 0 ? _ref3 : new Date()),
|
|
5135
|
+
internalVisibleMonth = _React$useState[0],
|
|
5136
|
+
setInternalVisibleMonth = _React$useState[1];
|
|
5098
5137
|
var _useLocalization3 = useLocalization(),
|
|
5099
5138
|
texts = _useLocalization3.texts;
|
|
5100
5139
|
React.useEffect(function () {
|
|
5101
|
-
if (visibleMonth !==
|
|
5102
|
-
|
|
5140
|
+
if (visibleMonth && visibleMonth !== internalVisibleMonth) {
|
|
5141
|
+
setInternalVisibleMonth(visibleMonth);
|
|
5103
5142
|
}
|
|
5104
|
-
|
|
5105
|
-
}, [value]);
|
|
5143
|
+
}, [visibleMonth]);
|
|
5106
5144
|
var handleDayClick = function handleDayClick(date, modifiers, event) {
|
|
5107
5145
|
if (modifiers.outside || modifiers.disabled) {
|
|
5108
5146
|
return;
|
|
@@ -5116,13 +5154,13 @@ var Calendar$1 = function Calendar(props) {
|
|
|
5116
5154
|
className: className,
|
|
5117
5155
|
captionLayout: "dropdown-buttons",
|
|
5118
5156
|
weekStartsOn: 1,
|
|
5119
|
-
month:
|
|
5157
|
+
month: internalVisibleMonth,
|
|
5120
5158
|
numberOfMonths: 1,
|
|
5121
5159
|
components: {
|
|
5122
5160
|
Caption: function Caption(props) {
|
|
5123
5161
|
return /*#__PURE__*/React.createElement(Navbar, Object.assign({}, props, {
|
|
5124
|
-
onMonthChange:
|
|
5125
|
-
value:
|
|
5162
|
+
onMonthChange: setInternalVisibleMonth,
|
|
5163
|
+
value: internalVisibleMonth
|
|
5126
5164
|
}));
|
|
5127
5165
|
},
|
|
5128
5166
|
Footer: function Footer() {
|
|
@@ -6496,14 +6534,20 @@ var useDatepicker = function useDatepicker(_ref, ref) {
|
|
|
6496
6534
|
internalValue = _React$useState[0],
|
|
6497
6535
|
setInternalValue = _React$useState[1];
|
|
6498
6536
|
var originalValueAsDate = parse(value);
|
|
6499
|
-
//
|
|
6537
|
+
// Track the current view date (month/year) in the calendar
|
|
6538
|
+
var _React$useState2 = React.useState(originalValueAsDate || new Date()),
|
|
6539
|
+
calendarViewDate = _React$useState2[0],
|
|
6540
|
+
setCalendarViewDate = _React$useState2[1];
|
|
6500
6541
|
React.useEffect(function () {
|
|
6501
|
-
|
|
6502
|
-
|
|
6503
|
-
|
|
6542
|
+
// Only update the internal value when the input is not focused
|
|
6543
|
+
// This prevents the input value from being reset while user is typing
|
|
6544
|
+
if (inputRef.current !== document.activeElement) {
|
|
6545
|
+
var formattedValue = format(value, formatting.date);
|
|
6546
|
+
if (formattedValue !== internalValue) {
|
|
6547
|
+
setInternalValue(formattedValue !== null && formattedValue !== void 0 ? formattedValue : '');
|
|
6548
|
+
}
|
|
6504
6549
|
}
|
|
6505
6550
|
}, [value]);
|
|
6506
|
-
// event handlers
|
|
6507
6551
|
var handleInputBlur = function handleInputBlur(event) {
|
|
6508
6552
|
event.persist();
|
|
6509
6553
|
var 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());
|
|
@@ -6524,6 +6568,8 @@ var useDatepicker = function useDatepicker(_ref, ref) {
|
|
|
6524
6568
|
setInternalValue(event.target.value);
|
|
6525
6569
|
};
|
|
6526
6570
|
var handleChange = function handleChange(date) {
|
|
6571
|
+
// Update both the input value and calendar view date when selecting a date
|
|
6572
|
+
setCalendarViewDate(date);
|
|
6527
6573
|
setInputValueByRef(inputRef.current, format(date, formatting.date), 'focusout');
|
|
6528
6574
|
};
|
|
6529
6575
|
var handleKeyDown = function handleKeyDown(event) {
|
|
@@ -6547,7 +6593,8 @@ var useDatepicker = function useDatepicker(_ref, ref) {
|
|
|
6547
6593
|
});
|
|
6548
6594
|
var calendarProps = _extends({}, calendar, {
|
|
6549
6595
|
onChange: handleChange,
|
|
6550
|
-
value: originalValueAsDate
|
|
6596
|
+
value: originalValueAsDate,
|
|
6597
|
+
visibleMonth: calendarViewDate
|
|
6551
6598
|
});
|
|
6552
6599
|
return {
|
|
6553
6600
|
input: inputProps,
|
|
@@ -8476,7 +8523,7 @@ var Content$8 = /*#__PURE__*/React.forwardRef(function MenuContent(props, ref) {
|
|
|
8476
8523
|
var _childrenRefs$current, _childrenRefs$current2;
|
|
8477
8524
|
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();
|
|
8478
8525
|
}, 1);
|
|
8479
|
-
}));
|
|
8526
|
+
}, true, childrenRefs.current[index].current));
|
|
8480
8527
|
}
|
|
8481
8528
|
});
|
|
8482
8529
|
shortcuts.forEach(function (handler) {
|
|
@@ -10211,9 +10258,13 @@ var dataTypes = {
|
|
|
10211
10258
|
if (value === undefined) {
|
|
10212
10259
|
return '';
|
|
10213
10260
|
}
|
|
10214
|
-
|
|
10261
|
+
var formatter = new Intl.NumberFormat(options === null || options === void 0 ? void 0 : (_options$localization2 = options.localization) === null || _options$localization2 === void 0 ? void 0 : _options$localization2.locale, {
|
|
10215
10262
|
minimumFractionDigits: 2
|
|
10216
|
-
})
|
|
10263
|
+
});
|
|
10264
|
+
var decimalSeperator = formatter.format(1.1).substring(1, 2);
|
|
10265
|
+
var localisedValue = formatter.format(Number(value));
|
|
10266
|
+
var localisedValueWithoutThousandsSeperator = decimalSeperator === '.' ? localisedValue.replace(',', '') : localisedValue.replace('.', '');
|
|
10267
|
+
return [localisedValue, localisedValueWithoutThousandsSeperator];
|
|
10217
10268
|
}
|
|
10218
10269
|
}
|
|
10219
10270
|
};
|
|
@@ -10379,7 +10430,14 @@ function isMatched(searchQuery, cellValue, dataType, localization) {
|
|
|
10379
10430
|
var cellDisplayValue = dataTypeProperties.getDisplayValue(cellValue, {
|
|
10380
10431
|
localization: localization
|
|
10381
10432
|
});
|
|
10382
|
-
if (
|
|
10433
|
+
if (Array.isArray(cellDisplayValue)) {
|
|
10434
|
+
for (var _iterator = _createForOfIteratorHelperLoose(cellDisplayValue), _step; !(_step = _iterator()).done;) {
|
|
10435
|
+
var displayValue = _step.value;
|
|
10436
|
+
if (isWeakContains(displayValue, searchQuery)) {
|
|
10437
|
+
return true;
|
|
10438
|
+
}
|
|
10439
|
+
}
|
|
10440
|
+
} else if (cellDisplayValue !== undefined && isWeakContains(cellDisplayValue, searchQuery)) {
|
|
10383
10441
|
return true;
|
|
10384
10442
|
}
|
|
10385
10443
|
}
|
|
@@ -10721,10 +10779,15 @@ function processChildren(child, columns, defaultSizing, defaultSorting, defaultV
|
|
|
10721
10779
|
};
|
|
10722
10780
|
} else if (dataTypeProperties.getDisplayValue) {
|
|
10723
10781
|
var dataTypeRenderer = function dataTypeRenderer(value) {
|
|
10724
|
-
var _dataTypeProperties$g
|
|
10725
|
-
|
|
10782
|
+
var _dataTypeProperties$g;
|
|
10783
|
+
var displayValue = (_dataTypeProperties$g = dataTypeProperties.getDisplayValue) === null || _dataTypeProperties$g === void 0 ? void 0 : _dataTypeProperties$g.call(dataTypeProperties, value, {
|
|
10726
10784
|
localization: localization
|
|
10727
|
-
})
|
|
10785
|
+
});
|
|
10786
|
+
if (Array.isArray(displayValue)) {
|
|
10787
|
+
var _displayValue$;
|
|
10788
|
+
return (_displayValue$ = displayValue[0]) !== null && _displayValue$ !== void 0 ? _displayValue$ : value;
|
|
10789
|
+
}
|
|
10790
|
+
return displayValue !== null && displayValue !== void 0 ? displayValue : value;
|
|
10728
10791
|
};
|
|
10729
10792
|
column.cell = function (info) {
|
|
10730
10793
|
return dataTypeRenderer(info.getValue());
|
|
@@ -12056,7 +12119,7 @@ function useLazyEffect(effect, deps) {
|
|
|
12056
12119
|
var readyRef = React__default.useRef(false);
|
|
12057
12120
|
React__default.useEffect(function () {
|
|
12058
12121
|
if (readyRef.current) {
|
|
12059
|
-
effect();
|
|
12122
|
+
return effect();
|
|
12060
12123
|
} else {
|
|
12061
12124
|
readyRef.current = true;
|
|
12062
12125
|
}
|
|
@@ -12101,7 +12164,10 @@ function useTableFontSizeListener(table) {
|
|
|
12101
12164
|
var _column$columnDef$min;
|
|
12102
12165
|
var columnName = _ref[0],
|
|
12103
12166
|
prevColumnSize = _ref[1];
|
|
12104
|
-
|
|
12167
|
+
// table.getColumn(columName) throw error in strict dev mode. Related thread: https://github.com/TanStack/table/discussions/5505
|
|
12168
|
+
var column = table.getAllColumns().find(function (x) {
|
|
12169
|
+
return x.id === columnName;
|
|
12170
|
+
});
|
|
12105
12171
|
if (isInternalColumn(columnName)) {
|
|
12106
12172
|
var _column$getSize;
|
|
12107
12173
|
return [columnName, (_column$getSize = column === null || column === void 0 ? void 0 : column.getSize()) !== null && _column$getSize !== void 0 ? _column$getSize : prevColumnSize];
|
|
@@ -12806,7 +12872,7 @@ function getPaddingEndOffset(table, options) {
|
|
|
12806
12872
|
return ROW_HEIGHT_ESTIMATES.medium * ((_options$virtualiserP = options === null || options === void 0 ? void 0 : options.virtualiserPaddingEndOffset) !== null && _options$virtualiserP !== void 0 ? _options$virtualiserP : 1) * bottomRows.length;
|
|
12807
12873
|
}
|
|
12808
12874
|
function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIndex, options) {
|
|
12809
|
-
var _table$getState$group, _table$getCenterRows, _virtualItems$padding, _virtualItems$padding2, _virtualItems$padding3,
|
|
12875
|
+
var _table$getState$group, _table$getCenterRows, _virtualItems$padding, _virtualItems$padding2, _virtualItems$padding3, _virtualItems$end, _virtualItems;
|
|
12810
12876
|
var tableMeta = table.options.meta;
|
|
12811
12877
|
var isTableRowGrouped = !!((_table$getState$group = table.getState().grouping) !== null && _table$getState$group !== void 0 && _table$getState$group.length);
|
|
12812
12878
|
var rows = (_table$getCenterRows = table.getCenterRows()) !== null && _table$getCenterRows !== void 0 ? _table$getCenterRows : [];
|
|
@@ -12859,7 +12925,7 @@ function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIn
|
|
|
12859
12925
|
var paddingStartIndex = isTableRowGrouped && count > 1 ? 1 : 0;
|
|
12860
12926
|
var startValue = isTableRowGrouped ? ((_virtualItems$padding = virtualItems[paddingStartIndex]) === null || _virtualItems$padding === void 0 ? void 0 : _virtualItems$padding.start) - ((_virtualItems$padding2 = virtualItems[paddingStartIndex]) === null || _virtualItems$padding2 === void 0 ? void 0 : _virtualItems$padding2.size) : (_virtualItems$padding3 = virtualItems[paddingStartIndex]) === null || _virtualItems$padding3 === void 0 ? void 0 : _virtualItems$padding3.start;
|
|
12861
12927
|
// styling for offsetting rows - this "is" the virtualisation
|
|
12862
|
-
var _ref = virtualItems.length > 0 ? [Math.max(0, startValue !== null && startValue !== void 0 ? startValue : 0), Math.max(0,
|
|
12928
|
+
var _ref = virtualItems.length > 0 ? [Math.max(0, startValue !== null && startValue !== void 0 ? startValue : 0), Math.max(0, totalSize - ((_virtualItems$end = (_virtualItems = virtualItems[virtualItems.length - 1]) === null || _virtualItems === void 0 ? void 0 : _virtualItems.end) !== null && _virtualItems$end !== void 0 ? _virtualItems$end : 0))] : [0, 0],
|
|
12863
12929
|
paddingTop = _ref[0],
|
|
12864
12930
|
paddingBottom = _ref[1];
|
|
12865
12931
|
// ensure default active rows are scrolled to
|
|
@@ -12878,8 +12944,8 @@ function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIn
|
|
|
12878
12944
|
if (count || table.getBottomRows().length) {
|
|
12879
12945
|
style = {
|
|
12880
12946
|
height: totalSize,
|
|
12881
|
-
paddingBottom: paddingBottom,
|
|
12882
|
-
paddingTop: paddingTop
|
|
12947
|
+
paddingBottom: isNaN(paddingBottom) ? 0 : paddingBottom,
|
|
12948
|
+
paddingTop: isNaN(paddingTop) ? 0 : paddingTop
|
|
12883
12949
|
};
|
|
12884
12950
|
}
|
|
12885
12951
|
// only render non sticky rows
|
|
@@ -14562,20 +14628,27 @@ var MemoedFooter = /*#__PURE__*/React__default.memo(function MemoedFooter(props)
|
|
|
14562
14628
|
|
|
14563
14629
|
var _excluded$12 = ["emptyState", "isReady", "reason"];
|
|
14564
14630
|
function EmptyStateBody(props) {
|
|
14631
|
+
var _ref$current, _ref$current$parentNo;
|
|
14565
14632
|
var Placeholder = props.emptyState,
|
|
14566
14633
|
isReady = props.isReady,
|
|
14567
14634
|
reason = props.reason,
|
|
14568
14635
|
attributes = _objectWithoutPropertiesLoose(props, _excluded$12);
|
|
14636
|
+
var ref = React__default.useRef(null);
|
|
14569
14637
|
if (!isReady) {
|
|
14570
14638
|
return /*#__PURE__*/React__default.createElement("tbody", Object.assign({}, attributes, {
|
|
14571
14639
|
className: "!auto-rows-fr"
|
|
14572
14640
|
}));
|
|
14573
14641
|
}
|
|
14574
14642
|
return /*#__PURE__*/React__default.createElement("tbody", Object.assign({}, attributes, {
|
|
14575
|
-
|
|
14643
|
+
ref: ref,
|
|
14644
|
+
className: "!auto-rows-fr",
|
|
14645
|
+
"data-taco": "empty-state"
|
|
14576
14646
|
}), /*#__PURE__*/React__default.createElement("tr", {
|
|
14577
|
-
className: "!auto-rows-fr"
|
|
14647
|
+
className: "!auto-rows-fr "
|
|
14578
14648
|
}, /*#__PURE__*/React__default.createElement("td", {
|
|
14649
|
+
style: {
|
|
14650
|
+
maxWidth: ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : (_ref$current$parentNo = _ref$current.parentNode) === null || _ref$current$parentNo === void 0 ? void 0 : _ref$current$parentNo.clientWidth
|
|
14651
|
+
},
|
|
14579
14652
|
className: "col-span-full !border-0 !p-0 hover:!bg-white"
|
|
14580
14653
|
}, Placeholder ? /*#__PURE__*/React__default.createElement(Placeholder, {
|
|
14581
14654
|
reason: reason
|
|
@@ -16359,7 +16432,7 @@ var BubbleSelect = function BubbleSelect(props) {
|
|
|
16359
16432
|
if (prevValue !== value && setValue) {
|
|
16360
16433
|
if (Array.isArray(value)) {
|
|
16361
16434
|
value.forEach(function (v) {
|
|
16362
|
-
var option = select.querySelector("option[value='" + v + "']");
|
|
16435
|
+
var option = select.querySelector("option[value='" + CSS.escape(v) + "']");
|
|
16363
16436
|
if (option) {
|
|
16364
16437
|
option.selected = true;
|
|
16365
16438
|
}
|
|
@@ -19541,16 +19614,13 @@ function isTableScrolled(ref) {
|
|
|
19541
19614
|
function useTableEditingListener(table, tableRef, scrollToIndex) {
|
|
19542
19615
|
var tableMeta = table.options.meta;
|
|
19543
19616
|
var localization = useLocalization();
|
|
19544
|
-
// save when the row changes
|
|
19545
|
-
// store the last row active index, otherwise everytime tableMeta.editing.saveChanges changes the hook runs again
|
|
19546
|
-
var lastRowActiveIndexRef = React__default.useRef(tableMeta.rowActive.rowActiveIndex);
|
|
19547
19617
|
useLazyEffect(function () {
|
|
19548
|
-
|
|
19549
|
-
|
|
19550
|
-
|
|
19551
|
-
tableMeta.editing.saveChanges(table);
|
|
19618
|
+
return function () {
|
|
19619
|
+
if (tableMeta.editing.isEditing && tableMeta.rowActive.rowActiveIndex !== undefined) {
|
|
19620
|
+
var _table$getRowModel$ro;
|
|
19621
|
+
tableMeta.editing.saveChanges(table, (_table$getRowModel$ro = table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex]) === null || _table$getRowModel$ro === void 0 ? void 0 : _table$getRowModel$ro.id);
|
|
19552
19622
|
}
|
|
19553
|
-
}
|
|
19623
|
+
};
|
|
19554
19624
|
}, [tableMeta.rowActive.rowActiveIndex]);
|
|
19555
19625
|
// show a warning if the user navigates away without triggering save, such as using the browser back/forward button
|
|
19556
19626
|
var hasChanges = tableMeta.editing.hasChanges();
|
|
@@ -19689,7 +19759,6 @@ function reducer$2(state, action) {
|
|
|
19689
19759
|
rows: omit(state.changes.rows, rowId),
|
|
19690
19760
|
errors: omit(state.changes.errors, rowId),
|
|
19691
19761
|
moveReasons: omit(state.changes.moveReasons, rowId),
|
|
19692
|
-
originals: omit(state.changes.originals, rowId),
|
|
19693
19762
|
status: omit(state.changes.status, rowId)
|
|
19694
19763
|
}),
|
|
19695
19764
|
indexes: omit(state.indexes, rowId),
|
|
@@ -19766,8 +19835,13 @@ function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, v
|
|
|
19766
19835
|
if (status === 'saving' || status === 'errored') {
|
|
19767
19836
|
return;
|
|
19768
19837
|
}
|
|
19769
|
-
setRowStatus(rowId, 'saving');
|
|
19770
19838
|
var changeSet = _extends({}, state.changes.originals[rowId], changes[rowId]);
|
|
19839
|
+
// there are no changes to save, just go ahead and skip the save
|
|
19840
|
+
if (!Object.keys(changeSet).length) {
|
|
19841
|
+
_exit = true;
|
|
19842
|
+
return true;
|
|
19843
|
+
}
|
|
19844
|
+
setRowStatus(rowId, 'saving');
|
|
19771
19845
|
// if we had to create a temporary id, delete it first - it's our data, not theirs
|
|
19772
19846
|
if (isTemporaryRow(changeSet[rowIdentityAccessor])) {
|
|
19773
19847
|
delete changeSet[rowIdentityAccessor];
|
|
@@ -19829,11 +19903,12 @@ function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, v
|
|
|
19829
19903
|
return Promise.reject(e);
|
|
19830
19904
|
}
|
|
19831
19905
|
};
|
|
19832
|
-
var onCellChanged = function onCellChanged(cell, rowIndex, shouldRunUpdaters) {
|
|
19906
|
+
var onCellChanged = function onCellChanged(cell, rowIndex, nextValue, shouldRunUpdaters) {
|
|
19833
19907
|
if (shouldRunUpdaters === void 0) {
|
|
19834
19908
|
shouldRunUpdaters = true;
|
|
19835
19909
|
}
|
|
19836
19910
|
try {
|
|
19911
|
+
var _extends3;
|
|
19837
19912
|
var _temp4 = function _temp4() {
|
|
19838
19913
|
var _state$changes$errors11;
|
|
19839
19914
|
function _temp2() {
|
|
@@ -19874,7 +19949,7 @@ function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, v
|
|
|
19874
19949
|
});
|
|
19875
19950
|
}
|
|
19876
19951
|
// create a projection of the next state, so we can act against it
|
|
19877
|
-
var nextChanges = _extends({},
|
|
19952
|
+
var nextChanges = _extends({}, changes, updatesForOtherCells);
|
|
19878
19953
|
var nextMoveReasons = _extends({}, state.changes.moveReasons[cell.row.id]);
|
|
19879
19954
|
var nextCellErrors = _extends({}, (_state$changes$errors11 = state.changes.errors[cell.row.id]) === null || _state$changes$errors11 === void 0 ? void 0 : _state$changes$errors11.cells);
|
|
19880
19955
|
// run validation
|
|
@@ -19889,8 +19964,8 @@ function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, v
|
|
|
19889
19964
|
}();
|
|
19890
19965
|
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
|
19891
19966
|
};
|
|
19892
|
-
var changes = state.changes.rows[cell.row.id];
|
|
19893
|
-
if (!changes) {
|
|
19967
|
+
var changes = nextValue !== undefined ? _extends({}, state.changes.rows[cell.row.id], (_extends3 = {}, _extends3[cell.column.id] = nextValue, _extends3)) : _extends({}, state.changes.rows[cell.row.id]);
|
|
19968
|
+
if (!Object.keys(changes).length) {
|
|
19894
19969
|
return Promise.resolve();
|
|
19895
19970
|
}
|
|
19896
19971
|
var updatesForOtherCells = {};
|
|
@@ -20074,30 +20149,44 @@ function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, v
|
|
|
20074
20149
|
function useTableEditing(isEnabled, handleSave, handleChange, handleCreate, rowIdentityAccessor, validator) {
|
|
20075
20150
|
var createRow = function createRow(table, scrollToIndex, row) {
|
|
20076
20151
|
try {
|
|
20077
|
-
|
|
20078
|
-
|
|
20079
|
-
}
|
|
20080
|
-
var tableMeta = table.options.meta;
|
|
20081
|
-
return Promise.resolve(tableMeta.editing.saveChanges(table)).then(function (saved) {
|
|
20082
|
-
if (!saved) {
|
|
20083
|
-
return;
|
|
20084
|
-
}
|
|
20152
|
+
var _temp2 = function _temp2(_result) {
|
|
20153
|
+
if (_exit) return _result;
|
|
20085
20154
|
var changeset = row !== null && row !== void 0 ? row : handleCreate();
|
|
20086
20155
|
try {
|
|
20087
20156
|
if (changeset) {
|
|
20088
|
-
// set the active row to the new row before toggling editing on
|
|
20089
20157
|
var temporaryRows = tableMeta.editing.temporaryRows;
|
|
20090
20158
|
var nextRowIndex = temporaryRows.length ? tableMeta.length + 1 : tableMeta.length;
|
|
20091
|
-
var
|
|
20092
|
-
|
|
20093
|
-
tableMeta.rowActive.setRowActiveIndex(nextRowIndex);
|
|
20094
|
-
toggleEditing(true, table, scrollToIndex);
|
|
20159
|
+
var newRowId = pendingChangesFns.insertTemporaryRow(changeset, nextRowIndex);
|
|
20160
|
+
// reset before changing row otherwise the cell changes and validation might run
|
|
20095
20161
|
setLastFocusedCellIndex(undefined);
|
|
20162
|
+
// set the active row to the new row before toggling editing on
|
|
20163
|
+
tableMeta.rowActive.setRowActiveIndex(nextRowIndex);
|
|
20164
|
+
// wait until set states have run
|
|
20165
|
+
requestAnimationFrame(function () {
|
|
20166
|
+
toggleEditing(true, table, scrollToIndex, false);
|
|
20167
|
+
table.getRow(newRowId).pin('bottom');
|
|
20168
|
+
});
|
|
20096
20169
|
}
|
|
20097
20170
|
} catch (error) {
|
|
20098
20171
|
console.error(error);
|
|
20099
20172
|
}
|
|
20100
|
-
}
|
|
20173
|
+
};
|
|
20174
|
+
var _exit = false;
|
|
20175
|
+
if (!handleCreate) {
|
|
20176
|
+
return Promise.resolve();
|
|
20177
|
+
}
|
|
20178
|
+
var tableMeta = table.options.meta;
|
|
20179
|
+
var _temp = function () {
|
|
20180
|
+
if (tableMeta.rowActive.rowActiveIndex !== undefined) {
|
|
20181
|
+
var _table$getRowModel$ro2;
|
|
20182
|
+
return Promise.resolve(tableMeta.editing.saveChanges(table, (_table$getRowModel$ro2 = table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex]) === null || _table$getRowModel$ro2 === void 0 ? void 0 : _table$getRowModel$ro2.id)).then(function (saved) {
|
|
20183
|
+
if (!saved) {
|
|
20184
|
+
_exit = true;
|
|
20185
|
+
}
|
|
20186
|
+
});
|
|
20187
|
+
}
|
|
20188
|
+
}();
|
|
20189
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
|
20101
20190
|
} catch (e) {
|
|
20102
20191
|
return Promise.reject(e);
|
|
20103
20192
|
}
|
|
@@ -20120,27 +20209,30 @@ function useTableEditing(isEnabled, handleSave, handleChange, handleCreate, rowI
|
|
|
20120
20209
|
lastFocusedCellIndex = _React$useState3[0],
|
|
20121
20210
|
setLastFocusedCellIndex = _React$useState3[1];
|
|
20122
20211
|
var pendingChangesFns = usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, validator);
|
|
20123
|
-
function toggleEditing(enabled, table, scrollToIndex) {
|
|
20124
|
-
|
|
20212
|
+
function toggleEditing(enabled, table, scrollToIndex, doSave) {
|
|
20213
|
+
if (doSave === void 0) {
|
|
20214
|
+
doSave = true;
|
|
20215
|
+
}
|
|
20216
|
+
var tableMeta = table.options.meta;
|
|
20125
20217
|
if (!enabled) {
|
|
20218
|
+
var _tableMeta$rowActive$, _table$getRowModel$ro;
|
|
20126
20219
|
// save
|
|
20127
|
-
|
|
20220
|
+
if (doSave) {
|
|
20221
|
+
pendingChangesFns.saveChanges(table);
|
|
20222
|
+
}
|
|
20128
20223
|
// reset detailed mode
|
|
20129
20224
|
toggleDetailedMode(false);
|
|
20130
20225
|
// reset the last index back to the first focusable element, when editing gets turned off
|
|
20131
20226
|
setLastFocusedCellIndex(undefined);
|
|
20132
|
-
|
|
20133
|
-
|
|
20134
|
-
|
|
20135
|
-
|
|
20136
|
-
|
|
20227
|
+
var index = (_tableMeta$rowActive$ = tableMeta.rowActive.rowActiveIndex) !== null && _tableMeta$rowActive$ !== void 0 ? _tableMeta$rowActive$ : 0;
|
|
20228
|
+
if (tableMeta.rowActive.rowActiveIndex === undefined) {
|
|
20229
|
+
tableMeta.rowActive.setRowActiveIndex(index);
|
|
20230
|
+
}
|
|
20231
|
+
if (!isTemporaryRow((_table$getRowModel$ro = table.getRowModel().rows[index]) === null || _table$getRowModel$ro === void 0 ? void 0 : _table$getRowModel$ro.id)) {
|
|
20232
|
+
scrollToIndex(index);
|
|
20233
|
+
}
|
|
20137
20234
|
}
|
|
20138
20235
|
setEditing(enabled);
|
|
20139
|
-
var row = (_table$getRowModel$ro = table.getRowModel().rows[index]) === null || _table$getRowModel$ro === void 0 ? void 0 : _table$getRowModel$ro.id;
|
|
20140
|
-
if (row && !isTemporaryRow(row)) {
|
|
20141
|
-
console.log('hmm');
|
|
20142
|
-
scrollToIndex(index);
|
|
20143
|
-
}
|
|
20144
20236
|
}
|
|
20145
20237
|
return _extends({
|
|
20146
20238
|
isEnabled: isEnabled,
|
|
@@ -20405,13 +20497,13 @@ function EditingControlCell(props) {
|
|
|
20405
20497
|
if (nextValue !== value) {
|
|
20406
20498
|
tableMeta.editing.setCellValue(cell, rowIndex, nextValue);
|
|
20407
20499
|
if (hasNonTextControl) {
|
|
20408
|
-
tableMeta.editing.onCellChanged(cell, rowIndex);
|
|
20500
|
+
tableMeta.editing.onCellChanged(cell, rowIndex, nextValue);
|
|
20409
20501
|
}
|
|
20410
20502
|
}
|
|
20411
20503
|
};
|
|
20412
20504
|
var handleBlur = function handleBlur() {
|
|
20413
20505
|
tableMeta.editing.toggleDetailedMode(false);
|
|
20414
|
-
tableMeta.editing.onCellChanged(cell, rowIndex, !hasNonTextControl);
|
|
20506
|
+
tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl);
|
|
20415
20507
|
};
|
|
20416
20508
|
// ensure that blur runs when the cell gets unmounted (when vertically arrow key navigating)
|
|
20417
20509
|
React__default.useEffect(function () {
|
|
@@ -20912,7 +21004,11 @@ function Alert$1(props) {
|
|
|
20912
21004
|
var visibleColumns = table.getVisibleFlatColumns().map(function (c) {
|
|
20913
21005
|
return c.id;
|
|
20914
21006
|
});
|
|
20915
|
-
var rowIdentityColumn = tableMeta.rowIdentityAccessor && visibleColumns.includes(String(tableMeta.rowIdentityAccessor)) ?
|
|
21007
|
+
var rowIdentityColumn = tableMeta.rowIdentityAccessor && visibleColumns.includes(String(tableMeta.rowIdentityAccessor)) ?
|
|
21008
|
+
// table.getColumn(columName) throw error in strict dev mode. Related thread: https://github.com/TanStack/table/discussions/5505
|
|
21009
|
+
table.getAllColumns().find(function (x) {
|
|
21010
|
+
return x.id === String(tableMeta.rowIdentityAccessor);
|
|
21011
|
+
}) : undefined;
|
|
20916
21012
|
pendingChangesWithErrors.forEach(function (pendingChangeWithError, index) {
|
|
20917
21013
|
var _row;
|
|
20918
21014
|
// if appropriate, concatenate the item with the text "and"
|