diff --git a/.changeset/react-compiler-select-panel.md b/.changeset/react-compiler-select-panel.md new file mode 100644 index 00000000000..97d46f554e1 --- /dev/null +++ b/.changeset/react-compiler-select-panel.md @@ -0,0 +1,5 @@ +--- +'@primer/react': patch +--- + +SelectPanel: Improve rendering performance with React Compiler support diff --git a/packages/react/script/react-compiler.mjs b/packages/react/script/react-compiler.mjs index 184c468cfc0..8e36fc77b0c 100644 --- a/packages/react/script/react-compiler.mjs +++ b/packages/react/script/react-compiler.mjs @@ -26,7 +26,6 @@ const unsupportedPatterns = [ 'src/PageLayout/**/*.tsx', 'src/Pagination/**/*.tsx', 'src/Portal/**/*.tsx', - 'src/SelectPanel/**/*.tsx', 'src/SideNav.tsx', 'src/UnderlineNav/**/*.tsx', 'src/experimental/SelectPanel2/**/*.tsx', diff --git a/packages/react/src/SelectPanel/SelectPanel.test.tsx b/packages/react/src/SelectPanel/SelectPanel.test.tsx index 32a3ade1f74..9fd09799fa8 100644 --- a/packages/react/src/SelectPanel/SelectPanel.test.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.test.tsx @@ -602,14 +602,13 @@ for (const usingRemoveActiveDescendant of [false, true]) { function NoItemAvailableSelectPanel() { const [selected, setSelected] = React.useState([]) const [filter, setFilter] = React.useState('') + const [items, setItems] = React.useState([]) const [open, setOpen] = React.useState(false) const onSelectedChange = (selected: SelectPanelProps['items']) => { setSelected(selected) } - const items: SelectPanelProps['items'] = [] - return ( { setFilter(value) + setItems([]) }} open={open} onOpenChange={isOpen => { @@ -940,8 +940,8 @@ for (const usingRemoveActiveDescendant of [false, true]) { renderWithProp(, usingRemoveActiveDescendant) - await waitFor(async () => { - await user.click(screen.getByText('Select items')) + await user.click(screen.getByText('Select items')) + await waitFor(() => { expect(screen.getByText('No items available')).toBeInTheDocument() }) })