diff --git a/.changeset/underlinenav-intersection-observer-overflow.md b/.changeset/underlinenav-intersection-observer-overflow.md new file mode 100644 index 00000000000..66e0ef6c1da --- /dev/null +++ b/.changeset/underlinenav-intersection-observer-overflow.md @@ -0,0 +1,5 @@ +--- +'@primer/react': patch +--- + +Improve UnderlineNav overflow performance by replacing synchronous DOM measurements with CSS `overflow: hidden` + `IntersectionObserver` diff --git a/packages/react/src/UnderlineNav/UnderlineNav.module.css b/packages/react/src/UnderlineNav/UnderlineNav.module.css index d905aff3fcf..7fb57876911 100644 --- a/packages/react/src/UnderlineNav/UnderlineNav.module.css +++ b/packages/react/src/UnderlineNav/UnderlineNav.module.css @@ -1,9 +1,80 @@ +/* Fixed height on the wrapper prevents vertical CLS on first paint. + Horizontal clipping is handled by overflow: hidden on the