diff --git a/.changeset/react-compiler-safe-timeout.md b/.changeset/react-compiler-safe-timeout.md new file mode 100644 index 00000000000..f03fcec132b --- /dev/null +++ b/.changeset/react-compiler-safe-timeout.md @@ -0,0 +1,5 @@ +--- +'@primer/react': minor +--- + +useSafeTimeout: Support automatic memoization with React Compiler. diff --git a/.changeset/react-compiler-token-remove-button.md b/.changeset/react-compiler-token-remove-button.md new file mode 100644 index 00000000000..9e40058af25 --- /dev/null +++ b/.changeset/react-compiler-token-remove-button.md @@ -0,0 +1,5 @@ +--- +'@primer/react': minor +--- + +Token, IssueLabelToken: Improve rendering performance with React Compiler support. diff --git a/.changeset/react-compiler-underline-panels.md b/.changeset/react-compiler-underline-panels.md new file mode 100644 index 00000000000..1d3ccfcb569 --- /dev/null +++ b/.changeset/react-compiler-underline-panels.md @@ -0,0 +1,5 @@ +--- +'@primer/react': minor +--- + +UnderlinePanels: Improve rendering performance with React Compiler support. diff --git a/packages/react/script/react-compiler.mjs b/packages/react/script/react-compiler.mjs index dab247978a0..c797624c1a3 100644 --- a/packages/react/script/react-compiler.mjs +++ b/packages/react/script/react-compiler.mjs @@ -25,13 +25,11 @@ const unsupportedPatterns = [ 'src/SelectPanel/SelectPanel.test.tsx', 'src/SelectPanel/SelectPanel.tsx', 'src/Skeleton/SkeletonBox.figma.tsx', - 'src/Token/_RemoveTokenButton.tsx', 'src/TreeView/TreeView.features.stories.tsx', 'src/TreeView/TreeView.tsx', 'src/deprecated/utils/create-slots.tsx', 'src/experimental/SelectPanel2/SelectPanel.tsx', 'src/experimental/UnderlinePanels/UnderlinePanels.test.tsx', - 'src/experimental/UnderlinePanels/UnderlinePanels.tsx', 'src/hooks/useAnchoredPosition.ts', 'src/hooks/useControllableState.ts', 'src/hooks/useFocusTrap.ts', @@ -39,7 +37,6 @@ const unsupportedPatterns = [ 'src/hooks/useOnEscapePress.ts', 'src/hooks/useOnOutsideClick.tsx', 'src/hooks/useResizeObserver.ts', - 'src/hooks/useSafeTimeout.ts', 'src/internal/hooks/__tests__/useFocus.test.tsx', 'src/internal/hooks/useDevOnlyEffect.ts', 'src/utils/StressTest.tsx', diff --git a/packages/react/src/Token/_RemoveTokenButton.tsx b/packages/react/src/Token/_RemoveTokenButton.tsx index 4ac007ca5cc..84c5890a6fc 100644 --- a/packages/react/src/Token/_RemoveTokenButton.tsx +++ b/packages/react/src/Token/_RemoveTokenButton.tsx @@ -12,7 +12,8 @@ interface TokenButtonProps { isParentInteractive?: boolean } -type RemoveTokenButtonProps = TokenButtonProps & Omit, 'size'> +type RemoveTokenButtonProps = TokenButtonProps & + Omit, 'size' | 'ref'> const RemoveTokenButton = ({ 'aria-label': ariaLabel, @@ -43,7 +44,6 @@ const RemoveTokenButton = ({ return (