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.
Files changed (144) hide show
  1. package/README.md +2 -2
  2. package/dist/components/carousel/features/scroll.js +5 -2
  3. package/dist/components/drawer/features/items.js +3 -2
  4. package/dist/components/tabs/tab.js +26 -3
  5. package/dist/core/compose/features/badge.js +45 -0
  6. package/dist/core/navigation/destinations.d.ts +10 -1
  7. package/dist/core/navigation/destinations.js +18 -5
  8. package/dist/elements/css/badge.css +1 -1
  9. package/dist/elements/css/badge.js +1 -1
  10. package/dist/elements/css/menu.css +1 -1
  11. package/dist/elements/css/menu.js +1 -1
  12. package/dist/elements/css/navigation-rail.css +1 -1
  13. package/dist/elements/css/navigation-rail.js +1 -1
  14. package/dist/elements/css/tooltip.css +1 -1
  15. package/dist/elements/css/tooltip.js +1 -1
  16. package/dist/elements/preupgrade/badge.css +2 -2
  17. package/dist/elements/preupgrade/bottom-app-bar.css +1 -1
  18. package/dist/elements/preupgrade/bottom-sheet.css +1 -1
  19. package/dist/elements/preupgrade/button-group.css +1 -1
  20. package/dist/elements/preupgrade/button.css +1 -1
  21. package/dist/elements/preupgrade/card.css +1 -1
  22. package/dist/elements/preupgrade/carousel.css +1 -1
  23. package/dist/elements/preupgrade/checkbox.css +1 -1
  24. package/dist/elements/preupgrade/chips.css +1 -1
  25. package/dist/elements/preupgrade/datepicker.css +1 -1
  26. package/dist/elements/preupgrade/dialog.css +1 -1
  27. package/dist/elements/preupgrade/divider.css +1 -1
  28. package/dist/elements/preupgrade/drawer.css +1 -1
  29. package/dist/elements/preupgrade/extended-fab.css +1 -1
  30. package/dist/elements/preupgrade/fab-menu.css +1 -1
  31. package/dist/elements/preupgrade/fab.css +1 -1
  32. package/dist/elements/preupgrade/icon-button.css +1 -1
  33. package/dist/elements/preupgrade/list.css +1 -1
  34. package/dist/elements/preupgrade/loading-indicator.css +1 -1
  35. package/dist/elements/preupgrade/menu.css +1 -1
  36. package/dist/elements/preupgrade/navigation-bar.css +1 -1
  37. package/dist/elements/preupgrade/navigation-rail.css +1 -1
  38. package/dist/elements/preupgrade/progress.css +1 -1
  39. package/dist/elements/preupgrade/radios.css +2 -2
  40. package/dist/elements/preupgrade/search.css +1 -1
  41. package/dist/elements/preupgrade/select.css +1 -1
  42. package/dist/elements/preupgrade/side-sheet.css +1 -1
  43. package/dist/elements/preupgrade/slider.css +1 -1
  44. package/dist/elements/preupgrade/snackbar.css +1 -1
  45. package/dist/elements/preupgrade/split-button.css +1 -1
  46. package/dist/elements/preupgrade/switch.css +1 -1
  47. package/dist/elements/preupgrade/tabs.css +1 -1
  48. package/dist/elements/preupgrade/text-field.css +1 -1
  49. package/dist/elements/preupgrade/timepicker.css +1 -1
  50. package/dist/elements/preupgrade/toolbar.css +1 -1
  51. package/dist/elements/preupgrade/tooltip.css +1 -1
  52. package/dist/elements/preupgrade/top-app-bar.css +1 -1
  53. package/dist/elements/preupgrade.css +2 -2
  54. package/dist/elements/preupgrade.js +1 -1
  55. package/dist/package.json +1 -1
  56. package/dist/styles/badge.css +2 -2
  57. package/dist/styles/base.css +1 -1
  58. package/dist/styles/bottom-app-bar.css +1 -1
  59. package/dist/styles/bottom-sheet.css +1 -1
  60. package/dist/styles/button-group.css +1 -1
  61. package/dist/styles/button.css +1 -1
  62. package/dist/styles/card.css +1 -1
  63. package/dist/styles/carousel.css +1 -1
  64. package/dist/styles/checkbox.css +1 -1
  65. package/dist/styles/chips.css +1 -1
  66. package/dist/styles/contrast.css +1 -1
  67. package/dist/styles/datepicker.css +1 -1
  68. package/dist/styles/dialog.css +1 -1
  69. package/dist/styles/divider.css +1 -1
  70. package/dist/styles/drawer.css +1 -1
  71. package/dist/styles/extended-fab.css +1 -1
  72. package/dist/styles/fab-menu.css +1 -1
  73. package/dist/styles/fab.css +1 -1
  74. package/dist/styles/icon-button.css +1 -1
  75. package/dist/styles/list.css +1 -1
  76. package/dist/styles/loading-indicator.css +1 -1
  77. package/dist/styles/menu.css +2 -2
  78. package/dist/styles/navigation-bar.css +1 -1
  79. package/dist/styles/navigation-rail.css +2 -2
  80. package/dist/styles/progress.css +1 -1
  81. package/dist/styles/radios.css +1 -1
  82. package/dist/styles/search.css +1 -1
  83. package/dist/styles/select.css +1 -1
  84. package/dist/styles/side-sheet.css +1 -1
  85. package/dist/styles/slider.css +1 -1
  86. package/dist/styles/snackbar.css +1 -1
  87. package/dist/styles/split-button.css +1 -1
  88. package/dist/styles/switch.css +1 -1
  89. package/dist/styles/tabs.css +1 -1
  90. package/dist/styles/text-field.css +1 -1
  91. package/dist/styles/timepicker.css +1 -1
  92. package/dist/styles/toolbar.css +1 -1
  93. package/dist/styles/tooltip.css +2 -2
  94. package/dist/styles/top-app-bar.css +1 -1
  95. package/dist/styles/typography.css +1 -1
  96. package/dist/styles/utilities.css +1 -1
  97. package/dist/styles.css +2 -2
  98. package/dist/themes/autumn-contrast.css +1 -1
  99. package/dist/themes/autumn.css +1 -1
  100. package/dist/themes/baseline-contrast.css +1 -1
  101. package/dist/themes/baseline.css +1 -1
  102. package/dist/themes/brownbeige-contrast.css +1 -1
  103. package/dist/themes/brownbeige.css +1 -1
  104. package/dist/themes/content-contrast.css +1 -1
  105. package/dist/themes/content.css +1 -1
  106. package/dist/themes/desert-contrast.css +1 -1
  107. package/dist/themes/desert.css +1 -1
  108. package/dist/themes/expressive-contrast.css +1 -1
  109. package/dist/themes/expressive.css +1 -1
  110. package/dist/themes/fidelity-contrast.css +1 -1
  111. package/dist/themes/fidelity.css +1 -1
  112. package/dist/themes/forest-contrast.css +1 -1
  113. package/dist/themes/forest.css +1 -1
  114. package/dist/themes/fruit-salad-contrast.css +1 -1
  115. package/dist/themes/fruit-salad.css +1 -1
  116. package/dist/themes/highcontrast-contrast.css +1 -1
  117. package/dist/themes/highcontrast.css +1 -1
  118. package/dist/themes/monochrome-contrast.css +1 -1
  119. package/dist/themes/monochrome.css +1 -1
  120. package/dist/themes/neutral-contrast.css +1 -1
  121. package/dist/themes/neutral.css +1 -1
  122. package/dist/themes/ocean-contrast.css +1 -1
  123. package/dist/themes/ocean.css +1 -1
  124. package/dist/themes/rainbow-contrast.css +1 -1
  125. package/dist/themes/rainbow.css +1 -1
  126. package/dist/themes/sageivory-contrast.css +1 -1
  127. package/dist/themes/sageivory.css +1 -1
  128. package/dist/themes/spring-contrast.css +1 -1
  129. package/dist/themes/spring.css +1 -1
  130. package/dist/themes/summer-contrast.css +1 -1
  131. package/dist/themes/summer.css +1 -1
  132. package/dist/themes/sunset-contrast.css +1 -1
  133. package/dist/themes/sunset.css +1 -1
  134. package/dist/themes/tealcaramel-contrast.css +1 -1
  135. package/dist/themes/tealcaramel.css +1 -1
  136. package/dist/themes/vibrant-contrast.css +1 -1
  137. package/dist/themes/vibrant.css +1 -1
  138. package/package.json +1 -1
  139. package/src/styles/components/_badge.scss +75 -38
  140. package/src/styles/components/_menu.scss +71 -0
  141. package/src/styles/components/_navigation-rail.scss +9 -6
  142. package/src/styles/components/_tooltip.scss +1 -2
  143. package/src/styles/elements/_badge.scss +65 -4
  144. package/src/styles/elements/_radios.scss +15 -0
@@ -1,12 +1,73 @@
1
1
  // src/styles/elements/_badge.scss
2
- // <m-badge> before upgrade: as the upgraded host, which lays out no box of
3
- // its own (the badge is positioned from it). Its text is drawn on upgrade.
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