Skip to content

Commit b763ecd

Browse files
authoredJan 8, 2025··
chore(Details): Remove CSS modules feature flag from Details (#5458)
* Remove css modules feature flag from Details * Skip as test * Create changeset
1 parent 9075cf9 commit b763ecd

File tree

3 files changed

+21
-26
lines changed

3 files changed

+21
-26
lines changed
 

‎.changeset/mean-plants-cover.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@primer/react": minor
3+
---
4+
5+
Remove CSS modules feature flag from Details

‎packages/react/src/Details/Details.tsx

+15-25
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,13 @@
11
import React, {useEffect, useState, type ComponentPropsWithoutRef, type ReactElement} from 'react'
2-
import styled from 'styled-components'
32
import type {SxProp} from '../sx'
4-
import sx from '../sx'
5-
import {toggleStyledComponent} from '../internal/utils/toggleStyledComponent'
6-
import {useFeatureFlag} from '../FeatureFlags'
73
import {clsx} from 'clsx'
84
import classes from './Details.module.css'
95
import {useMergedRefs} from '../internal/hooks/useMergedRefs'
10-
11-
const CSS_MODULES_FEATURE_FLAG = 'primer_react_css_modules_ga'
12-
13-
const StyledDetails = toggleStyledComponent(
14-
CSS_MODULES_FEATURE_FLAG,
15-
'details',
16-
styled.details<SxProp>`
17-
& > summary {
18-
list-style: none;
19-
}
20-
& > summary::-webkit-details-marker {
21-
display: none;
22-
}
23-
24-
${sx};
25-
`,
26-
)
6+
import {defaultSxProp} from '../utils/defaultSxProp'
7+
import Box from '../Box'
278

289
const Root = React.forwardRef<HTMLDetailsElement, DetailsProps>(
29-
({className, children, ...rest}, forwardRef): ReactElement => {
30-
const enabled = useFeatureFlag(CSS_MODULES_FEATURE_FLAG)
10+
({className, children, sx: sxProp = defaultSxProp, ...rest}, forwardRef): ReactElement => {
3111
const detailsRef = React.useRef<HTMLDetailsElement>(null)
3212
const ref = useMergedRefs(forwardRef, detailsRef)
3313
const [hasSummary, setHasSummary] = useState(false)
@@ -60,12 +40,22 @@ const Root = React.forwardRef<HTMLDetailsElement, DetailsProps>(
6040
}
6141
}, [])
6242

43+
if (sxProp !== defaultSxProp) {
44+
return (
45+
<Box as={'details'} className={clsx(className, classes.Details)} {...rest} sx={sxProp} ref={ref}>
46+
{/* Include default summary if summary is not provided */}
47+
{!hasSummary && <Details.Summary data-default-summary>{'See Details'}</Details.Summary>}
48+
{children}
49+
</Box>
50+
)
51+
}
52+
6353
return (
64-
<StyledDetails className={clsx(className, {[classes.Details]: enabled})} {...rest} ref={ref}>
54+
<details className={clsx(className, classes.Details)} {...rest} ref={ref}>
6555
{/* Include default summary if summary is not provided */}
6656
{!hasSummary && <Details.Summary data-default-summary>{'See Details'}</Details.Summary>}
6757
{children}
68-
</StyledDetails>
58+
</details>
6959
)
7060
},
7161
)

‎packages/react/src/Details/__tests__/Details.test.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {behavesAsComponent, checkExports} from '../../utils/testing'
77
import axe from 'axe-core'
88

99
describe('Details', () => {
10-
behavesAsComponent({Component: Details})
10+
behavesAsComponent({Component: Details, options: {skipAs: true}})
1111

1212
checkExports('Details', {
1313
default: Details,

0 commit comments

Comments
 (0)
Please sign in to comment.