@material/web 1.0.0-pre.3 → 1.0.0-pre.4

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 (238) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +41 -41
  3. package/controller/form-controller.d.ts +1 -1
  4. package/controller/form-controller.js +21 -29
  5. package/controller/form-controller.js.map +1 -1
  6. package/field/lib/_content.scss +91 -13
  7. package/field/lib/_filled-field.scss +19 -57
  8. package/field/lib/_label.scss +1 -2
  9. package/field/lib/_md-comp-filled-field.scss +123 -64
  10. package/field/lib/_md-comp-outlined-field.scss +100 -59
  11. package/field/lib/_outlined-field.scss +13 -11
  12. package/field/lib/_shared.scss +21 -17
  13. package/field/lib/field.d.ts +2 -1
  14. package/field/lib/field.js +73 -62
  15. package/field/lib/field.js.map +1 -1
  16. package/field/lib/filled-field.d.ts +0 -5
  17. package/field/lib/filled-field.js +2 -41
  18. package/field/lib/filled-field.js.map +1 -1
  19. package/field/lib/filled-styles.css.js +1 -1
  20. package/field/lib/filled-styles.css.js.map +1 -1
  21. package/field/lib/outlined-field.js +1 -1
  22. package/field/lib/outlined-field.js.map +1 -1
  23. package/field/lib/outlined-styles.css.js +1 -1
  24. package/field/lib/outlined-styles.css.js.map +1 -1
  25. package/field/lib/shared-styles.css.js +1 -1
  26. package/field/lib/shared-styles.css.js.map +1 -1
  27. package/icon/lib/_icon.scss +1 -1
  28. package/icon/lib/_md-comp-icon.scss +1 -2
  29. package/icon/lib/icon-styles.css.js +1 -1
  30. package/icon/lib/icon-styles.css.js.map +1 -1
  31. package/list/lib/_list.scss +19 -9
  32. package/list/lib/list-styles.css.js +1 -1
  33. package/list/lib/list-styles.css.js.map +1 -1
  34. package/list/lib/listitem/_list-item.scss +293 -102
  35. package/list/lib/listitem/list-item-styles.css.js +1 -1
  36. package/list/lib/listitem/list-item-styles.css.js.map +1 -1
  37. package/list/lib/listitem/list-item.d.ts +7 -6
  38. package/list/lib/listitem/list-item.js +22 -26
  39. package/list/lib/listitem/list-item.js.map +1 -1
  40. package/list/list-item-link.d.ts +18 -0
  41. package/list/list-item-link.js +19 -2
  42. package/list/list-item-link.js.map +1 -1
  43. package/list/list-item.d.ts +19 -0
  44. package/list/list-item.js +20 -2
  45. package/list/list-item.js.map +1 -1
  46. package/menu/lib/_menu.scss +26 -5
  47. package/menu/lib/menu-styles.css.js +1 -1
  48. package/menu/lib/menu-styles.css.js.map +1 -1
  49. package/menu/lib/menu.js +8 -7
  50. package/menu/lib/menu.js.map +1 -1
  51. package/menu/lib/menuitem/_menu-item.scss +39 -79
  52. package/menu/lib/menuitem/menu-item-styles.css.js +1 -1
  53. package/menu/lib/menuitem/menu-item-styles.css.js.map +1 -1
  54. package/menu/lib/submenuitem/sub-menu-item.d.ts +0 -1
  55. package/menu/lib/submenuitem/sub-menu-item.js +0 -1
  56. package/menu/lib/submenuitem/sub-menu-item.js.map +1 -1
  57. package/menu/menu-item-link.js +1 -2
  58. package/menu/menu-item-link.js.map +1 -1
  59. package/menu/menu-item.js +2 -3
  60. package/menu/menu-item.js.map +1 -1
  61. package/menu/sub-menu-item.js +1 -2
  62. package/menu/sub-menu-item.js.map +1 -1
  63. package/menusurface/lib/_md-comp-menu-surface.scss +1 -1
  64. package/package.json +1 -1
  65. package/textfield/lib/_filled-text-field.scss +98 -96
  66. package/textfield/lib/_icon.scss +11 -55
  67. package/textfield/lib/_input.scss +4 -6
  68. package/textfield/lib/_outlined-text-field.scss +87 -88
  69. package/textfield/lib/filled-styles.css.js +1 -1
  70. package/textfield/lib/filled-styles.css.js.map +1 -1
  71. package/textfield/lib/outlined-styles.css.js +1 -1
  72. package/textfield/lib/outlined-styles.css.js.map +1 -1
  73. package/textfield/lib/shared-styles.css.js +1 -1
  74. package/textfield/lib/shared-styles.css.js.map +1 -1
  75. package/tokens/_index.scss +1 -1
  76. package/tokens/v0_161/_index.scss +107 -0
  77. package/tokens/v0_161/_md-comp-assist-chip.scss +109 -0
  78. package/tokens/v0_161/_md-comp-badge.scss +58 -0
  79. package/tokens/v0_161/_md-comp-banner.scss +75 -0
  80. package/tokens/v0_161/_md-comp-bottom-app-bar.scss +35 -0
  81. package/tokens/v0_161/_md-comp-carousel-item.scss +65 -0
  82. package/tokens/v0_161/_md-comp-checkbox.scss +126 -0
  83. package/tokens/v0_161/_md-comp-circular-progress-indicator.scss +39 -0
  84. package/tokens/v0_161/_md-comp-data-table.scss +96 -0
  85. package/tokens/v0_161/_md-comp-date-input-modal.scss +89 -0
  86. package/tokens/v0_161/_md-comp-date-picker-docked.scss +246 -0
  87. package/tokens/v0_161/_md-comp-date-picker-modal.scss +305 -0
  88. package/tokens/v0_161/_md-comp-dialog.scss +123 -0
  89. package/tokens/v0_161/_md-comp-divider.scss +25 -0
  90. package/tokens/v0_161/_md-comp-elevated-button.scss +91 -0
  91. package/tokens/v0_161/_md-comp-elevated-card.scss +59 -0
  92. package/tokens/v0_161/_md-comp-extended-fab-branded.scss +86 -0
  93. package/tokens/v0_161/_md-comp-extended-fab-primary.scss +94 -0
  94. package/tokens/v0_161/_md-comp-extended-fab-secondary.scss +95 -0
  95. package/tokens/v0_161/_md-comp-extended-fab-surface.scss +90 -0
  96. package/tokens/v0_161/_md-comp-extended-fab-tertiary.scss +95 -0
  97. package/tokens/v0_161/_md-comp-fab-branded-large.scss +60 -0
  98. package/tokens/v0_161/_md-comp-fab-branded.scss +60 -0
  99. package/tokens/v0_161/_md-comp-fab-primary-large.scss +65 -0
  100. package/tokens/v0_161/_md-comp-fab-primary-small.scss +65 -0
  101. package/tokens/v0_161/_md-comp-fab-primary.scss +65 -0
  102. package/tokens/v0_161/_md-comp-fab-secondary-large.scss +66 -0
  103. package/tokens/v0_161/_md-comp-fab-secondary-small.scss +66 -0
  104. package/tokens/v0_161/_md-comp-fab-secondary.scss +66 -0
  105. package/tokens/v0_161/_md-comp-fab-surface-large.scss +64 -0
  106. package/tokens/v0_161/_md-comp-fab-surface-small.scss +64 -0
  107. package/tokens/v0_161/_md-comp-fab-surface.scss +64 -0
  108. package/tokens/v0_161/_md-comp-fab-tertiary-large.scss +66 -0
  109. package/tokens/v0_161/_md-comp-fab-tertiary-small.scss +66 -0
  110. package/tokens/v0_161/_md-comp-fab-tertiary.scss +66 -0
  111. package/tokens/v0_161/_md-comp-filled-autocomplete.scss +267 -0
  112. package/tokens/v0_161/_md-comp-filled-button.scss +89 -0
  113. package/tokens/v0_161/_md-comp-filled-card.scss +58 -0
  114. package/tokens/v0_161/_md-comp-filled-icon-button.scss +79 -0
  115. package/tokens/v0_161/_md-comp-filled-menu-button.scss +98 -0
  116. package/tokens/v0_161/_md-comp-filled-select.scss +272 -0
  117. package/tokens/v0_161/_md-comp-filled-text-field.scss +189 -0
  118. package/tokens/v0_161/_md-comp-filled-tonal-button.scss +99 -0
  119. package/tokens/v0_161/_md-comp-filled-tonal-icon-button.scss +86 -0
  120. package/tokens/v0_161/_md-comp-filter-chip.scss +209 -0
  121. package/tokens/v0_161/_md-comp-full-screen-dialog.scss +111 -0
  122. package/tokens/v0_161/_md-comp-icon-button.scss +70 -0
  123. package/tokens/v0_161/_md-comp-input-chip.scss +184 -0
  124. package/tokens/v0_161/_md-comp-linear-progress-indicator.scss +41 -0
  125. package/tokens/v0_161/_md-comp-list.scss +248 -0
  126. package/tokens/v0_161/_md-comp-menu.scss +37 -0
  127. package/tokens/v0_161/_md-comp-navigation-bar.scss +114 -0
  128. package/tokens/v0_161/_md-comp-navigation-drawer.scss +162 -0
  129. package/tokens/v0_161/_md-comp-navigation-rail.scss +131 -0
  130. package/tokens/v0_161/_md-comp-outlined-autocomplete.scss +257 -0
  131. package/tokens/v0_161/_md-comp-outlined-button.scss +84 -0
  132. package/tokens/v0_161/_md-comp-outlined-card.scss +65 -0
  133. package/tokens/v0_161/_md-comp-outlined-icon-button.scss +79 -0
  134. package/tokens/v0_161/_md-comp-outlined-menu-button.scss +94 -0
  135. package/tokens/v0_161/_md-comp-outlined-segmented-button.scss +112 -0
  136. package/tokens/v0_161/_md-comp-outlined-select.scss +262 -0
  137. package/tokens/v0_161/_md-comp-outlined-text-field.scss +171 -0
  138. package/tokens/v0_161/_md-comp-plain-tooltip.scss +55 -0
  139. package/tokens/v0_161/_md-comp-primary-navigation-tab.scss +121 -0
  140. package/tokens/v0_161/_md-comp-radio-button.scss +68 -0
  141. package/tokens/v0_161/_md-comp-rich-tooltip.scss +121 -0
  142. package/tokens/v0_161/_md-comp-scrim.scss +25 -0
  143. package/tokens/v0_161/_md-comp-search-bar.scss +99 -0
  144. package/tokens/v0_161/_md-comp-search-view.scss +93 -0
  145. package/tokens/v0_161/_md-comp-secondary-navigation-tab.scss +84 -0
  146. package/tokens/v0_161/_md-comp-sheet-bottom.scss +45 -0
  147. package/tokens/v0_161/_md-comp-sheet-floating.scss +34 -0
  148. package/tokens/v0_161/_md-comp-sheet-side.scss +91 -0
  149. package/tokens/v0_161/_md-comp-slider.scss +114 -0
  150. package/tokens/v0_161/_md-comp-snackbar.scss +127 -0
  151. package/tokens/v0_161/_md-comp-standard-menu-button.scss +98 -0
  152. package/tokens/v0_161/_md-comp-suggestion-chip.scss +125 -0
  153. package/tokens/v0_161/_md-comp-switch.scss +136 -0
  154. package/tokens/v0_161/_md-comp-text-button.scss +77 -0
  155. package/tokens/v0_161/_md-comp-time-input.scss +218 -0
  156. package/tokens/v0_161/_md-comp-time-picker.scss +264 -0
  157. package/tokens/v0_161/_md-comp-top-app-bar-large.scss +63 -0
  158. package/tokens/v0_161/_md-comp-top-app-bar-medium.scss +63 -0
  159. package/tokens/v0_161/_md-comp-top-app-bar-small-centered.scss +66 -0
  160. package/tokens/v0_161/_md-comp-top-app-bar-small.scss +64 -0
  161. package/tokens/v0_161/_md-ref-palette.scss +107 -0
  162. package/tokens/v0_161/_md-ref-typeface.scss +21 -0
  163. package/tokens/v0_161/_md-sys-color.scss +904 -0
  164. package/tokens/v0_161/_md-sys-elevation.scss +21 -0
  165. package/tokens/v0_161/_md-sys-motion.scss +53 -0
  166. package/tokens/v0_161/_md-sys-shape.scss +30 -0
  167. package/tokens/v0_161/_md-sys-state.scss +19 -0
  168. package/tokens/v0_161/_md-sys-typescale.scss +284 -0
  169. package/tokens/v0_161/index.test.css.js +9 -0
  170. package/tokens/v0_161/index.test.css.js.map +1 -0
  171. package/tokens/v0_161/index.test.scss +584 -0
  172. package/tokens/v0_161/lib.test.css.js +9 -0
  173. package/tokens/v0_161/lib.test.css.js.map +1 -0
  174. package/tokens/v0_161/lib.test.scss +663 -0
  175. package/controller/foundation.d.ts +0 -24
  176. package/controller/foundation.js +0 -18
  177. package/controller/foundation.js.map +0 -1
  178. package/controller/observer-foundation.d.ts +0 -25
  179. package/controller/observer-foundation.js +0 -37
  180. package/controller/observer-foundation.js.map +0 -1
  181. package/controller/observer.d.ts +0 -52
  182. package/controller/observer.js +0 -149
  183. package/controller/observer.js.map +0 -1
  184. package/decorators/bound.d.ts +0 -40
  185. package/decorators/bound.js +0 -49
  186. package/decorators/bound.js.map +0 -1
  187. package/list/lib/avatar/_list-item-avatar.scss +0 -40
  188. package/list/lib/avatar/list-item-avatar-styles.css.js +0 -9
  189. package/list/lib/avatar/list-item-avatar-styles.css.js.map +0 -1
  190. package/list/lib/avatar/list-item-avatar-styles.scss +0 -10
  191. package/list/lib/avatar/list-item-avatar.d.ts +0 -21
  192. package/list/lib/avatar/list-item-avatar.js +0 -48
  193. package/list/lib/avatar/list-item-avatar.js.map +0 -1
  194. package/list/lib/icon/_list-item-icon.scss +0 -71
  195. package/list/lib/icon/list-item-icon-styles.css.js +0 -9
  196. package/list/lib/icon/list-item-icon-styles.css.js.map +0 -1
  197. package/list/lib/icon/list-item-icon-styles.scss +0 -10
  198. package/list/lib/icon/list-item-icon.d.ts +0 -9
  199. package/list/lib/icon/list-item-icon.js +0 -15
  200. package/list/lib/icon/list-item-icon.js.map +0 -1
  201. package/list/lib/image/_list-item-image.scss +0 -63
  202. package/list/lib/image/list-item-image-styles.css.d.ts +0 -1
  203. package/list/lib/image/list-item-image-styles.css.js +0 -9
  204. package/list/lib/image/list-item-image-styles.css.js.map +0 -1
  205. package/list/lib/image/list-item-image-styles.scss +0 -10
  206. package/list/lib/image/list-item-image.d.ts +0 -21
  207. package/list/lib/image/list-item-image.js +0 -48
  208. package/list/lib/image/list-item-image.js.map +0 -1
  209. package/list/lib/listitem/list-item-private-styles.css.d.ts +0 -1
  210. package/list/lib/listitem/list-item-private-styles.css.js +0 -9
  211. package/list/lib/listitem/list-item-private-styles.css.js.map +0 -1
  212. package/list/lib/listitem/list-item-private-styles.scss +0 -10
  213. package/list/lib/video/_list-item-video.scss +0 -71
  214. package/list/lib/video/list-item-video-styles.css.d.ts +0 -1
  215. package/list/lib/video/list-item-video-styles.css.js +0 -9
  216. package/list/lib/video/list-item-video-styles.css.js.map +0 -1
  217. package/list/lib/video/list-item-video-styles.scss +0 -10
  218. package/list/lib/video/list-item-video.d.ts +0 -53
  219. package/list/lib/video/list-item-video.js +0 -115
  220. package/list/lib/video/list-item-video.js.map +0 -1
  221. package/list/list-item-avatar.d.ts +0 -20
  222. package/list/list-item-avatar.js +0 -23
  223. package/list/list-item-avatar.js.map +0 -1
  224. package/list/list-item-icon.d.ts +0 -20
  225. package/list/list-item-icon.js +0 -23
  226. package/list/list-item-icon.js.map +0 -1
  227. package/list/list-item-image.d.ts +0 -20
  228. package/list/list-item-image.js +0 -23
  229. package/list/list-item-image.js.map +0 -1
  230. package/list/list-item-video.d.ts +0 -20
  231. package/list/list-item-video.js +0 -23
  232. package/list/list-item-video.js.map +0 -1
  233. package/menu/lib/menuitem/menu-item-private-styles.css.d.ts +0 -1
  234. package/menu/lib/menuitem/menu-item-private-styles.css.js +0 -9
  235. package/menu/lib/menuitem/menu-item-private-styles.css.js.map +0 -1
  236. package/menu/lib/menuitem/menu-item-private-styles.scss +0 -10
  237. /package/{list/lib/avatar/list-item-avatar-styles.css.d.ts → tokens/v0_161/index.test.css.d.ts} +0 -0
  238. /package/{list/lib/icon/list-item-icon-styles.css.d.ts → tokens/v0_161/lib.test.css.d.ts} +0 -0
@@ -9,14 +9,12 @@
9
9
  // go/keep-sorted end
10
10
  // go/keep-sorted start
11
11
  @use '../../../focus/focus-ring';
12
+ @use '../../../icon/icon';
12
13
  @use '../../../ripple/ripple';
13
14
  @use '../../../sass/map-ext';
14
15
  @use '../../../sass/theme';
15
16
  @use '../../../sass/typography';
16
17
  @use '../../../tokens';
17
- @use '../icon/list-item-icon';
18
- @use '../image/list-item-image';
19
- @use '../video/list-item-video';
20
18
  // go/keep-sorted end
21
19
 
22
20
  @mixin theme($tokens) {
@@ -30,26 +28,26 @@
30
28
  }
31
29
 
32
30
  @mixin styles() {
31
+ $tokens: resolve-tokens(tokens.md-comp-list-values());
32
+ $tokens: theme.create-theme-vars($tokens, 'list');
33
+
34
+ :host {
35
+ @each $token, $value in $tokens {
36
+ --_#{$token}: #{$value};
37
+ }
38
+ }
39
+
40
+ @include _list-item;
41
+ @include _image;
42
+ @include _icon;
43
+ @include _avatar;
44
+ @include _video;
45
+ }
46
+
47
+ @mixin _list-item() {
33
48
  :host {
34
49
  color: unset;
35
50
 
36
- @include list-item-image.theme(
37
- (
38
- list-item-leading-image-height: var(--_list-item-leading-image-height),
39
- list-item-leading-image-width: var(--_list-item-leading-image-width),
40
- list-item-leading-image-shape: var(--_list-item-leading-image-shape),
41
- )
42
- );
43
- @include list-item-video.theme(
44
- (
45
- list-item-small-leading-video-height:
46
- var(--_list-item-small-leading-video-height),
47
- list-item-large-leading-video-height:
48
- var(--_list-item-large-leading-video-height),
49
- list-item-leading-video-width: var(--_list-item-leading-video-width),
50
- list-item-leading-video-shape: var(--_list-item-leading-video-shape),
51
- )
52
- );
53
51
  @include focus-ring.theme(
54
52
  (
55
53
  offset-vertical: -2px,
@@ -80,7 +78,7 @@
80
78
  background-color: var(--_list-item-container-color);
81
79
  border-radius: var(--_list-item-container-shape);
82
80
 
83
- &.enabled {
81
+ &:not(.disabled) {
84
82
  cursor: pointer;
85
83
  }
86
84
 
@@ -89,6 +87,11 @@
89
87
  }
90
88
  }
91
89
 
90
+ .content-wrapper {
91
+ display: flex;
92
+ width: 100%;
93
+ }
94
+
92
95
  .with-one-line {
93
96
  min-height: var(--_list-item-one-line-container-height);
94
97
  }
@@ -102,41 +105,15 @@
102
105
  }
103
106
 
104
107
  .start {
108
+ display: inline-flex;
109
+ flex-direction: column;
110
+ justify-content: center;
111
+ align-items: center;
105
112
  flex: 0 0 auto;
106
113
  z-index: 1;
107
114
 
108
- @include list-item-icon.theme(
109
- (
110
- list-item-icon-color: var(--_list-item-leading-icon-color),
111
- list-item-icon-size: var(--_list-item-leading-icon-size),
112
- )
113
- );
114
-
115
- :hover & {
116
- @include list-item-icon.theme(
117
- (
118
- list-item-icon-color: var(--_list-item-hover-leading-icon-icon-color),
119
- )
120
- );
121
- }
122
-
123
- :active & {
124
- @include list-item-icon.theme(
125
- (
126
- list-item-icon-color:
127
- var(--_list-item-pressed-leading-icon-icon-color),
128
- )
129
- );
130
- }
131
-
132
- .disabled & {
133
- @include list-item-icon.theme(
134
- (
135
- list-item-icon-color: var(--_list-item-disabled-leading-icon-color),
136
- list-item-icon-opacity:
137
- var(--_list-item-disabled-leading-icon-opacity),
138
- )
139
- );
115
+ .with-three-line & {
116
+ justify-content: start;
140
117
  }
141
118
 
142
119
  .with-leading-thumbnail &,
@@ -150,50 +127,25 @@
150
127
  }
151
128
 
152
129
  .body {
130
+ display: inline-flex;
131
+ justify-content: center;
132
+ flex-direction: column;
153
133
  box-sizing: border-box;
154
134
  flex: 1 0 0;
155
135
  padding-inline-start: 16px;
156
- width: 100%;
157
136
  z-index: 1;
158
137
  }
159
138
 
160
139
  .end {
140
+ display: inline-flex;
141
+ flex-direction: column;
142
+ justify-content: center;
161
143
  flex: 0 0 auto;
162
144
  padding-inline-end: 24px;
163
145
  z-index: 1;
164
146
 
165
- @include list-item-icon.theme(
166
- (
167
- list-item-icon-color: var(--_list-item-trailing-icon-color),
168
- list-item-icon-size: var(--_list-item-trailing-icon-size),
169
- )
170
- );
171
-
172
- :hover & {
173
- @include list-item-icon.theme(
174
- (
175
- list-item-icon-color: var(--_list-item-hover-trailing-icon-icon-color),
176
- )
177
- );
178
- }
179
-
180
- :active & {
181
- @include list-item-icon.theme(
182
- (
183
- list-item-icon-color:
184
- var(--_list-item-pressed-trailing-icon-icon-color),
185
- )
186
- );
187
- }
188
-
189
- .disabled & {
190
- @include list-item-icon.theme(
191
- (
192
- list-item-icon-color: var(--_list-item-disabled-trailing-icon-color),
193
- list-item-icon-opacity:
194
- var(--_list-item-disabled-trailing-icon-opacity),
195
- )
196
- );
147
+ .with-three-line & {
148
+ justify-content: start;
197
149
  }
198
150
  }
199
151
 
@@ -202,6 +154,18 @@
202
154
  color: var(--_list-item-label-text-color);
203
155
  font: var(--_list-item-label-text-type);
204
156
 
157
+ :hover & {
158
+ color: var(--_list-item-hover-label-text-color);
159
+ }
160
+
161
+ :focus & {
162
+ color: var(--_list-item-focus-label-text-color);
163
+ }
164
+
165
+ :active & {
166
+ color: var(--_list-item-pressed-label-text-color);
167
+ }
168
+
205
169
  .disabled & {
206
170
  color: var(--_list-item-disabled-label-text-color);
207
171
  opacity: var(--_list-item-disabled-label-text-opacity);
@@ -210,7 +174,6 @@
210
174
 
211
175
  .supporting-text {
212
176
  display: block;
213
- padding-block-start: 4px;
214
177
  text-overflow: ellipsis;
215
178
  white-space: nowrap;
216
179
  overflow: hidden;
@@ -244,13 +207,19 @@
244
207
  color: var(--_list-item-disabled-label-text-color);
245
208
  opacity: var(--_list-item-disabled-label-text-opacity);
246
209
  }
247
- }
248
210
 
249
- .ripple {
250
- display: inline-flex;
251
- inset: 0;
252
- position: absolute;
253
- z-index: 0;
211
+ .with-three-line & {
212
+ /*
213
+ * In three line, trailing-supporting-text must align with the mid-line of
214
+ * the headline text.
215
+ */
216
+ padding-block-start: calc(
217
+ (
218
+ var(--_list-item-label-text-line-height) -
219
+ var(--_list-item-trailing-supporting-text-line-height)
220
+ ) / 2
221
+ );
222
+ }
254
223
  }
255
224
 
256
225
  .focus-ring {
@@ -258,6 +227,199 @@
258
227
  }
259
228
  }
260
229
 
230
+ @mixin _image() {
231
+ ::slotted([data-variant='image']) {
232
+ display: inline-flex;
233
+ margin-inline-start: 16px;
234
+ height: var(--_list-item-leading-image-height);
235
+ width: var(--_list-item-leading-image-width);
236
+ border-radius: var(--_list-item-leading-image-shape);
237
+ /* Min height is two-line height */
238
+ padding-block: calc(
239
+ (
240
+ var(--_list-item-two-line-container-height) -
241
+ var(--_list-item-leading-image-height)
242
+ ) / 2
243
+ );
244
+
245
+ .with-three-line & {
246
+ padding-block: 0;
247
+ }
248
+ }
249
+ }
250
+
251
+ @mixin _icon() {
252
+ slot[name='start']::slotted([data-variant='icon']) {
253
+ @include icon.theme(
254
+ (
255
+ color: var(--_list-item-leading-icon-color),
256
+ size: var(--_list-item-leading-icon-size),
257
+ )
258
+ );
259
+
260
+ .with-three-line & {
261
+ /* In three line, icon must align with the mid-line of headline text */
262
+ padding-block-start: calc(
263
+ (
264
+ var(--_list-item-label-text-line-height) -
265
+ var(--_list-item-leading-icon-size)
266
+ ) / 2
267
+ );
268
+ }
269
+ }
270
+
271
+ slot[name='end']::slotted([data-variant='icon']) {
272
+ @include icon.theme(
273
+ (
274
+ color: var(--_list-item-trailing-icon-color),
275
+ size: var(--_list-item-trailing-icon-size),
276
+ )
277
+ );
278
+
279
+ .with-three-line & {
280
+ /* In three line, icon must align with the mid-line of headline text */
281
+ padding-block-start: calc(
282
+ (
283
+ var(--_list-item-label-text-line-height) -
284
+ var(--_list-item-trailing-icon-size)
285
+ ) / 2
286
+ );
287
+ }
288
+ }
289
+
290
+ ::slotted([data-variant='icon']) {
291
+ padding-inline-start: 16px;
292
+ }
293
+
294
+ :hover {
295
+ slot[name='start']::slotted([data-variant='icon']) {
296
+ @include icon.theme(
297
+ (
298
+ color: var(--_list-item-hover-leading-icon-icon-color),
299
+ )
300
+ );
301
+ }
302
+
303
+ slot[name='end']::slotted([data-variant='icon']) {
304
+ @include icon.theme(
305
+ (
306
+ color: var(--_list-item-hover-trailing-icon-icon-color),
307
+ )
308
+ );
309
+ }
310
+ }
311
+
312
+ :focus {
313
+ slot[name='start']::slotted([data-variant='icon']) {
314
+ @include icon.theme(
315
+ (
316
+ color: var(--_list-item-focus-leading-icon-icon-color),
317
+ )
318
+ );
319
+ }
320
+
321
+ slot[name='end']::slotted([data-variant='icon']) {
322
+ @include icon.theme(
323
+ (
324
+ color: var(--_list-item-focus-trailing-icon-icon-color),
325
+ )
326
+ );
327
+ }
328
+ }
329
+
330
+ :active {
331
+ slot[name='start']::slotted([data-variant='icon']) {
332
+ @include icon.theme(
333
+ (
334
+ color: var(--_list-item-pressed-leading-icon-icon-color),
335
+ )
336
+ );
337
+ }
338
+
339
+ slot[name='end']::slotted([data-variant='icon']) {
340
+ @include icon.theme(
341
+ (
342
+ color: var(--_list-item-pressed-trailing-icon-icon-color),
343
+ )
344
+ );
345
+ }
346
+ }
347
+
348
+ .disabled {
349
+ slot[name='start']::slotted([data-variant='icon']) {
350
+ opacity: var(--_list-item-disabled-leading-icon-opacity);
351
+
352
+ @include icon.theme(
353
+ (
354
+ color: var(--_list-item-disabled-leading-icon-color),
355
+ )
356
+ );
357
+ }
358
+
359
+ slot[name='end']::slotted([data-variant='icon']) {
360
+ opacity: var(--_list-item-disabled-trailing-icon-opacity);
361
+
362
+ @include icon.theme(
363
+ (
364
+ color: var(--_list-item-disabled-trailing-icon-color),
365
+ )
366
+ );
367
+ }
368
+ }
369
+ }
370
+
371
+ @mixin _avatar() {
372
+ ::slotted([data-variant='avatar']) {
373
+ display: inline-flex;
374
+ justify-content: center;
375
+ align-items: center;
376
+ margin-inline-start: 16px;
377
+ background-color: var(--_list-item-leading-avatar-color);
378
+ height: var(--_list-item-leading-avatar-size);
379
+ width: var(--_list-item-leading-avatar-size);
380
+ border-radius: var(--_list-item-leading-avatar-shape);
381
+ color: var(--_list-item-leading-avatar-label-color);
382
+ font: var(--_list-item-leading-avatar-label-type);
383
+ }
384
+ }
385
+
386
+ @mixin _video() {
387
+ ::slotted([data-variant='video']),
388
+ ::slotted([data-variant='video-large']) {
389
+ display: inline-flex;
390
+ object-fit: cover;
391
+ height: var(--_list-item-small-leading-video-height);
392
+ width: var(--_list-item-leading-video-width);
393
+ border-radius: var(--_list-item-leading-video-shape);
394
+ /* Min height is three-line height */
395
+ padding-block: calc(
396
+ (
397
+ var(--_list-item-three-line-container-height) -
398
+ var(--_list-item-small-leading-video-height)
399
+ ) / 2
400
+ );
401
+
402
+ /*
403
+ * Let it auto-layout so that we don't mess with the icons and supporting
404
+ * text that is supposed to be top-aligned in three-line.
405
+ */
406
+ .with-three-line & {
407
+ padding-block: 0;
408
+ }
409
+ }
410
+
411
+ ::slotted([data-variant='video-large']) {
412
+ /* Min height is three-line height */
413
+ padding-block: calc(
414
+ (
415
+ var(--_list-item-three-line-container-height) -
416
+ var(--_list-item-large-leading-video-height)
417
+ ) / 2
418
+ );
419
+ height: var(--_list-item-large-leading-video-height);
420
+ }
421
+ }
422
+
261
423
  /// Resolves the tokens that are specific to list-item.
262
424
  ///
263
425
  /// The tokenset for list include list plus all of list item. We do not want to
@@ -275,22 +437,51 @@
275
437
  }
276
438
  }
277
439
 
440
+ // Do not include list-item-trailing-supporting-text or list-item-label-text
441
+ // because we actually need the line-height tokens separately from the
442
+ // *-type tokens.
278
443
  $list-item-tokens: typography.resolve-tokens(
279
444
  $list-item-tokens,
280
- 'list-item-label-text',
281
445
  'list-item-supporting-text',
282
- 'list-item-trailing-supporting-text'
446
+ 'list-item-leading-avatar-label',
447
+ 'list-item-overline'
283
448
  );
449
+
450
+ $list-item-tokens: _remove-unused-tokens($list-item-tokens);
451
+
284
452
  @return $list-item-tokens;
285
453
  }
286
454
 
287
- @mixin private-props() {
288
- $tokens: resolve-tokens(tokens.md-comp-list-values());
289
- $tokens: theme.create-theme-vars($tokens, 'list');
455
+ // removes unused tokens
456
+ @function _remove-unused-tokens($tokens) {
457
+ $unused-tokens: (
458
+ 'list-item-container-elevation',
459
+ 'list-item-disabled-state-layer-color',
460
+ 'list-item-disabled-state-layer-opacity',
461
+ 'list-item-dragged-container-elevation',
462
+ 'list-item-dragged-label-text-color',
463
+ 'list-item-dragged-leading-icon-icon-color',
464
+ 'list-item-dragged-state-layer-color',
465
+ 'list-item-dragged-state-layer-opacity',
466
+ 'list-item-dragged-trailing-icon-icon-color',
467
+ 'list-item-overline-color',
468
+ 'list-item-overline-type',
469
+ 'list-item-selected-trailing-icon',
470
+ 'list-item-selected-trailing-icon-color',
471
+ 'list-item-unselected-trailing-icon-color',
472
+ 'list-item-label-text-font',
473
+ 'list-item-label-text-size',
474
+ 'list-item-label-text-tracking',
475
+ 'list-item-label-text-weight',
476
+ 'list-item-trailing-supporting-text-font',
477
+ 'list-item-trailing-supporting-text-size',
478
+ 'list-item-trailing-supporting-text-tracking',
479
+ 'list-item-trailing-supporting-text-weight'
480
+ );
290
481
 
291
- :host {
292
- @each $token, $value in $tokens {
293
- --_#{$token}: #{$value};
294
- }
482
+ @each $token in $unused-tokens {
483
+ $tokens: map.remove($tokens, $token);
295
484
  }
485
+
486
+ @return $tokens;
296
487
  }
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { css } from 'lit';
7
- export const styles = css `:host{color:unset;--md-list-item-image-list-item-leading-image-height:var(--_list-item-leading-image-height);--md-list-item-image-list-item-leading-image-width:var(--_list-item-leading-image-width);--md-list-item-image-list-item-leading-image-shape:var(--_list-item-leading-image-shape);--md-list-item-video-list-item-small-leading-video-height:var(--_list-item-small-leading-video-height);--md-list-item-video-list-item-large-leading-video-height:var(--_list-item-large-leading-video-height);--md-list-item-video-list-item-leading-video-width:var(--_list-item-leading-video-width);--md-list-item-video-list-item-leading-video-shape:var(--_list-item-leading-video-shape);--md-focus-ring-shape-start-start:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-start-end:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-end-end:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-end-start:var(--md-focus-ring-shape, 4px);--md-focus-ring-offset-vertical:-2px;--md-focus-ring-offset-horizontal:-3px;--md-ripple-hover-color:var(--_list-item-hover-state-layer-color);--md-ripple-hover-opacity:var(--_list-item-hover-state-layer-opacity);--md-ripple-pressed-color:var(--_list-item-pressed-state-layer-color);--md-ripple-pressed-opacity:var(--_list-item-pressed-state-layer-opacity);--md-ripple-focus-color:var(--_list-item-focus-state-layer-color);--md-ripple-focus-opacity:var(--_list-item-focus-state-layer-opacity)}.list-item{align-items:center;box-sizing:border-box;display:flex;outline:none;position:relative;width:100%;text-decoration:none;background-color:var(--_list-item-container-color);border-radius:var(--_list-item-container-shape)}.list-item.enabled{cursor:pointer}.list-item.disabled{pointer-events:none}.with-one-line{min-height:var(--_list-item-one-line-container-height)}.with-two-line{min-height:var(--_list-item-two-line-container-height)}.with-three-line{min-height:var(--_list-item-three-line-container-height)}.start{flex:0 0 auto;z-index:1;--md-list-item-icon-list-item-icon-color:var(--_list-item-leading-icon-color);--md-list-item-icon-list-item-icon-size:var(--_list-item-leading-icon-size)}:hover .start{--md-list-item-icon-list-item-icon-color:var(--_list-item-hover-leading-icon-icon-color)}:active .start{--md-list-item-icon-list-item-icon-color:var(--_list-item-pressed-leading-icon-icon-color)}.disabled .start{--md-list-item-icon-list-item-icon-color:var(--_list-item-disabled-leading-icon-color);--md-list-item-icon-list-item-icon-opacity:var(--_list-item-disabled-leading-icon-opacity)}.with-leading-thumbnail .start,.with-leading-image .start{padding-inline-start:16px}.with-leading-video .start{padding-inline-start:0}.body{box-sizing:border-box;flex:1 0 0;padding-inline-start:16px;width:100%;z-index:1}.end{flex:0 0 auto;padding-inline-end:24px;z-index:1;--md-list-item-icon-list-item-icon-color:var(--_list-item-trailing-icon-color);--md-list-item-icon-list-item-icon-size:var(--_list-item-trailing-icon-size)}:hover .end{--md-list-item-icon-list-item-icon-color:var(--_list-item-hover-trailing-icon-icon-color)}:active .end{--md-list-item-icon-list-item-icon-color:var(--_list-item-pressed-trailing-icon-icon-color)}.disabled .end{--md-list-item-icon-list-item-icon-color:var(--_list-item-disabled-trailing-icon-color);--md-list-item-icon-list-item-icon-opacity:var(--_list-item-disabled-trailing-icon-opacity)}.label-text{display:flex;color:var(--_list-item-label-text-color);font:var(--_list-item-label-text-type)}.disabled .label-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.supporting-text{display:block;padding-block-start:4px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;color:var(--_list-item-supporting-text-color);font:var(--_list-item-supporting-text-type)}.disabled .supporting-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.supporting-text--multi-line{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;white-space:normal}.trailing-supporting-text{padding-inline-start:16px;font:var(--_list-item-trailing-supporting-text-type)}.list-item:not(.disabled) .trailing-supporting-text{color:var(--_list-item-trailing-supporting-text-color)}.disabled .trailing-supporting-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.ripple{display:inline-flex;inset:0;position:absolute;z-index:0}.focus-ring{z-index:1}/*# sourceMappingURL=list-item-styles.css.map */
7
+ export const styles = css `:host{--_list-item-container-color: var(--md-list-list-item-container-color, var(--md-sys-color-surface, #fffbfe));--_list-item-container-shape: var(--md-list-list-item-container-shape, 0px);--_list-item-disabled-label-text-color: var(--md-list-list-item-disabled-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-disabled-label-text-opacity: var(--md-list-list-item-disabled-label-text-opacity, 0.3);--_list-item-disabled-leading-icon-color: var(--md-list-list-item-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-disabled-leading-icon-opacity: var(--md-list-list-item-disabled-leading-icon-opacity, 0.38);--_list-item-disabled-trailing-icon-color: var(--md-list-list-item-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-disabled-trailing-icon-opacity: var(--md-list-list-item-disabled-trailing-icon-opacity, 0.38);--_list-item-focus-label-text-color: var(--md-list-list-item-focus-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-focus-leading-icon-icon-color: var(--md-list-list-item-focus-leading-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-focus-state-layer-color: var(--md-list-list-item-focus-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-focus-state-layer-opacity: var(--md-list-list-item-focus-state-layer-opacity, 0.12);--_list-item-focus-trailing-icon-icon-color: var(--md-list-list-item-focus-trailing-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-hover-label-text-color: var(--md-list-list-item-hover-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-hover-leading-icon-icon-color: var(--md-list-list-item-hover-leading-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-hover-state-layer-color: var(--md-list-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-hover-state-layer-opacity: var(--md-list-list-item-hover-state-layer-opacity, 0.08);--_list-item-hover-trailing-icon-icon-color: var(--md-list-list-item-hover-trailing-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-label-text-color: var(--md-list-list-item-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-label-text-line-height: var(--md-list-list-item-label-text-line-height, 1.5rem);--_list-item-label-text-type: var(--md-list-list-item-label-text-type, 400 1rem / 1.5rem Roboto);--_list-item-large-leading-video-height: var(--md-list-list-item-large-leading-video-height, 69px);--_list-item-leading-avatar-label-color: var(--md-list-list-item-leading-avatar-label-color, var(--md-sys-color-on-primary-container, #21005d));--_list-item-leading-avatar-label-type: var(--md-list-list-item-leading-avatar-label-type, 500 1rem / 1.5rem Roboto);--_list-item-leading-avatar-color: var(--md-list-list-item-leading-avatar-color, var(--md-sys-color-primary-container, #eaddff));--_list-item-leading-avatar-shape: var(--md-list-list-item-leading-avatar-shape, 9999px);--_list-item-leading-avatar-size: var(--md-list-list-item-leading-avatar-size, 40px);--_list-item-leading-icon-color: var(--md-list-list-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-leading-icon-size: var(--md-list-list-item-leading-icon-size, 18px);--_list-item-leading-image-height: var(--md-list-list-item-leading-image-height, 56px);--_list-item-leading-image-shape: var(--md-list-list-item-leading-image-shape, 0px);--_list-item-leading-image-width: var(--md-list-list-item-leading-image-width, 56px);--_list-item-leading-video-shape: var(--md-list-list-item-leading-video-shape, 0px);--_list-item-leading-video-width: var(--md-list-list-item-leading-video-width, 100px);--_list-item-one-line-container-height: var(--md-list-list-item-one-line-container-height, 56px);--_list-item-pressed-label-text-color: var(--md-list-list-item-pressed-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-pressed-leading-icon-icon-color: var(--md-list-list-item-pressed-leading-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-pressed-state-layer-color: var(--md-list-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-pressed-state-layer-opacity: var(--md-list-list-item-pressed-state-layer-opacity, 0.12);--_list-item-pressed-trailing-icon-icon-color: var(--md-list-list-item-pressed-trailing-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-small-leading-video-height: var(--md-list-list-item-small-leading-video-height, 56px);--_list-item-supporting-text-color: var(--md-list-list-item-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-supporting-text-type: var(--md-list-list-item-supporting-text-type, 400 0.875rem / 1.25rem Roboto);--_list-item-three-line-container-height: var(--md-list-list-item-three-line-container-height, 88px);--_list-item-trailing-icon-color: var(--md-list-list-item-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-trailing-icon-size: var(--md-list-list-item-trailing-icon-size, 24px);--_list-item-trailing-supporting-text-color: var(--md-list-list-item-trailing-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-trailing-supporting-text-line-height: var(--md-list-list-item-trailing-supporting-text-line-height, 1rem);--_list-item-trailing-supporting-text-type: var(--md-list-list-item-trailing-supporting-text-type, 500 0.688rem / 1rem Roboto);--_list-item-two-line-container-height: var(--md-list-list-item-two-line-container-height, 72px)}:host{color:unset;--md-focus-ring-shape-start-start:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-start-end:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-end-end:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-end-start:var(--md-focus-ring-shape, 4px);--md-focus-ring-offset-vertical:-2px;--md-focus-ring-offset-horizontal:-3px;--md-ripple-hover-color:var(--_list-item-hover-state-layer-color);--md-ripple-hover-opacity:var(--_list-item-hover-state-layer-opacity);--md-ripple-pressed-color:var(--_list-item-pressed-state-layer-color);--md-ripple-pressed-opacity:var(--_list-item-pressed-state-layer-opacity);--md-ripple-focus-color:var(--_list-item-focus-state-layer-color);--md-ripple-focus-opacity:var(--_list-item-focus-state-layer-opacity)}.list-item{align-items:center;box-sizing:border-box;display:flex;outline:none;position:relative;width:100%;text-decoration:none;background-color:var(--_list-item-container-color);border-radius:var(--_list-item-container-shape)}.list-item:not(.disabled){cursor:pointer}.list-item.disabled{pointer-events:none}.content-wrapper{display:flex;width:100%}.with-one-line{min-height:var(--_list-item-one-line-container-height)}.with-two-line{min-height:var(--_list-item-two-line-container-height)}.with-three-line{min-height:var(--_list-item-three-line-container-height)}.start{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;flex:0 0 auto;z-index:1}.with-three-line .start{justify-content:start}.with-leading-thumbnail .start,.with-leading-image .start{padding-inline-start:16px}.with-leading-video .start{padding-inline-start:0}.body{display:inline-flex;justify-content:center;flex-direction:column;box-sizing:border-box;flex:1 0 0;padding-inline-start:16px;z-index:1}.end{display:inline-flex;flex-direction:column;justify-content:center;flex:0 0 auto;padding-inline-end:24px;z-index:1}.with-three-line .end{justify-content:start}.label-text{display:flex;color:var(--_list-item-label-text-color);font:var(--_list-item-label-text-type)}:hover .label-text{color:var(--_list-item-hover-label-text-color)}:focus .label-text{color:var(--_list-item-focus-label-text-color)}:active .label-text{color:var(--_list-item-pressed-label-text-color)}.disabled .label-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.supporting-text{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;color:var(--_list-item-supporting-text-color);font:var(--_list-item-supporting-text-type)}.disabled .supporting-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.supporting-text--multi-line{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;white-space:normal}.trailing-supporting-text{padding-inline-start:16px;font:var(--_list-item-trailing-supporting-text-type)}.list-item:not(.disabled) .trailing-supporting-text{color:var(--_list-item-trailing-supporting-text-color)}.disabled .trailing-supporting-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.with-three-line .trailing-supporting-text{padding-block-start:calc((var(--_list-item-label-text-line-height) - var(--_list-item-trailing-supporting-text-line-height))/2)}.focus-ring{z-index:1}::slotted([data-variant=image]){display:inline-flex;margin-inline-start:16px;height:var(--_list-item-leading-image-height);width:var(--_list-item-leading-image-width);border-radius:var(--_list-item-leading-image-shape);padding-block:calc((var(--_list-item-two-line-container-height) - var(--_list-item-leading-image-height))/2)}.with-three-line ::slotted([data-variant=image]){padding-block:0}slot[name=start]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-leading-icon-color);--md-icon-size:var(--_list-item-leading-icon-size)}.with-three-line slot[name=start]::slotted([data-variant=icon]){padding-block-start:calc((var(--_list-item-label-text-line-height) - var(--_list-item-leading-icon-size))/2)}slot[name=end]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-trailing-icon-color);--md-icon-size:var(--_list-item-trailing-icon-size)}.with-three-line slot[name=end]::slotted([data-variant=icon]){padding-block-start:calc((var(--_list-item-label-text-line-height) - var(--_list-item-trailing-icon-size))/2)}::slotted([data-variant=icon]){padding-inline-start:16px}:hover slot[name=start]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-hover-leading-icon-icon-color)}:hover slot[name=end]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-hover-trailing-icon-icon-color)}:focus slot[name=start]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-focus-leading-icon-icon-color)}:focus slot[name=end]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-focus-trailing-icon-icon-color)}:active slot[name=start]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-pressed-leading-icon-icon-color)}:active slot[name=end]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-pressed-trailing-icon-icon-color)}.disabled slot[name=start]::slotted([data-variant=icon]){opacity:var(--_list-item-disabled-leading-icon-opacity);--md-icon-color:var(--_list-item-disabled-leading-icon-color)}.disabled slot[name=end]::slotted([data-variant=icon]){opacity:var(--_list-item-disabled-trailing-icon-opacity);--md-icon-color:var(--_list-item-disabled-trailing-icon-color)}::slotted([data-variant=avatar]){display:inline-flex;justify-content:center;align-items:center;margin-inline-start:16px;background-color:var(--_list-item-leading-avatar-color);height:var(--_list-item-leading-avatar-size);width:var(--_list-item-leading-avatar-size);border-radius:var(--_list-item-leading-avatar-shape);color:var(--_list-item-leading-avatar-label-color);font:var(--_list-item-leading-avatar-label-type)}::slotted([data-variant=video]),::slotted([data-variant=video-large]){display:inline-flex;object-fit:cover;height:var(--_list-item-small-leading-video-height);width:var(--_list-item-leading-video-width);border-radius:var(--_list-item-leading-video-shape);padding-block:calc((var(--_list-item-three-line-container-height) - var(--_list-item-small-leading-video-height))/2)}.with-three-line ::slotted([data-variant=video]),.with-three-line ::slotted([data-variant=video-large]){padding-block:0}::slotted([data-variant=video-large]){padding-block:calc((var(--_list-item-three-line-container-height) - var(--_list-item-large-leading-video-height))/2);height:var(--_list-item-large-leading-video-height)}/*# sourceMappingURL=list-item-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=list-item-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item-styles.css.js","sourceRoot":"","sources":["list-item-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{color:unset;--md-list-item-image-list-item-leading-image-height:var(--_list-item-leading-image-height);--md-list-item-image-list-item-leading-image-width:var(--_list-item-leading-image-width);--md-list-item-image-list-item-leading-image-shape:var(--_list-item-leading-image-shape);--md-list-item-video-list-item-small-leading-video-height:var(--_list-item-small-leading-video-height);--md-list-item-video-list-item-large-leading-video-height:var(--_list-item-large-leading-video-height);--md-list-item-video-list-item-leading-video-width:var(--_list-item-leading-video-width);--md-list-item-video-list-item-leading-video-shape:var(--_list-item-leading-video-shape);--md-focus-ring-shape-start-start:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-start-end:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-end-end:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-end-start:var(--md-focus-ring-shape, 4px);--md-focus-ring-offset-vertical:-2px;--md-focus-ring-offset-horizontal:-3px;--md-ripple-hover-color:var(--_list-item-hover-state-layer-color);--md-ripple-hover-opacity:var(--_list-item-hover-state-layer-opacity);--md-ripple-pressed-color:var(--_list-item-pressed-state-layer-color);--md-ripple-pressed-opacity:var(--_list-item-pressed-state-layer-opacity);--md-ripple-focus-color:var(--_list-item-focus-state-layer-color);--md-ripple-focus-opacity:var(--_list-item-focus-state-layer-opacity)}.list-item{align-items:center;box-sizing:border-box;display:flex;outline:none;position:relative;width:100%;text-decoration:none;background-color:var(--_list-item-container-color);border-radius:var(--_list-item-container-shape)}.list-item.enabled{cursor:pointer}.list-item.disabled{pointer-events:none}.with-one-line{min-height:var(--_list-item-one-line-container-height)}.with-two-line{min-height:var(--_list-item-two-line-container-height)}.with-three-line{min-height:var(--_list-item-three-line-container-height)}.start{flex:0 0 auto;z-index:1;--md-list-item-icon-list-item-icon-color:var(--_list-item-leading-icon-color);--md-list-item-icon-list-item-icon-size:var(--_list-item-leading-icon-size)}:hover .start{--md-list-item-icon-list-item-icon-color:var(--_list-item-hover-leading-icon-icon-color)}:active .start{--md-list-item-icon-list-item-icon-color:var(--_list-item-pressed-leading-icon-icon-color)}.disabled .start{--md-list-item-icon-list-item-icon-color:var(--_list-item-disabled-leading-icon-color);--md-list-item-icon-list-item-icon-opacity:var(--_list-item-disabled-leading-icon-opacity)}.with-leading-thumbnail .start,.with-leading-image .start{padding-inline-start:16px}.with-leading-video .start{padding-inline-start:0}.body{box-sizing:border-box;flex:1 0 0;padding-inline-start:16px;width:100%;z-index:1}.end{flex:0 0 auto;padding-inline-end:24px;z-index:1;--md-list-item-icon-list-item-icon-color:var(--_list-item-trailing-icon-color);--md-list-item-icon-list-item-icon-size:var(--_list-item-trailing-icon-size)}:hover .end{--md-list-item-icon-list-item-icon-color:var(--_list-item-hover-trailing-icon-icon-color)}:active .end{--md-list-item-icon-list-item-icon-color:var(--_list-item-pressed-trailing-icon-icon-color)}.disabled .end{--md-list-item-icon-list-item-icon-color:var(--_list-item-disabled-trailing-icon-color);--md-list-item-icon-list-item-icon-opacity:var(--_list-item-disabled-trailing-icon-opacity)}.label-text{display:flex;color:var(--_list-item-label-text-color);font:var(--_list-item-label-text-type)}.disabled .label-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.supporting-text{display:block;padding-block-start:4px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;color:var(--_list-item-supporting-text-color);font:var(--_list-item-supporting-text-type)}.disabled .supporting-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.supporting-text--multi-line{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;white-space:normal}.trailing-supporting-text{padding-inline-start:16px;font:var(--_list-item-trailing-supporting-text-type)}.list-item:not(.disabled) .trailing-supporting-text{color:var(--_list-item-trailing-supporting-text-color)}.disabled .trailing-supporting-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.ripple{display:inline-flex;inset:0;position:absolute;z-index:0}.focus-ring{z-index:1}/*# sourceMappingURL=list-item-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"list-item-styles.css.js","sourceRoot":"","sources":["list-item-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_list-item-container-color: var(--md-list-list-item-container-color, var(--md-sys-color-surface, #fffbfe));--_list-item-container-shape: var(--md-list-list-item-container-shape, 0px);--_list-item-disabled-label-text-color: var(--md-list-list-item-disabled-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-disabled-label-text-opacity: var(--md-list-list-item-disabled-label-text-opacity, 0.3);--_list-item-disabled-leading-icon-color: var(--md-list-list-item-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-disabled-leading-icon-opacity: var(--md-list-list-item-disabled-leading-icon-opacity, 0.38);--_list-item-disabled-trailing-icon-color: var(--md-list-list-item-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-disabled-trailing-icon-opacity: var(--md-list-list-item-disabled-trailing-icon-opacity, 0.38);--_list-item-focus-label-text-color: var(--md-list-list-item-focus-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-focus-leading-icon-icon-color: var(--md-list-list-item-focus-leading-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-focus-state-layer-color: var(--md-list-list-item-focus-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-focus-state-layer-opacity: var(--md-list-list-item-focus-state-layer-opacity, 0.12);--_list-item-focus-trailing-icon-icon-color: var(--md-list-list-item-focus-trailing-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-hover-label-text-color: var(--md-list-list-item-hover-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-hover-leading-icon-icon-color: var(--md-list-list-item-hover-leading-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-hover-state-layer-color: var(--md-list-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-hover-state-layer-opacity: var(--md-list-list-item-hover-state-layer-opacity, 0.08);--_list-item-hover-trailing-icon-icon-color: var(--md-list-list-item-hover-trailing-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-label-text-color: var(--md-list-list-item-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-label-text-line-height: var(--md-list-list-item-label-text-line-height, 1.5rem);--_list-item-label-text-type: var(--md-list-list-item-label-text-type, 400 1rem / 1.5rem Roboto);--_list-item-large-leading-video-height: var(--md-list-list-item-large-leading-video-height, 69px);--_list-item-leading-avatar-label-color: var(--md-list-list-item-leading-avatar-label-color, var(--md-sys-color-on-primary-container, #21005d));--_list-item-leading-avatar-label-type: var(--md-list-list-item-leading-avatar-label-type, 500 1rem / 1.5rem Roboto);--_list-item-leading-avatar-color: var(--md-list-list-item-leading-avatar-color, var(--md-sys-color-primary-container, #eaddff));--_list-item-leading-avatar-shape: var(--md-list-list-item-leading-avatar-shape, 9999px);--_list-item-leading-avatar-size: var(--md-list-list-item-leading-avatar-size, 40px);--_list-item-leading-icon-color: var(--md-list-list-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-leading-icon-size: var(--md-list-list-item-leading-icon-size, 18px);--_list-item-leading-image-height: var(--md-list-list-item-leading-image-height, 56px);--_list-item-leading-image-shape: var(--md-list-list-item-leading-image-shape, 0px);--_list-item-leading-image-width: var(--md-list-list-item-leading-image-width, 56px);--_list-item-leading-video-shape: var(--md-list-list-item-leading-video-shape, 0px);--_list-item-leading-video-width: var(--md-list-list-item-leading-video-width, 100px);--_list-item-one-line-container-height: var(--md-list-list-item-one-line-container-height, 56px);--_list-item-pressed-label-text-color: var(--md-list-list-item-pressed-label-text-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-pressed-leading-icon-icon-color: var(--md-list-list-item-pressed-leading-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-pressed-state-layer-color: var(--md-list-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1c1b1f));--_list-item-pressed-state-layer-opacity: var(--md-list-list-item-pressed-state-layer-opacity, 0.12);--_list-item-pressed-trailing-icon-icon-color: var(--md-list-list-item-pressed-trailing-icon-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-small-leading-video-height: var(--md-list-list-item-small-leading-video-height, 56px);--_list-item-supporting-text-color: var(--md-list-list-item-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-supporting-text-type: var(--md-list-list-item-supporting-text-type, 400 0.875rem / 1.25rem Roboto);--_list-item-three-line-container-height: var(--md-list-list-item-three-line-container-height, 88px);--_list-item-trailing-icon-color: var(--md-list-list-item-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-trailing-icon-size: var(--md-list-list-item-trailing-icon-size, 24px);--_list-item-trailing-supporting-text-color: var(--md-list-list-item-trailing-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_list-item-trailing-supporting-text-line-height: var(--md-list-list-item-trailing-supporting-text-line-height, 1rem);--_list-item-trailing-supporting-text-type: var(--md-list-list-item-trailing-supporting-text-type, 500 0.688rem / 1rem Roboto);--_list-item-two-line-container-height: var(--md-list-list-item-two-line-container-height, 72px)}:host{color:unset;--md-focus-ring-shape-start-start:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-start-end:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-end-end:var(--md-focus-ring-shape, 4px);--md-focus-ring-shape-end-start:var(--md-focus-ring-shape, 4px);--md-focus-ring-offset-vertical:-2px;--md-focus-ring-offset-horizontal:-3px;--md-ripple-hover-color:var(--_list-item-hover-state-layer-color);--md-ripple-hover-opacity:var(--_list-item-hover-state-layer-opacity);--md-ripple-pressed-color:var(--_list-item-pressed-state-layer-color);--md-ripple-pressed-opacity:var(--_list-item-pressed-state-layer-opacity);--md-ripple-focus-color:var(--_list-item-focus-state-layer-color);--md-ripple-focus-opacity:var(--_list-item-focus-state-layer-opacity)}.list-item{align-items:center;box-sizing:border-box;display:flex;outline:none;position:relative;width:100%;text-decoration:none;background-color:var(--_list-item-container-color);border-radius:var(--_list-item-container-shape)}.list-item:not(.disabled){cursor:pointer}.list-item.disabled{pointer-events:none}.content-wrapper{display:flex;width:100%}.with-one-line{min-height:var(--_list-item-one-line-container-height)}.with-two-line{min-height:var(--_list-item-two-line-container-height)}.with-three-line{min-height:var(--_list-item-three-line-container-height)}.start{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;flex:0 0 auto;z-index:1}.with-three-line .start{justify-content:start}.with-leading-thumbnail .start,.with-leading-image .start{padding-inline-start:16px}.with-leading-video .start{padding-inline-start:0}.body{display:inline-flex;justify-content:center;flex-direction:column;box-sizing:border-box;flex:1 0 0;padding-inline-start:16px;z-index:1}.end{display:inline-flex;flex-direction:column;justify-content:center;flex:0 0 auto;padding-inline-end:24px;z-index:1}.with-three-line .end{justify-content:start}.label-text{display:flex;color:var(--_list-item-label-text-color);font:var(--_list-item-label-text-type)}:hover .label-text{color:var(--_list-item-hover-label-text-color)}:focus .label-text{color:var(--_list-item-focus-label-text-color)}:active .label-text{color:var(--_list-item-pressed-label-text-color)}.disabled .label-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.supporting-text{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;color:var(--_list-item-supporting-text-color);font:var(--_list-item-supporting-text-type)}.disabled .supporting-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.supporting-text--multi-line{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;white-space:normal}.trailing-supporting-text{padding-inline-start:16px;font:var(--_list-item-trailing-supporting-text-type)}.list-item:not(.disabled) .trailing-supporting-text{color:var(--_list-item-trailing-supporting-text-color)}.disabled .trailing-supporting-text{color:var(--_list-item-disabled-label-text-color);opacity:var(--_list-item-disabled-label-text-opacity)}.with-three-line .trailing-supporting-text{padding-block-start:calc((var(--_list-item-label-text-line-height) - var(--_list-item-trailing-supporting-text-line-height))/2)}.focus-ring{z-index:1}::slotted([data-variant=image]){display:inline-flex;margin-inline-start:16px;height:var(--_list-item-leading-image-height);width:var(--_list-item-leading-image-width);border-radius:var(--_list-item-leading-image-shape);padding-block:calc((var(--_list-item-two-line-container-height) - var(--_list-item-leading-image-height))/2)}.with-three-line ::slotted([data-variant=image]){padding-block:0}slot[name=start]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-leading-icon-color);--md-icon-size:var(--_list-item-leading-icon-size)}.with-three-line slot[name=start]::slotted([data-variant=icon]){padding-block-start:calc((var(--_list-item-label-text-line-height) - var(--_list-item-leading-icon-size))/2)}slot[name=end]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-trailing-icon-color);--md-icon-size:var(--_list-item-trailing-icon-size)}.with-three-line slot[name=end]::slotted([data-variant=icon]){padding-block-start:calc((var(--_list-item-label-text-line-height) - var(--_list-item-trailing-icon-size))/2)}::slotted([data-variant=icon]){padding-inline-start:16px}:hover slot[name=start]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-hover-leading-icon-icon-color)}:hover slot[name=end]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-hover-trailing-icon-icon-color)}:focus slot[name=start]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-focus-leading-icon-icon-color)}:focus slot[name=end]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-focus-trailing-icon-icon-color)}:active slot[name=start]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-pressed-leading-icon-icon-color)}:active slot[name=end]::slotted([data-variant=icon]){--md-icon-color:var(--_list-item-pressed-trailing-icon-icon-color)}.disabled slot[name=start]::slotted([data-variant=icon]){opacity:var(--_list-item-disabled-leading-icon-opacity);--md-icon-color:var(--_list-item-disabled-leading-icon-color)}.disabled slot[name=end]::slotted([data-variant=icon]){opacity:var(--_list-item-disabled-trailing-icon-opacity);--md-icon-color:var(--_list-item-disabled-trailing-icon-color)}::slotted([data-variant=avatar]){display:inline-flex;justify-content:center;align-items:center;margin-inline-start:16px;background-color:var(--_list-item-leading-avatar-color);height:var(--_list-item-leading-avatar-size);width:var(--_list-item-leading-avatar-size);border-radius:var(--_list-item-leading-avatar-shape);color:var(--_list-item-leading-avatar-label-color);font:var(--_list-item-leading-avatar-label-type)}::slotted([data-variant=video]),::slotted([data-variant=video-large]){display:inline-flex;object-fit:cover;height:var(--_list-item-small-leading-video-height);width:var(--_list-item-leading-video-width);border-radius:var(--_list-item-leading-video-shape);padding-block:calc((var(--_list-item-three-line-container-height) - var(--_list-item-small-leading-video-height))/2)}.with-three-line ::slotted([data-variant=video]),.with-three-line ::slotted([data-variant=video-large]){padding-block:0}::slotted([data-variant=video-large]){padding-block:calc((var(--_list-item-three-line-container-height) - var(--_list-item-large-leading-video-height))/2);height:var(--_list-item-large-leading-video-height)}/*# sourceMappingURL=list-item-styles.css.map */\n`;\n "]}
@@ -27,14 +27,15 @@ export declare class ListItemEl extends LitElement implements ListItem {
27
27
  */
28
28
  headline: string;
29
29
  /**
30
- * The one-line supporting text below the headline.
30
+ * The one-line supporting text below the headline. Set
31
+ * `multiLineSupportingText` to `true` to support multiple lines in the
32
+ * supporting text.
31
33
  */
32
34
  supportingText: string;
33
35
  /**
34
- * The multi-line supporting text below the headline. __NOTE:__ if set to a
35
- * truthy value, overrides the visibility and behavior of `supportingText`.
36
+ * Modifies `supportingText` to support multiple lines.
36
37
  */
37
- multiLineSupportingText: string;
38
+ multiLineSupportingText: boolean;
38
39
  /**
39
40
  * The supporting text placed at the end of the item. Overriden by elements
40
41
  * slotted into the `end` slot.
@@ -106,9 +107,9 @@ export declare class ListItemEl extends LitElement implements ListItem {
106
107
  */
107
108
  protected renderSupportingText(): TemplateResult;
108
109
  /**
109
- * Renders the multi-line supporting text
110
+ * Gets the classes for the supporting text node
110
111
  */
111
- protected renderMultiLineSupportingText(): TemplateResult;
112
+ protected getSupportingTextClasses(): ClassInfo;
112
113
  /**
113
114
  * The content rendered at the end of the list item.
114
115
  */