@abgov/jsonforms-components 1.42.1 → 1.42.3

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/index.esm.js +13 -11
  2. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -4541,14 +4541,12 @@ const Dropdown = props => {
4541
4541
  }, [isEqual(props.items, prevCountRef.current)]);
4542
4542
  useEffect(() => {
4543
4543
  if (textInput) {
4544
- textInput.addEventListener('click', inputTextOnClick);
4545
4544
  textInput.addEventListener('keydown', handleKeyDown);
4546
4545
  textInput.addEventListener('blur', handleTextInputOnBlur);
4547
4546
  }
4548
4547
  document.addEventListener('keydown', handleDocumentKeyDown);
4549
4548
  return () => {
4550
4549
  if (textInput) {
4551
- textInput.removeEventListener('click', inputTextOnClick);
4552
4550
  textInput.removeEventListener('keydown', handleKeyDown);
4553
4551
  textInput.removeEventListener('blur', handleTextInputOnBlur);
4554
4552
  }
@@ -4569,9 +4567,6 @@ const Dropdown = props => {
4569
4567
  }
4570
4568
  }
4571
4569
  };
4572
- const inputTextOnClick = e => {
4573
- setIsOpen(previousIsOpen => !previousIsOpen);
4574
- };
4575
4570
  const updateDropDownData = item => {
4576
4571
  onChange(item.value);
4577
4572
  setSelectedOption(item.value);
@@ -4696,6 +4691,9 @@ const Dropdown = props => {
4696
4691
  "data-testid": id,
4697
4692
  children: [jsx(GoADropdownTextbox, {
4698
4693
  isOpen: isOpen,
4694
+ onClick: e => {
4695
+ setIsOpen(previousIsOpen => !previousIsOpen);
4696
+ },
4699
4697
  children: jsx(GoAInput, {
4700
4698
  disabled: !enabled,
4701
4699
  name: `dropdown-${label}`,
@@ -8002,7 +8000,7 @@ const AddressLookUpControl = props => {
8002
8000
  };
8003
8001
  useEffect(() => {
8004
8002
  const fetchSuggestions = () => __awaiter(void 0, void 0, void 0, function* () {
8005
- if (searchTerm.length > 2) {
8003
+ if (searchTerm.length > 2 && searchTerm.charAt(searchTerm.length - 1) !== ' ') {
8006
8004
  setLoading(true);
8007
8005
  setOpen(true);
8008
8006
  yield fetchAddressSuggestions(formUrl, searchTerm, isAlbertaAddress).then(response => {
@@ -8035,8 +8033,8 @@ const AddressLookUpControl = props => {
8035
8033
  /* istanbul ignore next */
8036
8034
  const handleRequiredFieldBlur = name => {
8037
8035
  const err = Object.assign({}, errors);
8038
- if ((data === null || data === void 0 ? void 0 : data["city"]) === undefined || (data === null || data === void 0 ? void 0 : data["city"]) === "") {
8039
- err[name] = name === 'municipality' ? 'city is required' : "";
8036
+ if ((data === null || data === void 0 ? void 0 : data['city']) === undefined || (data === null || data === void 0 ? void 0 : data['city']) === '') {
8037
+ err[name] = name === 'municipality' ? 'city is required' : '';
8040
8038
  setErrors(err);
8041
8039
  }
8042
8040
  if (!(data === null || data === void 0 ? void 0 : data[name]) || data[name] === '' || (data === null || data === void 0 ? void 0 : data[name]) === undefined) {
@@ -8074,17 +8072,17 @@ const AddressLookUpControl = props => {
8074
8072
  } else if (key === 'ArrowUp') {
8075
8073
  setSelectedIndex(prevIndex => prevIndex > 0 ? prevIndex - 1 : suggestions.length - 1);
8076
8074
  handleDropdownChange(value);
8077
- } else if (key === 'Enter') {
8075
+ } else if (key === 'Enter' || key === ' ' && value.length > 2) {
8078
8076
  handleDropdownChange(value);
8079
8077
  setLoading(false);
8080
8078
  if (selectedIndex >= 0) {
8081
- (_a = document.getElementById("goaInput")) === null || _a === void 0 ? void 0 : _a.blur();
8079
+ (_a = document.getElementById('goaInput')) === null || _a === void 0 ? void 0 : _a.blur();
8082
8080
  const suggestion = suggestions[selectedIndex];
8083
8081
  if (suggestion) {
8084
8082
  setTimeout(() => {
8085
8083
  handleSuggestionClick(suggestion);
8086
8084
  setOpen(false);
8087
- }, 100);
8085
+ }, 1);
8088
8086
  }
8089
8087
  }
8090
8088
  }
@@ -8126,6 +8124,10 @@ const AddressLookUpControl = props => {
8126
8124
  tabIndex: 0,
8127
8125
  children: suggestions && autocompletion && open && suggestions.map((suggestion, index) => jsx(ListItem, {
8128
8126
  "data-index": index,
8127
+ onMouseDown: e => {
8128
+ e.preventDefault();
8129
+ e.stopPropagation();
8130
+ },
8129
8131
  onClick: () => {
8130
8132
  handleSuggestionClick(suggestion);
8131
8133
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abgov/jsonforms-components",
3
- "version": "1.42.1",
3
+ "version": "1.42.3",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Government of Alberta - React renderers for JSON Forms based on the design system.",
6
6
  "repository": "https://github.com/GovAlta/adsp-monorepo",