material 3.2.4 → 3.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/components/carousel/features/scroll.js +5 -2
- package/dist/components/drawer/features/items.js +3 -2
- package/dist/components/tabs/tab.js +26 -3
- package/dist/core/compose/features/badge.js +45 -0
- package/dist/core/navigation/destinations.d.ts +10 -1
- package/dist/core/navigation/destinations.js +18 -5
- package/dist/elements/css/badge.css +1 -1
- package/dist/elements/css/badge.js +1 -1
- package/dist/elements/css/menu.css +1 -1
- package/dist/elements/css/menu.js +1 -1
- package/dist/elements/css/navigation-rail.css +1 -1
- package/dist/elements/css/navigation-rail.js +1 -1
- package/dist/elements/css/tooltip.css +1 -1
- package/dist/elements/css/tooltip.js +1 -1
- package/dist/elements/preupgrade/badge.css +2 -2
- package/dist/elements/preupgrade/bottom-app-bar.css +1 -1
- package/dist/elements/preupgrade/bottom-sheet.css +1 -1
- package/dist/elements/preupgrade/button-group.css +1 -1
- package/dist/elements/preupgrade/button.css +1 -1
- package/dist/elements/preupgrade/card.css +1 -1
- package/dist/elements/preupgrade/carousel.css +1 -1
- package/dist/elements/preupgrade/checkbox.css +1 -1
- package/dist/elements/preupgrade/chips.css +1 -1
- package/dist/elements/preupgrade/datepicker.css +1 -1
- package/dist/elements/preupgrade/dialog.css +1 -1
- package/dist/elements/preupgrade/divider.css +1 -1
- package/dist/elements/preupgrade/drawer.css +1 -1
- package/dist/elements/preupgrade/extended-fab.css +1 -1
- package/dist/elements/preupgrade/fab-menu.css +1 -1
- package/dist/elements/preupgrade/fab.css +1 -1
- package/dist/elements/preupgrade/icon-button.css +1 -1
- package/dist/elements/preupgrade/list.css +1 -1
- package/dist/elements/preupgrade/loading-indicator.css +1 -1
- package/dist/elements/preupgrade/menu.css +1 -1
- package/dist/elements/preupgrade/navigation-bar.css +1 -1
- package/dist/elements/preupgrade/navigation-rail.css +1 -1
- package/dist/elements/preupgrade/progress.css +1 -1
- package/dist/elements/preupgrade/radios.css +2 -2
- package/dist/elements/preupgrade/search.css +1 -1
- package/dist/elements/preupgrade/select.css +1 -1
- package/dist/elements/preupgrade/side-sheet.css +1 -1
- package/dist/elements/preupgrade/slider.css +1 -1
- package/dist/elements/preupgrade/snackbar.css +1 -1
- package/dist/elements/preupgrade/split-button.css +1 -1
- package/dist/elements/preupgrade/switch.css +1 -1
- package/dist/elements/preupgrade/tabs.css +1 -1
- package/dist/elements/preupgrade/text-field.css +1 -1
- package/dist/elements/preupgrade/timepicker.css +1 -1
- package/dist/elements/preupgrade/toolbar.css +1 -1
- package/dist/elements/preupgrade/tooltip.css +1 -1
- package/dist/elements/preupgrade/top-app-bar.css +1 -1
- package/dist/elements/preupgrade.css +2 -2
- package/dist/elements/preupgrade.js +1 -1
- package/dist/package.json +1 -1
- package/dist/styles/badge.css +2 -2
- package/dist/styles/base.css +1 -1
- package/dist/styles/bottom-app-bar.css +1 -1
- package/dist/styles/bottom-sheet.css +1 -1
- package/dist/styles/button-group.css +1 -1
- package/dist/styles/button.css +1 -1
- package/dist/styles/card.css +1 -1
- package/dist/styles/carousel.css +1 -1
- package/dist/styles/checkbox.css +1 -1
- package/dist/styles/chips.css +1 -1
- package/dist/styles/contrast.css +1 -1
- package/dist/styles/datepicker.css +1 -1
- package/dist/styles/dialog.css +1 -1
- package/dist/styles/divider.css +1 -1
- package/dist/styles/drawer.css +1 -1
- package/dist/styles/extended-fab.css +1 -1
- package/dist/styles/fab-menu.css +1 -1
- package/dist/styles/fab.css +1 -1
- package/dist/styles/icon-button.css +1 -1
- package/dist/styles/list.css +1 -1
- package/dist/styles/loading-indicator.css +1 -1
- package/dist/styles/menu.css +2 -2
- package/dist/styles/navigation-bar.css +1 -1
- package/dist/styles/navigation-rail.css +2 -2
- package/dist/styles/progress.css +1 -1
- package/dist/styles/radios.css +1 -1
- package/dist/styles/search.css +1 -1
- package/dist/styles/select.css +1 -1
- package/dist/styles/side-sheet.css +1 -1
- package/dist/styles/slider.css +1 -1
- package/dist/styles/snackbar.css +1 -1
- package/dist/styles/split-button.css +1 -1
- package/dist/styles/switch.css +1 -1
- package/dist/styles/tabs.css +1 -1
- package/dist/styles/text-field.css +1 -1
- package/dist/styles/timepicker.css +1 -1
- package/dist/styles/toolbar.css +1 -1
- package/dist/styles/tooltip.css +2 -2
- package/dist/styles/top-app-bar.css +1 -1
- package/dist/styles/typography.css +1 -1
- package/dist/styles/utilities.css +1 -1
- package/dist/styles.css +2 -2
- package/dist/themes/autumn-contrast.css +1 -1
- package/dist/themes/autumn.css +1 -1
- package/dist/themes/baseline-contrast.css +1 -1
- package/dist/themes/baseline.css +1 -1
- package/dist/themes/brownbeige-contrast.css +1 -1
- package/dist/themes/brownbeige.css +1 -1
- package/dist/themes/content-contrast.css +1 -1
- package/dist/themes/content.css +1 -1
- package/dist/themes/desert-contrast.css +1 -1
- package/dist/themes/desert.css +1 -1
- package/dist/themes/expressive-contrast.css +1 -1
- package/dist/themes/expressive.css +1 -1
- package/dist/themes/fidelity-contrast.css +1 -1
- package/dist/themes/fidelity.css +1 -1
- package/dist/themes/forest-contrast.css +1 -1
- package/dist/themes/forest.css +1 -1
- package/dist/themes/fruit-salad-contrast.css +1 -1
- package/dist/themes/fruit-salad.css +1 -1
- package/dist/themes/highcontrast-contrast.css +1 -1
- package/dist/themes/highcontrast.css +1 -1
- package/dist/themes/monochrome-contrast.css +1 -1
- package/dist/themes/monochrome.css +1 -1
- package/dist/themes/neutral-contrast.css +1 -1
- package/dist/themes/neutral.css +1 -1
- package/dist/themes/ocean-contrast.css +1 -1
- package/dist/themes/ocean.css +1 -1
- package/dist/themes/rainbow-contrast.css +1 -1
- package/dist/themes/rainbow.css +1 -1
- package/dist/themes/sageivory-contrast.css +1 -1
- package/dist/themes/sageivory.css +1 -1
- package/dist/themes/spring-contrast.css +1 -1
- package/dist/themes/spring.css +1 -1
- package/dist/themes/summer-contrast.css +1 -1
- package/dist/themes/summer.css +1 -1
- package/dist/themes/sunset-contrast.css +1 -1
- package/dist/themes/sunset.css +1 -1
- package/dist/themes/tealcaramel-contrast.css +1 -1
- package/dist/themes/tealcaramel.css +1 -1
- package/dist/themes/vibrant-contrast.css +1 -1
- package/dist/themes/vibrant.css +1 -1
- package/package.json +1 -1
- package/src/styles/components/_badge.scss +75 -38
- package/src/styles/components/_menu.scss +71 -0
- package/src/styles/components/_navigation-rail.scss +9 -6
- package/src/styles/components/_tooltip.scss +1 -2
- package/src/styles/elements/_badge.scss +65 -4
- package/src/styles/elements/_radios.scss +15 -0
|
@@ -1,12 +1,73 @@
|
|
|
1
1
|
// src/styles/elements/_badge.scss
|
|
2
|
-
// <m-badge> before upgrade:
|
|
3
|
-
//
|
|
2
|
+
// <m-badge> before upgrade: the badge itself. A standalone badge takes its
|
|
3
|
+
// place in the flow (src/styles/components/_badge.scss), so the undefined host
|
|
4
|
+
// is the large badge's 16dp box around its label -- drawn from the label
|
|
5
|
+
// attribute, as the text field's pre-upgrade host draws its value -- or the
|
|
6
|
+
// 6dp dot. An empty or zero large label hides on upgrade, so it reserves no
|
|
7
|
+
// box before it either.
|
|
8
|
+
@use '../abstract/variables' as v;
|
|
9
|
+
@use '../abstract/theme' as t;
|
|
4
10
|
@use 'config' as c;
|
|
5
11
|
|
|
12
|
+
// As components/_badge.scss: the badge's colours, the default error above.
|
|
13
|
+
$colors: ('primary', 'secondary', 'tertiary', 'success', 'warning', 'info');
|
|
14
|
+
|
|
6
15
|
@include c.host('badge') {
|
|
7
16
|
display: inline-flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
justify-content: center;
|
|
19
|
+
box-sizing: border-box;
|
|
8
20
|
vertical-align: middle;
|
|
9
|
-
width: 0;
|
|
10
|
-
height: 0;
|
|
11
21
|
overflow: hidden;
|
|
22
|
+
height: 16px;
|
|
23
|
+
min-width: 16px;
|
|
24
|
+
max-width: 34px; // the overflow badge's 16x34dp
|
|
25
|
+
padding: 0 4px;
|
|
26
|
+
border-radius: v.shape('full');
|
|
27
|
+
font-weight: 500;
|
|
28
|
+
font-size: 11px;
|
|
29
|
+
line-height: 16px;
|
|
30
|
+
background-color: t.color('error');
|
|
31
|
+
color: t.color('on-error');
|
|
32
|
+
|
|
33
|
+
@each $color in $colors {
|
|
34
|
+
&[color='#{$color}'] {
|
|
35
|
+
background-color: t.color($color);
|
|
36
|
+
color: t.color('on-#{$color}');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// The label the markup carries sets the box's width as it will set the
|
|
41
|
+
// badge's on upgrade. With text inside the tag too, the text draws it: the
|
|
42
|
+
// element reads the attribute and ignores the text, but CSS cannot hide the
|
|
43
|
+
// text alone, so it must not be drawn twice. A label past the max
|
|
44
|
+
// re-formats on upgrade ("1000" becomes "999+"), which CSS cannot repeat.
|
|
45
|
+
&:empty[label]:not([label=''])::before {
|
|
46
|
+
content: attr(label);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Nothing to show: an empty or zero label hides the large badge on upgrade,
|
|
50
|
+
// so it reserves no box. A whitespace-only text node is not matched here --
|
|
51
|
+
// CSS cannot see it -- so `<m-badge> </m-badge>` (or the tag with a line
|
|
52
|
+
// break inside) keeps the box before upgrade although the element then hides
|
|
53
|
+
// the badge. Write the tag with nothing between its tags.
|
|
54
|
+
&:not([variant='small']):is(:empty:not([label]), [label=''], [label='0']) {
|
|
55
|
+
width: 0;
|
|
56
|
+
height: 0;
|
|
57
|
+
min-width: 0;
|
|
58
|
+
max-width: none;
|
|
59
|
+
padding: 0;
|
|
60
|
+
font-size: 0;
|
|
61
|
+
background-color: transparent;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// The dot is its own box whether or not it carries a label, and shows it.
|
|
65
|
+
&[variant='small'] {
|
|
66
|
+
width: 6px;
|
|
67
|
+
height: 6px;
|
|
68
|
+
min-width: 6px;
|
|
69
|
+
max-width: none;
|
|
70
|
+
padding: 0;
|
|
71
|
+
font-size: 0;
|
|
72
|
+
}
|
|
12
73
|
}
|
|
@@ -11,6 +11,21 @@
|
|
|
11
11
|
&[direction='horizontal'] {
|
|
12
12
|
flex-direction: row;
|
|
13
13
|
flex-wrap: wrap;
|
|
14
|
+
|
|
15
|
+
// As components/_radios.scss: 16px between options on the row, none after
|
|
16
|
+
// the last. Without the gap reserved here the host is 16px narrower per
|
|
17
|
+
// gap before upgrade — with three options 290.3px instead of 322.3px —
|
|
18
|
+
// and everything on the line moves by the difference (floor/material#129).
|
|
19
|
+
// The last option is found among the options (`:last-of-type`), not among
|
|
20
|
+
// all children: a group's contract is its `<m-radio>` children, and only
|
|
21
|
+
// they become items.
|
|
22
|
+
> #{c.tag('radio')} {
|
|
23
|
+
margin-inline-end: 16px;
|
|
24
|
+
|
|
25
|
+
&:last-of-type {
|
|
26
|
+
margin-inline-end: 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
14
29
|
}
|
|
15
30
|
|
|
16
31
|
// On upgrade the host's baseline is its first row's: the 20px circle's
|