From 41c0d335eeccbc68205a64ca6591b2ea814d41bf Mon Sep 17 00:00:00 2001 From: Minwook Shin <163576506+minwookshin@users.noreply.github.com> Date: Wed, 30 Sep 2026 23:21:05 -0400 Subject: [PATCH 1/3] fix(PageLayout): apply sidebar padding --- .changeset/quiet-sidebars-breathe.md | 5 +++ .../src/PageLayout/PageLayout.module.css | 2 ++ .../react/src/PageLayout/PageLayout.test.tsx | 34 +++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 .changeset/quiet-sidebars-breathe.md diff --git a/.changeset/quiet-sidebars-breathe.md b/.changeset/quiet-sidebars-breathe.md new file mode 100644 index 00000000000..282d3e2ce0b --- /dev/null +++ b/.changeset/quiet-sidebars-breathe.md @@ -0,0 +1,5 @@ +--- +'@primer/react': patch +--- + +Apply `PageLayout.Sidebar` padding independently of the parent layout's padding. diff --git a/packages/react/src/PageLayout/PageLayout.module.css b/packages/react/src/PageLayout/PageLayout.module.css index 526fa6d8ee5..d2ca689e1f2 100644 --- a/packages/react/src/PageLayout/PageLayout.module.css +++ b/packages/react/src/PageLayout/PageLayout.module.css @@ -840,6 +840,8 @@ .Sidebar { width: var(--pane-width-size); height: 100%; + /* stylelint-disable-next-line primer/spacing */ + padding: var(--spacing); overflow: auto; &:where([data-resizable]) { diff --git a/packages/react/src/PageLayout/PageLayout.test.tsx b/packages/react/src/PageLayout/PageLayout.test.tsx index ef943f56f9a..96ce47fcfa3 100644 --- a/packages/react/src/PageLayout/PageLayout.test.tsx +++ b/packages/react/src/PageLayout/PageLayout.test.tsx @@ -330,6 +330,40 @@ describe('PageLayout', async () => { }) describe('PageLayout.Sidebar', () => { + it.each([ + {padding: 'none', viewport: 1280, expected: '0px'}, + {padding: 'condensed', viewport: 1280, expected: '16px'}, + {padding: 'normal', viewport: 1280, expected: '24px'}, + {padding: 'condensed', viewport: 375, expected: '16px'}, + {padding: 'normal', viewport: 375, expected: '16px'}, + {padding: 'normal', viewport: 800, expected: '16px'}, + ] as const)('applies $padding padding at a $viewport px viewport', async ({padding, viewport, expected}) => { + await page.viewport(viewport, 800) + try { + const {rerender} = render( + + Sidebar + Content + , + ) + + expect(screen.getByText('Sidebar')).toHaveStyle({padding: expected}) + + rerender( + + + Sidebar + + Content + , + ) + + expect(screen.getByText('Sidebar')).toHaveStyle({padding: expected}) + } finally { + await page.viewport(1280, 800) + } + }) + it('SidebarWrapper should prevent shrinking', () => { const {container} = render( From ce6ccd5c30057e1c4bd9c820244323584fae46ab Mon Sep 17 00:00:00 2001 From: Minwook Shin <163576506+minwookshin@users.noreply.github.com> Date: Wed, 7 Oct 2026 16:19:51 -0400 Subject: [PATCH 2/3] test: unmount sidebar before restoring viewport --- packages/react/src/PageLayout/PageLayout.test.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/react/src/PageLayout/PageLayout.test.tsx b/packages/react/src/PageLayout/PageLayout.test.tsx index 96ce47fcfa3..1c20c10285d 100644 --- a/packages/react/src/PageLayout/PageLayout.test.tsx +++ b/packages/react/src/PageLayout/PageLayout.test.tsx @@ -339,14 +339,14 @@ describe('PageLayout', async () => { {padding: 'normal', viewport: 800, expected: '16px'}, ] as const)('applies $padding padding at a $viewport px viewport', async ({padding, viewport, expected}) => { await page.viewport(viewport, 800) - try { - const {rerender} = render( - - Sidebar - Content - , - ) + const {rerender, unmount} = render( + + Sidebar + Content + , + ) + try { expect(screen.getByText('Sidebar')).toHaveStyle({padding: expected}) rerender( @@ -360,6 +360,7 @@ describe('PageLayout', async () => { expect(screen.getByText('Sidebar')).toHaveStyle({padding: expected}) } finally { + unmount() await page.viewport(1280, 800) } }) From 78df2b1505905bfa325518fe1c9f72348a32b59c Mon Sep 17 00:00:00 2001 From: Minwook Shin <163576506+minwookshin@users.noreply.github.com> Date: Fri, 9 Oct 2026 09:11:29 -0400 Subject: [PATCH 3/3] docs: clarify PageLayout changeset summary --- .changeset/quiet-sidebars-breathe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/quiet-sidebars-breathe.md b/.changeset/quiet-sidebars-breathe.md index 282d3e2ce0b..5321ba4bc92 100644 --- a/.changeset/quiet-sidebars-breathe.md +++ b/.changeset/quiet-sidebars-breathe.md @@ -2,4 +2,4 @@ '@primer/react': patch --- -Apply `PageLayout.Sidebar` padding independently of the parent layout's padding. +PageLayout: Apply sidebar padding independently of the parent layout's padding.