trotl-filter 1.0.3 → 1.0.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/index.cjs.js +92 -92
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +46 -46
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var React
|
|
5
|
+
var React = require('react');
|
|
6
6
|
var reactDom = require('react-dom');
|
|
7
7
|
|
|
8
8
|
function _interopNamespaceDefault(e) {
|
|
@@ -22,7 +22,7 @@ function _interopNamespaceDefault(e) {
|
|
|
22
22
|
return Object.freeze(n);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React
|
|
25
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
26
26
|
|
|
27
27
|
function _typeof(o) {
|
|
28
28
|
"@babel/helpers - typeof";
|
|
@@ -173,38 +173,38 @@ function useStateManager(_ref) {
|
|
|
173
173
|
propsOnMenuOpen = _ref.onMenuOpen,
|
|
174
174
|
propsValue = _ref.value,
|
|
175
175
|
restSelectProps = _objectWithoutProperties(_ref, _excluded$6);
|
|
176
|
-
var _useState = React
|
|
176
|
+
var _useState = React.useState(propsInputValue !== undefined ? propsInputValue : defaultInputValue),
|
|
177
177
|
_useState2 = _slicedToArray(_useState, 2),
|
|
178
178
|
stateInputValue = _useState2[0],
|
|
179
179
|
setStateInputValue = _useState2[1];
|
|
180
|
-
var _useState3 = React
|
|
180
|
+
var _useState3 = React.useState(propsMenuIsOpen !== undefined ? propsMenuIsOpen : defaultMenuIsOpen),
|
|
181
181
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
182
182
|
stateMenuIsOpen = _useState4[0],
|
|
183
183
|
setStateMenuIsOpen = _useState4[1];
|
|
184
|
-
var _useState5 = React
|
|
184
|
+
var _useState5 = React.useState(propsValue !== undefined ? propsValue : defaultValue),
|
|
185
185
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
186
186
|
stateValue = _useState6[0],
|
|
187
187
|
setStateValue = _useState6[1];
|
|
188
|
-
var onChange = React
|
|
188
|
+
var onChange = React.useCallback(function (value, actionMeta) {
|
|
189
189
|
if (typeof propsOnChange === 'function') {
|
|
190
190
|
propsOnChange(value, actionMeta);
|
|
191
191
|
}
|
|
192
192
|
setStateValue(value);
|
|
193
193
|
}, [propsOnChange]);
|
|
194
|
-
var onInputChange = React
|
|
194
|
+
var onInputChange = React.useCallback(function (value, actionMeta) {
|
|
195
195
|
var newValue;
|
|
196
196
|
if (typeof propsOnInputChange === 'function') {
|
|
197
197
|
newValue = propsOnInputChange(value, actionMeta);
|
|
198
198
|
}
|
|
199
199
|
setStateInputValue(newValue !== undefined ? newValue : value);
|
|
200
200
|
}, [propsOnInputChange]);
|
|
201
|
-
var onMenuOpen = React
|
|
201
|
+
var onMenuOpen = React.useCallback(function () {
|
|
202
202
|
if (typeof propsOnMenuOpen === 'function') {
|
|
203
203
|
propsOnMenuOpen();
|
|
204
204
|
}
|
|
205
205
|
setStateMenuIsOpen(true);
|
|
206
206
|
}, [propsOnMenuOpen]);
|
|
207
|
-
var onMenuClose = React
|
|
207
|
+
var onMenuClose = React.useCallback(function () {
|
|
208
208
|
if (typeof propsOnMenuClose === 'function') {
|
|
209
209
|
propsOnMenuClose();
|
|
210
210
|
}
|
|
@@ -2314,9 +2314,9 @@ typeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({
|
|
|
2314
2314
|
EmotionCacheContext.Provider;
|
|
2315
2315
|
|
|
2316
2316
|
var withEmotionCache = function withEmotionCache(func) {
|
|
2317
|
-
return /*#__PURE__*/React
|
|
2317
|
+
return /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
2318
2318
|
// the cache will never be null in the browser
|
|
2319
|
-
var cache = React
|
|
2319
|
+
var cache = React.useContext(EmotionCacheContext);
|
|
2320
2320
|
return func(props, cache, ref);
|
|
2321
2321
|
});
|
|
2322
2322
|
};
|
|
@@ -2324,7 +2324,7 @@ var withEmotionCache = function withEmotionCache(func) {
|
|
|
2324
2324
|
if (!isBrowser) {
|
|
2325
2325
|
withEmotionCache = function withEmotionCache(func) {
|
|
2326
2326
|
return function (props) {
|
|
2327
|
-
var cache = React
|
|
2327
|
+
var cache = React.useContext(EmotionCacheContext);
|
|
2328
2328
|
|
|
2329
2329
|
if (cache === null) {
|
|
2330
2330
|
// yes, we're potentially creating this on every render
|
|
@@ -2926,7 +2926,7 @@ function autoUpdate(reference, floating, update, options) {
|
|
|
2926
2926
|
var isClient = typeof document !== 'undefined';
|
|
2927
2927
|
|
|
2928
2928
|
var noop$1 = function noop() {};
|
|
2929
|
-
var index = isClient ? React
|
|
2929
|
+
var index = isClient ? React.useLayoutEffect : noop$1;
|
|
2930
2930
|
|
|
2931
2931
|
var _excluded$4 = ["className", "clearValue", "cx", "getStyles", "getClassNames", "getValue", "hasValue", "isMulti", "isRtl", "options", "selectOption", "selectProps", "setValue", "theme"];
|
|
2932
2932
|
// ==============================
|
|
@@ -3404,7 +3404,7 @@ var menuCSS = function menuCSS(_ref2, unstyled) {
|
|
|
3404
3404
|
marginTop: spacing.menuGutter
|
|
3405
3405
|
});
|
|
3406
3406
|
};
|
|
3407
|
-
var PortalPlacementContext = /*#__PURE__*/React
|
|
3407
|
+
var PortalPlacementContext = /*#__PURE__*/React.createContext(null);
|
|
3408
3408
|
|
|
3409
3409
|
// NOTE: internal only
|
|
3410
3410
|
var MenuPlacer = function MenuPlacer(props) {
|
|
@@ -3415,14 +3415,14 @@ var MenuPlacer = function MenuPlacer(props) {
|
|
|
3415
3415
|
menuPosition = props.menuPosition,
|
|
3416
3416
|
menuShouldScrollIntoView = props.menuShouldScrollIntoView,
|
|
3417
3417
|
theme = props.theme;
|
|
3418
|
-
var _ref3 = React
|
|
3418
|
+
var _ref3 = React.useContext(PortalPlacementContext) || {},
|
|
3419
3419
|
setPortalPlacement = _ref3.setPortalPlacement;
|
|
3420
|
-
var ref = React
|
|
3421
|
-
var _useState = React
|
|
3420
|
+
var ref = React.useRef(null);
|
|
3421
|
+
var _useState = React.useState(maxMenuHeight),
|
|
3422
3422
|
_useState2 = _slicedToArray(_useState, 2),
|
|
3423
3423
|
maxHeight = _useState2[0],
|
|
3424
3424
|
setMaxHeight = _useState2[1];
|
|
3425
|
-
var _useState3 = React
|
|
3425
|
+
var _useState3 = React.useState(null),
|
|
3426
3426
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
3427
3427
|
placement = _useState4[0],
|
|
3428
3428
|
setPlacement = _useState4[1];
|
|
@@ -3565,22 +3565,22 @@ var MenuPortal = function MenuPortal(props) {
|
|
|
3565
3565
|
innerProps = props.innerProps,
|
|
3566
3566
|
menuPlacement = props.menuPlacement,
|
|
3567
3567
|
menuPosition = props.menuPosition;
|
|
3568
|
-
var menuPortalRef = React
|
|
3569
|
-
var cleanupRef = React
|
|
3570
|
-
var _useState5 = React
|
|
3568
|
+
var menuPortalRef = React.useRef(null);
|
|
3569
|
+
var cleanupRef = React.useRef(null);
|
|
3570
|
+
var _useState5 = React.useState(coercePlacement(menuPlacement)),
|
|
3571
3571
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
3572
3572
|
placement = _useState6[0],
|
|
3573
3573
|
setPortalPlacement = _useState6[1];
|
|
3574
|
-
var portalPlacementContext = React
|
|
3574
|
+
var portalPlacementContext = React.useMemo(function () {
|
|
3575
3575
|
return {
|
|
3576
3576
|
setPortalPlacement: setPortalPlacement
|
|
3577
3577
|
};
|
|
3578
3578
|
}, []);
|
|
3579
|
-
var _useState7 = React
|
|
3579
|
+
var _useState7 = React.useState(null),
|
|
3580
3580
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
3581
3581
|
computedPosition = _useState8[0],
|
|
3582
3582
|
setComputedPosition = _useState8[1];
|
|
3583
|
-
var updateComputedPosition = React
|
|
3583
|
+
var updateComputedPosition = React.useCallback(function () {
|
|
3584
3584
|
if (!controlElement) return;
|
|
3585
3585
|
var rect = getBoundingClientObj(controlElement);
|
|
3586
3586
|
var scrollDistance = menuPosition === 'fixed' ? 0 : window.pageYOffset;
|
|
@@ -3595,7 +3595,7 @@ var MenuPortal = function MenuPortal(props) {
|
|
|
3595
3595
|
index(function () {
|
|
3596
3596
|
updateComputedPosition();
|
|
3597
3597
|
}, [updateComputedPosition]);
|
|
3598
|
-
var runAutoUpdate = React
|
|
3598
|
+
var runAutoUpdate = React.useCallback(function () {
|
|
3599
3599
|
if (typeof cleanupRef.current === 'function') {
|
|
3600
3600
|
cleanupRef.current();
|
|
3601
3601
|
cleanupRef.current = null;
|
|
@@ -3609,7 +3609,7 @@ var MenuPortal = function MenuPortal(props) {
|
|
|
3609
3609
|
index(function () {
|
|
3610
3610
|
runAutoUpdate();
|
|
3611
3611
|
}, [runAutoUpdate]);
|
|
3612
|
-
var setMenuPortalElement = React
|
|
3612
|
+
var setMenuPortalElement = React.useCallback(function (menuPortalElement) {
|
|
3613
3613
|
menuPortalRef.current = menuPortalElement;
|
|
3614
3614
|
runAutoUpdate();
|
|
3615
3615
|
}, [runAutoUpdate]);
|
|
@@ -4460,12 +4460,12 @@ var LiveRegion = function LiveRegion(props) {
|
|
|
4460
4460
|
var ariaLive = selectProps['aria-live'];
|
|
4461
4461
|
|
|
4462
4462
|
// Update aria live message configuration when prop changes
|
|
4463
|
-
var messages = React
|
|
4463
|
+
var messages = React.useMemo(function () {
|
|
4464
4464
|
return _objectSpread2(_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});
|
|
4465
4465
|
}, [ariaLiveMessages]);
|
|
4466
4466
|
|
|
4467
4467
|
// Update aria live selected option when prop changes
|
|
4468
|
-
var ariaSelected = React
|
|
4468
|
+
var ariaSelected = React.useMemo(function () {
|
|
4469
4469
|
var message = '';
|
|
4470
4470
|
if (ariaSelection && messages.onChange) {
|
|
4471
4471
|
var option = ariaSelection.option,
|
|
@@ -4496,7 +4496,7 @@ var LiveRegion = function LiveRegion(props) {
|
|
|
4496
4496
|
}
|
|
4497
4497
|
return message;
|
|
4498
4498
|
}, [ariaSelection, messages, isOptionDisabled, selectValue, getOptionLabel]);
|
|
4499
|
-
var ariaFocused = React
|
|
4499
|
+
var ariaFocused = React.useMemo(function () {
|
|
4500
4500
|
var focusMsg = '';
|
|
4501
4501
|
var focused = focusedOption || focusedValue;
|
|
4502
4502
|
var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));
|
|
@@ -4515,7 +4515,7 @@ var LiveRegion = function LiveRegion(props) {
|
|
|
4515
4515
|
}
|
|
4516
4516
|
return focusMsg;
|
|
4517
4517
|
}, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, focusableOptions, selectValue, isAppleDevice]);
|
|
4518
|
-
var ariaResults = React
|
|
4518
|
+
var ariaResults = React.useMemo(function () {
|
|
4519
4519
|
var resultsMsg = '';
|
|
4520
4520
|
if (menuIsOpen && options.length && !isLoading && messages.onFilter) {
|
|
4521
4521
|
var resultsMessage = screenReaderStatus({
|
|
@@ -4529,7 +4529,7 @@ var LiveRegion = function LiveRegion(props) {
|
|
|
4529
4529
|
return resultsMsg;
|
|
4530
4530
|
}, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus, isLoading]);
|
|
4531
4531
|
var isInitialFocus = (ariaSelection === null || ariaSelection === void 0 ? void 0 : ariaSelection.action) === 'initial-input-focus';
|
|
4532
|
-
var ariaGuidance = React
|
|
4532
|
+
var ariaGuidance = React.useMemo(function () {
|
|
4533
4533
|
var guidanceMsg = '';
|
|
4534
4534
|
if (messages.guidance) {
|
|
4535
4535
|
var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';
|
|
@@ -4545,7 +4545,7 @@ var LiveRegion = function LiveRegion(props) {
|
|
|
4545
4545
|
}
|
|
4546
4546
|
return guidanceMsg;
|
|
4547
4547
|
}, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, selectValue, tabSelectsValue, isInitialFocus]);
|
|
4548
|
-
var ScreenReaderText = jsx(React
|
|
4548
|
+
var ScreenReaderText = jsx(React.Fragment, null, jsx("span", {
|
|
4549
4549
|
id: "aria-selection"
|
|
4550
4550
|
}, ariaSelected), jsx("span", {
|
|
4551
4551
|
id: "aria-focused"
|
|
@@ -4554,7 +4554,7 @@ var LiveRegion = function LiveRegion(props) {
|
|
|
4554
4554
|
}, ariaResults), jsx("span", {
|
|
4555
4555
|
id: "aria-guidance"
|
|
4556
4556
|
}, ariaGuidance));
|
|
4557
|
-
return jsx(React
|
|
4557
|
+
return jsx(React.Fragment, null, jsx(A11yText$1, {
|
|
4558
4558
|
id: id
|
|
4559
4559
|
}, isInitialFocus && ScreenReaderText), jsx(A11yText$1, {
|
|
4560
4560
|
"aria-live": ariaLive,
|
|
@@ -4914,11 +4914,11 @@ function useScrollCapture(_ref) {
|
|
|
4914
4914
|
onBottomLeave = _ref.onBottomLeave,
|
|
4915
4915
|
onTopArrive = _ref.onTopArrive,
|
|
4916
4916
|
onTopLeave = _ref.onTopLeave;
|
|
4917
|
-
var isBottom = React
|
|
4918
|
-
var isTop = React
|
|
4919
|
-
var touchStart = React
|
|
4920
|
-
var scrollTarget = React
|
|
4921
|
-
var handleEventDelta = React
|
|
4917
|
+
var isBottom = React.useRef(false);
|
|
4918
|
+
var isTop = React.useRef(false);
|
|
4919
|
+
var touchStart = React.useRef(0);
|
|
4920
|
+
var scrollTarget = React.useRef(null);
|
|
4921
|
+
var handleEventDelta = React.useCallback(function (event, delta) {
|
|
4922
4922
|
if (scrollTarget.current === null) return;
|
|
4923
4923
|
var _scrollTarget$current = scrollTarget.current,
|
|
4924
4924
|
scrollTop = _scrollTarget$current.scrollTop,
|
|
@@ -4963,18 +4963,18 @@ function useScrollCapture(_ref) {
|
|
|
4963
4963
|
cancelScroll(event);
|
|
4964
4964
|
}
|
|
4965
4965
|
}, [onBottomArrive, onBottomLeave, onTopArrive, onTopLeave]);
|
|
4966
|
-
var onWheel = React
|
|
4966
|
+
var onWheel = React.useCallback(function (event) {
|
|
4967
4967
|
handleEventDelta(event, event.deltaY);
|
|
4968
4968
|
}, [handleEventDelta]);
|
|
4969
|
-
var onTouchStart = React
|
|
4969
|
+
var onTouchStart = React.useCallback(function (event) {
|
|
4970
4970
|
// set touch start so we can calculate touchmove delta
|
|
4971
4971
|
touchStart.current = event.changedTouches[0].clientY;
|
|
4972
4972
|
}, []);
|
|
4973
|
-
var onTouchMove = React
|
|
4973
|
+
var onTouchMove = React.useCallback(function (event) {
|
|
4974
4974
|
var deltaY = touchStart.current - event.changedTouches[0].clientY;
|
|
4975
4975
|
handleEventDelta(event, deltaY);
|
|
4976
4976
|
}, [handleEventDelta]);
|
|
4977
|
-
var startListening = React
|
|
4977
|
+
var startListening = React.useCallback(function (el) {
|
|
4978
4978
|
// bail early if no element is available to attach to
|
|
4979
4979
|
if (!el) return;
|
|
4980
4980
|
var notPassive = supportsPassiveEvents ? {
|
|
@@ -4984,14 +4984,14 @@ function useScrollCapture(_ref) {
|
|
|
4984
4984
|
el.addEventListener('touchstart', onTouchStart, notPassive);
|
|
4985
4985
|
el.addEventListener('touchmove', onTouchMove, notPassive);
|
|
4986
4986
|
}, [onTouchMove, onTouchStart, onWheel]);
|
|
4987
|
-
var stopListening = React
|
|
4987
|
+
var stopListening = React.useCallback(function (el) {
|
|
4988
4988
|
// bail early if no element is available to detach from
|
|
4989
4989
|
if (!el) return;
|
|
4990
4990
|
el.removeEventListener('wheel', onWheel, false);
|
|
4991
4991
|
el.removeEventListener('touchstart', onTouchStart, false);
|
|
4992
4992
|
el.removeEventListener('touchmove', onTouchMove, false);
|
|
4993
4993
|
}, [onTouchMove, onTouchStart, onWheel]);
|
|
4994
|
-
React
|
|
4994
|
+
React.useEffect(function () {
|
|
4995
4995
|
if (!isEnabled) return;
|
|
4996
4996
|
var element = scrollTarget.current;
|
|
4997
4997
|
startListening(element);
|
|
@@ -5044,9 +5044,9 @@ function useScrollLock(_ref) {
|
|
|
5044
5044
|
var isEnabled = _ref.isEnabled,
|
|
5045
5045
|
_ref$accountForScroll = _ref.accountForScrollbars,
|
|
5046
5046
|
accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;
|
|
5047
|
-
var originalStyles = React
|
|
5048
|
-
var scrollTarget = React
|
|
5049
|
-
var addScrollLock = React
|
|
5047
|
+
var originalStyles = React.useRef({});
|
|
5048
|
+
var scrollTarget = React.useRef(null);
|
|
5049
|
+
var addScrollLock = React.useCallback(function (touchScrollTarget) {
|
|
5050
5050
|
if (!canUseDOM) return;
|
|
5051
5051
|
var target = document.body;
|
|
5052
5052
|
var targetStyle = target && target.style;
|
|
@@ -5089,7 +5089,7 @@ function useScrollLock(_ref) {
|
|
|
5089
5089
|
// increment active scroll locks
|
|
5090
5090
|
activeScrollLocks += 1;
|
|
5091
5091
|
}, [accountForScrollbars]);
|
|
5092
|
-
var removeScrollLock = React
|
|
5092
|
+
var removeScrollLock = React.useCallback(function (touchScrollTarget) {
|
|
5093
5093
|
if (!canUseDOM) return;
|
|
5094
5094
|
var target = document.body;
|
|
5095
5095
|
var targetStyle = target && target.style;
|
|
@@ -5116,7 +5116,7 @@ function useScrollLock(_ref) {
|
|
|
5116
5116
|
}
|
|
5117
5117
|
}
|
|
5118
5118
|
}, [accountForScrollbars]);
|
|
5119
|
-
React
|
|
5119
|
+
React.useEffect(function () {
|
|
5120
5120
|
if (!isEnabled) return;
|
|
5121
5121
|
var element = scrollTarget.current;
|
|
5122
5122
|
addScrollLock(element);
|
|
@@ -5166,7 +5166,7 @@ function ScrollManager(_ref) {
|
|
|
5166
5166
|
setScrollCaptureTarget(element);
|
|
5167
5167
|
setScrollLockTarget(element);
|
|
5168
5168
|
};
|
|
5169
|
-
return jsx(React
|
|
5169
|
+
return jsx(React.Fragment, null, lockEnabled && jsx("div", {
|
|
5170
5170
|
onClick: blurSelectInput,
|
|
5171
5171
|
css: _ref2$1
|
|
5172
5172
|
}), children(targetRef));
|
|
@@ -6979,10 +6979,10 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
6979
6979
|
}
|
|
6980
6980
|
}]);
|
|
6981
6981
|
return Select;
|
|
6982
|
-
}(React
|
|
6982
|
+
}(React.Component);
|
|
6983
6983
|
Select.defaultProps = defaultProps;
|
|
6984
6984
|
|
|
6985
|
-
var StateManagedSelect = /*#__PURE__*/React
|
|
6985
|
+
var StateManagedSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
6986
6986
|
var baseSelectProps = useStateManager(props);
|
|
6987
6987
|
return /*#__PURE__*/React__namespace.createElement(Select, _extends({
|
|
6988
6988
|
ref: ref
|
|
@@ -7001,8 +7001,8 @@ const MultiSelectDropdown = ({
|
|
|
7001
7001
|
required = false,
|
|
7002
7002
|
closeMenuOnSelect = false
|
|
7003
7003
|
}) => {
|
|
7004
|
-
const containerRef = React
|
|
7005
|
-
const selectedOptions = React
|
|
7004
|
+
const containerRef = React.useRef(null);
|
|
7005
|
+
const selectedOptions = React.useMemo(() => {
|
|
7006
7006
|
if (isMulti) {
|
|
7007
7007
|
return options.filter(opt => selected.includes(opt.value));
|
|
7008
7008
|
} else {
|
|
@@ -7145,7 +7145,7 @@ const Modal = ({
|
|
|
7145
7145
|
closeOnEscape = true,
|
|
7146
7146
|
closeOnOutsideClick = true
|
|
7147
7147
|
}) => {
|
|
7148
|
-
React
|
|
7148
|
+
React.useEffect(() => {
|
|
7149
7149
|
const handleKey = e => {
|
|
7150
7150
|
if (e.key === 'Escape' && closeOnEscape) {
|
|
7151
7151
|
onCancel?.();
|
|
@@ -7155,22 +7155,22 @@ const Modal = ({
|
|
|
7155
7155
|
return () => document.removeEventListener('keydown', handleKey);
|
|
7156
7156
|
}, [closeOnEscape, onCancel]);
|
|
7157
7157
|
if (!isOpen) return null;
|
|
7158
|
-
return /*#__PURE__*/React
|
|
7158
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7159
7159
|
className: "modal-overlay",
|
|
7160
7160
|
onClick: closeOnOutsideClick ? onCancel : undefined
|
|
7161
|
-
}, /*#__PURE__*/React
|
|
7161
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7162
7162
|
className: "modal-box",
|
|
7163
7163
|
onClick: e => e.stopPropagation()
|
|
7164
|
-
}, /*#__PURE__*/React
|
|
7164
|
+
}, /*#__PURE__*/React.createElement("h3", {
|
|
7165
7165
|
className: "modal-title"
|
|
7166
|
-
}, title), /*#__PURE__*/React
|
|
7166
|
+
}, title), /*#__PURE__*/React.createElement("div", {
|
|
7167
7167
|
className: "modal-content"
|
|
7168
|
-
}, children), /*#__PURE__*/React
|
|
7168
|
+
}, children), /*#__PURE__*/React.createElement("div", {
|
|
7169
7169
|
className: "modal-actions"
|
|
7170
|
-
}, showCancel && /*#__PURE__*/React
|
|
7170
|
+
}, showCancel && /*#__PURE__*/React.createElement("button", {
|
|
7171
7171
|
className: "basic-button cancel",
|
|
7172
7172
|
onClick: onCancel
|
|
7173
|
-
}, cancelLabel), showConfirm && /*#__PURE__*/React
|
|
7173
|
+
}, cancelLabel), showConfirm && /*#__PURE__*/React.createElement("button", {
|
|
7174
7174
|
className: "basic-button confirm",
|
|
7175
7175
|
onClick: onConfirm
|
|
7176
7176
|
}, confirmLabel))));
|
|
@@ -7210,18 +7210,18 @@ const Filters = ({
|
|
|
7210
7210
|
if (typeof key === 'undefined' || key === null) return '';
|
|
7211
7211
|
return _translations[key] ?? key;
|
|
7212
7212
|
};
|
|
7213
|
-
const [sorting, setSorting] = React
|
|
7214
|
-
const [collapsed, setCollapsed] = React
|
|
7213
|
+
const [sorting, setSorting] = React.useState(null);
|
|
7214
|
+
const [collapsed, setCollapsed] = React.useState(() => {
|
|
7215
7215
|
const stored = localStorage.getItem('filtersCollapsed');
|
|
7216
7216
|
return stored === 'true';
|
|
7217
7217
|
});
|
|
7218
|
-
const [modalState, setModalState] = React
|
|
7218
|
+
const [modalState, setModalState] = React.useState({
|
|
7219
7219
|
isOpen: false,
|
|
7220
7220
|
label: '',
|
|
7221
7221
|
key: '',
|
|
7222
7222
|
onConfirm: null
|
|
7223
7223
|
});
|
|
7224
|
-
React
|
|
7224
|
+
React.useEffect(() => {
|
|
7225
7225
|
localStorage.setItem('filtersCollapsed', collapsed);
|
|
7226
7226
|
}, [collapsed]);
|
|
7227
7227
|
|
|
@@ -7238,7 +7238,7 @@ const Filters = ({
|
|
|
7238
7238
|
localStorage.removeItem('adminFilters');
|
|
7239
7239
|
window.history.replaceState({}, '', window.location.pathname);
|
|
7240
7240
|
};
|
|
7241
|
-
React
|
|
7241
|
+
React.useEffect(() => {
|
|
7242
7242
|
const urlParams = new URLSearchParams(window.location.search);
|
|
7243
7243
|
const savedFilters = localStorage.getItem('adminFilters');
|
|
7244
7244
|
const initial = savedFilters ? JSON.parse(savedFilters) : {};
|
|
@@ -7253,7 +7253,7 @@ const Filters = ({
|
|
|
7253
7253
|
onChange?.(key, value);
|
|
7254
7254
|
});
|
|
7255
7255
|
}, []);
|
|
7256
|
-
React
|
|
7256
|
+
React.useEffect(() => {
|
|
7257
7257
|
const savedFilters = localStorage.getItem('adminFilters');
|
|
7258
7258
|
if (savedFilters) {
|
|
7259
7259
|
const parsed = JSON.parse(savedFilters);
|
|
@@ -7262,7 +7262,7 @@ const Filters = ({
|
|
|
7262
7262
|
});
|
|
7263
7263
|
}
|
|
7264
7264
|
}, []);
|
|
7265
|
-
React
|
|
7265
|
+
React.useEffect(() => {
|
|
7266
7266
|
const currentValues = {};
|
|
7267
7267
|
config.forEach(item => {
|
|
7268
7268
|
if (item.type !== 'button' && item.type !== 'icon') {
|
|
@@ -7301,7 +7301,7 @@ const Filters = ({
|
|
|
7301
7301
|
// in sync with the extraSearchTerm prop without reloading the page.
|
|
7302
7302
|
// When urSearchParams is enabled, keep the URL search param `search`
|
|
7303
7303
|
// in sync with the extraSearchTerm prop without reloading the page.
|
|
7304
|
-
React
|
|
7304
|
+
React.useEffect(() => {
|
|
7305
7305
|
if (!urSearchParams) return;
|
|
7306
7306
|
try {
|
|
7307
7307
|
const url = new URL(window.location.href);
|
|
@@ -7317,7 +7317,7 @@ const Filters = ({
|
|
|
7317
7317
|
}, [urSearchParams, extraSearchTerm]);
|
|
7318
7318
|
|
|
7319
7319
|
// Clear MultiSelectDropdown values if extraSearchTerm is set (input search used)
|
|
7320
|
-
React
|
|
7320
|
+
React.useEffect(() => {
|
|
7321
7321
|
if (!extraSearchTerm || !urSearchParams) return;
|
|
7322
7322
|
// Find all multiselect filters and clear them
|
|
7323
7323
|
config.forEach(item => {
|
|
@@ -7326,16 +7326,16 @@ const Filters = ({
|
|
|
7326
7326
|
}
|
|
7327
7327
|
});
|
|
7328
7328
|
}, [extraSearchTerm, urSearchParams]);
|
|
7329
|
-
return /*#__PURE__*/React
|
|
7329
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
7330
7330
|
className: "filters-wrapper"
|
|
7331
|
-
}, /*#__PURE__*/React
|
|
7331
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7332
7332
|
className: "filters-header"
|
|
7333
|
-
}, /*#__PURE__*/React
|
|
7333
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7334
7334
|
className: "filters-title"
|
|
7335
|
-
}, title), /*#__PURE__*/React
|
|
7335
|
+
}, title), /*#__PURE__*/React.createElement("button", {
|
|
7336
7336
|
className: "basic-button",
|
|
7337
7337
|
onClick: () => setCollapsed(prev => !prev)
|
|
7338
|
-
}, collapsed ? ' ' + t("showFilters") : ' ' + t("hideFilters")), sortingLocalStorage && /*#__PURE__*/React
|
|
7338
|
+
}, collapsed ? ' ' + t("showFilters") : ' ' + t("hideFilters")), sortingLocalStorage && /*#__PURE__*/React.createElement("button", {
|
|
7339
7339
|
className: "basic-button confirm",
|
|
7340
7340
|
onClick: () => {
|
|
7341
7341
|
setSorting(false);
|
|
@@ -7343,10 +7343,10 @@ const Filters = ({
|
|
|
7343
7343
|
localStorage.removeItem("tableSort");
|
|
7344
7344
|
window.dispatchEvent(new Event("storageUpdated"));
|
|
7345
7345
|
}
|
|
7346
|
-
}, t("resetSorting") + " " + (sorting || "")), !hideResetSearchButton && /*#__PURE__*/React
|
|
7346
|
+
}, t("resetSorting") + " " + (sorting || "")), !hideResetSearchButton && /*#__PURE__*/React.createElement("button", {
|
|
7347
7347
|
className: "basic-button",
|
|
7348
7348
|
onClick: handleReset
|
|
7349
|
-
}, t("resetSearching"))), !collapsed && /*#__PURE__*/React
|
|
7349
|
+
}, t("resetSearching"))), !collapsed && /*#__PURE__*/React.createElement("div", {
|
|
7350
7350
|
className: "filters-container"
|
|
7351
7351
|
}, config.map((item, index) => {
|
|
7352
7352
|
const tooltip = item.tooltip || '';
|
|
@@ -7354,7 +7354,7 @@ const Filters = ({
|
|
|
7354
7354
|
if (!roleAllowed) return null;
|
|
7355
7355
|
switch (item.type) {
|
|
7356
7356
|
case 'group':
|
|
7357
|
-
return /*#__PURE__*/React
|
|
7357
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7358
7358
|
key: index,
|
|
7359
7359
|
className: "button-group",
|
|
7360
7360
|
title: item.label
|
|
@@ -7368,7 +7368,7 @@ const Filters = ({
|
|
|
7368
7368
|
actionFn(btn.key);
|
|
7369
7369
|
}
|
|
7370
7370
|
};
|
|
7371
|
-
return /*#__PURE__*/React
|
|
7371
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
7372
7372
|
className: "basic-button",
|
|
7373
7373
|
key: i,
|
|
7374
7374
|
onClick: handleClick,
|
|
@@ -7376,11 +7376,11 @@ const Filters = ({
|
|
|
7376
7376
|
}, t(btn.label));
|
|
7377
7377
|
}));
|
|
7378
7378
|
case 'input':
|
|
7379
|
-
return /*#__PURE__*/React
|
|
7379
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7380
7380
|
key: index,
|
|
7381
7381
|
className: "filter-input-wrapper",
|
|
7382
7382
|
title: tooltip
|
|
7383
|
-
}, /*#__PURE__*/React
|
|
7383
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
7384
7384
|
className: "basic-input",
|
|
7385
7385
|
type: "search",
|
|
7386
7386
|
placeholder: item.placeholder || '',
|
|
@@ -7398,22 +7398,22 @@ const Filters = ({
|
|
|
7398
7398
|
}
|
|
7399
7399
|
}));
|
|
7400
7400
|
case 'select':
|
|
7401
|
-
return /*#__PURE__*/React
|
|
7401
|
+
return /*#__PURE__*/React.createElement("select", {
|
|
7402
7402
|
key: index,
|
|
7403
7403
|
value: item.value || '',
|
|
7404
7404
|
onChange: e => onChange?.(item.key, e.target.value),
|
|
7405
7405
|
className: "filter-select",
|
|
7406
7406
|
title: tooltip
|
|
7407
|
-
}, item.options?.map((opt, i) => /*#__PURE__*/React
|
|
7407
|
+
}, item.options?.map((opt, i) => /*#__PURE__*/React.createElement("option", {
|
|
7408
7408
|
key: i,
|
|
7409
7409
|
value: opt.value
|
|
7410
7410
|
}, opt.label)));
|
|
7411
7411
|
case 'multiselect':
|
|
7412
|
-
return /*#__PURE__*/React
|
|
7412
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7413
7413
|
key: index,
|
|
7414
7414
|
className: "filter-multiselect",
|
|
7415
7415
|
title: tooltip
|
|
7416
|
-
}, /*#__PURE__*/React
|
|
7416
|
+
}, /*#__PURE__*/React.createElement(MultiSelectDropdown, {
|
|
7417
7417
|
label: item.label || t("role"),
|
|
7418
7418
|
selected: Array.isArray(item.value) ? item.value : item.value ? [item.value] : [],
|
|
7419
7419
|
onChange: newValues => {
|
|
@@ -7471,22 +7471,22 @@ const Filters = ({
|
|
|
7471
7471
|
options: item.options
|
|
7472
7472
|
}));
|
|
7473
7473
|
case 'date':
|
|
7474
|
-
return /*#__PURE__*/React
|
|
7474
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7475
7475
|
key: index,
|
|
7476
7476
|
className: "filter-date",
|
|
7477
7477
|
title: tooltip
|
|
7478
|
-
}, /*#__PURE__*/React
|
|
7478
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
7479
7479
|
className: "basic-input",
|
|
7480
7480
|
type: item.addTime ? 'datetime-local' : 'date',
|
|
7481
7481
|
value: item.value || '',
|
|
7482
7482
|
onChange: e => onChange?.(item.key, e.target.value)
|
|
7483
|
-
}), item.value && /*#__PURE__*/React
|
|
7483
|
+
}), item.value && /*#__PURE__*/React.createElement("span", {
|
|
7484
7484
|
className: "date-clear",
|
|
7485
7485
|
onClick: () => onChange?.(item.key, ''),
|
|
7486
7486
|
title: "Clear date"
|
|
7487
7487
|
}, "\u2716\uFE0F"));
|
|
7488
7488
|
case 'button':
|
|
7489
|
-
return /*#__PURE__*/React
|
|
7489
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
7490
7490
|
style: item?.style,
|
|
7491
7491
|
className: "basic-button",
|
|
7492
7492
|
key: index,
|
|
@@ -7502,7 +7502,7 @@ const Filters = ({
|
|
|
7502
7502
|
title: tooltip
|
|
7503
7503
|
}, t(item.label));
|
|
7504
7504
|
case 'icon':
|
|
7505
|
-
return /*#__PURE__*/React
|
|
7505
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
7506
7506
|
key: index,
|
|
7507
7507
|
className: `filter-icon ${item.className || ''}`,
|
|
7508
7508
|
style: item.style,
|
|
@@ -7512,7 +7512,7 @@ const Filters = ({
|
|
|
7512
7512
|
default:
|
|
7513
7513
|
return null;
|
|
7514
7514
|
}
|
|
7515
|
-
}))), /*#__PURE__*/React
|
|
7515
|
+
}))), /*#__PURE__*/React.createElement(Modal, {
|
|
7516
7516
|
isOpen: modalState.isOpen,
|
|
7517
7517
|
title: t("confirmTitle") || "Confirm",
|
|
7518
7518
|
onCancel: closeModal,
|