From 7bdde7178dfa54799e3fac1d56b640cd544bc86f Mon Sep 17 00:00:00 2001 From: Josh Black Date: Wed, 13 Aug 2025 12:55:00 -0500 Subject: [PATCH 1/5] chore(release): enter pre-release mode for v38 --- .changeset/pre.json | 15 +++++++++++++++ .github/workflows/release_canary.yml | 4 ++++ 2 files changed, 19 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000000..ce25f74c726 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,15 @@ +{ + "mode": "exit", + "tag": "rc", + "initialVersions": { + "codesandbox": "0.0.0", + "example-nextjs": "0.0.0", + "example-theming": "0.0.0", + "@primer/mcp": "0.0.2", + "postcss-preset-primer": "0.0.0", + "@primer/react": "37.31.0", + "rollup-plugin-import-css": "0.0.0", + "@primer/styled-react": "0.1.0" + }, + "changesets": [] +} diff --git a/.github/workflows/release_canary.yml b/.github/workflows/release_canary.yml index e7ede5e754d..b7b04eef5c2 100644 --- a/.github/workflows/release_canary.yml +++ b/.github/workflows/release_canary.yml @@ -41,6 +41,10 @@ jobs: NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN_SHARED }} - name: Publish canary release run: | + if [[ -f '.changeset/pre.json' ]]; then + npx changeset pre exit + fi + echo -e "---\n$( jq .name packages/react/package.json ): patch\n---\n\nFake entry to force publishing" > .changeset/force-snapshot-release.md npx changeset version --snapshot npx changeset publish --tag canary From cf483feba9568a59e305c56b9071feb7f155678e Mon Sep 17 00:00:00 2001 From: Josh Black Date: Wed, 13 Aug 2025 13:20:47 -0500 Subject: [PATCH 2/5] Update .changeset/pre.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .changeset/pre.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index ce25f74c726..0d16ad26dde 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,5 +1,5 @@ { - "mode": "exit", + "mode": "pre", "tag": "rc", "initialVersions": { "codesandbox": "0.0.0", From ef4bdab75d904f97911924c0b6f6bb43c2a5327d Mon Sep 17 00:00:00 2001 From: Jon Rohan Date: Wed, 13 Aug 2025 21:27:37 +0000 Subject: [PATCH 3/5] refactor(SubNav): Remove sx support from SubNav component --- .../react/src/SubNav/SubNav.dev.stories.tsx | 45 ----------------- packages/react/src/SubNav/SubNav.tsx | 49 +++++++------------ 2 files changed, 17 insertions(+), 77 deletions(-) diff --git a/packages/react/src/SubNav/SubNav.dev.stories.tsx b/packages/react/src/SubNav/SubNav.dev.stories.tsx index e1419de9567..b2d8e24e0d1 100644 --- a/packages/react/src/SubNav/SubNav.dev.stories.tsx +++ b/packages/react/src/SubNav/SubNav.dev.stories.tsx @@ -27,48 +27,3 @@ export const WithCss = () => ( ) - -export const WithSx = () => ( - - - - Home - - - Documentation - - - Support - - - -) - -export const WithSxAndCSS = () => ( - - - - Home - - - Documentation - - - Support - - - -) diff --git a/packages/react/src/SubNav/SubNav.tsx b/packages/react/src/SubNav/SubNav.tsx index 7e68ecde7b0..6976fb1f104 100644 --- a/packages/react/src/SubNav/SubNav.tsx +++ b/packages/react/src/SubNav/SubNav.tsx @@ -1,60 +1,48 @@ import {clsx} from 'clsx' import type {To} from 'history' import React from 'react' -import type {ComponentProps} from '../utils/types' import styles from './SubNav.module.css' -import type {SxProp} from '../sx' -import {BoxWithFallback} from '../internal/components/BoxWithFallback' -type StyledSubNavProps = React.ComponentProps<'nav'> & { +export type SubNavProps = React.ComponentProps<'nav'> & { actions?: React.ReactNode align?: 'right' full?: boolean label?: string -} & SxProp -type StyledSubNavLinksProps = React.ComponentProps<'div'> & SxProp -type StyledSubNavLinkProps = React.ComponentProps<'a'> & {to?: To; selected?: boolean} & SxProp +} +export type SubNavLinksProps = React.ComponentProps<'div'> +export type SubNavLinkProps = React.ComponentProps<'a'> & {to?: To; selected?: boolean} -const SubNav = React.forwardRef(function SubNav( +const SubNav = React.forwardRef(function SubNav( {actions, className, children, label, ...rest}, forwardRef, ) { return ( - + ) }) SubNav.displayName = 'SubNav' // SubNav.Links -const SubNavLinks = React.forwardRef( - ({children, className, ...rest}, forwardRef) => { - return ( - - {children} - - ) - }, -) +const SubNavLinks = React.forwardRef(({children, className, ...rest}, forwardRef) => { + return ( +
+ {children} +
+ ) +}) SubNavLinks.displayName = 'SubNav.Links' // SubNav.Link -const SubNavLink = React.forwardRef( +const SubNavLink = React.forwardRef( ({children, className, ...rest}, forwardRef) => { return ( - ( {...rest} > {children} - + ) }, ) SubNavLink.displayName = 'SubNav.Link' -export type SubNavProps = ComponentProps -export type SubNavLinksProps = ComponentProps -export type SubNavLinkProps = ComponentProps export default Object.assign(SubNav, {Link: SubNavLink, Links: SubNavLinks}) From e8eeace44bd70f3d61e347ce22ab755be373b1ed Mon Sep 17 00:00:00 2001 From: Jon Rohan Date: Wed, 13 Aug 2025 14:28:32 -0700 Subject: [PATCH 4/5] Add changeset --- .changeset/proud-chairs-study.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/proud-chairs-study.md diff --git a/.changeset/proud-chairs-study.md b/.changeset/proud-chairs-study.md new file mode 100644 index 00000000000..cec2457a873 --- /dev/null +++ b/.changeset/proud-chairs-study.md @@ -0,0 +1,5 @@ +--- +"@primer/react": major +--- + +Remove sx support from SubNav component From 7d0ac9e7bcc5daa5e3968d51add299df21ca77eb Mon Sep 17 00:00:00 2001 From: Jon Rohan Date: Thu, 14 Aug 2025 17:02:01 +0000 Subject: [PATCH 5/5] Remove e2e sx tests --- e2e/components/SubNav.test.ts | 36 ----------------------------------- 1 file changed, 36 deletions(-) diff --git a/e2e/components/SubNav.test.ts b/e2e/components/SubNav.test.ts index 2f4cb036db3..474438085f4 100644 --- a/e2e/components/SubNav.test.ts +++ b/e2e/components/SubNav.test.ts @@ -21,24 +21,6 @@ test.describe('SubNav', () => { } }) - test.describe('Dev: With Sx', () => { - for (const theme of themes) { - test.describe(theme, () => { - test('default @vrt', async ({page}) => { - await visit(page, { - id: 'components-subnav-dev--with-sx', - globals: { - colorScheme: theme, - }, - }) - - // Default state - expect(await page.screenshot()).toMatchSnapshot(`SubNav.Dev.WithSx.${theme}.png`) - }) - }) - } - }) - test.describe('Dev: With CSS', () => { for (const theme of themes) { test.describe(theme, () => { @@ -56,22 +38,4 @@ test.describe('SubNav', () => { }) } }) - - test.describe('Dev: With Sx and CSS', () => { - for (const theme of themes) { - test.describe(theme, () => { - test('default @vrt', async ({page}) => { - await visit(page, { - id: 'components-subnav-dev--with-sx-and-css', - globals: { - colorScheme: theme, - }, - }) - - // Default state - expect(await page.screenshot()).toMatchSnapshot(`SubNav.Dev.WithSxAndCSS.${theme}.png`) - }) - }) - } - }) })