From 8ce38619acc1a3fa2316690804524e52252486fd Mon Sep 17 00:00:00 2001 From: Josh Black Date: Wed, 12 Aug 2026 12:05:27 -0500 Subject: [PATCH 1/3] feat: add AriaStatus and AriaAlert to stable entrypoint --- .../__snapshots__/exports.test.ts.snap | 4 +++ packages/react/src/index.ts | 2 ++ .../react/src/live-region/AriaAlert.docs.json | 21 +++++++++++++++ .../AriaAlert.features.stories.tsx | 2 +- .../src/live-region/AriaAlert.stories.tsx | 2 +- .../src/live-region/AriaStatus.docs.json | 26 +++++++++++++++++++ .../AriaStatus.features.stories.tsx | 2 +- .../src/live-region/AriaStatus.stories.tsx | 2 +- 8 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 packages/react/src/live-region/AriaAlert.docs.json create mode 100644 packages/react/src/live-region/AriaStatus.docs.json diff --git a/packages/react/src/__tests__/__snapshots__/exports.test.ts.snap b/packages/react/src/__tests__/__snapshots__/exports.test.ts.snap index 068bacd8275..1577dbe7439 100644 --- a/packages/react/src/__tests__/__snapshots__/exports.test.ts.snap +++ b/packages/react/src/__tests__/__snapshots__/exports.test.ts.snap @@ -23,6 +23,10 @@ exports[`@primer/react > should not update exports without a semver change 1`] = "AnchoredOverlay", "type AnchoredOverlayProps", "AnchoredPositionHookSettings", + "AriaAlert", + "type AriaAlertProps", + "AriaStatus", + "type AriaStatusProps", "asSlot", "Autocomplete", "type AutocompleteInputProps", diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index 0c4ebf8767d..01e58ee1a5a 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -1,6 +1,8 @@ 'use client' export {default as theme, type ThemeColorPaths, type ThemeShadowPaths} from './theme' +export {AriaStatus, AriaAlert} from './live-region' +export type {AriaStatusProps, AriaAlertProps} from './live-region' export {default as BaseStyles} from './BaseStyles' export type {BaseStylesProps} from './BaseStyles' export {default as ThemeProvider} from './ThemeProvider' diff --git a/packages/react/src/live-region/AriaAlert.docs.json b/packages/react/src/live-region/AriaAlert.docs.json new file mode 100644 index 00000000000..fe0ebb2eb71 --- /dev/null +++ b/packages/react/src/live-region/AriaAlert.docs.json @@ -0,0 +1,21 @@ +{ + "id": "aria-alert", + "name": "AriaAlert", + "status": "alpha", + "a11yReviewed": false, + "importPath": "@primer/react", + "props": [ + { + "name": "announceOnShow", + "type": "boolean", + "description": "Specify if the content of the element should be announced when this component is rendered and is not hidden", + "defaultValue": "false" + }, + { + "name": "hidden", + "type": "boolean", + "description": "Specify if the element is hidden", + "defaultValue": "false" + } + ] +} diff --git a/packages/react/src/live-region/AriaAlert.features.stories.tsx b/packages/react/src/live-region/AriaAlert.features.stories.tsx index f4313392318..a1c4eec856b 100644 --- a/packages/react/src/live-region/AriaAlert.features.stories.tsx +++ b/packages/react/src/live-region/AriaAlert.features.stories.tsx @@ -3,7 +3,7 @@ import {AriaAlert} from './AriaAlert' import {VisuallyHidden} from '../VisuallyHidden' export default { - title: 'Experimental/Components/AriaAlert/Features', + title: 'Components/AriaAlert/Features', component: AriaAlert, } diff --git a/packages/react/src/live-region/AriaAlert.stories.tsx b/packages/react/src/live-region/AriaAlert.stories.tsx index c2432993e63..759a8811bd1 100644 --- a/packages/react/src/live-region/AriaAlert.stories.tsx +++ b/packages/react/src/live-region/AriaAlert.stories.tsx @@ -3,7 +3,7 @@ import {useEffect, useState} from 'react' import {AriaAlert} from './AriaAlert' export default { - title: 'Experimental/Components/AriaAlert', + title: 'Components/AriaAlert', component: AriaAlert, } diff --git a/packages/react/src/live-region/AriaStatus.docs.json b/packages/react/src/live-region/AriaStatus.docs.json new file mode 100644 index 00000000000..e98030d1deb --- /dev/null +++ b/packages/react/src/live-region/AriaStatus.docs.json @@ -0,0 +1,26 @@ +{ + "id": "aria-status", + "name": "AriaStatus", + "status": "alpha", + "a11yReviewed": false, + "importPath": "@primer/react", + "props": [ + { + "name": "announceOnShow", + "type": "boolean", + "description": "Specify if the content of the element should be announced when this component is rendered and is not hidden", + "defaultValue": "false" + }, + { + "name": "hidden", + "type": "boolean", + "description": "Specify if the element is hidden", + "defaultValue": "false" + }, + { + "name": "delayMs", + "type": "number", + "description": "Provide a delay in milliseconds before the announcement is made" + } + ] +} diff --git a/packages/react/src/live-region/AriaStatus.features.stories.tsx b/packages/react/src/live-region/AriaStatus.features.stories.tsx index 1ecb7661716..673dd4a64c8 100644 --- a/packages/react/src/live-region/AriaStatus.features.stories.tsx +++ b/packages/react/src/live-region/AriaStatus.features.stories.tsx @@ -4,7 +4,7 @@ import {AriaStatus} from './AriaStatus' import {VisuallyHidden} from '../VisuallyHidden' export default { - title: 'Experimental/Components/AriaStatus/Features', + title: 'Components/AriaStatus/Features', component: AriaStatus, } diff --git a/packages/react/src/live-region/AriaStatus.stories.tsx b/packages/react/src/live-region/AriaStatus.stories.tsx index 26d376bcc25..23d4145f862 100644 --- a/packages/react/src/live-region/AriaStatus.stories.tsx +++ b/packages/react/src/live-region/AriaStatus.stories.tsx @@ -3,7 +3,7 @@ import {useEffect, useState} from 'react' import {AriaStatus} from './AriaStatus' export default { - title: 'Experimental/Components/AriaStatus', + title: 'Components/AriaStatus', component: AriaStatus, } From c2a133d53e39a2ca1dd3da088a2098c26065bcb7 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Wed, 12 Aug 2026 12:05:59 -0500 Subject: [PATCH 2/3] chore: add changeset --- .changeset/grumpy-actors-see.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/grumpy-actors-see.md diff --git a/.changeset/grumpy-actors-see.md b/.changeset/grumpy-actors-see.md new file mode 100644 index 00000000000..2e8e06eaaa6 --- /dev/null +++ b/.changeset/grumpy-actors-see.md @@ -0,0 +1,5 @@ +--- +'@primer/react': minor +--- + +Promote AriaStatus and AriaAlert from experimental to stable From c9751eeb6c692794d04e6f51306693b411b7b8d9 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Wed, 12 Aug 2026 12:08:48 -0500 Subject: [PATCH 3/3] chore: add stories key to component docs --- packages/react/src/live-region/AriaAlert.docs.json | 1 + packages/react/src/live-region/AriaStatus.docs.json | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/react/src/live-region/AriaAlert.docs.json b/packages/react/src/live-region/AriaAlert.docs.json index fe0ebb2eb71..404f5cea97e 100644 --- a/packages/react/src/live-region/AriaAlert.docs.json +++ b/packages/react/src/live-region/AriaAlert.docs.json @@ -4,6 +4,7 @@ "status": "alpha", "a11yReviewed": false, "importPath": "@primer/react", + "stories": [], "props": [ { "name": "announceOnShow", diff --git a/packages/react/src/live-region/AriaStatus.docs.json b/packages/react/src/live-region/AriaStatus.docs.json index e98030d1deb..c4df5eeb85b 100644 --- a/packages/react/src/live-region/AriaStatus.docs.json +++ b/packages/react/src/live-region/AriaStatus.docs.json @@ -4,6 +4,7 @@ "status": "alpha", "a11yReviewed": false, "importPath": "@primer/react", + "stories": [], "props": [ { "name": "announceOnShow",