diff --git a/.changeset/react-compiler-hooks.md b/.changeset/react-compiler-hooks.md new file mode 100644 index 00000000000..2e3431dd96c --- /dev/null +++ b/.changeset/react-compiler-hooks.md @@ -0,0 +1,5 @@ +--- +'@primer/react': patch +--- + +Hooks: 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..8ffc4aacf6c 100644 --- a/packages/react/script/react-compiler.mjs +++ b/packages/react/script/react-compiler.mjs @@ -30,16 +30,7 @@ const unsupportedPatterns = [ 'src/SideNav.tsx', 'src/UnderlineNav/**/*.tsx', 'src/experimental/SelectPanel2/**/*.tsx', - 'src/hooks/useAnchoredPosition.ts', - 'src/hooks/useFocusTrap.ts', - 'src/hooks/useFocusZone.ts', - 'src/hooks/useMenuInitialFocus.ts', - 'src/hooks/useOnEscapePress.ts', - 'src/hooks/useResizeObserver.ts', - 'src/hooks/useSafeTimeout.ts', - 'src/hooks/useScrollFlash.ts', 'src/internal/components/CheckboxOrRadioGroup/**/*.tsx', - 'src/hooks/useMergedRefs.ts', 'src/TooltipV2/**/*.tsx', ] diff --git a/packages/react/src/SelectPanel/SelectPanel.test.tsx b/packages/react/src/SelectPanel/SelectPanel.test.tsx index 32a3ade1f74..c7fc015b229 100644 --- a/packages/react/src/SelectPanel/SelectPanel.test.tsx +++ b/packages/react/src/SelectPanel/SelectPanel.test.tsx @@ -1673,11 +1673,10 @@ for (const usingRemoveActiveDescendant of [false, true]) { const input = screen.getByPlaceholderText('Filter items') const options = screen.getAllByRole('option') - // Wait a tick for the effect to run - await new Promise(resolve => setTimeout(resolve, 0)) - - // aria-activedescendant should be set to the first item - expect(input.getAttribute('aria-activedescendant')).toBe(options[0].id) + await waitFor(() => { + // aria-activedescendant should be set to the first item + expect(input.getAttribute('aria-activedescendant')).toBe(options[0].id) + }) }) it('should not set aria-activedescendant on mouse hover until after first interaction when setInitialFocus is true', async () => {