diff --git a/.changeset/thin-oranges-lick.md b/.changeset/thin-oranges-lick.md new file mode 100644 index 00000000000..320e04c90ed --- /dev/null +++ b/.changeset/thin-oranges-lick.md @@ -0,0 +1,5 @@ +--- +"@primer/react": patch +--- + +v38: Move pointerbox to deprecated still maintaining the main export diff --git a/packages/react/src/PointerBox/PointerBox.docs.json b/packages/react/src/PointerBox/PointerBox.docs.json index 8bf1416c88a..09fccacc447 100644 --- a/packages/react/src/PointerBox/PointerBox.docs.json +++ b/packages/react/src/PointerBox/PointerBox.docs.json @@ -1,14 +1,10 @@ { "id": "pointer_box", "name": "PointerBox", - "status": "alpha", + "status": "deprecated", "a11yReviewed": "2025-01-08", - "stories": [ - { - "id": "components-pointerbox--default" - } - ], - "importPath": "@primer/react", + "stories": [], + "importPath": "@primer/react/deprecated", "props": [ { "name": "bg", diff --git a/packages/react/src/PointerBox/PointerBox.stories.tsx b/packages/react/src/PointerBox/PointerBox.stories.tsx index 6f49bf839eb..bbaf0f4a218 100644 --- a/packages/react/src/PointerBox/PointerBox.stories.tsx +++ b/packages/react/src/PointerBox/PointerBox.stories.tsx @@ -3,7 +3,14 @@ import PointerBox from './PointerBox' import type {ComponentProps} from '../utils/types' export default { - title: 'Components/PointerBox', + title: 'Deprecated/Components/PointerBox', + parameters: { + docs: { + description: { + component: 'PointerBox is deprecated and will be removed in a future major release. Consider using Overlay.', + }, + }, + }, } as Meta export const Default = () => Pointer box content diff --git a/packages/react/src/PointerBox/PointerBox.test.tsx b/packages/react/src/PointerBox/PointerBox.test.tsx index 133c1573384..b01dea90dca 100644 --- a/packages/react/src/PointerBox/PointerBox.test.tsx +++ b/packages/react/src/PointerBox/PointerBox.test.tsx @@ -1,6 +1,7 @@ import {describe, expect, it} from 'vitest' import {render} from '@testing-library/react' -import {PointerBox, ThemeProvider} from '..' +import {ThemeProvider} from '..' +import PointerBox from './PointerBox' import theme from '../theme' describe('PointerBox', () => { diff --git a/packages/react/src/PointerBox/PointerBox.tsx b/packages/react/src/PointerBox/PointerBox.tsx index 975b565a168..9d271566030 100644 --- a/packages/react/src/PointerBox/PointerBox.tsx +++ b/packages/react/src/PointerBox/PointerBox.tsx @@ -16,6 +16,10 @@ type MutatedSxProps = { } } & SxProp +/** + * @deprecated PointerBox is deprecated and will be removed in a future major release. + * Consider using Overlay or Position + Box with a caret instead. + */ export type PointerBoxProps = { caret?: CaretProps['location'] bg?: CaretProps['bg'] @@ -24,6 +28,10 @@ export type PointerBoxProps = { } & BoxProps & MutatedSxProps +/** + * @deprecated PointerBox is deprecated and will be removed in a future major release. + * Consider using Overlay or Position + Box with a caret instead. + */ function PointerBox(props: PointerBoxProps) { // don't destructure these, just grab them const themeContext = React.useContext(ThemeContext) diff --git a/packages/react/src/__tests__/__snapshots__/exports.test.ts.snap b/packages/react/src/__tests__/__snapshots__/exports.test.ts.snap index 3250e135574..3ff8c7d56fb 100644 --- a/packages/react/src/__tests__/__snapshots__/exports.test.ts.snap +++ b/packages/react/src/__tests__/__snapshots__/exports.test.ts.snap @@ -236,6 +236,8 @@ exports[`@primer/react/deprecated > should not update exports without a semver c "type OcticonProps", "Pagehead", "type PageheadProps", + "PointerBox", + "type PointerBoxProps", "TabNav", "type TabNavLinkProps", "type TabNavProps", diff --git a/packages/react/src/deprecated/index.ts b/packages/react/src/deprecated/index.ts index c0df1270469..47da44fe93e 100644 --- a/packages/react/src/deprecated/index.ts +++ b/packages/react/src/deprecated/index.ts @@ -42,3 +42,7 @@ export type {TabNavProps, TabNavLinkProps} from '../TabNav' export {default as Tooltip} from '../Tooltip/Tooltip' export type {TooltipProps} from '../Tooltip/Tooltip' // end of v37.0.0 + +// Deprecated in v38.0.0 +export {default as PointerBox} from '../PointerBox' +export type {PointerBoxProps} from '../PointerBox'