@economic/taco 2.34.1 → 2.35.0
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/Drawer/Context.d.ts +1 -0
- package/dist/components/Drawer/Drawer.d.ts +6 -0
- package/dist/components/Provider/Localization.d.ts +1 -0
- package/dist/components/Select2/Select2.d.ts +25 -4
- package/dist/esm/index.css +4 -0
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js +13 -3
- package/dist/esm/packages/taco/src/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/Context.js +1 -0
- package/dist/esm/packages/taco/src/components/Drawer/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/Drawer.js +3 -1
- package/dist/esm/packages/taco/src/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +41 -8
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/util.js +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/List/components/Toggle.js +26 -15
- package/dist/esm/packages/taco/src/components/List/components/Toggle.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +2 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +48 -10
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js +2 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js +2 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/util.js +12 -5
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/util.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js +9 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js +3 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js +3 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js +0 -4
- package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js +3 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js.map +1 -1
- package/dist/index.css +4 -0
- package/dist/primitives/Table/Core/components/Body/util.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.d.ts +1 -1
- package/dist/taco.cjs.development.js +164 -62
- 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/package.json +2 -2
|
@@ -4747,7 +4747,8 @@ const defaultLocalisationTexts = {
|
|
|
4747
4747
|
open: 'Open'
|
|
4748
4748
|
},
|
|
4749
4749
|
drawer: {
|
|
4750
|
-
close: 'Close'
|
|
4750
|
+
close: 'Close',
|
|
4751
|
+
back: 'Back'
|
|
4751
4752
|
}
|
|
4752
4753
|
};
|
|
4753
4754
|
const defaultLocalizationContext = {
|
|
@@ -6402,6 +6403,13 @@ const Datepicker = /*#__PURE__*/React.forwardRef(function Datepicker(props, ref)
|
|
|
6402
6403
|
texts
|
|
6403
6404
|
} = useLocalization();
|
|
6404
6405
|
const className = cn('inline-flex w-full text-black font-normal', externalClassName);
|
|
6406
|
+
const popoverContentRef = React.useRef(null);
|
|
6407
|
+
const handleOpenAutofocus = React.useCallback(e => {
|
|
6408
|
+
var _popoverContentRef$cu, _popoverContentRef$cu2;
|
|
6409
|
+
e.preventDefault();
|
|
6410
|
+
const currentDay = (_popoverContentRef$cu = popoverContentRef === null || popoverContentRef === void 0 ? void 0 : (_popoverContentRef$cu2 = popoverContentRef.current) === null || _popoverContentRef$cu2 === void 0 ? void 0 : _popoverContentRef$cu2.querySelector('table button[name="day"][aria-selected="true"]')) !== null && _popoverContentRef$cu !== void 0 ? _popoverContentRef$cu : null;
|
|
6411
|
+
currentDay === null || currentDay === void 0 ? void 0 : currentDay.focus();
|
|
6412
|
+
}, [popoverContentRef]);
|
|
6405
6413
|
return /*#__PURE__*/React.createElement("span", {
|
|
6406
6414
|
className: className,
|
|
6407
6415
|
"data-taco": "datepicker",
|
|
@@ -6412,10 +6420,13 @@ const Datepicker = /*#__PURE__*/React.forwardRef(function Datepicker(props, ref)
|
|
|
6412
6420
|
disabled: input.disabled || input.readOnly,
|
|
6413
6421
|
icon: "calendar",
|
|
6414
6422
|
tabIndex: -1,
|
|
6415
|
-
popover: props => ( /*#__PURE__*/React.createElement(Popover, Object.assign({}, props), /*#__PURE__*/React.createElement(Popover.Content,
|
|
6423
|
+
popover: props => ( /*#__PURE__*/React.createElement(Popover, Object.assign({}, props), /*#__PURE__*/React.createElement(Popover.Content, {
|
|
6424
|
+
onOpenAutoFocus: handleOpenAutofocus
|
|
6425
|
+
}, ({
|
|
6416
6426
|
close
|
|
6417
6427
|
}) => ( /*#__PURE__*/React.createElement("div", {
|
|
6418
|
-
className: "-m-3 flex
|
|
6428
|
+
className: '[&_button[name="day"]:focus]:yt-focus -m-3 flex',
|
|
6429
|
+
ref: popoverContentRef
|
|
6419
6430
|
}, /*#__PURE__*/React.createElement(Calendar$1, Object.assign({}, calendar, {
|
|
6420
6431
|
onChange: (date, event) => {
|
|
6421
6432
|
calendar.onChange(date, event);
|
|
@@ -6772,6 +6783,7 @@ const useCurrentMenu = () => {
|
|
|
6772
6783
|
const DrawerContext = /*#__PURE__*/React.createContext({
|
|
6773
6784
|
closeOnEscape: true,
|
|
6774
6785
|
showCloseButton: true,
|
|
6786
|
+
onClickBack: () => {},
|
|
6775
6787
|
onClose: () => {},
|
|
6776
6788
|
onResize: () => {},
|
|
6777
6789
|
props: {},
|
|
@@ -6803,7 +6815,7 @@ const getDrawerContentClassNames = (size, variant, open) => {
|
|
|
6803
6815
|
const getDrawerContainerClassNames = variant => {
|
|
6804
6816
|
return cn('bg-white mx-auto absolute h-full w-full flex flex-col ', {
|
|
6805
6817
|
'shadow-[0_6px_9px_0_rgba(89,85,98,0.3),0_0_1px_0_rgba(89,85,98,0.2)]': variant === 'overlay',
|
|
6806
|
-
'border-l border-grey h-full': variant === 'embedded'
|
|
6818
|
+
'border-l border-grey-300 h-full': variant === 'embedded'
|
|
6807
6819
|
});
|
|
6808
6820
|
};
|
|
6809
6821
|
const getDrawerDragHandlerClassNames = () => {
|
|
@@ -6869,24 +6881,55 @@ const RenderPropWrapper$2 = /*#__PURE__*/React__default.forwardRef(function Rend
|
|
|
6869
6881
|
...renderProps
|
|
6870
6882
|
});
|
|
6871
6883
|
});
|
|
6872
|
-
const Title$2 = /*#__PURE__*/React__default.forwardRef(function DrawerTitle(props,
|
|
6884
|
+
const Title$2 = /*#__PURE__*/React__default.forwardRef(function DrawerTitle(props, externalRef) {
|
|
6873
6885
|
const {
|
|
6874
6886
|
className,
|
|
6875
6887
|
children,
|
|
6876
6888
|
...otherProps
|
|
6877
6889
|
} = props;
|
|
6890
|
+
const ref = useMergedRef(externalRef);
|
|
6891
|
+
const [style, setStyle] = React__default.useState({});
|
|
6892
|
+
const {
|
|
6893
|
+
texts
|
|
6894
|
+
} = useLocalization();
|
|
6895
|
+
const {
|
|
6896
|
+
onClickBack
|
|
6897
|
+
} = useCurrentDrawer();
|
|
6878
6898
|
/**
|
|
6879
6899
|
* By design in default drawer version Title has grey separator, but we might have exceptions like Drawer + Tabs scenario,
|
|
6880
|
-
* where we might want to hide the grey separator. For this reason separator was
|
|
6881
|
-
* so it can be easily overriden in exceptional
|
|
6900
|
+
* where we might want to hide the grey separator. For this reason separator was rendered with using of classNames,
|
|
6901
|
+
* so it can be easily overriden in exceptional scenarios.
|
|
6882
6902
|
* */
|
|
6883
|
-
const cName = cn('grow-0 py-4
|
|
6903
|
+
const cName = cn('grow-0 py-4 px-4 justify-self-start mb-0 border-b-[1px] border-grey-300 flex items-start', className);
|
|
6904
|
+
React__default.useEffect(() => {
|
|
6905
|
+
var _ref$current, _drawer$querySelector, _closeButton$offsetWi, _drawer$querySelector2, _actionsWrapper$offse;
|
|
6906
|
+
const drawer = ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.closest('[data-taco="drawer"]');
|
|
6907
|
+
// This is the margin amount that we need to deduct from the margins to align with the design
|
|
6908
|
+
const marginAdjust = 4;
|
|
6909
|
+
const closeButton = (_drawer$querySelector = drawer === null || drawer === void 0 ? void 0 : drawer.querySelector(`[aria-label="${texts.drawer.close}"]`)) !== null && _drawer$querySelector !== void 0 ? _drawer$querySelector : null;
|
|
6910
|
+
const closeButtonWidth = (_closeButton$offsetWi = closeButton === null || closeButton === void 0 ? void 0 : closeButton.offsetWidth) !== null && _closeButton$offsetWi !== void 0 ? _closeButton$offsetWi : 0;
|
|
6911
|
+
const closeButtonRightMargin = 8;
|
|
6912
|
+
const actionsWrapper = (_drawer$querySelector2 = drawer === null || drawer === void 0 ? void 0 : drawer.querySelector(`#taco-drawer-actions[data-taco="group"]`)) !== null && _drawer$querySelector2 !== void 0 ? _drawer$querySelector2 : null;
|
|
6913
|
+
const actionsWrapperWidth = (_actionsWrapper$offse = actionsWrapper === null || actionsWrapper === void 0 ? void 0 : actionsWrapper.offsetWidth) !== null && _actionsWrapper$offse !== void 0 ? _actionsWrapper$offse : 0;
|
|
6914
|
+
const actionsWrapperRightMargin = 8;
|
|
6915
|
+
const marginRight = closeButtonWidth + actionsWrapperWidth + closeButtonRightMargin + actionsWrapperRightMargin - marginAdjust;
|
|
6916
|
+
setStyle({
|
|
6917
|
+
marginRight
|
|
6918
|
+
});
|
|
6919
|
+
}, [ref, texts.drawer.close]);
|
|
6884
6920
|
return /*#__PURE__*/React__default.createElement(DialogPrimitive.Title, Object.assign({
|
|
6885
6921
|
className: cName
|
|
6886
6922
|
}, otherProps, {
|
|
6887
6923
|
ref: ref
|
|
6888
|
-
}), /*#__PURE__*/React__default.createElement(
|
|
6889
|
-
|
|
6924
|
+
}), onClickBack ? ( /*#__PURE__*/React__default.createElement(IconButton, {
|
|
6925
|
+
appearance: "discrete",
|
|
6926
|
+
"aria-label": texts.drawer.back,
|
|
6927
|
+
className: "mr-3 text-base",
|
|
6928
|
+
icon: "chevron-left",
|
|
6929
|
+
onClick: onClickBack
|
|
6930
|
+
})) : null, /*#__PURE__*/React__default.createElement("span", {
|
|
6931
|
+
className: "line-clamp-2 inline-block overflow-y-hidden",
|
|
6932
|
+
style: style
|
|
6890
6933
|
}, children));
|
|
6891
6934
|
});
|
|
6892
6935
|
const Footer$2 = /*#__PURE__*/React__default.forwardRef(function DrawerFooter(props, ref) {
|
|
@@ -6909,8 +6952,10 @@ const Actions = /*#__PURE__*/React__default.forwardRef(function Actions(props, r
|
|
|
6909
6952
|
...otherProps
|
|
6910
6953
|
} = props;
|
|
6911
6954
|
const cName = cn('absolute top-0 right-10 mr-[8px] mt-4', className);
|
|
6955
|
+
// Id is added to identify the actions wrapper inside a useEffect in Dialog.Title
|
|
6912
6956
|
return /*#__PURE__*/React__default.createElement(Group, Object.assign({}, otherProps, {
|
|
6913
6957
|
className: cName,
|
|
6958
|
+
id: "taco-drawer-actions",
|
|
6914
6959
|
ref: ref
|
|
6915
6960
|
}));
|
|
6916
6961
|
});
|
|
@@ -7024,8 +7069,8 @@ const DrawerContent = /*#__PURE__*/React__default.forwardRef(function Content(pr
|
|
|
7024
7069
|
};
|
|
7025
7070
|
}, [size, variant, open]);
|
|
7026
7071
|
const handleEscapeKeyDown = event => {
|
|
7027
|
-
var _ref$
|
|
7028
|
-
const isTargetInsideDrawerContent = (_ref$
|
|
7072
|
+
var _ref$current2;
|
|
7073
|
+
const isTargetInsideDrawerContent = (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.contains(event.target);
|
|
7029
7074
|
if (isTargetInsideDrawerContent) {
|
|
7030
7075
|
if (!closeOnEscape) {
|
|
7031
7076
|
event.preventDefault();
|
|
@@ -7155,6 +7200,7 @@ const Drawer = /*#__PURE__*/React.forwardRef(function Drawer(props, ref) {
|
|
|
7155
7200
|
closeOnEscape = true,
|
|
7156
7201
|
onResize,
|
|
7157
7202
|
onClose,
|
|
7203
|
+
onClickBack,
|
|
7158
7204
|
size = 'md',
|
|
7159
7205
|
trigger,
|
|
7160
7206
|
children,
|
|
@@ -7171,6 +7217,7 @@ const Drawer = /*#__PURE__*/React.forwardRef(function Drawer(props, ref) {
|
|
|
7171
7217
|
const [outlet, setOutlet] = React.useState();
|
|
7172
7218
|
const context = React.useMemo(() => ({
|
|
7173
7219
|
closeOnEscape,
|
|
7220
|
+
onClickBack,
|
|
7174
7221
|
onClose,
|
|
7175
7222
|
onResize,
|
|
7176
7223
|
props: otherProps,
|
|
@@ -7182,7 +7229,7 @@ const Drawer = /*#__PURE__*/React.forwardRef(function Drawer(props, ref) {
|
|
|
7182
7229
|
focusTrap,
|
|
7183
7230
|
showCloseButton,
|
|
7184
7231
|
outlet
|
|
7185
|
-
}), [closeOnEscape, open, setOpen, otherProps, variant, onResize, onClose, size, focusTrap, showCloseButton, outlet]);
|
|
7232
|
+
}), [closeOnEscape, open, setOpen, otherProps, variant, onResize, onClose, size, focusTrap, showCloseButton, outlet, onClickBack]);
|
|
7186
7233
|
// this prevents two drawers being open at once and used when one drawer getting opened before another one got closed.
|
|
7187
7234
|
const close = React.useCallback(() => {
|
|
7188
7235
|
setOpen(false);
|
|
@@ -7546,6 +7593,7 @@ Switch.displayName = 'Switch';
|
|
|
7546
7593
|
const ToggleItem = /*#__PURE__*/React__default.forwardRef(function Toggle(props, ref) {
|
|
7547
7594
|
const {
|
|
7548
7595
|
controlRef,
|
|
7596
|
+
onToggle,
|
|
7549
7597
|
...attributes
|
|
7550
7598
|
} = props;
|
|
7551
7599
|
function handleClick(event) {
|
|
@@ -7556,25 +7604,23 @@ const ToggleItem = /*#__PURE__*/React__default.forwardRef(function Toggle(props,
|
|
|
7556
7604
|
if (event.isDefaultPrevented()) {
|
|
7557
7605
|
return;
|
|
7558
7606
|
}
|
|
7559
|
-
// If event target is not a control
|
|
7560
|
-
if (event.target !== controlRef.current
|
|
7561
|
-
|
|
7562
|
-
(_controlRef$current2 = controlRef.current) === null || _controlRef$current2 === void 0 ? void 0 : _controlRef$current2.click();
|
|
7607
|
+
// If event target is not a control and not an element inside the control, then trigger click of the control
|
|
7608
|
+
if (event.target !== controlRef.current && !((_controlRef$current = controlRef.current) !== null && _controlRef$current !== void 0 && _controlRef$current.contains(event.target))) {
|
|
7609
|
+
onToggle();
|
|
7563
7610
|
return;
|
|
7564
7611
|
}
|
|
7565
7612
|
}
|
|
7566
7613
|
function handleKeyDown(event) {
|
|
7567
|
-
var _controlRef$
|
|
7614
|
+
var _controlRef$current2;
|
|
7568
7615
|
if (typeof props.onKeyDown === 'function') {
|
|
7569
7616
|
props.onKeyDown(event);
|
|
7570
7617
|
}
|
|
7571
7618
|
if (event.isDefaultPrevented()) {
|
|
7572
7619
|
return;
|
|
7573
7620
|
}
|
|
7574
|
-
// If event target is not a control
|
|
7575
|
-
if ((event.key === 'Enter' || event.key === ' ') &&
|
|
7576
|
-
|
|
7577
|
-
(_controlRef$current4 = controlRef.current) === null || _controlRef$current4 === void 0 ? void 0 : _controlRef$current4.click();
|
|
7621
|
+
// If event target is not a control and not an element inside the control, then send appropriate "activate" keyboard shortcuts to the control as a click
|
|
7622
|
+
if ((event.key === 'Enter' || event.key === ' ') && event.target !== controlRef.current && !((_controlRef$current2 = controlRef.current) !== null && _controlRef$current2 !== void 0 && _controlRef$current2.contains(event.target))) {
|
|
7623
|
+
onToggle();
|
|
7578
7624
|
return;
|
|
7579
7625
|
}
|
|
7580
7626
|
}
|
|
@@ -7588,44 +7634,56 @@ const ToggleItem = /*#__PURE__*/React__default.forwardRef(function Toggle(props,
|
|
|
7588
7634
|
});
|
|
7589
7635
|
const Switch$1 = /*#__PURE__*/React__default.forwardRef(function Switch$1(props, ref) {
|
|
7590
7636
|
const {
|
|
7591
|
-
checked,
|
|
7637
|
+
checked: externalChecked,
|
|
7592
7638
|
onChange,
|
|
7593
7639
|
...attributes
|
|
7594
7640
|
} = props;
|
|
7641
|
+
const [checked, setChecked] = React__default.useState(externalChecked);
|
|
7595
7642
|
const switchRef = React__default.useRef(null);
|
|
7643
|
+
const toggle = React__default.useCallback(() => {
|
|
7644
|
+
setChecked(!checked);
|
|
7645
|
+
onChange(!checked);
|
|
7646
|
+
}, [checked, onChange]);
|
|
7596
7647
|
const control = /*#__PURE__*/React__default.createElement(Switch, {
|
|
7597
7648
|
checked: checked,
|
|
7598
7649
|
className: "group-hover/toggle:[&[aria-checked=false]]:bg-grey-700 group-hover/toggle:[&[aria-checked=true]]:bg-blue-700",
|
|
7599
7650
|
disabled: props.disabled,
|
|
7600
|
-
onChange:
|
|
7651
|
+
onChange: toggle,
|
|
7601
7652
|
ref: switchRef,
|
|
7602
7653
|
tabIndex: -1
|
|
7603
7654
|
});
|
|
7604
7655
|
return /*#__PURE__*/React__default.createElement(ToggleItem, Object.assign({}, attributes, {
|
|
7605
7656
|
control: control,
|
|
7606
7657
|
controlRef: switchRef,
|
|
7607
|
-
ref: ref
|
|
7658
|
+
ref: ref,
|
|
7659
|
+
onToggle: toggle
|
|
7608
7660
|
}));
|
|
7609
7661
|
});
|
|
7610
7662
|
const Checkbox$1 = /*#__PURE__*/React__default.forwardRef(function Switch(props, ref) {
|
|
7611
7663
|
const {
|
|
7612
|
-
checked,
|
|
7664
|
+
checked: externalChecked,
|
|
7613
7665
|
onChange,
|
|
7614
7666
|
...attributes
|
|
7615
7667
|
} = props;
|
|
7668
|
+
const [checked, setChecked] = React__default.useState(externalChecked);
|
|
7616
7669
|
const checkboxRef = React__default.useRef(null);
|
|
7670
|
+
const toggle = React__default.useCallback(() => {
|
|
7671
|
+
setChecked(!checked);
|
|
7672
|
+
onChange(!checked);
|
|
7673
|
+
}, [checked, onChange]);
|
|
7617
7674
|
const control = /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
7618
7675
|
checked: checked,
|
|
7619
7676
|
className: "group-hover/toggle:[&[aria-checked=false]]:border-grey-700 group-hover/toggle:[&[aria-checked=true]]:border-blue-700 group-hover/checkbox:[&[aria-checked=true]]:bg-blue-700",
|
|
7620
7677
|
disabled: props.disabled,
|
|
7621
|
-
onChange:
|
|
7678
|
+
onChange: toggle,
|
|
7622
7679
|
ref: checkboxRef,
|
|
7623
7680
|
tabIndex: -1
|
|
7624
7681
|
});
|
|
7625
7682
|
return /*#__PURE__*/React__default.createElement(ToggleItem, Object.assign({}, attributes, {
|
|
7626
7683
|
control: control,
|
|
7627
7684
|
controlRef: checkboxRef,
|
|
7628
|
-
ref: ref
|
|
7685
|
+
ref: ref,
|
|
7686
|
+
onToggle: toggle
|
|
7629
7687
|
}));
|
|
7630
7688
|
});
|
|
7631
7689
|
|
|
@@ -10854,8 +10912,6 @@ function useTableDataLoader(fetchPage, fetchAll, options = {
|
|
|
10854
10912
|
// if a search is currently "active", we need to re load all because
|
|
10855
10913
|
const handleSort = function (sorting) {
|
|
10856
10914
|
try {
|
|
10857
|
-
// set the sorting so we can track if it changed between loads
|
|
10858
|
-
_lastUsedSorting.current = sorting;
|
|
10859
10915
|
if (_lastUsedSearch.current) {
|
|
10860
10916
|
// we're searching, which means we need to refetch all with the correct sorting applied
|
|
10861
10917
|
loadAll(sorting, _lastUsedFilters.current);
|
|
@@ -10870,8 +10926,6 @@ function useTableDataLoader(fetchPage, fetchAll, options = {
|
|
|
10870
10926
|
};
|
|
10871
10927
|
const handleFilter = function (filters) {
|
|
10872
10928
|
try {
|
|
10873
|
-
// set the filters so we can track if it changed between loads
|
|
10874
|
-
_lastUsedFilters.current = filters;
|
|
10875
10929
|
if (_lastUsedSearch.current) {
|
|
10876
10930
|
// we're searching, which means we need to refetch all with the correct sorting applied
|
|
10877
10931
|
loadAll(_lastUsedSorting.current, filters);
|
|
@@ -11163,8 +11217,8 @@ function resetHighlightedColumnIndexes(value, table) {
|
|
|
11163
11217
|
}
|
|
11164
11218
|
}
|
|
11165
11219
|
if (column.getIsVisible() && column.columnDef.enableGlobalFilter && allowSearch) {
|
|
11166
|
-
var
|
|
11167
|
-
const cellValue = getCellValueAsString((
|
|
11220
|
+
var _column$columnDef$met;
|
|
11221
|
+
const cellValue = getCellValueAsString(get(row.original, column.id), (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.dataType);
|
|
11168
11222
|
// indexes don't map to sorted data
|
|
11169
11223
|
if (cellValue !== undefined && isWeakContains(cellValue, value)) {
|
|
11170
11224
|
indexes.push([rowIndex, columnIndex]);
|
|
@@ -12955,7 +13009,15 @@ function HeaderMenu(props) {
|
|
|
12955
13009
|
icon: "more",
|
|
12956
13010
|
menu: popoverElement ? undefined : menuProps => ( /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, memoedMenuItems))),
|
|
12957
13011
|
popover: popoverElement,
|
|
12958
|
-
onClickCapture: event => event.preventDefault()
|
|
13012
|
+
onClickCapture: event => event.preventDefault(),
|
|
13013
|
+
onKeyDown: event => {
|
|
13014
|
+
// Removes focus from the column header menu button so that active row shortcuts execute when Tab,
|
|
13015
|
+
// Shift+Tab, or any other keydown event occurs.
|
|
13016
|
+
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
13017
|
+
var _event$currentTarget;
|
|
13018
|
+
(_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 ? void 0 : _event$currentTarget.blur();
|
|
13019
|
+
}
|
|
13020
|
+
}
|
|
12959
13021
|
});
|
|
12960
13022
|
}
|
|
12961
13023
|
|
|
@@ -13189,16 +13251,22 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
|
|
|
13189
13251
|
})) : null);
|
|
13190
13252
|
});
|
|
13191
13253
|
|
|
13192
|
-
const
|
|
13254
|
+
const FOCUS_MANAGER_OPTIONS_TAB = {
|
|
13193
13255
|
accept: element => !!element.closest('tr[data-row-active="true"]'),
|
|
13194
13256
|
tabbable: true
|
|
13195
13257
|
};
|
|
13258
|
+
const FOCUS_MANAGER_OPTIONS_ARROW_KEYS = {
|
|
13259
|
+
accept: element => {
|
|
13260
|
+
const acceptTabbable = isElementInteractive(element) ? element.getAttribute('tabindex') !== '-1' : true;
|
|
13261
|
+
return !!element.closest('tr[data-row-active="true"]') && !hasFocusableElement(element) && acceptTabbable;
|
|
13262
|
+
}
|
|
13263
|
+
};
|
|
13196
13264
|
function useAugmentedFocusManager() {
|
|
13197
13265
|
const focusManager = focus.useFocusManager();
|
|
13198
|
-
const focusPrevious = () => focusManager.focusPrevious(
|
|
13199
|
-
const focusNext = () => focusManager.focusNext(
|
|
13200
|
-
const focusFirst = () => focusManager.focusFirst(
|
|
13201
|
-
const focusLast = () => focusManager.focusLast(
|
|
13266
|
+
const focusPrevious = (arrowNavigation = false) => focusManager.focusPrevious(arrowNavigation ? FOCUS_MANAGER_OPTIONS_ARROW_KEYS : FOCUS_MANAGER_OPTIONS_TAB);
|
|
13267
|
+
const focusNext = (arrowNavigation = false) => focusManager.focusNext(arrowNavigation ? FOCUS_MANAGER_OPTIONS_ARROW_KEYS : FOCUS_MANAGER_OPTIONS_TAB);
|
|
13268
|
+
const focusFirst = () => focusManager.focusFirst(FOCUS_MANAGER_OPTIONS_TAB);
|
|
13269
|
+
const focusLast = () => focusManager.focusLast(FOCUS_MANAGER_OPTIONS_TAB);
|
|
13202
13270
|
return {
|
|
13203
13271
|
focusPrevious,
|
|
13204
13272
|
focusNext,
|
|
@@ -13234,10 +13302,10 @@ function Body(props) {
|
|
|
13234
13302
|
let focusedElement;
|
|
13235
13303
|
switch (event.key) {
|
|
13236
13304
|
case 'ArrowLeft':
|
|
13237
|
-
focusedElement = isMetaKeyPressed ? focusManager.focusFirst() : focusManager.focusPrevious();
|
|
13305
|
+
focusedElement = isMetaKeyPressed ? focusManager.focusFirst() : focusManager.focusPrevious(true);
|
|
13238
13306
|
break;
|
|
13239
13307
|
case 'ArrowRight':
|
|
13240
|
-
focusedElement = isMetaKeyPressed ? focusManager.focusLast() : focusManager.focusNext();
|
|
13308
|
+
focusedElement = isMetaKeyPressed ? focusManager.focusLast() : focusManager.focusNext(true);
|
|
13241
13309
|
// Scrolls table all the way to the right
|
|
13242
13310
|
if (isMetaKeyPressed && tableElement) {
|
|
13243
13311
|
tableElement.scrollLeft = tableElement.scrollWidth;
|
|
@@ -15242,6 +15310,9 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
|
15242
15310
|
name,
|
|
15243
15311
|
onChange,
|
|
15244
15312
|
onCreate,
|
|
15313
|
+
dialogTriggerTitle,
|
|
15314
|
+
dialogTriggerDisabled,
|
|
15315
|
+
dialog,
|
|
15245
15316
|
onDelete,
|
|
15246
15317
|
onEdit,
|
|
15247
15318
|
placeholder,
|
|
@@ -15311,6 +15382,9 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
|
15311
15382
|
listboxRef,
|
|
15312
15383
|
multiple,
|
|
15313
15384
|
onCreate,
|
|
15385
|
+
dialogTriggerTitle,
|
|
15386
|
+
dialogTriggerDisabled,
|
|
15387
|
+
dialog,
|
|
15314
15388
|
onDelete,
|
|
15315
15389
|
onEdit,
|
|
15316
15390
|
open,
|
|
@@ -15412,21 +15486,34 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
|
15412
15486
|
setValue(nextValue);
|
|
15413
15487
|
}
|
|
15414
15488
|
};
|
|
15489
|
+
const handleCreateInDialog = function (name, color) {
|
|
15490
|
+
try {
|
|
15491
|
+
const _temp2 = function () {
|
|
15492
|
+
if (onCreate && dialog) {
|
|
15493
|
+
const _temp = _catch(function () {
|
|
15494
|
+
return Promise.resolve(onCreate(name, color)).then(function (option) {
|
|
15495
|
+
setValue(option.value);
|
|
15496
|
+
// To avoid memory leak we should bind onClose of dialog with setOpen(false)
|
|
15497
|
+
setOpen(false);
|
|
15498
|
+
});
|
|
15499
|
+
}, function (err) {
|
|
15500
|
+
console.log(err);
|
|
15501
|
+
});
|
|
15502
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
|
15503
|
+
}
|
|
15504
|
+
}();
|
|
15505
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
15506
|
+
} catch (e) {
|
|
15507
|
+
return Promise.reject(e);
|
|
15508
|
+
}
|
|
15509
|
+
};
|
|
15415
15510
|
const className = cn('border-grey-300 rounded border bg-white py-1.5 shadow-md outline-none"', createCollectionClassName());
|
|
15416
15511
|
return /*#__PURE__*/React__default.createElement(Select2Context.Provider, {
|
|
15417
15512
|
value: context
|
|
15418
15513
|
}, /*#__PURE__*/React__default.createElement(PopoverPrimitive.Root, {
|
|
15419
15514
|
open: open,
|
|
15420
15515
|
onOpenChange: setOpen
|
|
15421
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
15422
|
-
emptyValue: emptyValue,
|
|
15423
|
-
multiple: multiple || tags,
|
|
15424
|
-
name: name,
|
|
15425
|
-
options: flattenedChildren.map(child => child.props.value),
|
|
15426
|
-
parentRef: internalRef,
|
|
15427
|
-
setValue: setValue,
|
|
15428
|
-
value: value
|
|
15429
|
-
}), /*#__PURE__*/React__default.createElement(PopoverPrimitive.Trigger, {
|
|
15516
|
+
}, /*#__PURE__*/React__default.createElement(PopoverPrimitive.Trigger, {
|
|
15430
15517
|
asChild: true,
|
|
15431
15518
|
"data-taco": "Select2"
|
|
15432
15519
|
}, /*#__PURE__*/React__default.createElement(Trigger$7, Object.assign({}, otherProps, {
|
|
@@ -15487,7 +15574,24 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
|
15487
15574
|
}, searchQuery === '' ? ( /*#__PURE__*/React__default.createElement(Collection$1, null, initialChildren)) : ( /*#__PURE__*/React__default.createElement(Collection$1, null, filteredChildren)), onCreate ? /*#__PURE__*/React__default.createElement(Create, {
|
|
15488
15575
|
onCreate: onCreate,
|
|
15489
15576
|
options: flattenedChildren
|
|
15490
|
-
}) : null))
|
|
15577
|
+
}) : null)), dialog && dialogTriggerTitle && ( /*#__PURE__*/React__default.createElement("span", {
|
|
15578
|
+
className: "border-grey-300 h-9 border-t p-1.5"
|
|
15579
|
+
}, /*#__PURE__*/React__default.createElement(Button$1, {
|
|
15580
|
+
appearance: "discrete",
|
|
15581
|
+
disabled: dialogTriggerDisabled,
|
|
15582
|
+
dialog: dialog(handleCreateInDialog)
|
|
15583
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
15584
|
+
className: "text-xs",
|
|
15585
|
+
name: "circle-plus"
|
|
15586
|
+
}), " ", dialogTriggerTitle)))))), /*#__PURE__*/React__default.createElement(ControlledHiddenField, {
|
|
15587
|
+
emptyValue: emptyValue,
|
|
15588
|
+
multiple: multiple || tags,
|
|
15589
|
+
name: name,
|
|
15590
|
+
options: flattenedChildren.map(child => child.props.value),
|
|
15591
|
+
parentRef: internalRef,
|
|
15592
|
+
setValue: setValue,
|
|
15593
|
+
value: value
|
|
15594
|
+
})));
|
|
15491
15595
|
});
|
|
15492
15596
|
Select2.Option = Option$1;
|
|
15493
15597
|
Select2.Group = Group$3;
|
|
@@ -15797,8 +15901,7 @@ const FilterColumn = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
15797
15901
|
allColumns,
|
|
15798
15902
|
filters,
|
|
15799
15903
|
onChange: handleChange,
|
|
15800
|
-
value = null
|
|
15801
|
-
...attributes
|
|
15904
|
+
value = null
|
|
15802
15905
|
} = props;
|
|
15803
15906
|
const {
|
|
15804
15907
|
texts
|
|
@@ -15811,13 +15914,13 @@ const FilterColumn = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
|
15811
15914
|
message: warning ? texts.table.filters.hiddenColumn : undefined,
|
|
15812
15915
|
warning: warning,
|
|
15813
15916
|
className: "min-h-[theme(spacing.8)]"
|
|
15814
|
-
}, /*#__PURE__*/React__default.createElement(Select2,
|
|
15917
|
+
}, /*#__PURE__*/React__default.createElement(Select2, {
|
|
15815
15918
|
ref: ref,
|
|
15816
15919
|
className: "focus:yt-focus !w-32 flex-shrink-0 ",
|
|
15817
15920
|
emptyValue: null,
|
|
15818
15921
|
onChange: handleChange,
|
|
15819
15922
|
value: value
|
|
15820
|
-
}
|
|
15923
|
+
}, allColumns.map(column => {
|
|
15821
15924
|
var _column$columnDef$met, _column$parent, _column$parent$column;
|
|
15822
15925
|
return /*#__PURE__*/React__default.createElement(Select2.Option, {
|
|
15823
15926
|
key: column.id,
|
|
@@ -15837,19 +15940,18 @@ function FilterComparator(props) {
|
|
|
15837
15940
|
const {
|
|
15838
15941
|
column,
|
|
15839
15942
|
onChange: handleChange,
|
|
15840
|
-
value
|
|
15841
|
-
...attributes
|
|
15943
|
+
value
|
|
15842
15944
|
} = props;
|
|
15843
15945
|
const {
|
|
15844
15946
|
texts
|
|
15845
15947
|
} = useLocalization();
|
|
15846
15948
|
const validComparators = guessComparatorsBasedOnControl(column);
|
|
15847
|
-
return /*#__PURE__*/React__default.createElement(Select2,
|
|
15949
|
+
return /*#__PURE__*/React__default.createElement(Select2, {
|
|
15848
15950
|
className: "!w-32 flex-shrink-0",
|
|
15849
15951
|
disabled: !column,
|
|
15850
15952
|
onChange: handleChange,
|
|
15851
15953
|
value: value
|
|
15852
|
-
}
|
|
15954
|
+
}, validComparators.map(comparator => ( /*#__PURE__*/React__default.createElement(Select2.Option, {
|
|
15853
15955
|
key: comparator,
|
|
15854
15956
|
value: comparator
|
|
15855
15957
|
}, getComparatorText(comparator, texts, column)))));
|
|
@@ -18542,7 +18644,7 @@ function useEditingCellAutofocus(props) {
|
|
|
18542
18644
|
tableElement.scrollTo(props.cell.column.getStart() - columnFreezingOffset, tableElement.scrollTop);
|
|
18543
18645
|
}
|
|
18544
18646
|
}
|
|
18545
|
-
if (event.target === event.currentTarget) {
|
|
18647
|
+
if (event.target === event.currentTarget && hasFocusableElement(event.currentTarget)) {
|
|
18546
18648
|
focusManager.focusNext();
|
|
18547
18649
|
}
|
|
18548
18650
|
};
|
|
@@ -18909,7 +19011,7 @@ function Row$2(props) {
|
|
|
18909
19011
|
}
|
|
18910
19012
|
}, [tableMeta.editing.isEditing, tableMeta.rowActive.rowActiveIndex, tableMeta.editing.lastFocusedCellIndex]);
|
|
18911
19013
|
const handleFocus = React__default.useCallback(event => {
|
|
18912
|
-
if (tableMeta.editing.isEditing
|
|
19014
|
+
if (tableMeta.editing.isEditing) {
|
|
18913
19015
|
var _event$target$closest, _event$target$closest2;
|
|
18914
19016
|
const cellIndex = Number((_event$target$closest = (_event$target$closest2 = event.target.closest('td')) === null || _event$target$closest2 === void 0 ? void 0 : _event$target$closest2.getAttribute('data-cell-index')) !== null && _event$target$closest !== void 0 ? _event$target$closest : undefined);
|
|
18915
19017
|
if (!isNaN(cellIndex)) {
|