From 671cfb1b12ee83be55fa2e0d7d7de44ef04cedc7 Mon Sep 17 00:00:00 2001 From: adamviktora Date: Wed, 20 Mar 2024 10:43:39 +0100 Subject: [PATCH 1/4] fix(SelectTypeahead example): make "no results" option aria-disabled --- .../src/components/Select/examples/SelectTypeahead.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx b/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx index 8a7ffb04571..2fda6656501 100644 --- a/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx +++ b/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx @@ -44,7 +44,7 @@ export const SelectBasic: React.FunctionComponent = () => { // When no options are found after filtering, display 'No results found' if (!newSelectOptions.length) { newSelectOptions = [ - { isDisabled: false, children: `No results found for "${filterValue}"`, value: 'no results' } + { isAriaDisabled: true, children: `No results found for "${filterValue}"`, value: 'no results' } ]; } From f0f02d64b31a9fcb340b71f431a951f362ba9a81 Mon Sep 17 00:00:00 2001 From: adamviktora Date: Wed, 20 Mar 2024 10:44:59 +0100 Subject: [PATCH 2/4] fix(SelectTypeahead example): don't close the menu on input click when there is text --- .../src/components/Select/examples/SelectTypeahead.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx b/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx index 2fda6656501..b802e813ee0 100644 --- a/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx +++ b/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx @@ -59,6 +59,14 @@ export const SelectBasic: React.FunctionComponent = () => { setFocusedItemIndex(null); }, [filterValue]); + const onInputClick = () => { + if (inputValue) { + setIsOpen(true); + } else { + setIsOpen(!isOpen); + } + }; + const onToggleClick = () => { setIsOpen(!isOpen); }; @@ -147,7 +155,7 @@ export const SelectBasic: React.FunctionComponent = () => { Date: Wed, 20 Mar 2024 10:53:04 +0100 Subject: [PATCH 3/4] fix(SelectTypeahead example): remove visual focus on item after closing the menu Prevents situation where we open the menu via focusing on the toggle arrow and clicking enter -- then two items can have focus styling, which is not ideal. --- .../src/components/Select/examples/SelectTypeahead.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx b/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx index b802e813ee0..8e709d45d07 100644 --- a/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx +++ b/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx @@ -140,6 +140,7 @@ export const SelectBasic: React.FunctionComponent = () => { case 'Tab': case 'Escape': setIsOpen(false); + setFocusedItemIndex(null); setActiveItem(null); break; case 'ArrowUp': @@ -196,6 +197,8 @@ export const SelectBasic: React.FunctionComponent = () => { onSelect={onSelect} onOpenChange={() => { setIsOpen(false); + setFocusedItemIndex(null); + setActiveItem(null); }} toggle={toggle} > From 400e9b607f8f7dc23d6a48659e63337707a0d3cb Mon Sep 17 00:00:00 2001 From: adamviktora Date: Wed, 27 Mar 2024 14:10:39 +0100 Subject: [PATCH 4/4] fix(SelectTypeahead example): remove check icon from the selected option when input text changes --- .../src/components/Select/examples/SelectTypeahead.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx b/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx index 8e709d45d07..dab08492c95 100644 --- a/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx +++ b/packages/react-core/src/components/Select/examples/SelectTypeahead.tsx @@ -88,6 +88,10 @@ export const SelectBasic: React.FunctionComponent = () => { const onTextInputChange = (_event: React.FormEvent, value: string) => { setInputValue(value); setFilterValue(value); + + if (value !== selected) { + setSelected(''); + } }; const handleMenuArrowKeys = (key: string) => {