Skip to content

Commit 4d080aa

Browse files
authored
Popover: Remove sx from component (#6754)
Co-authored-by: TylerJDev <[email protected]>
1 parent 9d13904 commit 4d080aa

File tree

8 files changed

+19
-74
lines changed

8 files changed

+19
-74
lines changed

.changeset/busy-bananas-smash.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@primer/react': major
3+
---
4+
5+
Update Popover to no longer support sx

e2e/components/Popover.test.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ const stories = [
1111
title: 'Playground',
1212
id: 'components-popover--playground',
1313
},
14-
{
15-
title: 'SX Props',
16-
id: 'components-popover-dev--sx-props',
17-
},
1814
] as const
1915

2016
test.describe('Popover', () => {

packages/react/src/Popover/Popover.dev.stories.tsx

Lines changed: 0 additions & 37 deletions
This file was deleted.

packages/react/src/Popover/Popover.stories.tsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ export default {
1111

1212
export const Default = () => (
1313
<Popover relative open={true} caret="top">
14-
<Popover.Content sx={{marginTop: 2}}>
15-
<Heading sx={{fontSize: 2}}>Popover heading</Heading>
14+
<Popover.Content style={{marginTop: 'var(--base-size-8)'}}>
15+
<Heading style={{fontSize: 'var(--text-title-size-small)'}}>Popover heading</Heading>
1616
<Text as="p">Message about popovers</Text>
1717
<Button>Got it!</Button>
1818
</Popover.Content>
@@ -21,8 +21,13 @@ export const Default = () => (
2121

2222
export const Playground: StoryFn<PopoverProps & PopoverContentProps> = args => (
2323
<Popover {...args}>
24-
<Popover.Content sx={{marginTop: 2}} width={args.width || 'small'} height={args.height}>
25-
<Heading sx={{fontSize: 2}}>Popover heading</Heading>
24+
<Popover.Content
25+
style={{marginTop: 'var(--base-size-8)'}}
26+
width={args.width || 'small'}
27+
height={args.height}
28+
overflow={args.overflow}
29+
>
30+
<Heading style={{fontSize: 'var(--text-title-size-small)'}}>Popover heading</Heading>
2631
<Text as="p">Message about popovers</Text>
2732
<Button>Got it!</Button>
2833
</Popover.Content>

packages/react/src/Popover/Popover.tsx

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import {clsx} from 'clsx'
2-
import type {SxProp} from '../sx'
32
import classes from './Popover.module.css'
43
import type {HTMLProps} from 'react'
54
import React from 'react'
6-
import {BoxWithFallback} from '../internal/components/BoxWithFallback'
75

86
type CaretPosition =
97
| 'top'
@@ -26,12 +24,11 @@ type StyledPopoverProps = {
2624
caret?: CaretPosition
2725
relative?: boolean
2826
open?: boolean
29-
} & SxProp
27+
}
3028

3129
export type PopoverProps = {
3230
/** Class name for custom styling */
3331
className?: string
34-
as?: React.ElementType
3532
} & StyledPopoverProps &
3633
HTMLProps<HTMLDivElement>
3734

@@ -40,7 +37,7 @@ const Popover = React.forwardRef<HTMLDivElement, PopoverProps>(function Popover(
4037
forwardRef,
4138
) {
4239
return (
43-
<BoxWithFallback
40+
<div
4441
{...props}
4542
ref={forwardRef}
4643
data-open={open ? '' : undefined}
@@ -54,26 +51,18 @@ Popover.displayName = 'Popover'
5451

5552
export type PopoverContentProps = {
5653
className?: string
57-
as?: React.ElementType
5854
width?: 'xsmall' | 'small' | 'large' | 'medium' | 'auto' | 'xlarge'
5955
height?: 'small' | 'large' | 'medium' | 'auto' | 'xlarge' | 'fit-content'
60-
} & StyledPopoverProps &
61-
HTMLProps<HTMLDivElement>
56+
overflow?: 'auto' | 'hidden' | 'scroll' | 'visible'
57+
} & HTMLProps<HTMLDivElement>
6258

6359
const PopoverContent: React.FC<React.PropsWithChildren<PopoverContentProps>> = ({
6460
className,
6561
width = 'small',
6662
height = 'fit-content',
6763
...props
6864
}) => {
69-
return (
70-
<BoxWithFallback
71-
data-width={width}
72-
data-height={height}
73-
className={clsx(className, classes.PopoverContent)}
74-
{...props}
75-
/>
76-
)
65+
return <div data-width={width} data-height={height} className={clsx(className, classes.PopoverContent)} {...props} />
7766
}
7867

7968
PopoverContent.displayName = 'Popover.Content'

packages/styled-react/src/__tests__/__snapshots__/exports.test.ts.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ exports[`@primer/styled-react exports 1`] = `
2828
"Overlay",
2929
"PageHeader",
3030
"PageLayout",
31-
"Popover",
3231
"ProgressBar",
3332
"RadioGroup",
3433
"RelativeTime",

packages/styled-react/src/__tests__/primer-react.browser.test.tsx

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import {
2727
Overlay,
2828
PageHeader,
2929
PageLayout,
30-
Popover,
3130
ProgressBar,
3231
RadioGroup,
3332
RelativeTime,
@@ -287,16 +286,6 @@ describe('@primer/react', () => {
287286
expect(window.getComputedStyle(container.firstElementChild!).backgroundColor).toBe('rgb(255, 0, 0)')
288287
})
289288

290-
test('Popover supports `sx` prop', () => {
291-
const {container} = render(<Popover data-testid="component" sx={{background: 'red'}} />)
292-
expect(window.getComputedStyle(container.firstElementChild!).backgroundColor).toBe('rgb(255, 0, 0)')
293-
})
294-
295-
test('Popover.Content supports `sx` prop', () => {
296-
const {container} = render(<Popover.Content data-testid="component" sx={{background: 'red'}} />)
297-
expect(window.getComputedStyle(container.firstElementChild!).backgroundColor).toBe('rgb(255, 0, 0)')
298-
})
299-
300289
test('ProgressBar supports `sx` prop', () => {
301290
const {container} = render(<ProgressBar data-testid="component" sx={{background: 'red'}} />)
302291
expect(window.getComputedStyle(container.firstElementChild!).backgroundColor).toBe('rgb(255, 0, 0)')

packages/styled-react/src/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,6 @@ export {
132132
Overlay,
133133
PageHeader,
134134
PageLayout,
135-
Popover,
136135
ProgressBar,
137136
RadioGroup,
138137
RelativeTime,

0 commit comments

Comments
 (0)