Skip to content

Commit afcd9f9

Browse files
committed
Use cx utility for cleaner class names in EditableText.tsx, Improve class name handling in Crumbs
1 parent 635166f commit afcd9f9

2 files changed

Lines changed: 14 additions & 14 deletions

File tree

packages/manager/src/components/Breadcrumb/FinalCrumb.styles.tsx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,6 @@ export const StyledEditableText = styled(EditableText, {
1414
'& > div': {
1515
width: 250,
1616
},
17-
'& .breadcrumb-text': {
18-
color: theme.tokens.breadcrumb.Normal.Text.Default,
19-
fontSize: '1rem !important',
20-
paddingLeft: 0,
21-
},
2217
}));
2318

2419
export const StyledH1Header = styled(H1Header, { label: 'StyledH1Header' })(

packages/ui/src/components/EditableText/EditableText.tsx

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import type { TextFieldProps } from '../TextField';
1313
import type { Theme } from '@mui/material/styles';
1414
import type { PropsWithChildren } from 'react';
1515

16-
const useStyles = makeStyles<void, 'editIcon' | 'icon'>()(
16+
const useStyles = makeStyles<void, 'editIcon' | 'icon' | 'breadcrumbText'>()(
1717
(theme: Theme, _params, classes) => ({
1818
button: {
1919
'&[aria-label="Save"]': {
@@ -99,6 +99,11 @@ const useStyles = makeStyles<void, 'editIcon' | 'icon'>()(
9999
textDecoration: 'underline !important',
100100
},
101101
},
102+
breadcrumbText: {
103+
color: theme.tokens.breadcrumb.Normal.Text.Default,
104+
fontSize: '1rem !important',
105+
paddingLeft: 0,
106+
},
102107
})
103108
);
104109

@@ -167,7 +172,7 @@ interface PropsWithLink extends BaseProps {
167172
export type EditableTextProps = PropsWithLink | PropsWithoutLink;
168173

169174
export const EditableText = (props: EditableTextProps) => {
170-
const { classes } = useStyles();
175+
const { classes, cx } = useStyles();
171176

172177
const [isEditing, setIsEditing] = React.useState(Boolean(props.errorText));
173178
const [text, setText] = React.useState(props.text);
@@ -242,15 +247,15 @@ export const EditableText = (props: EditableTextProps) => {
242247
};
243248
const labelText = (
244249
<H1Header
245-
className={`${classes.root} ${isBreadcrumb ? 'breadcrumb-text' : ''}`}
250+
className={cx(classes.root, { [classes.breadcrumbText]: isBreadcrumb })}
246251
data-qa-editable-text
247252
title={`${text}${textSuffix ?? ''}`}
248253
/>
249254
);
250255

251256
return !isEditing && !errorText ? (
252257
<div
253-
className={`${classes.container} ${classes.initial} ${className}`}
258+
className={cx(classes.container, classes.initial, className)}
254259
data-testid={'editable-text'}
255260
>
256261
{!!labelLink ? (
@@ -263,7 +268,7 @@ export const EditableText = (props: EditableTextProps) => {
263268
{/** pencil icon */}
264269
<Button
265270
aria-label={`Edit ${text}`}
266-
className={`${classes.button} ${classes.editIcon}`}
271+
className={cx(classes.button, classes.editIcon)}
267272
data-qa-edit-button
268273
disabled={disabledBreadcrumbEditButton}
269274
onClick={openEdit}
@@ -273,13 +278,13 @@ export const EditableText = (props: EditableTextProps) => {
273278
</div>
274279
) : (
275280
<ClickAwayListener mouseEvent="onMouseDown" onClickAway={cancelEditing}>
276-
<div className={`${classes.container} ${className}`} data-qa-edit-field>
281+
<div className={cx(classes.container, className)} data-qa-edit-field>
277282
<TextField
278283
{...rest}
279284
inputProps={{
280-
className: `${classes.input} ${
281-
isBreadcrumb ? 'breadcrumb-text' : ''
282-
}`,
285+
className: cx(classes.input, {
286+
[classes.breadcrumbText]: isBreadcrumb,
287+
}),
283288
}}
284289
InputProps={{ className: classes.inputRoot }}
285290
// eslint-disable-next-line

0 commit comments

Comments
 (0)