Skip to content

Commit 96ce586

Browse files
authored
chore(Button): Move Button CSS module feature flag from staff to ga (#5086)
* Move Button CSS module feature flag from staff to ga * Create pink-lemons-clean.md * Replace flag in test also * Update Button.test.tsx
1 parent ccf7cbe commit 96ce586

File tree

3 files changed

+48
-42
lines changed

3 files changed

+48
-42
lines changed

.changeset/pink-lemons-clean.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@primer/react": patch
3+
---
4+
5+
Move Button CSS module feature flag from staff to ga

packages/react/src/Button/ButtonBase.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ const ButtonBase = forwardRef(
7070
...rest
7171
} = props
7272

73-
const enabled = useFeatureFlag('primer_react_css_modules_staff')
73+
const enabled = useFeatureFlag('primer_react_css_modules_ga')
7474
const innerRef = React.useRef<HTMLButtonElement>(null)
7575
useRefObjectAsForwardedRef(forwardedRef, innerRef)
7676

packages/react/src/Button/__tests__/Button.test.tsx

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,48 @@ const StatefulLoadingButton = (props: StatefulLoadingButtonProps) => {
2525
return <Button loading={isLoading} onClick={handleClick} {...props} />
2626
}
2727

28+
describe('IconButton', () => {
29+
it('should support `className` on the outermost element', () => {
30+
const Element = () => <IconButton className={'test-class-name'} icon={SearchIcon} aria-label="Search button" />
31+
const FeatureFlagElement = () => {
32+
return (
33+
<FeatureFlags
34+
flags={{
35+
primer_react_css_modules_team: true,
36+
primer_react_css_modules_staff: true,
37+
primer_react_css_modules_ga: true,
38+
}}
39+
>
40+
<Element />
41+
</FeatureFlags>
42+
)
43+
}
44+
expect(render(<Element />).container.firstChild).toHaveClass('test-class-name')
45+
expect(render(<FeatureFlagElement />).container.firstChild).toHaveClass('test-class-name')
46+
})
47+
})
48+
49+
describe('LinkButton', () => {
50+
it('should support `className` on the outermost element', () => {
51+
const Element = () => <LinkButton className={'test-class-name'} />
52+
const FeatureFlagElement = () => {
53+
return (
54+
<FeatureFlags
55+
flags={{
56+
primer_react_css_modules_team: true,
57+
primer_react_css_modules_staff: true,
58+
primer_react_css_modules_ga: true,
59+
}}
60+
>
61+
<Element />
62+
</FeatureFlags>
63+
)
64+
}
65+
expect(render(<Element />).container.firstChild).toHaveClass('test-class-name')
66+
expect(render(<FeatureFlagElement />).container.firstChild).toHaveClass('test-class-name')
67+
})
68+
})
69+
2870
describe('Button', () => {
2971
behavesAsComponent({
3072
Component: TestButton,
@@ -320,45 +362,4 @@ describe('Button', () => {
320362
expect(tooltipEl).toBeInTheDocument()
321363
expect(triggerEl.getAttribute('aria-describedby')).toEqual(expect.stringContaining(tooltipEl.id))
322364
})
323-
324-
describe('with primer_react_css_modules_staff enabled', () => {
325-
it('iconbutton should support custom `className` along with default classnames', () => {
326-
const {container} = render(
327-
<FeatureFlags
328-
flags={{
329-
primer_react_css_modules_staff: true,
330-
}}
331-
>
332-
<IconButton className="test" aria-label="Test" icon={HeartIcon} />
333-
</FeatureFlags>,
334-
)
335-
expect(container.firstChild).toHaveClass('IconButton')
336-
})
337-
338-
it('button should support custom `className` along with default classnames', () => {
339-
const {container} = render(
340-
<FeatureFlags
341-
flags={{
342-
primer_react_css_modules_staff: true,
343-
}}
344-
>
345-
<Button className="test">Hello</Button>
346-
</FeatureFlags>,
347-
)
348-
expect(container.firstChild).toHaveClass('ButtonBase')
349-
})
350-
351-
it('linkbutton should support custom `className` along with default classnames', () => {
352-
const {container} = render(
353-
<FeatureFlags
354-
flags={{
355-
primer_react_css_modules_staff: true,
356-
}}
357-
>
358-
<LinkButton className="test">Hello</LinkButton>
359-
</FeatureFlags>,
360-
)
361-
expect(container.firstChild).toHaveClass('ButtonBase')
362-
})
363-
})
364365
})

0 commit comments

Comments
 (0)