Skip to content

Commit 560df25

Browse files
committed
Remove the CSS modules feature flag from the ActionList.LeadingVisual and ActionList.TrailingVisual components
1 parent 790fdd0 commit 560df25

File tree

4 files changed

+246
-382
lines changed

4 files changed

+246
-382
lines changed

.changeset/modern-words-tan.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@primer/react': minor
3+
---
4+
5+
Remove the CSS modules feature flag from the ActionList.LeadingVisual and ActionList.TrailingVisual components

packages/react/src/ActionList/Visuals.tsx

Lines changed: 11 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@ import Box from '../Box'
44
import Spinner from '../Spinner'
55
import type {SxProp} from '../sx'
66
import {merge} from '../sx'
7-
import {ItemContext, getVariantStyles} from './shared'
7+
import {ItemContext} from './shared'
88
import {Tooltip, type TooltipProps} from '../TooltipV2'
99
import {clsx} from 'clsx'
10-
import {useFeatureFlag} from '../FeatureFlags'
1110
import classes from './ActionList.module.css'
1211
import {defaultSxProp} from '../utils/defaultSxProp'
13-
import {actionListCssModulesFlag} from './featureflag'
12+
import {BoxWithFallback} from '../internal/components/BoxWithFallback'
1413

1514
export type VisualProps = SxProp & React.HTMLAttributes<HTMLSpanElement>
1615

@@ -19,10 +18,7 @@ export const VisualContainer: React.FC<React.PropsWithChildren<VisualProps>> = (
1918
className,
2019
...props
2120
}) => {
22-
if (sx !== defaultSxProp) {
23-
return <Box as="span" className={clsx(className, classes.VisualWrap)} sx={sx} {...props} />
24-
}
25-
return <span className={clsx(className, classes.VisualWrap)} {...props} />
21+
return <BoxWithFallback as="span" className={clsx(className, classes.VisualWrap)} sx={sx} {...props} />
2622
}
2723

2824
// remove when primer_react_css_modules_X is shipped
@@ -52,89 +48,21 @@ export const LeadingVisualContainer: React.FC<React.PropsWithChildren<VisualProp
5248
}
5349

5450
export type ActionListLeadingVisualProps = VisualProps
55-
export const LeadingVisual: React.FC<React.PropsWithChildren<VisualProps>> = ({
56-
sx = defaultSxProp,
57-
className,
58-
...props
59-
}) => {
60-
const {variant, disabled, inactive} = React.useContext(ItemContext)
61-
62-
const enabled = useFeatureFlag(actionListCssModulesFlag)
63-
64-
if (enabled) {
65-
return (
66-
<VisualContainer className={clsx(className, classes.LeadingVisual)} sx={sx} {...props}>
67-
{props.children}
68-
</VisualContainer>
69-
)
70-
}
51+
export const LeadingVisual: React.FC<React.PropsWithChildren<VisualProps>> = ({sx, className, ...props}) => {
7152
return (
72-
<LeadingVisualContainer
73-
className={className}
74-
sx={merge(
75-
{
76-
color: getVariantStyles(variant, disabled, inactive).iconColor,
77-
svg: {fontSize: 0},
78-
'[data-variant="danger"]:not([aria-disabled]):not([data-inactive]):hover &, [data-variant="danger"]:active &':
79-
{
80-
color: getVariantStyles(variant, disabled, inactive).hoverColor,
81-
},
82-
},
83-
sx as SxProp,
84-
)}
85-
{...props}
86-
>
53+
<VisualContainer className={clsx(className, classes.LeadingVisual)} sx={sx} {...props}>
8754
{props.children}
88-
</LeadingVisualContainer>
55+
</VisualContainer>
8956
)
9057
}
9158

9259
export type ActionListTrailingVisualProps = VisualProps
93-
export const TrailingVisual: React.FC<React.PropsWithChildren<VisualProps>> = ({
94-
sx = defaultSxProp,
95-
className,
96-
...props
97-
}) => {
98-
const {variant, disabled, inactive, trailingVisualId} = React.useContext(ItemContext)
99-
const enabled = useFeatureFlag(actionListCssModulesFlag)
100-
if (enabled) {
101-
if (sx !== defaultSxProp) {
102-
return (
103-
<VisualContainer className={clsx(className, classes.TrailingVisual)} sx={sx} id={trailingVisualId} {...props}>
104-
{props.children}
105-
</VisualContainer>
106-
)
107-
}
108-
return (
109-
<VisualContainer className={clsx(className, classes.TrailingVisual)} id={trailingVisualId} {...props}>
110-
{props.children}
111-
</VisualContainer>
112-
)
113-
}
60+
export const TrailingVisual: React.FC<React.PropsWithChildren<VisualProps>> = ({sx, className, ...props}) => {
61+
const {trailingVisualId} = React.useContext(ItemContext)
11462
return (
115-
<Box
116-
id={trailingVisualId}
117-
as="span"
118-
className={className}
119-
sx={merge(
120-
{
121-
height: '20px', // match height of text row
122-
flexShrink: 0,
123-
color: getVariantStyles(variant, disabled, inactive).annotationColor,
124-
marginLeft: 2,
125-
fontWeight: 'initial',
126-
display: 'grid',
127-
alignContent: 'center',
128-
'[data-variant="danger"]:hover &, [data-variant="danger"]:active &': {
129-
color: getVariantStyles(variant, disabled, inactive).hoverColor,
130-
},
131-
},
132-
sx as SxProp,
133-
)}
134-
{...props}
135-
>
63+
<VisualContainer sx={sx} className={clsx(className, classes.TrailingVisual)} id={trailingVisualId} {...props}>
13664
{props.children}
137-
</Box>
65+
</VisualContainer>
13866
)
13967
}
14068

@@ -170,7 +98,7 @@ export const VisualOrIndicator: React.FC<
17098
<span className={classes.InactiveButtonWrap}>
17199
<Tooltip text={inactiveText} type="description">
172100
<button type="button" className={classes.InactiveButtonReset} aria-labelledby={labelId}>
173-
<VisualComponent>
101+
<VisualComponent className={className}>
174102
<AlertIcon />
175103
</VisualComponent>
176104
</button>

0 commit comments

Comments
 (0)