@uxf/ui 10.5.0 → 10.5.2

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.
@@ -30,6 +30,7 @@ const classes_1 = require("@uxf/core/constants/classes");
30
30
  const useInputFocus_1 = require("@uxf/core/hooks/useInputFocus");
31
31
  const composeRefs_1 = require("@uxf/core/utils/composeRefs");
32
32
  const cx_1 = require("@uxf/core/utils/cx");
33
+ const last_1 = require("@uxf/core/utils/last");
33
34
  const slugify_1 = require("@uxf/core/utils/slugify");
34
35
  const chip_1 = require("@uxf/ui/chip");
35
36
  const use_async_loading_1 = require("@uxf/ui/hooks/use-async-loading");
@@ -39,6 +40,18 @@ const input_1 = require("@uxf/ui/input");
39
40
  const label_1 = require("@uxf/ui/label");
40
41
  const react_3 = __importStar(require("react"));
41
42
  const checkbox_input_1 = require("../checkbox-input");
43
+ function handleInputKeyDownRecursion(selectedOptions, onRemove) {
44
+ const lastSelectedOption = (0, last_1.last)(selectedOptions);
45
+ if (!lastSelectedOption) {
46
+ return;
47
+ }
48
+ if (lastSelectedOption.disabled) {
49
+ handleInputKeyDownRecursion(selectedOptions.slice(0, -1), onRemove);
50
+ }
51
+ else {
52
+ onRemove(lastSelectedOption.id);
53
+ }
54
+ }
42
55
  exports._MultiComboboxBase = (0, react_3.forwardRef)((props, ref) => {
43
56
  var _a, _b, _c, _d, _e, _f, _g;
44
57
  const isAsync = !!props.loadOptions;
@@ -77,7 +90,7 @@ exports._MultiComboboxBase = (0, react_3.forwardRef)((props, ref) => {
77
90
  };
78
91
  const handleInputKeyDown = (e) => {
79
92
  if (e.key === "Backspace" && query === "" && selectedOptions.length > 0) {
80
- onRemove(selectedOptions[selectedOptions.length - 1].id);
93
+ handleInputKeyDownRecursion(selectedOptions, onRemove);
81
94
  }
82
95
  };
83
96
  const handleInputChange = (e) => setQuery(e.target.value);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/ui",
3
- "version": "10.5.0",
3
+ "version": "10.5.2",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"