Skip to content

Commit 988a472

Browse files
authored
refactor: update breadcrumbs item padding, do not clip overflow (#11883)
1 parent 15348b2 commit 988a472

44 files changed

Lines changed: 36 additions & 21 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎packages/breadcrumbs/spec/web-component-spec.md‎

Lines changed: 11 additions & 0 deletions

‎packages/breadcrumbs/src/styles/vaadin-breadcrumbs-base-styles.js‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { css } from 'lit';
99
export const breadcrumbsStyles = css`
1010
:host {
1111
display: block;
12+
width: 100%;
13+
min-width: 0;
1214
color: var(--vaadin-text-color);
1315
}
1416
@@ -22,9 +24,7 @@ export const breadcrumbsStyles = css`
2224
align-items: center;
2325
gap: var(--vaadin-gap-xs);
2426
min-width: 0;
25-
overflow: hidden;
26-
/* Room for items' focus outline, otherwise clipped by overflow: hidden. */
27-
padding: var(--vaadin-focus-ring-width);
27+
max-width: 100%;
2828
}
2929
3030
[part='overflow'] {
@@ -42,8 +42,11 @@ export const breadcrumbsStyles = css`
4242
background: transparent;
4343
color: inherit;
4444
border: none;
45-
padding: 0;
46-
margin: 0;
45+
border-radius: var(--vaadin-radius-m);
46+
--_padding: var(--vaadin-padding-block-container);
47+
/* Ensure minimum click target (WCAG) */
48+
padding: max(var(--_padding), (24px - 1lh) / 2);
49+
margin: min(var(--_padding), (24px - 1lh) / -2);
4750
font: inherit;
4851
cursor: var(--vaadin-clickable-cursor);
4952
line-height: 1;
@@ -62,7 +65,6 @@ export const breadcrumbsStyles = css`
6265
}
6366
6467
[part='overflow-button']:focus-visible {
65-
border-radius: var(--vaadin-radius-s);
6668
outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
6769
}
6870

‎packages/breadcrumbs/src/styles/vaadin-breadcrumbs-item-base-styles.js‎

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,23 @@ export const breadcrumbsItemStyles = css`
2525
color: var(--vaadin-text-color);
2626
}
2727
28+
[part='link'],
29+
[part='nolink'] {
30+
border-radius: var(--vaadin-radius-m);
31+
padding: var(--vaadin-padding-block-container) var(--vaadin-padding-inline-container);
32+
flex: 1;
33+
}
34+
35+
:host(:not([slot='overlay'])) :is([part='link'], [part='nolink']) {
36+
margin-inline: calc(var(--vaadin-padding-inline-container) * -1);
37+
}
38+
39+
[part='link'] {
40+
outline: none;
41+
}
42+
2843
[part='link']:focus-visible {
29-
border-radius: var(--vaadin-radius-s);
3044
outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
31-
outline-offset: 0;
3245
}
3346
3447
:host::after {
@@ -54,19 +67,12 @@ export const breadcrumbsItemStyles = css`
5467
display: flex;
5568
}
5669
57-
:host([slot='overlay']) [part='link'],
58-
:host([slot='overlay']) [part='nolink'] {
59-
flex: 1;
60-
padding: var(--vaadin-item-overlay-padding, 4px var(--vaadin-padding-inline-container));
61-
border-radius: var(--vaadin-radius-m);
62-
}
63-
6470
:host([slot='overlay']:not([disabled])) [part='link'] {
6571
color: var(--vaadin-text-color);
6672
}
6773
68-
:host([slot='overlay']) [part='link']:focus-visible {
69-
border-radius: var(--vaadin-radius-m);
74+
:host([slot='overlay'])::after {
75+
display: none;
7076
}
7177
7278
@media (any-hover: hover) {
@@ -75,10 +81,6 @@ export const breadcrumbsItemStyles = css`
7581
}
7682
}
7783
78-
:host([slot='overlay'])::after {
79-
display: none;
80-
}
81-
8284
@media (forced-colors: active) {
8385
:host::after {
8486
background: CanvasText;
72 Bytes
164 Bytes
148 Bytes
75 Bytes
249 Bytes
145 Bytes
1.37 KB

0 commit comments

Comments
 (0)