@activecollab/components 2.0.279 → 2.0.281

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.
Files changed (32) hide show
  1. package/dist/cjs/components/ComboBox/ComboBox.js +30 -14
  2. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  3. package/dist/cjs/components/Filter/Filter.js +45 -6
  4. package/dist/cjs/components/Filter/Filter.js.map +1 -1
  5. package/dist/cjs/components/Filter/InputSubmenu.js +59 -0
  6. package/dist/cjs/components/Filter/InputSubmenu.js.map +1 -0
  7. package/dist/cjs/components/Filter/StartMenu.js +3 -2
  8. package/dist/cjs/components/Filter/StartMenu.js.map +1 -1
  9. package/dist/cjs/components/Filter/Styles.js +28 -1
  10. package/dist/cjs/components/Filter/Styles.js.map +1 -1
  11. package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
  12. package/dist/esm/components/ComboBox/ComboBox.js +30 -14
  13. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  14. package/dist/esm/components/Filter/Filter.d.ts +8 -0
  15. package/dist/esm/components/Filter/Filter.d.ts.map +1 -1
  16. package/dist/esm/components/Filter/Filter.js +40 -7
  17. package/dist/esm/components/Filter/Filter.js.map +1 -1
  18. package/dist/esm/components/Filter/InputSubmenu.d.ts +12 -0
  19. package/dist/esm/components/Filter/InputSubmenu.d.ts.map +1 -0
  20. package/dist/esm/components/Filter/InputSubmenu.js +43 -0
  21. package/dist/esm/components/Filter/InputSubmenu.js.map +1 -0
  22. package/dist/esm/components/Filter/StartMenu.js +3 -2
  23. package/dist/esm/components/Filter/StartMenu.js.map +1 -1
  24. package/dist/esm/components/Filter/Styles.d.ts +3 -0
  25. package/dist/esm/components/Filter/Styles.d.ts.map +1 -1
  26. package/dist/esm/components/Filter/Styles.js +27 -0
  27. package/dist/esm/components/Filter/Styles.js.map +1 -1
  28. package/dist/index.js +160 -36
  29. package/dist/index.js.map +1 -1
  30. package/dist/index.min.js +1 -1
  31. package/dist/index.min.js.map +1 -1
  32. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -16406,11 +16406,11 @@
16406
16406
  CheckboxIcon.displayName = "CheckboxIcon";
16407
16407
  var CheckboxIcon$1 = CheckboxIcon;
16408
16408
 
16409
- var StyledInput$3 = styled__default["default"].input.withConfig({
16409
+ var StyledInput$4 = styled__default["default"].input.withConfig({
16410
16410
  displayName: "Styles__StyledInput",
16411
16411
  componentId: "sc-y7zymm-0"
16412
16412
  })(["border:0px;clip:rect(0px,0px,0px,0px);cursor:pointer;height:1px;margin:-1px;opacity:0;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:1px;"]);
16413
- StyledInput$3.displayName = "StyledInput";
16413
+ StyledInput$4.displayName = "StyledInput";
16414
16414
  var StyledLabel$1 = styled__default["default"].label.withConfig({
16415
16415
  displayName: "Styles__StyledLabel",
16416
16416
  componentId: "sc-y7zymm-1"
@@ -16425,13 +16425,13 @@
16425
16425
  return !props.mixed && styled.css(["stroke:var(--color-theme-500);"]);
16426
16426
  }, function (props) {
16427
16427
  return props.mixed && styled.css(["stroke:transparent;"]);
16428
- }, StyledInput$3, StyledLabel$1, StyledInput$3, StyledLabel$1, function (props) {
16428
+ }, StyledInput$4, StyledLabel$1, StyledInput$4, StyledLabel$1, function (props) {
16429
16429
  return !props.mixed && styled.css(["rect{stroke:var(--color-secondary);stroke-width:3px;}"]);
16430
- }, StyledInput$3, StyledLabel$1, function (props) {
16430
+ }, StyledInput$4, StyledLabel$1, function (props) {
16431
16431
  return props.mixed && styled.css(["stroke:transparent;"]);
16432
16432
  }, function (props) {
16433
- return props.hover && !props.mixed && styled.css(["", ":not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);stroke-width:3px;}}"], StyledInput$3, StyledLabel$1);
16434
- }, StyledInput$3, StyledLabel$1, function (props) {
16433
+ return props.hover && !props.mixed && styled.css(["", ":not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);stroke-width:3px;}}"], StyledInput$4, StyledLabel$1);
16434
+ }, StyledInput$4, StyledLabel$1, function (props) {
16435
16435
  return !props.mixed && styled.css(["stroke:var(--page-paper-main);stroke-dashoffset:24;"]);
16436
16436
  }, function (props) {
16437
16437
  return props.mixed && styled.css(["stroke:transparent;"]);
@@ -16490,7 +16490,7 @@
16490
16490
  tabIndex: -1,
16491
16491
  mixed: indeterminate,
16492
16492
  $disabled: disabled
16493
- }, /*#__PURE__*/React__default["default"].createElement(StyledInput$3, _extends({
16493
+ }, /*#__PURE__*/React__default["default"].createElement(StyledInput$4, _extends({
16494
16494
  role: "checkbox",
16495
16495
  id: id,
16496
16496
  className: "c-checkbox--input",
@@ -16533,7 +16533,7 @@
16533
16533
  return !props.$disabled && props.$invalid && props.$mode === "outlined" && styled.css(["border-color:var(--red-alert);"]);
16534
16534
  });
16535
16535
  StyledInputWrapper.displayName = "StyledInputWrapper";
16536
- var StyledInput$2 = styled__default["default"].input.withConfig({
16536
+ var StyledInput$3 = styled__default["default"].input.withConfig({
16537
16537
  displayName: "Styles__StyledInput",
16538
16538
  componentId: "sc-ce8kcp-1"
16539
16539
  })(["", " ", " background-color:var(--input-background-color);border:none;color:var(--color-theme-900);font-size:0.875rem;font-weight:400;letter-spacing:0.02em;margin-block:0;margin-inline:4px;outline:none;padding:0;width:100%;", " &::placeholder{color:var(--color-theme-transparent-500);}", " ", " ", " ", " ", " ", ""], BoxSizingStyle, InputResetStyle, function (props) {
@@ -16551,7 +16551,7 @@
16551
16551
  }, function (props) {
16552
16552
  return props.$mode === "flat" && props.$invalid && styled.css(["color:var(--red-alert);"]);
16553
16553
  });
16554
- StyledInput$2.displayName = "StyledInput";
16554
+ StyledInput$3.displayName = "StyledInput";
16555
16555
  var StyledPasswordIndicatorWrapper = styled__default["default"].div.withConfig({
16556
16556
  displayName: "Styles__StyledPasswordIndicatorWrapper",
16557
16557
  componentId: "sc-ce8kcp-2"
@@ -16663,7 +16663,7 @@
16663
16663
  className: classNames__default["default"]("c-input-wrapper", className),
16664
16664
  onClick: handleWrapperClick,
16665
16665
  ref: wrapRef
16666
- }, startAdornment, /*#__PURE__*/React__default["default"].createElement(StyledInput$2, _extends({
16666
+ }, startAdornment, /*#__PURE__*/React__default["default"].createElement(StyledInput$3, _extends({
16667
16667
  ref: handleRef,
16668
16668
  type: type,
16669
16669
  $size: size,
@@ -19672,6 +19672,9 @@
19672
19672
  setOpen(false);
19673
19673
  });
19674
19674
  var handleOnKeyDown = React.useCallback(function (e) {
19675
+ if (e.key === "Tab" && open) {
19676
+ setOpen(false);
19677
+ }
19675
19678
  if (e.key === "Escape" && open) {
19676
19679
  setOpen(false);
19677
19680
  setValue(selectedName);
@@ -19687,10 +19690,10 @@
19687
19690
  }
19688
19691
  }, [focused, onCancel, onOpen, open, selectedName, type]);
19689
19692
  React.useEffect(function () {
19690
- var _childNode$current, _childNode$current2;
19691
- open && (childNode === null || childNode === void 0 || (_childNode$current = childNode.current) === null || _childNode$current === void 0 ? void 0 : _childNode$current.focus());
19692
- !open && (childNode === null || childNode === void 0 || (_childNode$current2 = childNode.current) === null || _childNode$current2 === void 0 ? void 0 : _childNode$current2.blur());
19693
- }, [childNode, open]);
19693
+ if (!open && !isFirstRender) {
19694
+ onClose === null || onClose === void 0 || onClose();
19695
+ }
19696
+ }, [open, onClose, isFirstRender]);
19694
19697
  React.useEffect(function () {
19695
19698
  setValue(selectedName);
19696
19699
  }, [selectedName]);
@@ -19757,10 +19760,14 @@
19757
19760
  var handleMouseDown = React.useCallback(function (e) {
19758
19761
  e.preventDefault();
19759
19762
  }, []);
19760
- var handleBlur = React.useCallback(function () {
19763
+ var handleBlur = React.useCallback(function (e) {
19764
+ var _wrapperRef$current;
19765
+ if (e.relatedTarget && (_wrapperRef$current = wrapperRef.current) !== null && _wrapperRef$current !== void 0 && _wrapperRef$current.contains(e.relatedTarget)) {
19766
+ return;
19767
+ }
19761
19768
  setValue(selectedName);
19762
- setFocused(!focused);
19763
- }, [focused, selectedName]);
19769
+ setFocused(false);
19770
+ }, [selectedName]);
19764
19771
  var renderChipAdornment = React.useCallback(function (option, index) {
19765
19772
  if (typeof renderChip === "function") {
19766
19773
  return renderChip(option, index);
@@ -19911,11 +19918,15 @@
19911
19918
  $open: open,
19912
19919
  ref: chipWrapper,
19913
19920
  $_css5: autoSize === "auto" && scrollWrapper ? sizeMap[size] * 3 + 8 + "px" : undefined
19914
- }, startAdornment, /*#__PURE__*/React__default["default"].createElement(StyledInput$2, {
19921
+ }, startAdornment, /*#__PURE__*/React__default["default"].createElement(StyledInput$3, {
19915
19922
  className: "c-combo-box-input",
19916
19923
  onBlur: handleBlur,
19917
- onFocus: function onFocus() {
19918
- setFocused(!focused);
19924
+ onFocus: function onFocus(e) {
19925
+ if (e.target.matches(":focus-visible")) {
19926
+ setOpen(true);
19927
+ onOpen === null || onOpen === void 0 || onOpen();
19928
+ }
19929
+ setFocused(true);
19919
19930
  },
19920
19931
  onClick: handleOpen,
19921
19932
  ref: handleRef,
@@ -19936,7 +19947,8 @@
19936
19947
  })), !disabled && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, loading ? /*#__PURE__*/React__default["default"].createElement(SpinnerLoader, null) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, showXIcon && /*#__PURE__*/React__default["default"].createElement(_StyledTrigger, {
19937
19948
  onMouseDown: handleMouseDown,
19938
19949
  onClick: handleDeselect,
19939
- "data-testid": "deselect-all"
19950
+ "data-testid": "deselect-all",
19951
+ tabIndex: -1
19940
19952
  }, /*#__PURE__*/React__default["default"].createElement(StyledComboBoxCloseSmallIcon, null)), invalid && errorMessage && /*#__PURE__*/React__default["default"].createElement(Tooltip, {
19941
19953
  title: errorMessage
19942
19954
  }, size === "regular" ? /*#__PURE__*/React__default["default"].createElement(StyledInfoSmallIcon, null) : /*#__PURE__*/React__default["default"].createElement(StyledInfoIcon, null)), showMenu && /*#__PURE__*/React__default["default"].createElement(StyledComboBoxCollapseExpandSingleIcon, {
@@ -19945,9 +19957,12 @@
19945
19957
  className: classNames__default["default"]("c-combo-box-input", inputWrapperClassName),
19946
19958
  onBlur: handleBlur,
19947
19959
  wrapperClick: handleOpen,
19948
- onFocus: function onFocus() {
19949
- setFocused(!focused);
19950
- handleOpen();
19960
+ onFocus: function onFocus(e) {
19961
+ if (e.target.matches(":focus-visible")) {
19962
+ setOpen(true);
19963
+ onOpen === null || onOpen === void 0 || onOpen();
19964
+ }
19965
+ setFocused(true);
19951
19966
  },
19952
19967
  onClick: handleOpen,
19953
19968
  mode: triggerMode,
@@ -19968,7 +19983,8 @@
19968
19983
  onMouseDown: handleMouseDown,
19969
19984
  onClick: handleDeselect,
19970
19985
  variant: "text gray",
19971
- size: "small"
19986
+ size: "small",
19987
+ tabIndex: -1
19972
19988
  }, /*#__PURE__*/React__default["default"].createElement(StyledComboBoxCloseSmallIcon, null)) : null, invalid && errorMessage && /*#__PURE__*/React__default["default"].createElement(Tooltip, {
19973
19989
  title: errorMessage
19974
19990
  }, size === "regular" ? /*#__PURE__*/React__default["default"].createElement(StyledInfoSmallIcon, null) : /*#__PURE__*/React__default["default"].createElement(StyledInfoIcon, null)), showMenu && /*#__PURE__*/React__default["default"].createElement(StyledComboBoxCollapseExpandSingleIcon, {
@@ -22689,7 +22705,7 @@
22689
22705
  return invalid && styled.css(["border:1px solid var(--red-alert);"]);
22690
22706
  });
22691
22707
  StyledSpan.displayName = "StyledSpan";
22692
- var StyledInput$1 = styled__default["default"](Typography).withConfig({
22708
+ var StyledInput$2 = styled__default["default"](Typography).withConfig({
22693
22709
  displayName: "Styles__StyledInput",
22694
22710
  componentId: "sc-1wapx2a-2"
22695
22711
  })(["", " background-color:inherit;padding-left:4px;padding-right:4px;padding-top:1px;padding-bottom:1px;text-overflow:ellipsis;font-variant-numeric:tabular-nums;&:focus-whitin{text-overflow:clip;}outline-width:0px;outline:none;&:disabled{opacity:0;}", ""], {
@@ -22714,7 +22730,7 @@
22714
22730
  var invalid = _ref4.invalid;
22715
22731
  return invalid && styled.css(["border-color:var(--red-alert) !important;"]);
22716
22732
  });
22717
- StyledInput$1.displayName = "StyledInput";
22733
+ StyledInput$2.displayName = "StyledInput";
22718
22734
  var StyledMultilineSpan = styled__default["default"](StyledSpan).withConfig({
22719
22735
  displayName: "Styles__StyledMultilineSpan",
22720
22736
  componentId: "sc-1wapx2a-3"
@@ -22774,7 +22790,7 @@
22774
22790
  weight: weight,
22775
22791
  $disabled: disabled,
22776
22792
  className: "presentation"
22777
- }, children ? children : inputProps === null || inputProps === void 0 ? void 0 : inputProps.value), /*#__PURE__*/React__default["default"].createElement(StyledInput$1, _extends({}, inputProps, {
22793
+ }, children ? children : inputProps === null || inputProps === void 0 ? void 0 : inputProps.value), /*#__PURE__*/React__default["default"].createElement(StyledInput$2, _extends({}, inputProps, {
22778
22794
  ref: handleRef,
22779
22795
  forwardedAs: "input",
22780
22796
  variant: variant,
@@ -23383,6 +23399,29 @@
23383
23399
  displayName: "Styles__StyledStartMenuDot",
23384
23400
  componentId: "sc-lxuoiz-6"
23385
23401
  })(["border-radius:50%;background-color:var(--color-primary);color:var(--page-paper-main);line-height:15px;width:15px;font-weight:bold;font-size:10px;text-align:center;margin-left:4px;"]);
23402
+ var StyledInputSubmenu = styled__default["default"].div.withConfig({
23403
+ displayName: "Styles__StyledInputSubmenu",
23404
+ componentId: "sc-lxuoiz-7"
23405
+ })(["", ""], {
23406
+ "paddingLeft": "0.75rem",
23407
+ "paddingRight": "0.75rem",
23408
+ "paddingBottom": "0.5rem",
23409
+ "paddingTop": "0.75rem"
23410
+ });
23411
+ var StyledInputSubmenuFooter = styled__default["default"](MenuFooter).withConfig({
23412
+ displayName: "Styles__StyledInputSubmenuFooter",
23413
+ componentId: "sc-lxuoiz-8"
23414
+ })(["", " height:auto;"], {
23415
+ "justifyContent": "space-between",
23416
+ "paddingTop": "0.75rem"
23417
+ });
23418
+ var StyledInput$1 = styled__default["default"](Input).withConfig({
23419
+ displayName: "Styles__StyledInput",
23420
+ componentId: "sc-lxuoiz-9"
23421
+ })(["", ""], {
23422
+ "marginBottom": "1.25rem",
23423
+ "width": "100%"
23424
+ });
23386
23425
  StyledMenu.displayName = "StyledMenu";
23387
23426
  StyledMenuFooter.displayName = "StyledMenuFooter";
23388
23427
  StyledStartMenuList.displayName = "StyledStartMenuList";
@@ -23390,6 +23429,52 @@
23390
23429
  StyledStartMenuTitle.displayName = "StyledStartMenuTitle";
23391
23430
  StyledStartMenuDot.displayName = "StyledStartMenuDot";
23392
23431
  StyledStartMenuNoResults.displayName = "StyledStartMenuNoResults";
23432
+ StyledInputSubmenu.displayName = "StyledInputSubmenu";
23433
+ StyledInputSubmenuFooter.displayName = "StyledInputSubmenuFooter";
23434
+ StyledInput$1.displayName = "StyledInput";
23435
+
23436
+ var InputSubmenu = function InputSubmenu(_ref) {
23437
+ var _ref$value = _ref.value,
23438
+ value = _ref$value === void 0 ? "" : _ref$value,
23439
+ placeholder = _ref.placeholder,
23440
+ saveLabel = _ref.saveLabel,
23441
+ _ref$clearLabel = _ref.clearLabel,
23442
+ clearLabel = _ref$clearLabel === void 0 ? "Clear" : _ref$clearLabel,
23443
+ onSave = _ref.onSave,
23444
+ onClear = _ref.onClear;
23445
+ var _useState = React.useState(value),
23446
+ _useState2 = _slicedToArray(_useState, 2),
23447
+ inputValue = _useState2[0],
23448
+ setInputValue = _useState2[1];
23449
+ React.useEffect(function () {
23450
+ setInputValue(value);
23451
+ }, [value]);
23452
+ var handleChange = React.useCallback(function (event) {
23453
+ setInputValue(event.target.value);
23454
+ }, []);
23455
+ var handleSave = React.useCallback(function () {
23456
+ onSave(inputValue);
23457
+ }, [inputValue, onSave]);
23458
+ var handleKeyDown = React.useCallback(function (event) {
23459
+ if (event.key === "Enter") {
23460
+ onSave(inputValue);
23461
+ }
23462
+ }, [inputValue, onSave]);
23463
+ return /*#__PURE__*/React__default["default"].createElement(StyledInputSubmenu, null, /*#__PURE__*/React__default["default"].createElement(StyledInput$1, {
23464
+ value: inputValue,
23465
+ onChange: handleChange,
23466
+ onKeyDown: handleKeyDown,
23467
+ placeholder: placeholder
23468
+ }), /*#__PURE__*/React__default["default"].createElement(StyledInputSubmenuFooter, null, /*#__PURE__*/React__default["default"].createElement(Button, {
23469
+ variant: "primary",
23470
+ size: "small",
23471
+ onClick: handleSave
23472
+ }, saveLabel), /*#__PURE__*/React__default["default"].createElement(Button, {
23473
+ variant: "text gray",
23474
+ size: "small",
23475
+ onClick: onClear
23476
+ }, clearLabel)));
23477
+ };
23393
23478
 
23394
23479
  var StartMenu = function StartMenu(_ref) {
23395
23480
  var data = _ref.data,
@@ -23414,7 +23499,8 @@
23414
23499
  }, /*#__PURE__*/React__default["default"].createElement(StyledStartMenuList, null, shouldRenderSubmenus ? data.map(function (_ref2, index) {
23415
23500
  var id = _ref2.id,
23416
23501
  title = _ref2.title,
23417
- submenu = _ref2.submenu;
23502
+ submenu = _ref2.submenu,
23503
+ type = _ref2.type;
23418
23504
  var count = 0;
23419
23505
  // Popricati o ovome kada je selected[id] vrednost 0.
23420
23506
  if (typeof selected[id] === "string") {
@@ -23423,7 +23509,7 @@
23423
23509
  var _selected$id;
23424
23510
  count = (_selected$id = selected[id]) === null || _selected$id === void 0 ? void 0 : _selected$id.length;
23425
23511
  }
23426
- if ((submenu === null || submenu === void 0 ? void 0 : submenu.length) > 1) {
23512
+ if (type === "input" || (submenu === null || submenu === void 0 ? void 0 : submenu.length) > 1) {
23427
23513
  return /*#__PURE__*/React__default["default"].createElement(StyledStartMenuListItem, {
23428
23514
  key: "filter-list-item-".concat(index),
23429
23515
  onClick: function onClick() {
@@ -23466,7 +23552,7 @@
23466
23552
  }), children);
23467
23553
  };
23468
23554
 
23469
- var _excluded$7 = ["id", "title", "submenu", "searchPlaceholder", "disableInternalSort", "isSingleSelect", "defaultValue"];
23555
+ var _excluded$7 = ["id", "title", "submenu", "searchPlaceholder", "disableInternalSort", "isSingleSelect", "defaultValue", "type", "inputPlaceholder", "saveLabel", "clearLabel"];
23470
23556
  var Filter = function Filter(_ref) {
23471
23557
  var data = _ref.data,
23472
23558
  _ref$selected = _ref.selected,
@@ -23563,6 +23649,27 @@
23563
23649
  setFilter(newFilters);
23564
23650
  onChange(newFilters);
23565
23651
  }, [filter, menu, onChange]);
23652
+ var handleInputSave = React.useCallback(function (id, value) {
23653
+ var newFilters = {};
23654
+ if (value.trim()) {
23655
+ newFilters = _objectSpread2(_objectSpread2({}, filter), {}, {
23656
+ [id]: [value]
23657
+ });
23658
+ } else {
23659
+ newFilters = _objectSpread2({}, filter);
23660
+ delete newFilters[id];
23661
+ }
23662
+ setFilter(newFilters);
23663
+ onChange(newFilters);
23664
+ setIndex();
23665
+ }, [filter, onChange, setIndex]);
23666
+ var handleInputClear = React.useCallback(function (id) {
23667
+ var newFilters = _objectSpread2({}, filter);
23668
+ delete newFilters[id];
23669
+ setFilter(newFilters);
23670
+ onChange(newFilters);
23671
+ setIndex();
23672
+ }, [filter, onChange, setIndex]);
23566
23673
  var count = React.useMemo(function () {
23567
23674
  var c = 0;
23568
23675
  Object.values(filter).forEach(function (entry) {
@@ -23579,7 +23686,7 @@
23579
23686
  }
23580
23687
  for (var entry of data) {
23581
23688
  var _entry$submenu;
23582
- if (((_entry$submenu = entry.submenu) === null || _entry$submenu === void 0 ? void 0 : _entry$submenu.length) > 1) {
23689
+ if (entry.type === "input" || ((_entry$submenu = entry.submenu) === null || _entry$submenu === void 0 ? void 0 : _entry$submenu.length) > 1) {
23583
23690
  return true;
23584
23691
  }
23585
23692
  }
@@ -23625,7 +23732,7 @@
23625
23732
  shouldRenderSubmenus: shouldRenderSubmenus,
23626
23733
  emptyFilterText: emptyFilterText
23627
23734
  }, children))), shouldRenderSubmenus && data.map(function (_ref2, index) {
23628
- var _filter$id;
23735
+ var _filter$id$, _filter$id, _filter$id2;
23629
23736
  var id = _ref2.id,
23630
23737
  title = _ref2.title,
23631
23738
  submenu = _ref2.submenu,
@@ -23633,6 +23740,12 @@
23633
23740
  disableInternalSort = _ref2.disableInternalSort,
23634
23741
  isSingleSelect = _ref2.isSingleSelect,
23635
23742
  defaultValue = _ref2.defaultValue,
23743
+ _ref2$type = _ref2.type,
23744
+ submenuType = _ref2$type === void 0 ? "select" : _ref2$type,
23745
+ inputPlaceholder = _ref2.inputPlaceholder,
23746
+ _ref2$saveLabel = _ref2.saveLabel,
23747
+ saveLabel = _ref2$saveLabel === void 0 ? "Save" : _ref2$saveLabel,
23748
+ clearLabel = _ref2.clearLabel,
23636
23749
  rest = _objectWithoutProperties(_ref2, _excluded$7);
23637
23750
  return /*#__PURE__*/React__default["default"].createElement(SlideLeftRightTransition, {
23638
23751
  key: "filter-submenu-".concat(index),
@@ -23652,7 +23765,18 @@
23652
23765
  indexPage: menu === "index"
23653
23766
  }, /*#__PURE__*/React__default["default"].createElement(FocusLock.MoveFocusInside, {
23654
23767
  disabled: enteredMenu !== id
23655
- }, /*#__PURE__*/React__default["default"].createElement(Select, _extends({
23768
+ }, submenuType === "input" ? /*#__PURE__*/React__default["default"].createElement(InputSubmenu, {
23769
+ value: (_filter$id$ = (_filter$id = filter[id]) === null || _filter$id === void 0 ? void 0 : _filter$id[0]) !== null && _filter$id$ !== void 0 ? _filter$id$ : "",
23770
+ placeholder: inputPlaceholder,
23771
+ saveLabel: saveLabel,
23772
+ clearLabel: clearLabel,
23773
+ onSave: function onSave(value) {
23774
+ return handleInputSave(id, value);
23775
+ },
23776
+ onClear: function onClear() {
23777
+ return handleInputClear(id);
23778
+ }
23779
+ }) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Select, _extends({
23656
23780
  options: submenu,
23657
23781
  selected: filter[id],
23658
23782
  onChange: handleChange,
@@ -23664,11 +23788,11 @@
23664
23788
  disableSearch: Boolean(submenu.length <= 7),
23665
23789
  disabledInternalSort: disableInternalSort,
23666
23790
  defaultValue: defaultValue
23667
- }, rest)), (_filter$id = filter[id]) !== null && _filter$id !== void 0 && _filter$id.length ? /*#__PURE__*/React__default["default"].createElement(StyledMenuFooter, null, /*#__PURE__*/React__default["default"].createElement(Button, {
23791
+ }, rest)), (_filter$id2 = filter[id]) !== null && _filter$id2 !== void 0 && _filter$id2.length ? /*#__PURE__*/React__default["default"].createElement(StyledMenuFooter, null, /*#__PURE__*/React__default["default"].createElement(Button, {
23668
23792
  variant: "text colored",
23669
23793
  size: "small",
23670
23794
  onClick: handleReset
23671
- }, resetLabel)) : null)));
23795
+ }, resetLabel)) : null))));
23672
23796
  }))));
23673
23797
  };
23674
23798