From 9e20c27381fec0f6c481e7b8a78862f0c4bcfea2 Mon Sep 17 00:00:00 2001 From: Jonathan Zempel Date: Fri, 28 Jul 2023 11:13:49 -0400 Subject: [PATCH 1/2] fix(combobox): prevent tag state rerender on focus --- packages/dropdowns.next/.size-snapshot.json | 16 ++++++++-------- .../src/elements/combobox/Combobox.tsx | 6 ++---- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/dropdowns.next/.size-snapshot.json b/packages/dropdowns.next/.size-snapshot.json index bfc457e0ffa..59c5e80d9e7 100644 --- a/packages/dropdowns.next/.size-snapshot.json +++ b/packages/dropdowns.next/.size-snapshot.json @@ -1,20 +1,20 @@ { "index.cjs.js": { - "bundled": 55445, - "minified": 40307, - "gzipped": 9209 + "bundled": 55344, + "minified": 40274, + "gzipped": 9098 }, "index.esm.js": { - "bundled": 50790, - "minified": 35896, - "gzipped": 8636, + "bundled": 50695, + "minified": 35869, + "gzipped": 8627, "treeshaked": { "rollup": { - "code": 28228, + "code": 28209, "import_statements": 1064 }, "webpack": { - "code": 31112 + "code": 31080 } } } diff --git a/packages/dropdowns.next/src/elements/combobox/Combobox.tsx b/packages/dropdowns.next/src/elements/combobox/Combobox.tsx index 2f0bac2f5c1..7c369a62c28 100644 --- a/packages/dropdowns.next/src/elements/combobox/Combobox.tsx +++ b/packages/dropdowns.next/src/elements/combobox/Combobox.tsx @@ -216,7 +216,6 @@ export const Combobox = forwardRef( }, [getLabelProps, labelProps, setLabelProps]); const Tags = ({ selectedOptions }: { selectedOptions: IOption[] }) => { - const [isFocused, setIsFocused] = useState(hasFocus.current); const value = selectedOptions.length - maxTags; return ( @@ -224,20 +223,19 @@ export const Combobox = forwardRef( {selectedOptions.map((option, index) => { const key = toString(option); const disabled = isDisabled || option.disabled; - const hidden = !isFocused && index >= maxTags; + const hidden = !hasFocus.current && index >= maxTags; return (