Skip to content

Commit 208cfb4

Browse files
Reid Barberreidbarber
authored andcommitted
remove isMultiline variant from Breadcrumbs (#184)
Co-authored-by: Reid Barber <[email protected]>
1 parent 4386b21 commit 208cfb4

File tree

2 files changed

+29
-92
lines changed

2 files changed

+29
-92
lines changed

packages/@react-spectrum/s2/src/Breadcrumbs.tsx

Lines changed: 28 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ interface BreadcrumbsStyleProps {
2727
*/
2828
size?: 'M' | 'L',
2929
/** Whether the breadcrumbs are disabled. */
30-
isDisabled?: boolean,
30+
isDisabled?: boolean
3131
/**
3232
* Whether to place the last Breadcrumb item onto a new line.
3333
*/
34-
isMultiline?: boolean
34+
// TODO: isMultiline?: boolean
3535
/** Whether to always show the root item if the items are collapsed. */
3636
// TODO: showRoot?: boolean,
3737
}
@@ -45,19 +45,15 @@ const wrapper = style<BreadcrumbsStyleProps>({
4545
display: 'flex',
4646
justifyContent: 'start',
4747
listStyleType: 'none',
48-
flexWrap: {
49-
default: 'nowrap',
50-
isMultiline: 'wrap'
51-
},
48+
flexWrap: 'nowrap',
5249
flexGrow: 1,
5350
flexShrink: 0,
5451
flexBasis: 0,
5552
gap: {
5653
size: {
5754
M: size(6), // breadcrumbs-text-to-separator-medium
5855
L: size(9) // breadcrumbs-text-to-separator-large
59-
},
60-
isMultiline: 4
56+
}
6157
},
6258
padding: 0,
6359
transition: 'default',
@@ -67,8 +63,7 @@ const wrapper = style<BreadcrumbsStyleProps>({
6763
size: {
6864
M: size(6),
6965
L: size(9)
70-
},
71-
isMultiline: 4
66+
}
7267
}
7368
}, getAllowedOverrides());
7469

@@ -80,7 +75,7 @@ function Breadcrumbs<T extends object>({
8075
styles,
8176
...props
8277
}: BreadcrumbsProps<T>) {
83-
let {size = 'M', isMultiline, isDisabled} = props;
78+
let {size = 'M', isDisabled} = props;
8479
let ref = useRef(null);
8580
// TODO: Remove when https://github.com/adobe/react-spectrum/pull/6440 is released
8681
let childArray: ReactElement[] = [];
@@ -96,12 +91,11 @@ function Breadcrumbs<T extends object>({
9691
ref={ref}
9792
style={UNSAFE_style}
9893
className={UNSAFE_className + wrapper({
99-
size,
100-
isMultiline
94+
size
10195
}, styles)}>
10296
<Provider
10397
values={[
104-
[BreadcrumbsInternalContext, {size, isDisabled, isMultiline, length: childArray.length}]
98+
[BreadcrumbsInternalContext, {size, isDisabled, length: childArray.length}]
10599
]}>
106100
{childArray}
107101
</Provider>
@@ -115,25 +109,9 @@ export {_Breadcrumbs as Breadcrumbs};
115109

116110
const breadcrumbStyles = style({
117111
display: 'inline-flex',
118-
flexShrink: {
119-
isMultiline: {
120-
isCurrent: 0
121-
}
122-
},
123-
flexBasis: {
124-
isMultiline: {
125-
isCurrent: 'full'
126-
}
127-
},
128112
alignItems: 'center',
129113
justifyContent: 'start',
130-
height: {
131-
default: 'control',
132-
isMultiline: {
133-
default: 24,
134-
isCurrent: 35
135-
}
136-
},
114+
height: 'control',
137115
transition: 'default',
138116
position: 'relative',
139117
color: {
@@ -169,18 +147,10 @@ const linkStyles = style({
169147
},
170148
transition: 'default',
171149
fontFamily: 'sans',
172-
fontSize: {
173-
default: 'control',
174-
isMultiline: {
175-
default: 'ui-sm'
176-
}
177-
},
150+
fontSize: 'control',
178151
fontWeight: {
179152
default: 'normal',
180-
isCurrent: 'bold',
181-
isMultiline: {
182-
isCurrent: 'extra-bold'
183-
}
153+
isCurrent: 'bold'
184154
},
185155
textDecoration: {
186156
default: 'none',
@@ -198,22 +168,16 @@ const linkStyles = style({
198168
},
199169
disableTapHighlight: true,
200170
marginTop: {
201-
default: {
202-
size: {
203-
M: size(6), // component-top-to-text-100
204-
L: size(9) // component-top-to-text-200
205-
}
206-
},
207-
isMultiline: size(4)
171+
size: {
172+
M: size(6), // component-top-to-text-100
173+
L: size(9) // component-top-to-text-200
174+
}
208175
},
209176
marginBottom: {
210-
default: {
211-
size: {
212-
M: size(8), // component-bottom-to-text-100
213-
L: size(11) // component-bottom-to-text-200
214-
}
215-
},
216-
isMultiline: size(5)
177+
size: {
178+
M: size(8), // component-bottom-to-text-100
179+
L: size(11) // component-bottom-to-text-200
180+
}
217181
}
218182
});
219183

@@ -224,31 +188,23 @@ const currentStyles = style({
224188
},
225189
transition: 'default',
226190
fontFamily: 'sans',
227-
fontSize: {
228-
default: 'control',
229-
isMultiline: 'heading-lg' // TODO: Customizable, but it’s preferred to use: heading-size-s, heading-size-m, heading-size-l (default), and heading-size-xl
230-
},
231-
fontWeight: {
232-
default: 'bold',
233-
isMultiline: 'extra-bold'
234-
},
191+
fontSize: 'control',
192+
fontWeight: 'bold',
235193
marginTop: {
236194
default: {
237195
size: {
238196
M: size(6), // component-top-to-text-100
239197
L: size(9) // component-top-to-text-200
240198
}
241-
},
242-
isMultiline: 0
199+
}
243200
},
244201
marginBottom: {
245202
default: {
246203
size: {
247204
M: size(9), // component-bottom-to-text-100
248205
L: size(11) // component-bottom-to-text-200
249206
}
250-
},
251-
isMultiline: size(9)
207+
}
252208
}
253209
});
254210

@@ -267,18 +223,18 @@ export interface BreadcrumbProps extends Omit<AriaBreadcrumbItemProps, 'children
267223

268224
export function Breadcrumb({children, ...props}: BreadcrumbProps) {
269225
let {href, target, rel, download, ping, referrerPolicy, ...other} = props;
270-
let {size = 'M', isMultiline, length, isDisabled} = useContext(BreadcrumbsInternalContext);
226+
let {size = 'M', length, isDisabled} = useContext(BreadcrumbsInternalContext);
271227
let ref = useRef(null);
272228
// TODO: use isCurrent render prop when https://github.com/adobe/react-spectrum/pull/6440 is released
273229
let isCurrent = (props as BreadcrumbProps & {index: number}).index === length - 1;
274230
return (
275231
<AriaBreadcrumb
276232
{...other}
277233
ref={ref}
278-
className={breadcrumbStyles({size, isMultiline, isCurrent})} >
234+
className={breadcrumbStyles({size, isCurrent})} >
279235
{isCurrent ?
280236
<span
281-
className={currentStyles({size, isMultiline, isCurrent})}>
237+
className={currentStyles({size, isCurrent})}>
282238
<Provider
283239
values={[
284240
[HeadingContext, {className: heading}]
@@ -297,11 +253,11 @@ export function Breadcrumb({children, ...props}: BreadcrumbProps) {
297253
ping={ping}
298254
referrerPolicy={referrerPolicy}
299255
isDisabled={isDisabled || isCurrent}
300-
className={({isFocused, isFocusVisible, isHovered, isDisabled, isPressed}) => linkStyles({isFocused, isFocusVisible, isHovered, isDisabled, size, isCurrent, isMultiline, isPressed})}>
256+
className={({isFocused, isFocusVisible, isHovered, isDisabled, isPressed}) => linkStyles({isFocused, isFocusVisible, isHovered, isDisabled, size, isCurrent, isPressed})}>
301257
{children}
302258
</Link>
303259
<ChevronIcon
304-
size={isMultiline ? 'S' : 'M'}
260+
size="M"
305261
className={chevronStyles} />
306262
</>
307263
)}

packages/@react-spectrum/s2/stories/Breadcrumbs.stories.tsx

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*/
1212

1313
import type {Meta} from '@storybook/react';
14-
import {Breadcrumbs, Breadcrumb, Heading} from '../src';
14+
import {Breadcrumbs, Breadcrumb} from '../src';
1515
import {action} from '@storybook/addon-actions';
1616

1717
const meta: Meta<typeof Breadcrumbs> = {
@@ -27,9 +27,6 @@ const meta: Meta<typeof Breadcrumbs> = {
2727
isDisabled: {
2828
control: {type: 'boolean'}
2929
},
30-
isMultiline: {
31-
control: {type: 'boolean'}
32-
},
3330
onAction: {
3431
table: {category: 'Events'}
3532
}
@@ -66,19 +63,3 @@ export const WithActions = (args: any) => (
6663
</Breadcrumb>
6764
</Breadcrumbs>
6865
);
69-
70-
export const WithUserProvidedHeading = (args: any) => (
71-
<Breadcrumbs isMultiline {...args}>
72-
<Breadcrumb href="/">
73-
Home
74-
</Breadcrumb>
75-
<Breadcrumb href="/react-aria">
76-
React Aria
77-
</Breadcrumb>
78-
<Breadcrumb href="/breadcrumbs">
79-
<Heading level={2}>
80-
Breadcrumbs
81-
</Heading>
82-
</Breadcrumb>
83-
</Breadcrumbs>
84-
);

0 commit comments

Comments
 (0)