@mmb-digital/ds-lilly 0.3.4 → 0.3.5

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 (2) hide show
  1. package/dist/ds-lilly.js +58 -32
  2. package/package.json +1 -1
package/dist/ds-lilly.js CHANGED
@@ -98424,9 +98424,11 @@ var Autocomplete2 = function (_a) {
98424
98424
  }
98425
98425
  }, [value]);
98426
98426
  Object(external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_["useEffect"])(function () {
98427
- var itemIndex = getItemIndexByValue(value);
98428
- var itemIndexPosition = getItemIndexPosition(itemIndex);
98429
- setCurrentItemPosition(itemIndexPosition);
98427
+ if (isDropdownVisible) {
98428
+ var itemIndex = getItemIndexByValue(value);
98429
+ var itemIndexPosition = getItemIndexPosition(itemIndex);
98430
+ setCurrentItemPosition(itemIndexPosition);
98431
+ }
98430
98432
  }, [isDropdownVisible]);
98431
98433
  Object(external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_["useEffect"])(function () {
98432
98434
  if (pagingState.loading) {
@@ -98473,7 +98475,7 @@ var Autocomplete2 = function (_a) {
98473
98475
  }
98474
98476
  };
98475
98477
  Object(external_root_React_commonjs2_react_commonjs_react_amd_react_umd_react_["useEffect"])(function () {
98476
- if (fulltextValue && !isDropdownVisible) {
98478
+ if (typingMode && fulltextValue && !isDropdownVisible) {
98477
98479
  setIsDropdownVisible(true);
98478
98480
  }
98479
98481
  if (loadItems) {
@@ -98562,6 +98564,12 @@ var Autocomplete2 = function (_a) {
98562
98564
  var handleCreateNewOption = function () {
98563
98565
  setButtonValue({ label: fulltextValue, value: fulltextValue });
98564
98566
  onCreateNewItem && onCreateNewItem(fulltextValue);
98567
+ setTypingMode(false);
98568
+ };
98569
+ var handleBlur = function (item) {
98570
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
98571
+ // @ts-ignore
98572
+ onBlur && onBlur((item === null || item === void 0 ? void 0 : item.value) || undefined);
98565
98573
  };
98566
98574
  var handleOptionKeyPress = function (event) {
98567
98575
  var ctrlKey = event.ctrlKey, key = event.key, metaKey = event.metaKey, target = event.target;
@@ -98675,18 +98683,29 @@ var Autocomplete2 = function (_a) {
98675
98683
  }
98676
98684
  if (key === KEYS.Enter) {
98677
98685
  event.preventDefault();
98678
- if (isDropdownVisible && showCreatable && itemsIndex.length === 0) {
98679
- handleCreateNewOption();
98686
+ if (isDropdownVisible) {
98687
+ if (showCreatable && itemsIndex.length === 0) {
98688
+ handleCreateNewOption();
98689
+ }
98690
+ else if (fulltextValue && fulltextValue !== (buttonValue === null || buttonValue === void 0 ? void 0 : buttonValue.label) && itemsIndex.length > 0) {
98691
+ var _a = itemsIndex[0], category = _a.category, item = _a.item;
98692
+ var selectedItem = isCategorised
98693
+ ? items[category].items[item]
98694
+ : items[item];
98695
+ setFulltextValue(selectedItem.label);
98696
+ propagateChange(selectedItem);
98697
+ setTypingMode(false);
98698
+ }
98699
+ else if (fulltextValue !== (buttonValue === null || buttonValue === void 0 ? void 0 : buttonValue.label)) {
98700
+ resetFulltext(false);
98701
+ setCurrentItemPosition(-1);
98702
+ propagateChange();
98703
+ }
98704
+ setIsDropdownVisible(false);
98680
98705
  }
98681
- else if (isDropdownVisible && fulltextValue !== (buttonValue === null || buttonValue === void 0 ? void 0 : buttonValue.label) && itemsIndex.length > 0) {
98682
- var _a = itemsIndex[0], category = _a.category, item = _a.item;
98683
- var selectedItem = isCategorised
98684
- ? items[category].items[item]
98685
- : items[item];
98686
- setFulltextValue(selectedItem.label);
98687
- propagateChange(selectedItem);
98706
+ else {
98707
+ setIsDropdownVisible(function (prev) { return !prev; });
98688
98708
  }
98689
- setIsDropdownVisible(function (prev) { return !prev; });
98690
98709
  return;
98691
98710
  }
98692
98711
  if (key === KEYS.ArrowUp && isDropdownVisible) {
@@ -98721,30 +98740,36 @@ var Autocomplete2 = function (_a) {
98721
98740
  return;
98722
98741
  }
98723
98742
  if (key === KEYS.Tab) {
98724
- setIsDropdownVisible(false);
98725
- if (isDropdownVisible && showCreatable && itemsIndex.length === 0) {
98726
- handleCreateNewOption();
98727
- }
98728
- else if (fulltextValue && itemsIndex.length === 1) {
98729
- var _c = itemsIndex[0], category = _c.category, item = _c.item;
98730
- var selectedItem = isCategorised
98731
- ? items[category].items[item]
98732
- : items[item];
98733
- setButtonValue(selectedItem);
98734
- }
98735
- else if (fulltextValue) {
98736
- resetFulltext();
98743
+ if (!isDropdownVisible) {
98744
+ handleBlur(buttonValue);
98737
98745
  }
98738
98746
  else {
98739
- propagateChange();
98747
+ if (showCreatable && itemsIndex.length === 0) {
98748
+ handleCreateNewOption();
98749
+ }
98750
+ else if (fulltextValue && fulltextValue !== (buttonValue === null || buttonValue === void 0 ? void 0 : buttonValue.label) && itemsIndex.length > 0) {
98751
+ var _c = itemsIndex[0], category = _c.category, item = _c.item;
98752
+ var selectedItem = isCategorised
98753
+ ? items[category].items[item]
98754
+ : items[item];
98755
+ setButtonValue(selectedItem);
98756
+ propagateChange(selectedItem);
98757
+ handleBlur(selectedItem);
98758
+ }
98759
+ else if (fulltextValue) {
98760
+ handleBlur(buttonValue);
98761
+ }
98762
+ else {
98763
+ setCurrentItemPosition(-1);
98764
+ resetFulltext(false);
98765
+ propagateChange();
98766
+ handleBlur();
98767
+ }
98740
98768
  }
98741
98769
  setTimeout(function () {
98770
+ setIsDropdownVisible(false);
98742
98771
  setTypingMode(false);
98743
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
98744
- // @ts-ignore
98745
- onBlur && onBlur(buttonValue === null || buttonValue === void 0 ? void 0 : buttonValue.value);
98746
98772
  });
98747
- return;
98748
98773
  }
98749
98774
  };
98750
98775
  var handleFulltextChange = function (_a) {
@@ -98780,6 +98805,7 @@ var Autocomplete2 = function (_a) {
98780
98805
  setIsDropdownVisible(isVisible);
98781
98806
  setTypingMode(isVisible);
98782
98807
  resetFulltext();
98808
+ handleBlur(buttonValue);
98783
98809
  }
98784
98810
  };
98785
98811
  var renderDropdownContent = function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmb-digital/ds-lilly",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "MMB LILLY design system",
5
5
  "license": "UNLICENSED",
6
6
  "sideEffects": false,